[Java] Créons un Minecraft Mod 1.14.4 [7. Add progress]

(Cet article fait partie d'une série d'articles de commentaires)

Premier article: Introduction Article précédent: 6. Add Recipe Article suivant: 8. Ajout et génération de minerai

Ajouter une progression

Jusqu'à présent, j'ai abordé les choses liées aux articles de manière générale et superficielle, mais changeons maintenant un peu le goût et ajoutons des avancées. advancement_Minecraft.png C'est comme un soi-disant trophée avec une structure arborescente comme celle-ci.

L'ajout de progression est ** relativement facile ** et est géré sur une base json dans la version 1.14.4.

\src\main\resources
   ├ assets
   └ data
      └ example_mod
         ├ advancements
         │  └ root.json
         ├ loot_tables
         └ recipes

Créez un dossier \ src \ main \ resources \ data \ example_mod \ advancements et placez-le dans ce dossier. Tout d'abord, nous avons besoin d'un progrès qui est la racine de l'arbre, nous allons donc le faire. Référence Comme il est détaillé sur la page, écrivons en faisant référence à cela.

root.json


{
  "display": {
    "icon": {
      "item": "example_mod:example_ingot"
    },
    "title": {
      "translate": "advancements.root.title"
    },
    "description": {
      "translate": "advancements.root.description"
    },
    "frame": "task",
    "show_toast": true,
    "announce_to_chat": true,
    "hidden": false,
    "background": "minecraft:textures/block/stone.png "
  },
  "criteria": {
    "get_example_ingot": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "example_mod:example_ingot"
          }
        ]
      }
    }
  }
}

Ceci est un exemple de la progression obtenue lorsque vous obtenez ʻexample_ingot. Encore une fois, la page [Référence](https://w.atwiki.jp/minecraft/pages/1548.html#id_6d2dca49) a une explication suffisante, veuillez donc vérifier cela pour plus de détails. Je vais en expliquer quelques-uns. frameest la spécification de cadre pour la vignette de progression. Définissons un approprié parmi trois, défi, objectif et tâche. Tâche par défaut. show_toast ʻannounce_to_chat donne true / false pour" envoyer un message dans le coin supérieur droit une fois terminé "et" s'il faut envoyer un message dans le champ de discussion ", respectivement. Valeur par défaut true. hidden est écrit comme" Afficher ou non l'onglet jusqu'à ce qu'il soit atteint "..., mais même si false est spécifié, il n'est ** pas affiché pour une raison quelconque **, donc je ne suis pas sûr. Valeur par défaut false. «critères» est un terme qui définit les conditions de progrès. Utilisez un nom unique arbitraire comme nom de balise (partie get_example_ingot), décrivez divers déclencheurs dans trigger, et décrivez les conditions détaillées correspondant aux déclencheurs dans conditions.

Ajoutez le titre et la description translate au fichier lang.

en_us.json


{
  "advancements.root.title": "Example Title",
  "advancements.root.description": "Example description."
}

ja_jp.json


{
  "advancements.root.title": "Exemple de titre",
  "advancements.root.description": "Un exemple de description."
}

キャプチャ.PNG Vous pouvez ajouter des progrès comme celui-ci.


Regardons un autre exemple.

obtail_armor.json


{
  "parent": "example_mod:root",
  "display": {
    "icon": {
      "item": "example_mod:example_chestplate"
    },
    "title": {
      "translate": "advancements.obtain_armor.title"
    },
    "description": {
      "translate": "advancements.obtain_armor.description"
    },
    "frame": "task",
    "show_toast": true,
    "announce_to_chat": true,
    "hidden": false
  },
  "criteria": {
    "example_helmet": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "example_mod:example_helmet"
          }
        ]
      }
    },
    "example_chestplate": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "example_mod:example_chestplate"
          }
        ]
      }
    },
    "example_leggings": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "example_mod:example_leggings"
          }
        ]
      }
    },
    "example_boots": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [
          {
            "item": "example_mod:example_boots"
          }
        ]
      }
    }
  },
  "requirements": [
    [
      "example_helmet",
      "example_chestplate",
      "example_leggings",
      "example_boots"
    ]
  ],
  "rewards": {
    "experience": 100
  }
}

Un exemple des progrès réalisés en obtenant l'une des armures. Il convient de noter en particulier l'augmentation des éléments de «parent» qui n'étaient pas mentionnés dans la section précédente. Vous pouvez en faire un élément enfant en spécifiant ʻexample_mod: root` défini précédemment ici. De plus, en cours, le parent n'est pas un prérequis pour l'enfant (réalisable dans n'importe quel ordre), mais lorsque le parent est atteint, il semble que tout jusqu'à l'enfant de l'enfant (c'est-à-dire jusqu'à 2 pas d'avance) sera affiché (inversé). Si vous obtenez un enfant dans, le parent à la racine sera affiché par l'itinéraire le plus court). De plus, un parent peut avoir plusieurs enfants. L'autre différence est qu'il y a plusieurs éléments «critères» et il y a plus de «récompenses» d'exigences. Comme le montre cet exemple, plusieurs éléments de «critères» peuvent être décrits, et les «exigences» décrivent comment faire un jugement de réussite en les utilisant. «[A, B]» indique A ou B, et «[A], [B]» indique A et B. Vous pouvez définir une récompense pour avoir progressé dans «récompense». Les valeurs d'expérience sont données ici, mais il est possible d'ouvrir des recettes, d'ajouter des éléments et d'exécuter des fonctions arbitraires. キャプチャ.PNG J'ai bien acquis la valeur d'expérience.


