Data model kustom: memberikan banyak model pada satu item tanpa mengganti apa pun
Sistem model item menggantikan predikat CustomModelData yang lama. Berikut adalah tata letak folder, JSON yang memetakan nilai ke model, dan mengapa tekstur Anda terlihat seperti kubus ungu.
Model item kustom memungkinkan server memberikan "tongkat sihir" yang sebenarnya adalah wortel di tongkat dengan model yang berbeda. Mekanismenya berubah, dan sebagian besar tutorial masih menjelaskan yang lama.
Apa yang berubah
Cara lama — blok predicate di dalam file model item dasar, dikunci pada custom_model_data sebagai angka:
{ "predicate": { "custom_model_data": 1 }, "model": "item/wand" }
Cara saat ini — definisi items/ yang memilih model:
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 adalah seperti apa wortel di tongkat biasa. Tanpa itu, setiap wortel di tongkat yang tidak dimodifikasi di dunia akan berubah menjadi tongkat Anda.
Tata letak folder
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 yang paling sederhana:
{ "parent": "minecraft:item/generated", "textures": { "layer0": "minecraft:item/wand" } }
Perhatikan jalur tekstur tidak memiliki awalan textures/ dan tidak ada .png — ini adalah penyebab paling umum dari kubus ungu-hitam.
Memberikan item
/give @p carrot_on_a_stick[custom_model_data={floats:[1]}]
Komponen sekarang mengambil objek dengan daftar bertipe, bukan bilangan bulat biasa. custom_model_data=1 adalah sintaks lama dan secara diam-diam tidak melakukan apa-apa.
Mengapa terlihat seperti kubus ungu
Berdasarkan kemungkinan:
- Jalur tekstur salah — menyertakan
textures/atau.png, atau file tidak berada di lokasi yang disebutkan oleh jalur. - Huruf besar/kecil nama file — game peka huruf besar/kecil bahkan di mana OS Anda tidak.
pack_formatterlalu rendah — paket dimuat tetapi folderitems/diabaikan. Sesuaikan format dengan versi yang Anda gunakan.- Di-zip salah —
pack.mcmetaharus berada di akar zip, bukan di dalam folder di dalam zip.
Pemilih lainnya
range_dispatch pada angka hanyalah salah satu pilihan. Anda juga dapat mengirimkan pada minecraft:display_context (model berbeda di tangan versus di bingkai), minecraft:using_item, atau minecraft:selected — begitulah cara busur menunjukkan status ditarik.
Buat JSON pengiriman, file model, dan perintah pemberian secara bersamaan di Alat Komponen Model & Item Kustom.