Özel model verileri: Hiçbir şeyi değiştirmeden tek bir öğeye birden fazla model verme
Öğe-model sistemi, eski CustomModelData koşulunu değiştirdi. İşte klasör düzeni, değerleri modellere eşleyen JSON ve dokunuzun neden mor bir küp olarak göründüğü.
Özel öğe modelleri, bir sunucunun farklı bir modele sahip, aslında bir Havuçlu Olta olan "sihirli bir değnek" dağıtmasına olanak tanır. Mekanizma değişti ve çoğu eğitim hala eskisini anlatıyor.
Ne değişti
Eski yöntem — temel öğenin model dosyasının içinde, bir sayı olarak custom_model_data ile anahtarlanmış bir predicate bloğu:
{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }
Mevcut yöntem — 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 hala nasıl göründüğüdür. Bu olmadan, dünyadaki her değiştirilmemiş Havuçlu Olta, sizin değneğinize dö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
models/item/wand.json en basit haliyle:
{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }
Dokunun yolunda textures/ öneki ve .png olmadığını unutmayın — bu, mor-siyah bir küpün en yaygın nedenidir.
Öğeyi verme
/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]
Bileşen artık yalın bir tam sayı yerine, türlenmiş listelere sahip bir nesne alıyor. custom_model_data=1 eski sözdizimidir ve sessizce hiçbir şey yapmaz.
Neden mor bir 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 belirttiği yerde değil. - Dosya adı büyük/küçük harf duyarlılığı — oyun, işletim sisteminizde olmasa bile büyük/küçük harfe duyarlıdır.
pack_formatçok düşük — paket yükleniyor ancakitems/klasörü göz ardı ediliyor. Biçimi kullandığınız sürüme uygun hale getirin.- Yanlış sıkıştırılmış —
pack.mcmeta, zip'in içindeki bir klasörün içinde değil, zip'in kökünde olmalıdır.
Diğer seçiciler
Bir sayı üzerindeki range_dispatch sadece bir seçenektir. Ayrıca minecraft:display_context (eldeki model ile çerçevedeki model farklı), minecraft:using_item veya minecraft:selected üzerinden de gönderebilirsiniz — bir Yay'ın çekilmiş durumunu bu şekilde gösterir.
Seçim JSON'unu, model dosyasını ve verme komutunu Özel Model ve Öğe Bileşeni Araçları içinde birlikte oluşturun.