Датапак не завантажується? Структура папок і три назви, які мають збігатися
Датапак, який не відображається в /datapack list, має проблему зі шляхом, а не з кодом. Ось точна структура, правило простору імен і папки, які було перейменовано.
/datapack list shows nothing, or shows the pack as disabled. Almost always the JSON is fine and the folders are wrong.
Дерево папок
world/datapacks/my_pack/
├── pack.mcmeta
└── data/
└── my_namespace/
├── function/ one .mcfunction per file
├── recipe/
├── loot_table/
├── advancement/
├── predicate/
└── tags/
└── function/
└── load.json
Три назви мають збігатися, і одна з них неочевидна:
pack.mcmetaat the pack root — поруч ізdata/, not inside it.data/<namespace>/— ваш простір імен, нижній регістр, без пробілів. Він стає префіксом
у my_namespace:my_function.
- Назви папок категорій, які змінилися і зазвичай є причиною.
Папки було перейменовано в однину
Це зламало багато паків і посібників:
| Старі | Поточні |
|---|---|
functions/ | function/ |
recipes/ | recipe/ |
loot_tables/ | loot_table/ |
advancements/ | advancement/ |
predicates/ | predicate/ |
structures/ | structure/ |
Пак із назвами у множині завантажується — він з'являється у /datapack list — and simply does nothing, which is the most confusing failure mode of the set. tags/ stayed plural, and so did tags/function/ becoming singular inside it. Yes, that is inconsistent.
Автоматичний запуск
Два спеціальних теги:
data/minecraft/tags/function/load.json → runs once on load/reload
data/minecraft/tags/function/tick.json → runs every tick
Примітка data/minecraft/, а не ваш власний простір імен — тег належить Minecraft, а функції, на які він вказує, належать вам:
{ "values": ["my_namespace:setup"] }
Діагностика за порядком
/datapack list— if the pack is not listed at all,pack.mcmetais missing,
пошкоджений або на один рівень глибше, ніж треба.
- У списку, але вимкнено —
/datapack enable "file/my_pack". Note thefile/prefix
і лапки.
- У списку та ввімкнено, але не працює — неправильний
pack_format, or plural folder names. /reloadand read the chat. Syntax errors in functions surface there, not silently.
У zip чи ні
Обидва варіанти працюють. Zip означає pack.mcmeta at the корінь zip, так само, як і для наборів ресурсів. Формат папки зручніший під час розробки, тому що /reload picks up edits without re-zipping.
Розміщення на сервері
На сервері шлях такий <world>/datapacks/, where <world> is the value of level-name in server.properties — not the server root. Dropping the pack in the server folder is the single most common server-side mistake.
Зберіть набір із поточними назвами папок, валідним pack.mcmeta and a load tag already wired, then download it ready to drop in, with the Datapack Studio.