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