Progrès/Format JSON

De Minecraft Wiki
Aller à : navigation, rechercher

Les progrès situés dans le dossier data/advancements d'un monde stockent les données des progrès pour ce monde en tant que fichiers JSON distincts.

Format d'un fichier[modifier | modifier le wikicode]

L'un de ces fichiers JSON est structuré selon le format suivant :


  • La balise racine.

    •  display (facultatif) : Les données d'affichage.

      •  icon: La donnée pour l'icône.

        •  item : L'ID de l'objet.

        •  nbt: Les données NBT de l'objet.

      •  title : Le titre du progrès.

      •  title : Un composant de texte JSON (contenant des textes et un formatage comme utilisé dans la commande /tellraw et diverses autres commandes)

      •  frame (facultatif) : Le type de cadre pour l'icône : challenge pour un cadre sophistiqué, goal pour un cadre à bords arrondis ou task pour un cadre normal (par défaut).

      •  background (facultatif) : Le chemin de l’arrière-plan utilisé pour l’onglet de ces progrès (seulement pour le progrès racine).

      •  description: La description du progrès.

      •  description: Un composant de texte JSON (contenant des textes et un formatage comme utilisé dans la commande /tellraw et diverses autres commandes).

      •  show_toast: Affiche ou non la fenêtre de notification (par défaut: true).

      •  announce_to_chat: Affiche ou non la notification dans le tchat (par défaut: true).

      •  hidden : Si défini sur true, le progrès est caché jusqu'à ce qu'il soit réalisé (par défaut: false).

    •  parent (facultatif) : Le chemin du progrès parent de ce progrès. Si ce champ est absent, ce progrès est un progrès racine. Les références circulaires provoquent une erreur lors du chargement.

    •  criteria : Les critères nécessaires à satisfaire.

      •  <nomDuCritère> : Un nom donné au critère (peut être n’importe quelle chaîne de caractères, mais doit être unique).

        •  trigger : Ce qui déclenche le progrès, spécifie ce que le jeu doit vérifier.

        •  conditions : Toutes les conditions nécessaires à satisfaire lorsque le trigger est déclenché.

    •  requirements (facultatif) : Une liste des critères (les <nomDuCritère>) nécessaires. Si tous les critères sont nécessaires, ceci peut être omis. S’il y a plusieurs critères (criteria) : les requirements contiennent une liste de listes avec les critères (tous les critères doivent être mentionnés). Si au moins un critère est satisfait dans chaque liste, le progrès sera octroyé (groupage AND de groupes OR).

    •  rewards (facultatif) : Une collection des récompenses fournies lorsque ce progrès est réalisé.

      •  recipes : Une liste de recettes (chaînes de code).

      •  loot : Une liste de tables de butin (chaînes de code).

      •  experience : Une quantité d'expérience.

      •  function: Une fonction à exécuter. Les tags de fonctions ne sont pas autorisés.

Affichage[modifier | modifier le wikicode]

Dans la balise racine d'un progrès, le champ
 display et le champ
 parent, tous deux optionnels, contrôlent l'affichage du progrès.

Si la balise
 display est présente, elle doit contenir les champs

 title et

 description pour que les données d'affichage du progrès soient valide.

La balise
 parent, bien qu'elle ne soit pas associée avec l'affichage d'un progrès directement, n'affecte que son affichage. Quand ni un progrès ni ses enfants n'a pas de données d'affichage, le parent du progrès n'a pas d'effet sur le progrès lui-même.

Création d'onglets[modifier | modifier le wikicode]

Pour créer un onglet dans l'écran des progrès, créez un progrès racine (un avancement sans parent) avec un affichage. Quand le data pack contenant le progrès est chargé, le progrès racine affiche un onglet dans l'écran des progrès quand le joueur regardant l'écran obtient ce progrès ou n'importe lequel de ses descendants.

Quand l'arrière-plan (
 background) d'un progrès racine n'est pas spécifié, l'onglet est toujours créé, mais l'arrière-plan de l'onglet apparaît avec la texture manquante (échiquier noir et violet).

Présence[modifier | modifier le wikicode]

Pour un progrès qui n'est pas le progrès racine (c'est à dire, un progrès avec un parent défini), ces conditions doivent être remplies pour qu'il soit affiché dans un onglet une fois débloqué:

  1. Son progrès racine doit être un onglet valide.
  2. Il doit avoir un affichage (
     display).

Position[modifier | modifier le wikicode]

Le jeu dispose automatiquement les progrès, les positionne lorsque des progrès sont chargés depuis un data pack, et envoie la disposition des progrès au client. Chaque progrès a une flèche allant de son ancêtre visible le plus proche (i.e. si son parent n'a pas d'affichage, il a un lien vers le progrès grand-parent, etc.). Le progrès racine est affiché sur la colonne la plus à gauche et chaque flèche pointe vers un progrès dans la colonne suivante. La disposition des progrès dans une colonne dépend des noms des fichiers.

Absence d'affichage[modifier | modifier le wikicode]

Quelques progrès, par exemple les progrès débloquant les recettes par défaut, peuvent ne pas définir d'affichage pour utiliser des déclencheurs et des récompenses. Ces progrès doivent ne pas avoir de balise
 display afin de ne pas pouvoir être affichés aux utilisateurs.

