Resep khusus: shaped, shapeless, dan penggunaan tag alih-alih mendaftar setiap jenis kayu
Resep shaped yang tidak bisa dibuat biasanya karena key-nya salah. Berikut JSON-nya, apa yang dipangkas game dari pola untuk Anda, trik tag yang merangkum tiga belas resep menjadi satu, dan cara mengujinya.
Resep adalah salah satu file datapack yang paling mudah ditulis dan salah satu yang paling mudah keliru secara halus, karena resep yang rusak gagal secara diam-diam — grid crafting-nya hanya tidak melakukan apa-apa.
Shaped
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
Tiga aturan yang menyebabkan sebagian besar kegagalan:
- Setiap karakter di
patternharus ada dikey, kecuali spasi, yang berarti kosong. - Polanya bersifat relatif, bukan absolut. Game memangkas baris dan kolom kosong dari tepinya, jadi pola 2×2 yang diberi padding menjadi 3×3 dengan spasi tetap bisa dibuat di mana saja dalam grid — tetapi menuliskannya sebagai dua baris berisi dua lebih jelas.
- Semua baris harus sama panjang.
["SS", "S"]tidak valid.
Shapeless
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
Urutan tidak relevan. Duplikat harus didaftarkan satu kali masing-masing — dua Batu Bara berarti dua entri.
Tag merangkum satu keluarga menjadi satu resep
Alih-alih tiga belas resep untuk tiga belas jenis papan:
"key": { "P": "#minecraft:planks" }
# menandai sebuah item tag. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials dan puluhan lainnya sudah ada. Mendefinisikan milik Anda sendiri hanya butuh satu file:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
Perhatikan tags/item/ — tunggal item, jamak tags. Ketidakkonsistenan itu nyata.
Hasil dengan komponen
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "Excalibur", "minecraft:enchantments": { "sharpness": 5 } }
}
Beginilah cara item khusus menjadi bisa di-craft tanpa mod.
Jenis resep lainnya
crafting_shaped dan crafting_shapeless adalah dua dari banyak. Tersedia juga: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform dan smithing_trim. Jenis memasak membutuhkan cookingtime dan experience; stonecutting membutuhkan satu bahan dan sebuah count.
Pengujian
/reload lalu coba grid-nya. Jika tidak terjadi apa-apa:
- Periksa log game (
latest.log) setelah/reload— JSON yang cacat dilaporkan di sana, bukan di chat. /recipe give @s <namespace>:<recipe>— jika id resepnya salah, ini akan error, yang memberi tahu Anda bahwa file-nya sama sekali tidak dibaca.- Pembukaan kunci resep terpisah dari keberadaan resep. Sebuah resep berfungsi di grid meskipun tidak pernah muncul di buku resep.
Bangun JSON resep, predicate, dan kit dengan key dan tag yang diperiksa di Datapack JSON Builders.