ฟิลด์ที่รู้จัก
ชื่อ, คำอธิบาย, เอนชานต์, ความเสียหาย, ค่าซ่อม, ไม่แตกหัก, CustomModelData, ข้อมูลยาต้ม, โปรไฟล์, คุณสมบัติ และเงื่อนไขโหมดผจญภัยจะถูกแมปเป็น components
ผลลัพธ์ตามเวอร์ชัน
Minecraft 1.21.4 เปลี่ยน CustomModelData ในขณะที่ 1.21.5 ทำให้ components หลายตัวง่ายขึ้นและเพิ่ม tooltip_display เลือกเวอร์ชันเซิร์ฟเวอร์ที่คุณใช้งานจริง
ตัวสำรองที่ปลอดภัย
แท็กที่ไม่รู้จักจะถูกเก็บไว้ใน minecraft:custom_data และแสดงรายการให้ตรวจสอบ ตัวแปลงไม่ได้แสร้งว่า custom_data ทำให้กลไกเกมที่ล้าสมัยทำงานได้
ทำไม Minecraft ถึงแทนที่ NBT ไอเทมด้วย components
Minecraft Java 1.20.5 แทนที่แท็กไอเท็มแบบเดิมที่ไม่มีโครงสร้างชัดเจนด้วยคอมโพเนนต์ข้อมูลแบบมีชนิด ในคำสั่ง คอมโพเนนต์จะอยู่ในวงเล็บเหลี่ยมหลังไอดีไอเท็ม คั่นด้วยเครื่องหมายจุลภาค Damage เปลี่ยนเป็น minecraft:damage, display.Name เปลี่ยนเป็น minecraft:custom_name, Enchantments เปลี่ยนเป็น minecraft:enchantments และฟิลด์กำหนดเองอื่นๆ ย้ายไปที่ minecraft:custom_data
นี่ไม่ใช่การเปลี่ยนแปลงไวยากรณ์เพียงครั้งเดียว Minecraft 1.21.4 ขยาย custom_model_data เป็นรายการที่ใช้ในระบบโมเดลไอเท็มใหม่ Minecraft 1.21.5 ย้ายการแสดงผลทูลทิปไปที่ minecraft:tooltip_display และทำให้ enchantments, attributes, สีย้อม และ predicates โหมดผจญภัยง่ายขึ้น คำสั่ง 26.x ปัจจุบันใช้รูปแบบคอมโพเนนต์ใหม่นั้นต่อ
ตัวแปลงสามารถจับคู่ฟิลด์ไอเท็มที่รู้จักได้ แต่ไม่สามารถซ่อมแซมบล็อกคำสั่งหรือดาต้าแพ็กทุกอันโดยอัตโนมัติ Entity NBT, ข้อมูลบล็อกเอนทิตี, ฟังก์ชันลูต, predicates และคอมโพเนนต์ข้อความก็เปลี่ยนไปตามเวอร์ชันเช่นกัน ควรทดสอบคำสั่งที่สร้างขึ้นในสำเนาโลกเป้าหมายหรือบนเซิร์ฟเวอร์ทดสอบเสมอ
วิธีแปลงคำสั่ง /give เก่า
- 1วางคำสั่ง /give ของ Java Edition จาก 1.20.4 หรือเก่ากว่า คุณยังสามารถวางเฉพาะคอมพาวด์ระหว่างเครื่องหมายปีกกาได้
- 2เลือกกลุ่มเป้าหมายที่ถูกต้อง ใช้ 1.21.5 - 26.x สำหรับเซิร์ฟเวอร์ปัจจุบัน ไม่ใช่รูปแบบคอมโพเนนต์ 1.20.5 ที่เก่ากว่า
- 3อ่านคำเตือนทุกข้อ custom_data ที่เก็บไว้เป็นพื้นที่จัดเก็บที่ปลอดภัย แต่ไม่สามารถเปิดใช้งานแท็ก Damage, Potion หรือ AttributeModifiers ที่ล้าสมัยได้
- 4คัดลอกคำสั่งที่สร้างขึ้นและทดสอบในโลกชั่วคราวก่อนแทนที่คำสั่งในดาต้าแพ็กหรือระบบบล็อกคำสั่ง
สิ่งที่ตัวแปลงนี้ไม่เปลี่ยนแปลง
แปลงไอเท็มสแต็กหรือคำสั่ง /give ทีละอัน ไม่สแกนดาต้าแพ็กทั้งหมด เขียนคำสั่ง execute if data ใหม่ หรืออัปเดต item predicates ที่เก็บในไฟล์ JSON
ไม่แปลง Bedrock item JSON คอมโพเนนต์ไอเท็มของ Java และคอมโพเนนต์แอดออนของ Bedrock เป็นระบบที่ต่างกันแม้บางชื่อจะดูคล้ายกัน
คอมโพเนนต์ข้อความจากเวอร์ชันเก่ามากอาจยังต้องปรับปรุงด้วยตนเอง โปรไฟล์ผู้เล่นที่ซับซ้อน เอฟเฟกต์โพชันแบบกำหนดเอง และเพย์โหลดบล็อกเอนทิตีควรตรวจสอบกับเวอร์ชันเป้าหมาย
คำถามที่พบบ่อย NBT เป็นคอมโพเนนต์
ทำไมคำสั่ง /give เก่าของฉันหยุดทำงานใน 1.20.5?
Java 1.20.5 ย้ายข้อมูลไอเท็มออกจากโครงสร้าง {tag} เดิมไปเป็นคอมโพเนนต์แบบมีชนิดที่เขียนในวงเล็บเหลี่ยมหลังไอดีไอเท็ม
ฉันสามารถใส่ทุกแท็กเก่าใน minecraft:custom_data ได้ไหม?
คุณสามารถเก็บฟิลด์กำหนดเองไว้ที่นั่นได้ แต่กลไกในตัวจะไม่อ่านแท็กโครงสร้างเก่า เช่น Damage หรือ Enchantments จาก custom_data อีกต่อไป ต้องใช้คอมโพเนนต์จริงของมัน
ควรใช้เป้าหมายใดสำหรับ Minecraft 26.2 หรือ 26.3?
ใช้ Minecraft 1.21.5 - 26.x ผลลัพธ์นั้นใช้รูปแบบ enchantment และ attribute ที่เรียบง่าย รวมถึง tooltip_display จากระบบคอมโพเนนต์ใหม่
ตัวแปลงรองรับคำสั่งเต็มรูปแบบหรือไม่?
รองรับ อ่านเป้าหมาย /give แบบเก่า ไอดีไอเท็ม คอมพาวด์ NBT และจำนวน แล้วสร้างคำสั่ง /give ปัจจุบันใหม่ และยังยอมรับคอมพาวด์ NBT แบบเดี่ยวได้
ทำไมมีคำเตือนสำหรับ BlockEntityTag?
block_entity_data ปัจจุบันต้องระบุบล็อกเอนทิตีที่ถูกต้อง คำสั่งเก่าบางคำสั่งอาศัยชนิดไอเท็มและละเว้น id ฟิลด์นั้นจึงต้องตรวจสอบด้วยตนเอง
การแปลงเกิดขึ้นบนเซิร์ฟเวอร์หรือไม่?
ไม่ การแยกวิเคราะห์และแปลงทำงานในเบราว์เซอร์ของคุณ คำสั่งจะไม่ถูกอัปโหลดโดยเครื่องมือนี้