Guides / Building & Resources

ข้อมูลโมเดลแบบกำหนดเอง: การให้ไอเท็มหนึ่งชิ้นมีหลายโมเดลโดยไม่ต้องแทนที่อะไรเลย

ระบบโมเดลไอเท็มได้เข้ามาแทนที่ CustomModelData predicate แบบเก่า นี่คือโครงสร้างโฟลเดอร์, JSON ที่แมปค่ากับโมเดล และสาเหตุที่พื้นผิวของคุณแสดงเป็นลูกบาศก์สีม่วง

โมเดลไอเท็มแบบกำหนดเองช่วยให้เซิร์ฟเวอร์สามารถแจก "ไม้กายสิทธิ์" ที่จริงแล้วคือแคร์รอตติดเบ็ดที่มีโมเดลต่างออกไป กลไกนี้มีการเปลี่ยนแปลง และบทช่วยสอนส่วนใหญ่ยังคงอธิบายวิธีเก่าอยู่

มีอะไรเปลี่ยนแปลงไปบ้าง

วิธีเก่า — บล็อก predicate ภายในไฟล์โมเดลของไอเท็มหลัก โดยใช้ custom_model_data เป็นตัวเลข:

{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }

วิธีปัจจุบัน — การกำหนด items/ ที่เลือกโมเดล:

assets/minecraft/items/carrot_on_a_stick.json
{
  "model": {
    "type": "minecraft:range_dispatch",
    "property": "minecraft:custom_model_data",
    "fallback": { "type": "minecraft:model", "model": "minecraft:item/carrot_on_a_stick" },
    "entries": [
      { "threshold": 1, "model": { "type": "minecraft:model", "model": "minecraft:item/wand" } }
    ]
  }
}

fallback คือสิ่งที่แคร์รอตติดเบ็ดธรรมดายังคงมีลักษณะเหมือนเดิม หากไม่มีสิ่งนี้ แคร์รอตติดเบ็ดที่ไม่ได้ถูกแก้ไขทุกชิ้นในโลกจะกลายเป็นไม้กายสิทธิ์ของคุณ

โครงสร้างโฟลเดอร์

pack.mcmeta
assets/minecraft/
├── items/carrot_on_a_stick.json      the dispatch
├── models/item/wand.json             the model
└── textures/item/wand.png            the texture

models/item/wand.json ในรูปแบบที่ง่ายที่สุด:

{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }

โปรดสังเกตว่าเส้นทางพื้นผิว ไม่มีคำนำหน้า textures/ และไม่มี .png — นี่คือสาเหตุที่พบบ่อยที่สุดของลูกบาศก์สีม่วง-ดำ

การให้ไอเท็ม

/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]

คอมโพเนนต์นี้รับออบเจกต์ที่มีรายการแบบระบุประเภทแล้ว ไม่ใช่จำนวนเต็มเปล่า custom_model_data=1 คือไวยากรณ์เก่าและจะไม่มีผลใดๆ

ทำไมถึงแสดงเป็นลูกบาศก์สีม่วง

เรียงตามลำดับความน่าจะเป็น:

  1. เส้นทางพื้นผิวผิด — มี textures/ หรือ .png หรือไฟล์ไม่ได้อยู่ในตำแหน่งที่เส้นทางระบุ
  2. ตัวพิมพ์ชื่อไฟล์ — เกมจะคำนึงถึงตัวพิมพ์เล็ก-ใหญ่ แม้ว่าระบบปฏิบัติการของคุณจะไม่ใช่ก็ตาม
  3. pack_format ต่ำเกินไป — แพ็กโหลดได้ แต่โฟลเดอร์ items/ ถูกละเว้น จับคู่รูปแบบกับเวอร์ชันที่คุณใช้งานอยู่
  4. บีบอัดผิดวิธีpack.mcmeta ต้องอยู่ที่ ราก ของไฟล์ zip ไม่ใช่ภายในโฟลเดอร์ที่อยู่ภายในไฟล์ zip

ตัวเลือกอื่นๆ

range_dispatch บนตัวเลขเป็นเพียงหนึ่งในตัวเลือกเท่านั้น คุณยังสามารถส่งต่อข้อมูลบน minecraft:display_context (โมเดลที่แตกต่างกันเมื่อถืออยู่ในมือเทียบกับอยู่ในกรอบ), minecraft:using_item หรือ minecraft:selected — ซึ่งเป็นวิธีที่คันธนูแสดงสถานะการดึงสาย

สร้าง JSON สำหรับการส่งต่อ, ไฟล์โมเดล และคำสั่งให้ไอเท็มร่วมกันใน เครื่องมือโมเดลและคอมโพเนนต์ไอเท็มแบบกำหนดเอง

เครื่องมือโมเดลและคอมโพเนนต์ไอเทม →

More guides

Browse all →

กำลังหาเครื่องมือ Minecraft อื่นอยู่ไหม

ชุดเครื่องมือสร้าง ดู และแปลงไฟล์ที่ทำงานในเบราว์เซอร์ ฟรีทั้งหมด