Progrès répétables et communautaires

Maintenant que nous savons créer des progrès, ajoutons une touche d’originalité avec des progrès répétables ou à compléter à plusieurs.

Progrès répétable

Commençons par mettre en place un progrès qui donnera 10 crédits aux joueurs à chaque fois que le dragon est tué. Pour cela, je créé le fichier mangarmor/advancements/dragon.json :

				
					{
    "display":{
        "description":[
            "Tuez un dragon\n",
            {
                "text": "10 crédits\n",
                "color": "gold"
            },
            {
                "text": "Répétable",
                "color": "gray"
            }
        ],
        "title":"La fin ?!",
        "icon":{
            "item":"minecraft:dragon_head"
        },
        "frame":"goal",
        "hidden":false,
        "announce_to_chat":true,
        "show_toast":true
    },
    "criteria":{
        "pke-ender_dragon":{
            "trigger":"minecraft:player_killed_entity",
            "conditions":{
                "entity":{
                    "type":"minecraft:ender_dragon"
                }
            }
        }
    },
    "rewards":{"function":"mangarmor:advancements/dragon"},
    "parent":"minecraft:end/root"
}
				
			

La récompense est une fonction afin de permettre de mieux con troller les gains. Je créé le fichier mangarmor/functions/advancements/dragon.mcfunction. Cette fonction donne 10 crédits au joueur ayant tué le dragon et révoque le progrès pour permettre de le refaire.

				
					function mangarmor:bank/add/10
advancement revoke @s only mangarmor:dragon
				
			

Progrès communautaire

Nous allons désormais mettre en place un progrès communautaire qui donnera 10 crédits à tous les joueurs une fois le dragon tué 10 fois.

Commençons par ajouter une fonction pour initialiser un objectif advancements dans le tableau des scores.

				
					scoreboard objectives add advancements dummy "Progrès communautaires"

				
			

N’oublions pas d’ajouter cette fonction au tag load en l’ajoutant au fichier minecraft/tags/functions/load.json :

				
					{
	"values": [
		"mangarmor:advancements/init"
	]
}
				
			

Dans le même dossier, ajoutons au tag tick la fonction challenges qui sera créée par la suite :

				
					{
  "replace": false,
  "values": [
    "mangarmor:advancements/challenges"
  ]
}
				
			

Il est désormais temps de créer cette fonction. Elle vérifie régulièrement si le dragon a été tué au moins 10 fois et donne le progrès aux joueurs le cas échant. Le fichier mangarmor/functions/advancements/challenges.mcfunction contient :

				
					execute if score dragon advancements matches 10.. run advancement grant @a only mangarmor:dragon-10

				
			

À noter que les progrès ne sont donnés qu’aux joueurs connectés. Finissons enfin par créer le progrès communautaire dans le fichier mangarmor/advancements/dragon-10.json.

				
					{
    "display":{
        "description":[
            "Le dragon a été tué 10 fois\n",
            {
                "text": "10 crédits\n",
                "color": "gold"
            },
            {
                "text": "Communautaire",
                "color": "gray"
            }
        ],
        "title":"Tueur de dragon",
        "icon":{
            "item":"minecraft:dragon_head"
        },
        "frame":"challenge",
        "hidden":true,
        "show_toast":true
    },
    "criteria":{
        "impossible": {
            "trigger": "minecraft:impossible"
        }
    },
    "requirements":[
        ["impossible"]
    ],
    "rewards":{
        "function":"mangarmor:bank/add/10"
    },
    "parent":"mangarmor:dragon"
}
				
			

Le critère de ce progrès est impossible car il ne peut être obtenu que par une commande.

Téléchargement

Pour aller plus loin

Voici d’autres articles qui pourraient t’intéresser :

Progrès personnalisés
Minecraft

Progrès personnalisés

Depuis Minecraft 1.12 les succès ont été remplacés par les progrès. Ils sont personnalisables depuis l’apparition des datapack en 1.13.

Villageois vendant une pomme décorative
Minecraft

Boutique : vendeur villageois

Avant les recettes personnalisées, on utilisait des vendeurs villageois. Ils sont toujours utiles pour les objets utilisant des tags.

Minecraft

Boutique : monnaie virtuelle

Les vendeurs de Minecraft utilisent l’émeraude comme monnaie du jeu. Nous allons voir dans cet article comment utiliser une monnaie plus sécurisée car dématérialisée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Sommaire

Partager

Partager sur facebook
Facebook
Partager sur twitter
Twitter