Guides / Troubleshooting

Votre datapack ne charge pas ? Structure des dossiers et les trois noms qui doivent correspondre

Un datapack qui n'apparaît pas dans /datapack list a un problème de chemin, pas un problème de code. Voici l'arborescence exacte, la règle des espaces de noms, et les dossiers qui ont été renommés.

/datapack list n'affiche rien, ou affiche le pack comme désactivé. Presque toujours, le JSON est correct et les dossiers sont incorrects.

L'arborescence

world/datapacks/my_pack/
├── pack.mcmeta
└── data/
    └── my_namespace/
        ├── function/         one .mcfunction per file
        ├── recipe/
        ├── loot_table/
        ├── advancement/
        ├── predicate/
        └── tags/
            └── function/
                └── load.json

Trois noms doivent correspondre et l'un d'eux n'est pas évident :

  1. pack.mcmeta à la racine du pack — à côté de data/, pas à l'intérieur.
  2. data/<namespace>/ — votre espace de noms (namespace), en minuscules, sans espaces. Cela devient le préfixe dans my_namespace:my_function.
  3. Les noms des dossiers de catégorie, qui ont changé et sont la cause habituelle.

Les dossiers ont été renommés au singulier

Cela a cassé de nombreux packs et de nombreux tutoriels :

AncienActuel
functions/function/
recipes/recipe/
loot_tables/loot_table/
advancements/advancement/
predicates/predicate/
structures/structure/

Un pack utilisant les noms au pluriel se charge — il apparaît dans /datapack list — et ne fait tout simplement rien, ce qui est le mode d'échec le plus déroutant de l'ensemble. tags/ est resté au pluriel, tout comme tags/function/ est devenu singulier à l'intérieur. Oui, c'est incohérent.

Exécuter quelque chose automatiquement

Deux balises spéciales :

data/minecraft/tags/function/load.json   → runs once on load/reload
data/minecraft/tags/function/tick.json   → runs every tick

Notez data/minecraft/, pas votre propre espace de noms — la balise appartient à Minecraft, les fonctions qu'elle pointe vous appartiennent :

{ "values": ["my_namespace:setup"] }

Diagnostic dans l'ordre

  1. /datapack list — si le pack n'est pas du tout listé, pack.mcmeta est manquant, malformé, ou un niveau trop profond.
  2. Listé mais désactivé/datapack enable "file/my_pack". Notez le préfixe file/ et les guillemets.
  3. Listé et activé mais inerte — mauvais pack_format, ou noms de dossiers au pluriel.
  4. /reload et lisez le chat. Les erreurs de syntaxe dans les fonctions y apparaissent, pas silencieusement.

Zippé ou non

Les deux fonctionnent. Zippé signifie pack.mcmeta à la racine du zip, exactement comme pour les packs de ressources. La forme dossier est plus facile pendant le développement car /reload prend en compte les modifications sans rezipper.

Placement sur le serveur

Sur un serveur, le chemin est <world>/datapacks/, où <world> est la valeur de level-name dans server.properties — pas la racine du serveur. Placer le pack dans le dossier du serveur est l'erreur la plus courante côté serveur.

Assemblez un pack avec les noms de dossiers actuels, un pack.mcmeta valide et une balise de chargement déjà configurée, puis téléchargez-le prêt à être déposé, avec le Datapack Studio.

Datapack Studio →

More guides

Browse all →

Vous cherchez d'autres outils Minecraft ?

Une collection de générateurs, visionneuses et convertisseurs qui tournent dans le navigateur — tous gratuits.