Minecraft Wiki
S'inscrire
Advertisement
Icône information
Cette fonctionnalité est exclusive à la Version Java 

Ce tutoriel montre comment créer un pack de données.

Pour commencer[]

Note : Ce tutoriel prend environ 1 à 1.5 heures à être complété.

Les packs de données peuvent être utilisés pour ajouter ou modifier des fonctions, des tables de butin, des structures, des progrès, des recettes et des tags.

Ce qu'il ne faut pas faire[]

Il y a certaines choses que vous ne devriez pas faire avant de créer un pack de données. Voici une liste de "choses à ne pas faire" :

  • Faire n'importe quoi qui viole les conditions d'utilisation de Mojang pour Minecraft.
  • Publier des versions de Minecraft ou des modifications qui permettent aux joueurs de jouer sans avoir acheté Minecraft par Mojang.
  • Publier le code source décompilé de Minecraft de quelque manière que ce soit.

Créer un pack de données[]

Pour créer un pack de données, commencez par vous diriger vers le dossier datapacks dans le dossier du monde. Pour trouver le dossier du monde, localisez le dossier saves dans .minecraft. Une fois que vous êtes dans le dossier, créez et ouvrez un dossier en le nommant : "Tutoriel Pack de données". Ceci est le nom de votre pack de données, qui peut être ce que vous voulez.

La première chose à faire après avoir créé le dossier est de créer un fichier pack.mcmeta. Cela permet à Minecraft de savoir que le dossier est un pack de données.

Créer un fichier MCMETA[]

Pour créer un fichier MCMETA, faites un clic droit dans le dossier "Tutoriel Pack de données" et créez un nouveau document texte. Nommez ce fichier "pack.mcmeta".

Condition requise[]

  • N'importe quel éditeur de texte devrait fonctionner mais un éditeur suggéré est Notepad++. C'est un éditeur de texte gratuit, avec une coloration syntaxique pour de nombreux langages de programmation, y compris le JSON, qui est le format pour la plupart des fichiers dans un pack de données. Vous pouvez télécharger Notepad++ ici.
Note

Assurez-vous que l'extension du fichier est .mcmeta et non .txt lorsque vous le renommez. La modification d'une extension de nom de fichier peut rendre le fichier inutilisable.

pack.mcmeta[]

Ouvrez le fichier pack.mcmeta dans l'éditeur de texte de votre choix et copiez ou tapez ce qui suit :

{
    "pack": {
        "pack_format": 1,
        "description": "Tutoriel Pack de données"
    }
}


Note

Ce fichier est écrit en JSON. Ce tutoriel ne va pas dans les détails sur le format, mais soyez informé de la façon dont les choses sont disposées. Faites très attention de ne pas oublier les accolades, les guillemets, les virgules, les deux-points et les crochets. Oublier l'un d'entre eux peut empêcher votre pack de données de fonctionner correctement. Pour vérifier vos fichiers, vous pouvez utiliser un validateur JSON, comme celui trouvé sur JSONLint.

"pack_format"[]

La valeur de "pack_format" désigne à quelle version de Minecraft le datapack correspond, et diffère donc selon la version. Contrairement aux packs de ressources, le "pack_format" des datapacks est libre : vous pouvez mettre celui que vous voulez.

Cependant les valeurs du "pack_format" correspondent à la version de Minecraft pour laquelle le datapack a été conçu. En effet, certaines fonctionnalité sont disponibles que pour certaine version de Minecraft. La liste suivante montre les versions du "pack_format" associé à ceux de Minecraft

  • 4 pour les versions 1.13 – 1.14.4
  • 5 pour les versions 1.15 – 1.16.1
  • 6 pour les versions 1.16.2 – 1.16.5
  • 7 pour les versions 1.17 - 1.17.1
  • 8 pour les versions 1.18 - 1.18.1
  • 9 pour la version 1.18.2
  • 10 pour les versions 1.19 et plus

data[]

