Datapack Tidak Terload? Struktur Folder dan Tiga Nama yang Harus Cocok
Datapack yang tidak muncul di /datapack list memiliki masalah pada jalur, bukan pada kode. Berikut adalah struktur pohon yang tepat, aturan namespace, dan folder yang namanya diubah.
/datapack list tidak menampilkan apa-apa, atau menampilkan pack sebagai dinonaktifkan. Hampir selalu JSON-nya baik-baik saja dan folder-nya salah.
Struktur pohon
world/datapacks/my_pack/
├── pack.mcmeta
└── data/
└── my_namespace/
├── function/ one .mcfunction per file
├── recipe/
├── loot_table/
├── advancement/
├── predicate/
└── tags/
└── function/
└── load.json
Tiga nama harus selaras dan salah satunya tidak jelas:
pack.mcmetadi root pack — di sampingdata/, bukan di dalamnya.data/<namespace>/— namespace Anda, huruf kecil, tanpa spasi. Ini akan menjadi awalan
di my_namespace:my_function.
- Nama folder kategori, yang berubah dan merupakan penyebab umum.
Nama folder diubah menjadi tunggal
Ini merusak banyak pack dan banyak tutorial:
| Lama | Sekarang |
|---|---|
functions/ | function/ |
recipes/ | recipe/ |
loot_tables/ | loot_table/ |
advancements/ | advancement/ |
predicates/ | predicate/ |
structures/ | structure/ |
Pack yang menggunakan nama jamak terload — muncul di /datapack list — dan tidak melakukan apa-apa, yang merupakan mode kegagalan paling membingungkan. tags/ tetap jamak, dan begitu juga tags/function/ yang menjadi tunggal di dalamnya. Ya, itu tidak konsisten.
Menjalankan sesuatu secara otomatis
Dua tag khusus:
data/minecraft/tags/function/load.json → runs once on load/reload
data/minecraft/tags/function/tick.json → runs every tick
Perhatikan data/minecraft/, bukan namespace Anda sendiri — tag tersebut milik Minecraft, fungsi yang ditunjuknya adalah milik Anda:
{ "values": ["my_namespace:setup"] }
Mendiagnosis secara berurutan
/datapack list— jika pack tidak terdaftar sama sekali,pack.mcmetahilang,
salah format, atau satu tingkat terlalu dalam.
- Terdaftar tetapi dinonaktifkan —
/datapack enable "file/my_pack". Perhatikan awalanfile/
dan tanda kutip.
- Terdaftar dan diaktifkan tetapi tidak berfungsi —
pack_formatsalah, atau nama folder jamak. /reloaddan baca obrolan. Kesalahan sintaks dalam fungsi muncul di sana, tidak secara diam-diam.
Di-zip atau tidak
Keduanya berfungsi. Di-zip berarti pack.mcmeta di root zip, persis seperti untuk resource pack. Bentuk folder lebih mudah saat mengembangkan karena /reload mengambil perubahan tanpa meng-zip ulang.
Penempatan server
Di server, jalurnya adalah <world>/datapacks/, di mana <world> adalah nilai dari level-name di server.properties — bukan root server. Menempatkan pack di folder server adalah kesalahan server-side yang paling umum.
Buat pack dengan nama folder saat ini, pack.mcmeta yang valid, dan tag load yang sudah terhubung, lalu unduh siap untuk ditempatkan, dengan Datapack Studio.