MC Toolkit

คู่มือ / คำสั่งและข้อมูล

คำสั่ง /give หลังยุคดาต้าคอมโพเนนต์: อะไรเข้ามาแทนที่แท็ก NBT

1.20.5 เปลี่ยน NBT ของไอเทมมาเป็นดาต้าคอมโพเนนต์ และตัวอย่างคำสั่ง /give ส่วนใหญ่ที่ยังมีอยู่บนอินเทอร์เน็ตก็ยังเขียนแบบเก่ากันอยู่ นี่คือตารางเทียบแท็กที่คุณคุ้นเคยกับคอมโพเนนต์ที่ใช้ได้จริงในตอนนี้

ถ้าคุณคัดลอกคำสั่ง /give จากคู่มือเก่า ๆ แล้วเกมขึ้น syntax error แปลว่าคำสั่งนั้นเขียนตามรูปแบบ NBT ก่อน 1.20.5 ข้อมูลไอเทมย้ายไปอยู่ใน ดาต้าคอมโพเนนต์ (data components) แล้ว และก้อน {display:{Name:...}} แบบเก่าก็ไม่ถูกแปลงอีกต่อไป

รูปแบบเปลี่ยนไป

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

ใช้วงเล็บเหลี่ยม ไม่ใช่วงเล็บปีกกา คอมโพเนนต์เป็นรายการแบนที่คั่นด้วยจุลภาคต่อท้ายไอดีไอเทม

ตารางเทียบที่คุณจะได้ใช้จริง

NBT แบบเก่าดาต้าคอมโพเนนต์
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

สามจุดที่พลาดกันบ่อย

  • การใส่เครื่องหมายคำพูด custom_name รับ text component ที่เขียนเป็น SNBT ดังนั้นชื่อธรรมดา ๆ ก็แค่ custom_name="Skybreaker" ส่วนรูปแบบ custom_name='"Skybreaker"' แบบเก่าจากคู่มือยุค 1.20.5 ตอนนี้จะตั้งชื่อไอเทมโดยมีเครื่องหมายคำพูดติดมาด้วย
  • การลบค่าดีฟอลต์ ใส่ ! นำหน้าเพื่อตัดคอมโพเนนต์ที่ไอเทมปกติมีอยู่ออก — [!attribute_modifiers] จะได้ดาบที่ไม่มีโบนัสความเสียหายเลย
  • Bedrock ไม่มีสิ่งเหล่านี้ คำสั่ง /give ของ Bedrock ยังใช้โมเดล data-value และ คอมโพเนนต์ของตัวเองอยู่ สตริงคอมโพเนนต์ของ Java จะรันบนนั้นไม่ได้

/give Generator เขียนรูปแบบคอมโพเนนต์ให้คุณและแสดงผลลัพธ์สำหรับ ทั้งสองเอดิชัน คุณจึงคัดลอกอันที่ตรงกับเซิร์ฟเวอร์ที่คุณเล่นอยู่ได้เลย

ตัวสร้างคำสั่ง /give →

คู่มือเพิ่มเติม

ดูทั้งหมด →