MC Toolkit

Panduan / Pemecahan Masalah

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:

  1. pack.mcmeta di akar pack — di samping data/, bukan di dalamnya.
  2. data/<namespace>/ — namespace Anda, huruf kecil, tanpa spasi. Ini menjadi awalan di my_namespace:my_function.
  3. Nama folder kategori, yang berubah dan biasanya menjadi biang keladinya.

Folder-folder diganti ke bentuk tunggal

Ini merusak banyak pack dan banyak tutorial:

LamaSekarang
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

  1. /datapack list — jika pack tidak terdaftar sama sekali, pack.mcmeta hilang, formatnya salah, atau posisinya satu tingkat terlalu dalam.
  2. Terdaftar tetapi nonaktif — /datapack enable "file/my_pack". Perhatikan awalan file/ dan tanda kutipnya.
  3. Terdaftar dan aktif tetapi tidak berfungsi — nama folder jamak, atau tag load di namespace Anda sendiri alih-alih minecraft.
  4. /reload dan 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.

Datapack Studio →

Panduan lainnya

Lihat semua →