Özel model verisi: hiçbir şeyi değiştirmeden tek bir eşyaya birden çok model verme
Eşya modeli sistemi eski CustomModelData koşulunu değiştirdi. Klasör düzeni, değerleri modellere eşleyen JSON ve dokunuzun neden mor bir küp olarak göründüğü burada.
Özel eşya modelleri, bir sunucunun aslında farklı bir modele sahip bir Havuçlu Olta olan bir "sihirli değnek" dağıtmasını sağlar. Mekanizma değişti ve çoğu eğitim hâlâ eskisini anlatıyor.
Ne değişti
Eski yol — temel eşyanın model dosyasının içinde, custom_model_data anahtarıyla bir sayıya bağlanan bir predicate bloğu:
{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }
Güncel yol — bir model seçen bir items/ tanımı:
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, sade bir Havuçlu Olta'nın hâlâ nasıl göründüğüdür. O olmadan, dünyadaki değiştirilmemiş her örnek mor-siyah eksik model küpü olarak görünür.
Klasör düzeni
pack.mcmeta
assets/minecraft/
├── items/carrot_on_a_stick.json the dispatch
├── models/item/wand.json the model
└── textures/item/wand.png the texture
En basit hâliyle models/item/wand.json:
{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }
Doku yolunda textures/ öneki ve .png yok — bu, mor-siyah küpün en yaygın tek nedenidir.
Eşyayı verme
/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]
Bileşen artık çıplak bir tamsayı değil, tipli listeler içeren bir nesne alıyor. custom_model_data=1 eski sözdizimidir ve komut artık bunu bozuk olarak reddediyor.
Neden mor küp olarak görünüyor
Olasılık sırasına göre:
- Doku yolu yanlış —
textures/veya.pngiçeriyor ya da dosya, yolun söylediği yerde değil. - Dosya adı büyük/küçük harf — işletim sisteminiz duyarsız olsa bile oyun duyarlıdır.
- Güncel olmayan
pack.mcmeta— 26.x,min_formatvemax_formatistiyor; çıplak birpack_formatiçindeki güncel bir biçim numarası, paketin uyumsuz görünmesine yol açar. - Yanlış sıkıştırma —
pack.mcmetazip'in kökünde olmalıdır, zip içindeki bir klasörün içinde değil.
Diğer seçiciler
Bir sayı üzerindeki range_dispatch yalnızca bir seçenektir. Ayrıca minecraft:display_context (eldeki ile çerçevedeki farklı model), minecraft:using_item veya minecraft:selected üzerinden de dağıtım yapabilirsiniz — bir Yay'ın gerilmiş hâlini göstermesi böyle olur.
Dağıtım JSON'unu, model dosyasını ve verme komutunu birlikte Özel Model ve Eşya Bileşeni Araçları sayfasında oluşturun.