Créez un dossier nommé data dans le dossier de votre pack de données, le même dossier dans lequel vous avez placé le fichier pack.mcmeta. Dans ce dossier data vous devez créer un autre dossier qui agira comme votre espace_de_nom. La plupart des choses dans le jeu ont un espace de nom, de sorte que si quelque chose et un mod (ou une carte, ou n'importe quoi d'autre) sont ajoutés au jeu, ils agissent tous les deux comme des "quelque chose" différents.

Chaque fois que l'on vous demande de nommer quelque chose, par exemple, une table de butin, vous devez également indiquer de quel espace de nom provient cette chose. Si vous ne spécifiez pas l'espace de nom, ce sera minecraft par défaut. Le jeu utilise l'espace de nom minecraft, ce qui signifie que cet espace de nom doit être utilisé lorsque le pack de données doit écraser des données du jeu existantes.

Assurez-vous de toujours utiliser votre propre espace de nom pour n'importe quelle chose nouvelle que vous ajoutez, et utilisez uniquement d'autres espaces de noms si vous écrasez explicitement quelque chose d'autre, ou dans le cas de tags ajoutés à autre chose. Fondamentalement, essayez de ne pas ajouter de nouvelles choses dans minecraft. L'espace de nom et les autres noms de dossiers et de fichiers dans le pack de données ne doivent contenir que les symboles suivants :

  • 0123456789 Nombres
  • abcdefghijklmnopqrstuvwxyz Lettres en minuscules
  • _ Trait de soulignement
  • - Trait d'union / moins
  • / Barre oblique / séparateur de répertoire (ne peut pas être utilisé dans un espace de nom)
  • . Point (ne peut pas être utilisé dans un espace de nom)

La convention d'appellation préférée est en_minuscules_avec_des_traits_de_soulignement (appelé Lower Snake Case).

Tester votre pack[]

Une fois que vous avez créé votre pack de données, vous pouvez le tester en jeu. Lancez Minecraft et ouvrez le monde (si le monde est déjà ouvert, exécutez la commande /reload, celle-ci rechargera les packs de données), puis tapez la commande /datapack list. Elle devrait dire deux choses, l'une étant "vanilla" et l'autre devant commencer par "file/".

Problèmes éventuels[]

Si vous ne voyez pas votre pack fonctionner, assurez-vous que votre pack.mcmeta est correct. Dans le cas contraire, recherchez n'importe quelles accolades { }, virgules, deux points :, guillemets " " ou crochets [ ] manquants. Rappelez-vous que pour chaque accolade, guillemet ou crochet ouvert, vous devez avoir une accolade, un guillemet ou un crochet fermant.

Fonctions[]

Loupe Page en correspondance : Fonction

Les fonctions sont des ensembles de commandes qui peuvent être exécutées dans un ordre.

Pour ajouter des fonctions, créez d'abord un dossier nommé functions dans le dossier de l'espace de nom. Ensuite, créez un fichier nommé (nom_de_la_fonction).mcfunction dans ce dossier ou n'importe lequel de ses sous-dossiers. Ce sera votre fichier de fonction. Votre fonction sera nommée dans le jeu en tant que (espace_de_nom):(nom) ou (espace_de_nom):(sousdossier1)/(sousdossier2)/.../(nom) lorsque le fichier de fonction est localisé dans un sous-dossier.

Tables de butin[]

Loupe Page en correspondance : Table de butin

Les tables de butin vont dire à Minecraft ce qui devrait être donné quand une créature meurt ou ce qui devrait être généré dans les conteneurs, comme les coffres, lorsqu'ils sont ouverts pour la première fois.

Pour ajouter des tables de butin, créez d'abord un dossier nommé loot_tables dans le dossier de l'espace de nom. Ensuite, créez un fichier nommé (nom_de_la_table_de_butin).json dans ce dossier ou n'importe lequel de ses sous-dossiers. Ce sera votre fichier de table de butin. Votre table de butin sera nommée dans le jeu en tant que (espace_de_nom):(nom) ou (espace_de_nom):(sousdossier1)/(sousdossier2)/.../(nom) si le fichier est localisé dans un sous-dossier.

