Mise à jour :
L'arborescence finale
mypack/
├─ pack.mcmeta
└─ data/
├─ mypack/
│ └─ function/
│ ├─ hello.mcfunction
│ ├─ load.mcfunction
│ └─ tick.mcfunction
└─ minecraft/
└─ tags/
└─ function/
├─ load.json
└─ tick.json
mypack est votre espace de noms. N'utilisez que des minuscules, des chiffres et _.
1. pack.mcmeta
{
"pack": {
"pack_format": 48,
"description": "Mon premier datapack"
}
}
pack_format indique au jeu pour quelle version est le pack : 48 correspond à Java 1.21–1.21.1 et 61 à 1.21.4. Il change avec la plupart des versions, et les versions récentes ont encore modifié le format du fichier, alors vérifiez le nombre pour votre version. Assurez-vous que Windows ne l'a pas enregistré sous pack.mcmeta.txt.
2. Un fichier de fonction
say Le datapack fonctionne
give @s minecraft:diamond 1
Enregistrez-le sous data/mypack/function/hello.mcfunction. Une commande par ligne, sans barre oblique au début ; les lignes qui commencent par # sont des commentaires.
3. L'ajouter à un monde
- Copiez le dossier mypack dans .minecraft/saves/NomDuMonde/datapacks/.
- Lancez
/reloaddans le monde. - Vérifiez avec
/datapack list. - Lancez
/function mypack:hello.
Après chaque modification, relancez /reload. Pour le partager en zip, pack.mcmeta doit être à la racine du zip.
4. Exécuter au chargement et à chaque tick
{
"values": ["mypack:load"]
}
Les fonctions listées dans data/minecraft/tags/function/load.json s'exécutent à l'ouverture du monde et à chaque /reload. tick.json (avec "mypack:tick") s'exécute à chaque tick, 20 fois par seconde, alors gardez-le léger. Pour des actions programmées, /schedule est plus léger que tick.
Problèmes courants
- Nom de dossier : Java 1.21 a renommé
functionsenfunction, y compris dans les tags. Les anciens tutoriels utilisent l'ancien nom. - Un dossier de trop : datapacks/mypack/mypack/pack.mcmeta n'est pas détecté.
- Majuscules ou caractères non ASCII : interdits dans les espaces de noms et les noms de fonctions.
- Une seule ligne fausse : une commande invalide peut empêcher toute la fonction de se charger. Testez d'abord les lignes dans le chat.
- Bedrock : les datapacks sont réservés à Java ; Bedrock utilise des packs de comportements.
Vérifiez votre commande
Le Command Error Doctor (en anglais) vérifie dans votre navigateur les erreurs de syntaxe les plus courantes.