Pack de données

De Minecraft Wiki
Aller à la navigation Aller à la recherche
Cette fonctionnalité est exclusive à l'édition Java. 

Un pack de données (nom anglais : data pack) est un ensemble de données utilisées pour configurer un certain nombre de fonctionnalités de Minecraft. Un pack de données est un dossier ou un fichier .zip contenant un fichier pack.mcmeta. Les packs de données sont utilisés pour définir entre autres les progrès, les dimensions, les enchantements, les tables de butin, les recettes, les structures et les biomes (voir § Contenu pour la liste complète). Les fonctionnalités vanilla sont définies dans un pack de données intégré. Les expérimentations sont activées en ajoutant des packs de données intégrés séparés dans un monde. De manière similaire, des packs de données personnalisés peuvent être ajoutés dans un monde pour ajouter ou modifier des fonctionnalités et définir des fonctions.

Utilisation[modifier | modifier le wikicode]

Les packs de données peuvent être ajoutés dans un monde pendant la création du monde sur l'écran « Créer un nouveau monde », dans l'onglet « Plus », en cliquant sur le bouton « Packs de données ». Ce menu permet de glisser-déposer des packs de données à partir d'un explorateur de fichiers. Autrement, des packs de données peuvent être ajoutés dans un monde existant en les plaçant manuellement dans le dossier .minecraft/saves/<nom du monde>/datapacks.

En ajoutant un pack de données lorsque le monde est chargé, les tags, tables de butin, recettes, progrès, modificateurs d'objet, prédicats, fonctions et modèles de structure peuvent être chargés en utilisant la commande /reload. Les fonctionnalités restantes nécessitent de fermer et rouvrir le monde (ou redémarrer le serveur) pour devenir actives ou être modifiées, et sont considérées "expérimentales".

Les packs de données chargent leurs données en fonction de l'ordre de chargement. Cet ordre peut être consulté et changé sur l'écran « Packs de données » pendant la création du monde, ou en utilisant la commande /datapack. L'ordre de chargement des packs de données est stocké dans le fichier level.dat. Si un fichier existe dans plusieurs packs de données, seul le fichier dans le dernier pack de données est utilisé. Ce fichier est souvent mentionné comme remplaçant les fichiers des packs précédents. Cependant, les fichiers de tag n'ayant pas "replace": true fusionnent leur contenu avec les fichiers chargés dans les packs précédents.

Contenu[modifier | modifier le wikicode]

Les packs de données utilisent une structure de répertoire pour contenir leurs données. Au niveau supérieur, un pack de données doit contenir un fichier pack.mcmeta contenant des métadonnées sur le pack de données. Les données sont organisées en espaces de nom, afin d'éviter que des fichiers provenant de différents packs n'interfèrent involontairement les uns avec les autres. Les fichiers sont chargés comme suit :

  • Le fichier data/<espace de nom>/<nom du registre>/<chemin>.json est chargé dans le registre <nom du registre> avec comme ID <espace de nom>:<chemin>. <nom du registre> et <chemin> peuvent contenir des barres obliques (/), ce qui se traduit par des sous-dossiers supplémentaires.
  • Les tags sont chargés à partir des fichiers data/<espace de nom>/tags/<nom du registre>/<chemin>.json, ce qui se traduit en un tag de <nom du registre> nommé #<espace de nom>:<chemin>.