Voici un exemple d'une table de butin de vache ; elle peut être utilisée comme référence :

   {
       "pools": [
           {
               "rolls": 1,
               "entries": [
                   {
                       "type": "item",
                       "name": "minecraft:leather",
                       "weight": 1,
                       "functions": [
                           {
                               "function": "set_count",
                               "count": {
                                   "min": 0,
                                   "max": 2
                               }
                           },
                           {
                               "function": "looting_enchant",
                               "count": {
                                   "min": 0,
                                   "max": 1
                               }
                           }
                       ]
                   }
               ]
           },
           {
               "rolls": 1,
               "entries": [
                   {
                       "type": "item",
                       "name": "minecraft:beef",
                       "weight": 1,
                       "functions": [
                           {
                               "function": "set_count",
                               "count": {
                                   "min": 1,
                                   "max": 3
                               }
                           },
                           {
                               "function": "furnace_smelt",
                               "conditions": [
                                   {
                                       "condition": "entity_properties",
                                       "entity": "this",
                                       "properties": {
                                           "on_fire": true
                                       }
                                   }
                               ]
                           },
                           {
                               "function": "looting_enchant",
                               "count": {
                                   "min": 0,
                                   "max": 1
                               }
                           }
                       ]
                   }
               ]
           }
       ]
   }

Pour apprendre ce que chaque tag signifie, voir Table de butin. Il y a aussi une liste des tables de butin vanilla sur cette page.

Structures[]

Les structures peuvent être utilisées avec des blocs de structure et/ou peuvent écraser la façon dont certaines structures vanilla apparaissent dans Minecraft. Elles sont sauvegardées dans un format NBT. Vous pouvez créer un fichier NBT en utilisant un bloc de structure ou en exportant une construction via un programme tiers comme MCEdit.

Pour ajouter des structures à un pack de données, créez d'abord un dossier nommé structures dans le dossier de l'espace de nom. Ensuite, mettez votre fichier de structure dans ce dossier ou n'importe lequel de ses sous-dossiers. Votre structure sera nommée dans le jeu en tant que (espace_de_nom):(nom) ou (espace_de_nom):(sousdossier1)/(sousdossier2)/.../(nom) si le fichier est localisé dans un sous-dossier.

Progrès[]

Loupe Page en correspondance : Progrès

Les progrès peuvent être complétés par des joueurs et donner diverses récompenses.

Pour ajouter des progrès, créez d'abord un dossier nommé advancements dans le dossier de l'espace de nom. Ensuite, créez un fichier nommé (nom_du_progrès).json dans ce dossier ou n'importe lequel de ses sous-dossiers. Ce sera votre fichier de progrès. Votre progrès sera nommé dans le jeu en tant que (espace_de_nom):(nom) ou (espace_de_nom):(sousdossier1)/(sousdossier2)/.../(nom) si le fichier est localisé dans un sous-dossier.

Recettes[]

Loupe Page en correspondance : Recette

Les recettes sont utilisées pour permettre aux joueurs de fabriquer des objets.

Pour ajouter des recettes, créez d'abord un dossier nommé recipes dans le dossier de l'espace de nom. Ensuite, créez un fichier nommé (nom_de_la_recette).json dans ce dossier ou n'importe lequel de ses sous-dossiers. Ce sera votre fichier de recette. Votre recette sera nommée dans le jeu en tant que (espace_de_nom):(nom) ou (espace_de_nom):(sousdossier1)/(sousdossier2)/.../(nom) si le fichier est localisé dans un sous-dossier.

Fabrication shaped[]

Le premier type commun de fabrication est la fabrication avec une forme (shaped).

   {
       "type": "minecraft:crafting_shaped",
       "pattern": [
           "123",
           "231",
           "312"
       ],
       "key": {
           "1": {
               "item": "<ID d'objet>"
           },
           "2": {
               "item": "<ID d'objet>"
           },
           "3": {
               "item": "<ID d'objet>"
           }
       },
       "result": {
           "item": "<ID d'objet>",
           "count": 5
       }
   }

