بيانات النموذج المخصص: نماذج متعددة لقطعة واحدة دون استبدال أي شيء
حل نظام نماذج العناصر محل خاصية CustomModelData القديمة. إليك تخطيط المجلد، وملف 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 هو الصيغة القديمة ولا يفعل شيئًا بصمت.
لماذا يظهر كمكعب أرجواني
حسب احتمالية الحدوث:
- مسار الخامة خاطئ — يتضمن
textures/أو.png، أو الملف ليس في المكان الذي يشير إليه المسار. - حالة أحرف اسم الملف — اللعبة حساسة لحالة الأحرف حتى لو لم يكن نظام التشغيل لديك كذلك.
pack_formatمنخفض جدًا — يتم تحميل الحزمة ولكن يتم تجاهل مجلدitems/. طابق التنسيق مع الإصدار الذي تستخدمه.- مضغوط بشكل خاطئ — يجب أن يكون
pack.mcmetaفي الجذر من الملف المضغوط، وليس داخل مجلد داخل الملف المضغوط.
محددات أخرى
range_dispatch على رقم هو خيار واحد فقط. يمكنك أيضًا التوزيع على minecraft:display_context (نموذج مختلف في اليد مقابل في إطار)، minecraft:using_item، أو minecraft:selected — وهي الطريقة التي يظهر بها القوس في حالة السحب.
قم ببناء ملف JSON للتوزيع، وملف النموذج، وأمر المنح معًا في أدوات المكونات المخصصة للنماذج والعناصر.