Datapack tidak termuat? Struktur folder dan tiga nama yang harus cocok
Datapack yang tidak muncul di /datapack list punya masalah jalur, bukan masalah kode. Berikut struktur persisnya, aturan namespace, dan folder-folder yang berganti nama.
/datapack list tidak menampilkan apa pun, atau menampilkan pack sebagai nonaktif. Hampir selalu JSON-nya baik-baik saja dan foldernya yang salah.
Struktur folder
world/datapacks/my_pack/
├── pack.mcmeta
└── data/
├── my_namespace/
│ ├── function/ one .mcfunction per file
│ ├── recipe/
│ ├── loot_table/
│ ├── advancement/
│ └── predicate/
└── minecraft/
└── tags/
└── function/
└── load.json
Tiga nama harus selaras dan salah satunya tidak jelas:
pack.mcmetadi akar pack — di sampingdata/, bukan di dalamnya.data/<namespace>/— namespace Anda, huruf kecil, tanpa spasi. Ini menjadi awalan dimy_namespace:my_function.- Nama folder kategori, yang berubah dan biasanya menjadi biang keladinya.
Folder-folder diganti ke bentuk 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 memakai nama jamak tetap termuat — ia muncul di /datapack list — dan sama sekali tidak melakukan apa-apa, dan inilah mode kegagalan yang paling membingungkan dari semuanya. tags/ tetap jamak, tetapi folder-folder di dalamnya berubah ke tunggal bersama yang lain — tags/functions/ sekarang tags/function/. 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 itu milik Minecraft, fungsi yang ditunjuknya milik Anda:
{ "values": ["my_namespace:setup"] }
Diagnosis berurutan
/datapack list— jika pack tidak terdaftar sama sekali,pack.mcmetahilang, formatnya salah, atau posisinya satu tingkat terlalu dalam.- Terdaftar tetapi nonaktif —
/datapack enable "file/my_pack". Perhatikan awalanfile/dan tanda kutipnya. - Terdaftar dan aktif tetapi tidak berfungsi — nama folder jamak, atau tag load di namespace Anda sendiri alih-alih
minecraft. /reloaddan baca log-nya (logs/latest.log, atau keluaran launcher). Fungsi dengan kesalahan sintaksis akan dibuang di sana dengan pesan "Failed to load function …"; chat hanya mengatakan reload selesai.
Di-zip atau tidak
Keduanya bisa. Di-zip berarti pack.mcmeta di akar zip, persis seperti untuk resource pack. Bentuk folder lebih mudah saat pengembangan karena /reload langsung menangkap perubahan tanpa perlu zip ulang.
Penempatan di server
Di server, jalurnya adalah <world>/datapacks/, dengan <world> adalah nilai level-name di server.properties — bukan akar server. Menaruh pack di folder server adalah kesalahan sisi server yang paling sering terjadi.
Susun pack dengan nama folder terkini dan pack.mcmeta yang valid, lalu unduh siap pakai untuk langsung ditaruh, dengan Datapack Studio — dan taruh tag load Anda di data/minecraft/tags/function/, seperti di atas.