MCTOOLBOX
MC ToolboxMC TOOLBOX
การย้ายคำสั่ง Java

ตัวแปลง NBT เป็น Components ของ Minecraft

แปลง NBT ไอเทม Java รุ่นเก่าตั้งแต่ 1.20.4 ลงไปให้เป็นรูปแบบ item component สำหรับ 1.20.5, 1.21.x และเวอร์ชัน 26.x ปัจจุบัน คำสั่งทั้งหมดอยู่ในเบราว์เซอร์ของคุณ

อินพุตแบบเก่า

NBT ไอเทมเก่าหรือคำสั่ง /give

โหลดตัวอย่าง:

ผลลัพธ์ที่แปลงแล้ว

คำสั่ง /give ปัจจุบัน

/give @p minecraft:diamond_sword[minecraft:custom_name={text:'Frost Blade',color:'aqua',italic:false},minecraft:lore=[{text:'Forged below Y -59',color:'gray'}],minecraft:damage=12,minecraft:repair_cost=3,minecraft:custom_model_data={floats:[27]},minecraft:unbreakable={},minecraft:enchantments={'minecraft:sharpness':5},minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}] 1

Components ที่แปลงแล้ว

8

ไอเทมที่ตรวจพบ

minecraft:diamond_sword

Components ที่แปลงแล้ว

  • display.Nameminecraft:custom_name
  • display.Loreminecraft:lore
  • Damageminecraft:damage
  • RepairCostminecraft:repair_cost
  • CustomModelDataminecraft:custom_model_data
  • Unbreakableminecraft:unbreakable
  • Enchantmentsminecraft:enchantments
  • HideFlagsminecraft:tooltip_display

ฟิลด์ที่รู้จัก

ชื่อ, คำอธิบาย, เอนชานต์, ความเสียหาย, ค่าซ่อม, ไม่แตกหัก, 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. 1วางคำสั่ง /give ของ Java Edition จาก 1.20.4 หรือเก่ากว่า คุณยังสามารถวางเฉพาะคอมพาวด์ระหว่างเครื่องหมายปีกกาได้
  2. 2เลือกกลุ่มเป้าหมายที่ถูกต้อง ใช้ 1.21.5 - 26.x สำหรับเซิร์ฟเวอร์ปัจจุบัน ไม่ใช่รูปแบบคอมโพเนนต์ 1.20.5 ที่เก่ากว่า
  3. 3อ่านคำเตือนทุกข้อ custom_data ที่เก็บไว้เป็นพื้นที่จัดเก็บที่ปลอดภัย แต่ไม่สามารถเปิดใช้งานแท็ก Damage, Potion หรือ AttributeModifiers ที่ล้าสมัยได้
  4. 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 ฟิลด์นั้นจึงต้องตรวจสอบด้วยตนเอง

การแปลงเกิดขึ้นบนเซิร์ฟเวอร์หรือไม่?

ไม่ การแยกวิเคราะห์และแปลงทำงานในเบราว์เซอร์ของคุณ คำสั่งจะไม่ถูกอัปโหลดโดยเครื่องมือนี้