Le progrès est un bon moyen de savoir comment vous pouvez profiter de vos mods, alors faites-en bon usage.

Postscript

Avant la version 1.12, il y avait une différence dans les réalisations plutôt que dans les progrès, alors faites attention à ne pas les confondre lorsque vous cherchez des informations.

référence

Progrès - Minecraft Japan Wiki [8/4 update] --At Wiki

Article suivant

8. Ajout et génération de minerai

Recommended Posts

[Java] Créons un Minecraft Mod 1.14.4 [7. Add progress]
[Java] Créons un Minecraft Mod 1.14.4 [4. Ajouter des outils]
[Java] Créons un Minecraft Mod 1.14.4 [5. Ajouter une armure]
[Java] Créons un Minecraft Mod 1.14.4 [6. Ajouter une recette]
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un élément]
[Java] Créons un Minecraft Mod 1.14.4 [1. Ajouter un élément]
[Java] Créons un Minecraft Mod 1.14.4 [2. Ajouter un bloc]
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter un bloc]
[Java] Créons un Minecraft Mod 1.14.4 [3. Ajouter un onglet de création]
[Java] Créons un Minecraft Mod 1.14.4 [Introduction]
[Java] Créons un Minecraft Mod 1.16.1 [Introduction]
[Java] Créons un Minecraft Mod 1.14.4 [99. Mod output]
[Java] Créons un Minecraft Mod 1.16.1 [Ajouter et générer des arbres]
[Java] Créons un Minecraft Mod 1.14.4 [9. Ajouter et générer des arbres]
[Java] Créons un Minecraft Mod 1.14.4 [8. Ajouter et générer du minerai]
[Java] Créons un Minecraft Mod 1.14.4 [0. Fichier de base]
[Java] Créons un Minecraft Mod 1.14.4 [édition supplémentaire]
[Java] Créons un Minecraft Mod 1.16.1 [Fichier de base]
Créons un environnement de développement Java (mise à jour)
Créons un processus chronométré avec la minuterie de Java! !!
Créons un framework Web ultra-simple avec Java
[Java] Créer un filtre
[Bases de Java] Créons un triangle avec une instruction for
Créer une méthode java [Memo] [java11]
[Java] Créer un fichier temporaire
Comment créer une image de conteneur légère pour les applications Java
[Java twig] Créer un combinateur d'analyseur pour l'analyse syntaxique de descente récursive
Création d'un MOB à l'aide du plug-in Minecraft Java Mythicmobs | Préparation 1
Créons une application TODO en Java 4 Implémentation de la fonction de publication
Comment signer Minecraft MOD
Créons une application TODO en Java 6 Implémentation de la fonction de recherche
Créons une application TODO en Java 8 Implémentation des fonctions d'édition
Créer un projet Java à l'aide d'Eclipse
Créons une application TODO avec Java 1 Brève explication de MVC
Créons une application TODO en Java 5 Changer l'affichage de TODO
Créer un serveur fluentd pour les tests
Installons Docker sur Windows 10 et créons un environnement de vérification pour CentOS 8!
[Java twig] Créer un combinateur d'analyseur pour une analyse de syntaxe descendante récursive (également prendre des notes)
Allons-y avec Watson Assistant (anciennement Conversation) ⑤ Créez un chatbot avec Watson + Java + Slack
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
[Java] Créer et appliquer un masque des diapositives
Comment créer un référentiel Maven pour 2020
Créer une application TODO dans Java 7 Créer un en-tête
[Java] Créons une bibliothèque d'accès à la base de données!
Faisons une application de calculatrice avec Java ~ Créez une zone d'affichage dans la fenêtre
Java (add2)
Java (ajouter)
Créons une bibliothèque d'opérations de stockage de fichiers polyvalente (?) En faisant abstraction du stockage / acquisition de fichiers avec Java
[Azure] J'ai essayé de créer une application Java pour la création d'applications Web gratuites - [Débutant]
J'ai créé un outil Diff pour les fichiers Java
Comment créer une base de données H2 n'importe où
Une histoire sur la prise en charge de Java 11 pour les services Web
Créer un CSR avec des informations étendues en Java
Créez un tableau d'affichage simple avec Java + MySQL
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
[Java] Créez quelque chose comme une API de recherche de produits
Essayez de créer un babillard en Java