Personnalisation des Enderman

Depuis Minecraft 1.13 il est possible de choisir les blocs que les enderman peuvent prendre.

Qui n’a jamais râlé quand un enderman a volé un bloc en détruisant sa maison ou sa terraformation ? Jusqu’à maintenant il existait deux solutions pour y contrer. Mais depuis la 1.13, on peut contrôler avec précision les blocs prenables.

Anciennes solutions

Interdire le Grief

La première solution vient d’une gamerule disponible depuis la 1.4.2 :

				
					/gamerule mobGriefing false
				
			

Si cette commande a l’avantage d’empêcher les endermen de prendre des blocs, elle empêche également les villageois d’interagir avec le monde. Ce n’est donc pas l’idéal.

Les mains pleines

Une autre solution consiste à remplir les mains des endermen d’un objet invisible.

				
					/entitydata @e[type=Enderman,tag=!a] {carried:minecraft:piston_extension,Tags:["a"]}
				
			

Pour cela, on utilise une commande dans un bloc de commande en mode répétition ou dans une fonction chargée à chaque tick. Chaque enderman recevra une extension de piston et sera tagué afin de ne plus en recevoir. L’objet n’étant utilisé que par le jeu pour étendre les pistons, quand l’enderman est tué, l’objet disparaît, ne pouvant pas exister.

Utilisation de tags

Depuis la 1.13, il est possible de créer le tag enderman_holdable afin de lister tous les blocs prenables par les Endermen.

Voici le contenu du fichier du jeu :

				
					{"replace":false,"values":["#minecraft:small_flowers","minecraft:grass_block","minecraft:dirt","minecraft:coarse_dirt","minecraft:podzol","minecraft:sand","minecraft:red_sand","minecraft:gravel","minecraft:brown_mushroom","minecraft:red_mushroom","minecraft:tnt","minecraft:cactus","minecraft:clay","minecraft:pumpkin","minecraft:carved_pumpkin","minecraft:melon","minecraft:mycelium","minecraft:crimson_fungus","minecraft:crimson_nylium","minecraft:crimson_roots","minecraft:warped_fungus","minecraft:warped_nylium","minecraft:warped_roots"]}
				
			

Pour personnaliser cette liste, il faut créer dans un datapack le fichier /data/minecraft/tags/blocks/enderman_holdable.json

Fonctionnement des tags

Un tag est un fichier json contenant une liste d’éléments sous forme de tableau. Cela permet par la suite d’exécuter des commandes sans lister toutes les variations. Par exemple, dans la recette du lit, il est possible d’utiliser n’importe quel bois et n’importe quelle couleur de laine. La recette utilise les tags pour connaître les variations possibles. Pour la laine par exemple, le fichier wool.json contient :

				
					{"replace":false,"values":["minecraft:white_wool","minecraft:orange_wool","minecraft:magenta_wool","minecraft:light_blue_wool","minecraft:yellow_wool","minecraft:lime_wool","minecraft:pink_wool","minecraft:gray_wool","minecraft:light_gray_wool","minecraft:cyan_wool","minecraft:purple_wool","minecraft:blue_wool","minecraft:brown_wool","minecraft:green_wool","minecraft:red_wool","minecraft:black_wool"]}
				
			

Les tags Minecraft ont un replace à false. Cela ajoute les valeurs listées au tag au lieu de les remplacer.

Il est temps de personnaliser tout ça

Ainsi, si nous souhaitons que nos Endermen puissent prendre des blocs de diamant en plus des blocs actuels, nous pouvons écrire : 

				
					{"replace":false,"values":["minecraft:diamond_block"]}
				
			

C’est un peu idiot j’en convient, c’était juste pour l’exemple. Si à l’inverse, nous souhaitons que les Endermen ne prennent que des fleurs, nous écrirons :

				
					{"replace":true,"values":["minecraft:dandelion","minecraft:poppy","minecraft:blue_orchid","minecraft:allium","minecraft:azure_bluet","minecraft:red_tulip","minecraft:orange_tulip","minecraft:white_tulip","minecraft:pink_tulip","minecraft:oxeye_daisy"]}
				
			

Note bien le « replace : true » qui indique à Minecraft d’ignorer les valeurs par défaut du jeu. Attention, cela écrasera aussi les valeurs des datapacks chargés avant. L’ordre de chargement des datapacks est donc important.

Enfin, tu l’auras peut-être compris, pour empêcher les Endermen de prendre des blocs, il suffit de créer un fichier avec une liste vide. Toujours dans ton datapack, créé le fichier /data/minecraft/tags/blocks/enderman_holdable.json avec ce contenu :

				
					{"replace":true,"values":[]}
				
			

Téléchargement

Le datapack de ce tuto est disponible au téléchargement sur Dropbox :

Pour aller plus loin

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

Contenu du répertoire data/minecraft/recipes
Minecraft

Savoir chercher une information

Je ne connais pas par cœur tous les aspects du jeu. Pour écrire mes articles, je fais des recherches. Voici quelques exemples pour trouver une information.

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.

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.

Loot boxes dans une boutique sur serveur Minecraft
Minecraft

Création de loot boxes

Le serveur Mang’Armor s’est démarqué en proposant aux joueurs des coffres disponibles grâce aux progrès. Nous allons voir aujourd’hui comment mettre en place ces boites au contenu aléatoire.

Laisser un commentaire

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

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

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

Facebook
Twitter