MC Toolkit

Hướng dẫn / Lệnh & dữ liệu

Lệnh /give sau khi có data component: điều gì đã thay thế thẻ NBT

1.20.5 đã thay thế NBT của vật phẩm bằng data component, và hầu hết các đoạn lệnh /give trên mạng vẫn còn viết theo cách cũ. Đây là bảng đối chiếu từ những thẻ bạn đã quen sang những component hoạt động được hiện nay.

Nếu bạn dán một lệnh /give từ hướng dẫn cũ và game báo lỗi cú pháp, thì lệnh đó được viết theo định dạng NBT trước 1.20.5. Dữ liệu vật phẩm đã chuyển sang data component, và khối {display:{Name:...}} cũ không còn phân tích được nữa.

Cấu trúc đã thay đổi

old   /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new   /give @p diamond_sword[custom_name="Skybreaker",enchantments={sharpness:5}]

Dùng dấu ngoặc vuông, không phải ngoặc nhọn. Component là một danh sách phẳng, phân tách bằng dấu phẩy, đặt ngay sau id vật phẩm.

Những đối chiếu bạn thực sự sẽ cần

NBT cũData component
display:{Name:...}custom_name
display:{Lore:[...]}lore
Enchantments:[{id,lvl}]enchantments={id:level}
Unbreakable:1bunbreakable={}
CustomModelData:3custom_model_data={floats:[3]}
AttributeModifiers:[...]attribute_modifiers
display:{color:...}dyed_color
SkullOwnerprofile

Ba cái bẫy

  • Dấu ngoặc kép. custom_name nhận một text component viết dưới dạng SNBT, nên một cái tên thuần túy chỉ là custom_name="Skybreaker". Kiểu custom_name='"Skybreaker"' cũ từ các hướng dẫn thời 1.20.5 giờ sẽ đặt tên vật phẩm kèm cả dấu ngoặc kép hiện ra.
  • Gỡ bỏ giá trị mặc định. Thêm tiền tố ! để loại bỏ một component mà vật phẩm vốn có — [!attribute_modifiers] cho ra một thanh kiếm không có chút sát thương cộng thêm nào.
  • Bedrock không có những thứ này. /give của Bedrock vẫn dùng mô hình data-value và component riêng; một chuỗi component của Java sẽ không chạy được ở đó.

Công cụ tạo lệnh /give sẽ tự viết dạng component cho bạn và hiển thị kết quả cho cả hai phiên bản, để bạn có thể sao chép bản phù hợp với máy chủ mình đang dùng.

Trình tạo lệnh /give →

Hướng dẫn khác

Xem tất cả →