Structure du dossier[modifier | modifier le wikicode]

  • File archive.png: Sprite image for archive in Minecraft/File directory.png: Sprite image for répertoire in Minecraft <nom du pack de données>
    • File file.png: Sprite image for fichier in Minecraft pack.mcmeta : Les métadonnées du pack de données. Ceci est le seul fichier obligatoire.
    • File file.png: Sprite image for fichier in Minecraft pack.png : L'image à afficher à côté du pack de données sur l'écran de sélection de packs de données.
    • File directory.png: Sprite image for répertoire in Minecraft data
      • File directory.png: Sprite image for répertoire in Minecraft <espace de nom> : Le dossier de l'espace de nom à utiliser, voir Emplacement de ressource § Espaces de nom. Il peut exister plusieurs répertoires pour différents espaces de nom dans le répertoire data.
        • File directory.png: Sprite image for répertoire in Minecraft function : Des fichiers .mcfunction avec des listes de commandes.
        • File directory.png: Sprite image for répertoire in Minecraft structure : Des fichiers .nbt définissant une structure de blocs sauvegardée.
        • File directory.png: Sprite image for répertoire in Minecraft tags : Des ensembles d'éléments. Chaque sous-dossier définit des tags d'un type spécifique avec des fichiers .json.
          • File directory.png: Sprite image for répertoire in Minecraft <nom du registre> : Des tags peuvent être définis pour n'importe quel registre, voir Tag § Liste des tags pour les types de tag utilisés.
          Tous les dossiers suivants contiennent des fichiers .json pour définir leur contenu :
        • File directory.png: Sprite image for répertoire in Minecraft advancement : Des définitions de progrès.
        • File directory.png: Sprite image for répertoire in Minecraft banner_pattern : Les textures et noms de motifs de bannière.
        • File directory.png: Sprite image for répertoire in Minecraft cat_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de chat.
        • File directory.png: Sprite image for répertoire in Minecraft chat_type : La mise en forme des messages de tchat.
        • File directory.png: Sprite image for répertoire in Minecraft cow_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de vache.
        • File directory.png: Sprite image for répertoire in Minecraft damage_type : Les attributs de dégâts et les messages de mort.
        • File directory.png: Sprite image for répertoire in Minecraft dimension : La disposition des biomes et le terrain des dimensions.
        • File directory.png: Sprite image for répertoire in Minecraft dimension_type : Les propriétés des dimensions.
        • File directory.png: Sprite image for répertoire in Minecraft enchantment : Les effets des enchantements, les objets supportés, le coût en niveau, etc.
        • File directory.png: Sprite image for répertoire in Minecraft enchantment_provider : Une sélection d'enchantements pour des utilisations spécifiques.
        • File directory.png: Sprite image for répertoire in Minecraft frog_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de grenouille.
        • File directory.png: Sprite image for répertoire in Minecraft instrument : Des instruments pour les cornes de chèvre.
        • File directory.png: Sprite image for répertoire in Minecraft item_modifier : Des fonctions de butin utilisées pour modifier des objets.
        • File directory.png: Sprite image for répertoire in Minecraft jukebox_song : Des définitions de chanson de jukebox.
        • File directory.png: Sprite image for répertoire in Minecraft loot_table : Le butin des créatures, blocs, coffres, etc.
        • File directory.png: Sprite image for répertoire in Minecraft painting_variant : La taille et texture des tableaux.
        • File directory.png: Sprite image for répertoire in Minecraft pig_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de cochon.
        • File directory.png: Sprite image for répertoire in Minecraft predicate : Des vérifications de conditions spécifiques en fonction d'une position, créature, etc.
        • File directory.png: Sprite image for répertoire in Minecraft recipe : Des recettes de fabrication, cuisson, etc.
        • File directory.png: Sprite image for répertoire in Minecraft test_environment[à venir : JE 1.21.5] : Une manière de regrouper des tests de jeu et de leur donner les bonnes préconditions pour s'exécuter.
        • File directory.png: Sprite image for répertoire in Minecraft test_instance[à venir : JE 1.21.5] : Un test pouvant être exécuté par le framework de tests de jeu appelé GameTest.
        • File directory.png: Sprite image for répertoire in Minecraft trial_spawner : Des configurations de générateurs des épreuves.
        • File directory.png: Sprite image for répertoire in Minecraft trim_material : Les couleurs, ingrédients et noms des matériaux pour l'ornementation.
        • File directory.png: Sprite image for répertoire in Minecraft trim_pattern : Les textures et noms des motifs pour l'ornementation.
        • File directory.png: Sprite image for répertoire in Minecraft wolf_variant : Les textures et conditions d'apparition de variantes de loup.
        • File directory.png: Sprite image for répertoire in Minecraft worldgen

pack.mcmeta[modifier | modifier le wikicode]

Page en correspondance : pack.mcmeta

Un pack de données est identifié par Minecraft grâce à la présence du fichier pack.mcmeta dans le répertoire racine du pack de données, qui contient des données au format JSON.

Le fichier pack.mcmeta, tel qu'il est utilisé par le pack de données vanilla en 1.21.4, situé dans les JARs du client et du serveur officiel :

pack.mcmeta

{
    "pack": {
        "description": "Les données par défaut de Minecraft",
        "pack_format": 61
    }
}