Liste de déclencheurs[modifier | modifier le wikicode]

minecraft:bee_nest_destroyed[modifier | modifier le wikicode]

Se déclenche quand le joueur détruit une ruche ou un nid d'abeilles. Conditions disponibles :


  •  conditions:

    •  block: L'ID du bloc détruit.

    •  item: L'item utilisé pour détruire le bloc.

    •  num_bees_inside: Le nombre d'abeilles présentes dans la ruche/le nid d'abeilles avant d'être détruit(e).

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:bred_animals[modifier | modifier le wikicode]

Se déclenche après qu'un joueur fait se reproduire deux animaux. Conditions disponibles :

minecraft:brewed_potion[modifier | modifier le wikicode]

Se déclenche dès que le joueur sort un item d'un alambic. Conditions disponibles :


  •  conditions:

    •  potion: Une potion.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:changed_dimension[modifier | modifier le wikicode]

Se déclenche dès que le joueur voyage entre deux dimensions. Conditions disponibles :


  •  conditions:

    •  from: La dimension d'où vient le joueur. Accepte ces 3 valeurs.

    •  to: La dimension où le joueur est allé. Mêmes valeurs que ci-dessus.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:channeled_lightning[modifier | modifier le wikicode]

Se déclenche lorsque le joueur utilise avec succès l'enchantement Canalisation sur une entité. Conditions disponibles :


  •  conditions:

    •  victims: Les victimes frappées par la foudre provoquée par l'enchantement Canalisation. Toutes les entités dans cette liste doivent être frappées. Chaque entrée peut également être une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent à la victime.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:construct_beacon[modifier | modifier le wikicode]

Se déclenche quand le joueur change la structure d'une balise (Quand la balise se met à jour). Conditions disponibles:


  •  conditions:

    •  level: Le stade de la balise une fois mise à jour.

    •  level:

      •  max: La valeur maximale.

      •  min: La valeur minimale.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:consume_item[modifier | modifier le wikicode]

Se déclenche quand le joueur consomme un objet (nourriture, potions...). Conditions disponibles :


  •  conditions:

minecraft:cured_zombie_villager[modifier | modifier le wikicode]

Se déclenche quand le joueur guérit un zombie-villageois. Conditions disponibles :


  •  conditions:

    •  villager: Le villageois qui résulte de la conversion. La balise 'type' est redondante car ce sera toujours "villager". Peut également être une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active.

    •  zombie: Le zombie-villageois juste avant que la conversion soit complète (et non pas au moment où la guérison commence). La balise 'type' est redondante car ce sera toujours "zombie_villager". Peut également être une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:effects_changed[modifier | modifier le wikicode]

Se déclenche lorsque le joueur obtient ou perd un effet de potion. Conditions disponibles :


  •  conditions:

    •  effects: Une liste d'effets que le joueur a.

      •  <minecraft:effect_name>: Un effet de potion; la clé est le nom de l'effet.

        •  amplifier: L'amplifieur de l'effet.

        •  amplifier:

          •  max: La valeur maximale.

          •  min: La valeur minimale

        •  duration: La durée de l'effet en ticks.

        •  duration:

          •  max: La valeur maximale.

          •  min: La valeur minimale.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:enchanted_item[modifier | modifier le wikicode]

Se déclenche lorsque le joueur enchante un objet en utilisant une table d'enchantement (ne se déclenche pas lorsque le joueur utilise une enclume ou des commandes). Conditions disponibles :


  •  conditions:

    •  item: L'objet une fois enchanté.

    •  levels: Les niveaux d'expérience dépensés pour enchanter l'objet.

    •  levels:

      •  max: La valeur maximale.

      •  min: La valeur minimale.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:enter_block[modifier | modifier le wikicode]

Se déclenche quand le joueur est dans un bloc. Teste à chaque tick et se déclenche pour chaque bloc détecté (au plus huit fois, le nombre maximum de blocs dans lequel le joueur peut être), ce qui ne fonctionne uniquement si le progrès lui est retiré depuis le progrès par une fonction exécutée en récompense. Conditions disponibles :


  •  conditions:

    •  block: Le bloc dans lequel le joueur est. Accepte les IDs de blocs.

    •  state: Les états du bloc.

      •  <state_name>

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:entity_hurt_player[modifier | modifier le wikicode]

Se déclenche quand le joueur prend des dégâts. Il n'est pas nécessaire qu'une entité soit la source des dégâts. Conditions disponibles :


  •  conditions:

minecraft:entity_killed_player[modifier | modifier le wikicode]

Se déclenche quand une entité tue un joueur. Conditions disponibles :


  •  conditions:

    •  entity: Détecte l'entité qui est la source des dégâts qui ont tué le joueur (par exemple: le squelette qui a tiré la flèche). Peut également être une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active.

    •  killing_blow: Détecte le type de dégâts qui ont tué le joueur.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.

minecraft:filled_bucket[modifier | modifier le wikicode]

Se déclenche quand le joueur remplit un seau. Conditions disponibles :


  •  conditions:

    •  item: L'objet résultant du remplissage du seau.

    •  player: Une liste de prédicats qui doivent être vérifiés pour que le déclencheur s'active. Les tests s'appliquent au joueur qui obtiendrait le progrès.