Seu datapack não está carregando? A estrutura de pastas e os três nomes que devem corresponder
Um datapack que não aparece em /datapack list tem um problema de caminho, não de código. Aqui está a árvore exata, a regra de namespace e as pastas que foram renomeadas.
/datapack list não mostra nada, ou mostra o pacote como desativado. Quase sempre o JSON está certo e as pastas estão erradas.
A estrutura
world/datapacks/my_pack/
├── pack.mcmeta
└── data/
└── my_namespace/
├── function/ one .mcfunction per file
├── recipe/
├── loot_table/
├── advancement/
├── predicate/
└── tags/
└── function/
└── load.json
Três nomes devem estar alinhados e um deles não é óbvio:
pack.mcmetana raiz do pacote — ao lado dedata/, não dentro dele.data/<namespace>/— seu namespace, em minúsculas, sem espaços. Isso se torna o prefixo
em my_namespace:my_function.
- Os nomes das pastas de categoria, que mudaram e são os culpados usuais.
As pastas foram renomeadas para o singular
Isso quebrou muitos pacotes e muitos tutoriais:
| Antigo | Atual |
|---|---|
functions/ | function/ |
recipes/ | recipe/ |
loot_tables/ | loot_table/ |
advancements/ | advancement/ |
predicates/ | predicate/ |
structures/ | structure/ |
Um pacote usando os nomes no plural carrega — ele aparece em /datapack list — e simplesmente não faz nada, que é o modo de falha mais confuso do conjunto. tags/ permaneceu no plural, e o mesmo aconteceu com tags/function/ tornando-se singular dentro dele. Sim, isso é inconsistente.
Executando algo automaticamente
Duas tags especiais:
data/minecraft/tags/function/load.json → runs once on load/reload
data/minecraft/tags/function/tick.json → runs every tick
Observe data/minecraft/, não seu próprio namespace — a tag pertence ao Minecraft, as funções que ela aponta pertencem a você:
{ "values": ["my_namespace:setup"] }
Diagnosticando em ordem
/datapack list— se o pacote não estiver listado,pack.mcmetaestá faltando,
malformado ou um nível muito profundo.
- Listado, mas desativado —
/datapack enable "file/my_pack". Observe o prefixofile/
e as aspas.
- Listado e ativado, mas inerte —
pack_formaterrado ou nomes de pastas no plural. /reloade leia o chat. Erros de sintaxe em funções aparecem lá, não silenciosamente.
Compactado ou não
Ambos funcionam. Compactado significa pack.mcmeta na raiz do zip, exatamente como para pacotes de recursos. O formato de pasta é mais fácil durante o desenvolvimento porque /reload detecta edições sem recompactar.
Posicionamento no servidor
Em um servidor, o caminho é <world>/datapacks/, onde <world> é o valor de level-name em server.properties — não a raiz do servidor. Colocar o pacote na pasta do servidor é o erro mais comum do lado do servidor.
Monte um pacote com os nomes de pasta atuais, um pack.mcmeta válido e uma tag de carregamento já configurada, depois faça o download pronto para usar, com o Datapack Studio.