Format de pack[modifier | modifier le wikicode]

Pour la liste complète des formats de pack dans toutes les versions, voir Format de pack § Liste des formats de pack de données.
Formats de pack de données
Valeur Releases [masquer]Changements importants
4 1.131.14.4 Ajout de la version initiale du format de pack à 4.
5 1.151.16.1 Ajout des prédicats.
6 1.16.21.16.5 Ajout du support expérimental de la génération du monde personnalisée.
7 1.171.17.1 La commande /replaceitem a été remplacée par /item. La fonction de butin set_damage nécessite maintenant un champ  type valide.
8 1.181.18.1 Les tables de butin nécessitent désormais un champ  type. Suppression des limites de longueur pour les tableaux de score, les détenteurs de score et les noms d'équipe.
9 1.18.2 La commande /locate prend maintenant une structure configurée comme premier paramètre à la place d'un type de structure, et de nombreuses structures groupées nécessitent désormais un tag de type de structure. Par exemple, /locate village est maintenant /locate #village.
10 1.191.19.3 Les packs de données peuvent désormais avoir une section  filter dans le fichier pack.mcmeta. La commande /locatebiome a été fusionnée avec /locate, changeant sa syntaxe.
12 1.19.4 Ajout des types de dégâts. Suppression de tous les booléens dans les prédicats de dégâts ; à la place, les tags de type de dégâts peuvent maintenant être testés. Le champ  precipitation des biomes a été renommé  has_precipitation.
15 1.201.20.1 Les NBT des pancartes ont été modifiés. Par exemple, Text1 est désormais front_text.messages[0]. Tous les champs dans les déclencheurs de progrès placed_block, item_used_on_block et allay_drop_item_on_block ont été réduits en un seul champ location. Le prédicat alternative a été renommé any_of.
18 1.20.2 Ajout des macros de fonction. Les effets utilisent maintenant des IDs avec espace de nom plutôt que des valeurs numériques dans les NBT. Par exemple, 1 est désormais minecraft:speed.
26 1.20.31.20.4 Les composants de texte sont analysés de manière plus stricte. Le bloc et objet grass a été renommé short_grass. Ajout des noms d'affichage et des formats de nombre dans les tableaux de score.
41 1.20.51.20.6 L'enchantement sweeping a été renommé sweeping_edge. Changement du comportement du déclencheur de progrès item_used_on_block. Le comportement de certains amplificateurs au-dessus de 127 a été remplacé par des attributs. Les données NBT non structurées attachées aux piles d'objet ont été remplacées par des composants structurés. Suppression des champs durability, potions, nbt et enchantments dans les prédicats d'objet. Le résultat des recettes peut maintenant spécifier des composants. Les fournisseurs d'entier et de flottant utilisés dans les définitions de génération du monde ne sont plus enveloppés dans un champ value supplémentaire à côté de type. Ajout de nouveaux sous-prédicats d'objet et fonctions de butin.
48 1.211.21.1 Ajout des définitions d'enchantement. Ajout des définitions de tableau. Le champ enchantment a été renommé enchantments dans le sous-prédicat d'objet. Les anciens dossiers tels que loot_tables et tags/items ont été renommés loot_table et tags/item. Le tag de boule de feu  power a été supprimé et remplacé par  acceleration_power. Les attributs ont désormais un seul champ id pour leur emplacement de ressource à la place des champs name et uuid.
57 1.21.21.21.3 Suppression des préfixes des ID d'attribut, tels que generic.. Changement de format dans des composants de données, des tables de butin et des prédicats. Ajout de nouveaux composants de données, tables de butin et tags d'objet. Ajout d'un prédicat de saisie de touche. Ajout du type de recette crafting_transmute. L'effet d'enchantement damage_item a été renommé change_item_damage.
61 1.21.4 Le champ TNTFuse des wagonnets à TNT a été renommé fuse. Des champs des entités de bloc des fourneaux ont été renommés. Ajout d'un champ duration obligatoire pour les particules de traînées. Changement du format du composant custom_model_data et de la fonction de butin associée.

Historique[modifier | modifier le wikicode]

