Pack de données
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 fonctions utilisent l'extension
.mcfunction
. - Les fichiers de structure utilisent l'extension
.nbt
.
- Les fonctions utilisent l'extension
- 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]
/
<nom du pack de données>
pack.mcmeta : Les métadonnées du pack de données. Ceci est le seul fichier obligatoire.
pack.png : L'image à afficher à côté du pack de données sur l'écran de sélection de packs de données.
data
<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
.function : Des fichiers
.mcfunction
avec des listes de commandes.structure : Des fichiers
.nbt
définissant une structure de blocs sauvegardée.tags : Des ensembles d'éléments. Chaque sous-dossier définit des tags d'un type spécifique avec des fichiers
.json
.<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 :
advancement : Des définitions de progrès.
banner_pattern : Les textures et noms de motifs de bannière.
cat_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de chat.
chat_type : La mise en forme des messages de tchat.
cow_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de vache.
damage_type : Les attributs de dégâts et les messages de mort.
dimension : La disposition des biomes et le terrain des dimensions.
dimension_type : Les propriétés des dimensions.
enchantment : Les effets des enchantements, les objets supportés, le coût en niveau, etc.
enchantment_provider : Une sélection d'enchantements pour des utilisations spécifiques.
frog_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de grenouille.
instrument : Des instruments pour les cornes de chèvre.
item_modifier : Des fonctions de butin utilisées pour modifier des objets.
jukebox_song : Des définitions de chanson de jukebox.
loot_table : Le butin des créatures, blocs, coffres, etc.
painting_variant : La taille et texture des tableaux.
pig_variant[à venir : JE 1.21.5] : Les textures et conditions d'apparition de variantes de cochon.
predicate : Des vérifications de conditions spécifiques en fonction d'une position, créature, etc.
recipe : Des recettes de fabrication, cuisson, etc.
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.
test_instance[à venir : JE 1.21.5] : Un test pouvant être exécuté par le framework de tests de jeu appelé GameTest.
trial_spawner : Des configurations de générateurs des épreuves.
trim_material : Les couleurs, ingrédients et noms des matériaux pour l'ornementation.
trim_pattern : Les textures et noms des motifs pour l'ornementation.
wolf_variant : Les textures et conditions d'apparition de variantes de loup.
worldgen
biome : Les options de génération des biomes, les effets, etc.
configured_carver : Des définitions de sculpteur de terrain.
configured_feature : Des configurations d'éléments du terrain.
density_function : Des opérations mathématiques calculant des valeurs pour chaque position dans le monde.
noise : La taille et les amplitudes d'un bruit.
noise_settings : La forme du terrain, incluant les cavernes de bruit et les types de bloc principaux du terrain.
placed_feature : Le placement des éléments du terrain dans un chunk.
processor_list : Le post-traitement des blocs dans les structures.
structure : La définition de la génération des structures et les biomes autorisés.
structure_set : La distribution d'un ensemble de structures dans le monde.
template_pool : Un ensemble de modèles (fichiers de structure) à utiliser dans les structures en puzzle.
world_preset : Un ensemble de dimensions sélectionnables sur l'écran de création de monde.
flat_level_generator_preset : Des préréglages sélectionnables pour le type de monde "Plat".
multi_noise_biome_source_parameter_list : Le nom d'un préréglage à utiliser pour la disposition de biome multi-bruit.
pack.mcmeta[modifier | modifier le wikicode]
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": {
"description": "Les données par défaut de Minecraft",
"pack_format": 61
}
}
Format de pack[modifier | modifier le wikicode]
Valeur | Releases | [masquer]Changements importants |
---|---|---|
4 | 1.13–1.14.4 | Ajout de la version initiale du format de pack à 4. |
5 | 1.15–1.16.1 | Ajout des prédicats. |
6 | 1.16.2–1.16.5 | Ajout du support expérimental de la génération du monde personnalisée. |
7 | 1.17–1.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.18–1.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.19–1.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.20–1.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.3–1.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.5–1.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.21–1.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.2–1.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]
[masquer]Édition Java | |||||||
---|---|---|---|---|---|---|---|
1.13 | 17w43a | Ajout des packs de données. | |||||
17w46a | Ajout de /datapack , une commande pour contrôler les packs de données chargés. | ||||||
17w48a | Les packs de données peuvent maintenant charger des recettes personnalisées. | ||||||
Ajout de la version de format de pack initiale 4 . | |||||||
17w49a | Des tags peuvent désormais être créés dans les packs de données. | ||||||
17w49b | Des 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. | |||||||
18w01a | Les 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.14 | 18w43a | Des tags peuvent désormais être créés pour des types d'entité. | |||||
1.15 | 19w38a | Ajout des prédicats. | |||||
1.16 | 20w22a | Le 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 1 | Les 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.2 | 20w27a | Les 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. | |||||
20w28a | Les 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.17 | 20w45a | Le format de pack dans version.json a été séparé en une version de données et une version de ressources. | |||||
20w46a | Ajout des modificateurs d'objet. | ||||||
1.18.2 | Pre-release 1 | Il 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.19 | 22w11a | Les 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.3 | 22w42a | Ajout 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.4 | 23w06a | Ajout des types de dégâts. | |||||
1.20.2 | 23w31a | Les 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.5 | 24w10a | Ajout des variantes de loup. | |||||
Les packs de données peuvent désormais définir des motifs de bannière personnalisés. | |||||||
1.21 | 24w18a | Les 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. | |||||||
24w19a | Plusieurs répertoires ont été renommés :
| ||||||
24w21a | Plusieurs répertoires ont été renommés :
| ||||||
Les packs de données peuvent maintenant définir des chansons de jukebox personnalisées. | |||||||
1.21.2 | 24w33a | Les packs de données peuvent désormais définir des instruments de corne de chèvre personnalisés. |
Galerie[modifier | modifier le wikicode]
-
Un exemple de monde personnalisé créé avec un pack de données.
Voir aussi[modifier | modifier le wikicode]
Liens externes[modifier | modifier le wikicode]
- misode.github.io propose des générateurs de pack de données
[modifier | modifier le wikicode]
[masquer] | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
|
[masquer] | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
|