Ceci est un exemple grossier d'une recette de fabrication shaped, comme spécifié par le type crafting_shaped. pattern est une liste utilisée pour spécifier la forme de la recette de fabrication. Il contient un maximum de 3 chaînes, chaque chaîne représentant une ligne dans la grille de fabrication. Ces chaînes contiennent alors un maximum de 3 caractères simples l'un à côté de l'autre, chaque caractère représentant un emplacement dans la grille de fabrication. Vous n'avez pas besoin des 3 chaînes, et vous n'avez pas besoin d'avoir 3 caractères dans chaque chaîne non plus. Mais chaque chaîne doit contenir le même nombre de caractères. Vous pouvez utiliser des espaces pour indiquer des emplacements vides.

key est un composant utilisé pour spécifier quel objet doit être utilisé pour quel caractère dans pattern. Cela peut être spécifié en utilisant item suivi de l'identifiant d'un objet ou tag suivi d'un tag d'objet dans un pack de données.

Le composant result, c'est-à-dire le résultat, spécifie quel devrait être l'objet résultant. count est utilisé pour spécifier combien de fois l'objet devrait être donné.

Ceci est la recette originale du piston (elle peut être utilisée comme référence) :

   {
       "type": "minecraft:crafting_shaped",
       "pattern": [
           "TTT",
           "#X#",
           "#R#"
       ],
       "key": {
           "R": {
               "item": "minecraft:redstone"
           },
           "#": {
               "item": "minecraft:cobblestone"
           },
           "T": {
               "tag": "minecraft:planks"
           },
           "X": {
               "item": "minecraft:iron_ingot"
           }
       },
       "result": {
           "item": "minecraft:piston"
       }
   }

Fabrication shapeless[]

Il y a un autre type commun de recettes, les recettes sans forme (shapeless).

   {
       "type": "minecraft:crafting_shapeless",
       "ingredients": [
           {
               "item": "<ID d'objet>"
           },
           {
               "item": "<ID d'objet>"
           },
           [
               {
                   "item": "<ID d'objet>"
               },
               {
                   "item": "<ID d'objet>"
               }
           ]
       ],
       "result": {
           "item": "<ID d'objet>",
           "count": 5
       }
   }

Comme spécifié par le type crafting_shapeless, ceci est une recette sans motif (pattern). Les ingredients peuvent être mis dans la grille de fabrication sous n'importe quelle forme. Dans l'exemple, il y a une liste à l'intérieur du composant ingredients. Cela signifie que n'importe quels objets dans cette liste peuvent être utilisés.

Ceci est la recette originale de la boule de feu (elle peut être utilisée comme référence) :

   {
       "type": "minecraft:crafting_shapeless",
       "ingredients": [
           {
               "item": "minecraft:gunpowder"
           },
           {
               "item": "minecraft:blaze_powder"
           },
           [
               {
                   "item": "minecraft:coal"
               },
               {
                   "item": "minecraft:charcoal"
               }
           ]
       ],
       "result": {
           "item": "minecraft:fire_charge",
           "count": 3
       }
   }

Tags[]

Loupe Page en correspondance : Tag

Les tags sont utilisés pour regrouper des blocs, des objets ou des fonctions ensemble. Le tag de fonction minecraft:tick est également utilisé pour exécuter des fonctions à chaque tick et le tag de fonction load est utilisé pour éxecuter une fonction lorsque qu'un joueur éxecute la commande /reload.

Pour ajouter des tags, créez d'abord un dossier nommé tags dans le dossier de l'espace de nom. Dans ce dossier, créez des dossiers nommés blocks, items et functions. Ensuite, créez un fichier nommé (nom_du_tag).json dans l'un de ces dossiers ou n'importe lequel de leurs sous-dossiers. Ce sera votre fichier de tag. Votre tag sera nommé dans le jeu en tant que (espace_de_nom):(nom) ou (espace_de_nom):(sousdossier1)/(sousdossier2)/.../(nom) si le fichier est localisé dans un sous-dossier.

Voir aussi[]

Advertisement