Pour l'historique des formats de pack, voir  § Format de pack.
[masquer]Édition Java
1.1317w43aAjout des packs de données.
17w46aAjout de /datapack, une commande pour contrôler les packs de données chargés.
17w48aLes packs de données peuvent maintenant charger des recettes personnalisées.
Ajout de la version de format de pack initiale 4.
17w49aDes tags peuvent désormais être créés dans les packs de données.
17w49bDes tags peuvent maintenant être créés pour des fonctions.
Les fonctions dans le tag minecraft:tick s'exécutent désormais au début de chaque tick.
18w01aLes fonctions dans le tag minecraft:load s'exécutent désormais une fois après un (re)chargement.
Les rapports de plantage listent maintenant les packs de données activés.
1.1418w43aDes tags peuvent désormais être créés pour des types d'entité.
1.1519w38aAjout des prédicats.
1.1620w22aLe chargement des packs de données a été légèrement modifié pour empêcher qu'ils ne plantent.
Si le rechargement d'un pack de données échoue, les changements ne sont pas appliqués et le jeu continue d'utiliser les données précédentes.
Les changements de la liste des packs de données ne sont stockés qu'après un rechargement réussi.
Si des packs de données empêchent le monde de charger, le jeu propose une option pour charger le monde en mode sans échec, qui ne charge que le pack de données vanilla.
Ajout de l'option --safeMode pour les serveurs afin de ne charger que le pack de données vanilla.
Le jeu détecte maintenant toutes les erreurs critiques des packs de données, telles que des tags obligatoires manquants, et empêche le chargement du monde.
Pre-release 1Les packs de données peuvent désormais être chargés avant que le monde ne soit créé.
Les packs de données peuvent maintenant ajouter et modifier des dimensions et des types de dimension.
1.16.220w27aLes packs de données peuvent désormais avoir un fichier pack.png dans le dossier racine, qui est affiché dans le menu des packs de données.
20w28aLes mondes personnalisés supportent maintenant des biomes personnalisés et peuvent désormais être utilisés dans les générateurs de dimension personnalisés.
Les packs de données peuvent maintenant personnaliser la génération du monde dans le dossier worldgen.
1.1720w45aLe format de pack dans version.json a été séparé en une version de données et une version de ressources.
20w46aAjout des modificateurs d'objet.
1.18.2Pre-release 1Il est désormais possible d'ajouter des structures personnalisées dans les packs de données expérimentales : le jeu génère maintenant et stocke des structures configurées pilotées par des données.
Une grande partie de la génération des cavernes est maintenant configurable via les packs de données.
1.1922w11aLes packs de données peuvent désormais appliquer des filtres qui empêchent des fichiers de pack d'être appliqués avant le pack actuel.
1.19.322w42aAjout des types de tchat.
Ajout d'une sous-section appelée datapacks.
Le pack de données de génération du monde vanilla est maintenant visible dans le JAR du jeu.
1.19.423w06aAjout des types de dégâts.
1.20.223w31aLes packs de données peuvent désormais supporter plusieurs formats de pack.
Les packs de données peuvent maintenant contenir des superpositions qui sont appliquées au-dessus du contenu "normal" d'un pack.
1.20.524w10aAjout des variantes de loup.
Les packs de données peuvent désormais définir des motifs de bannière personnalisés.
1.2124w18aLes packs de données peuvent maintenant définir des variantes de tableau personnalisées.
Les enchantements sont désormais pilotés par des données et peuvent être définis dans les packs de données.
Les packs de données peuvent également définir des fournisseurs d'enchantement.
24w19aPlusieurs répertoires ont été renommés :
  • tags/items -> tags/item
  • tags/blocks -> tags/block
  • tags/entity_types -> tags/entity_type
  • tags/fluids -> tags/fluid
  • tags/game_events -> tags/game_event
24w21aPlusieurs répertoires ont été renommés :
  • structures -> structure
  • advancements -> advancement
  • recipes -> recipe
  • loot_tables -> loot_table
  • predicates -> predicate
  • item_modifiers ->item_modifier
  • functions -> function
  • tags/functions -> tags/function
Les packs de données peuvent maintenant définir des chansons de jukebox personnalisées.
1.21.224w33aLes packs de données peuvent désormais définir des instruments de corne de chèvre personnalisés.

Galerie[modifier | modifier le wikicode]

Voir aussi[modifier | modifier le wikicode]

Liens externes[modifier | modifier le wikicode]

Navigation[modifier | modifier le wikicode]