J'ai donc essayé de construire un système dans lequel un zombie personnalisé apparaît, le joueur le tue, et un bloc de commande détecte cette mort et ouvre une porte en fer en faisant apparaître un bloc de redstone en dessous.
La façon dont j'ai essayé de le faire est la suivante : L'horloge Hopper est attachée à la commande suivante, qui ajoute le tag 'trigger' à une armure chevauchant un zombie :
tag @e[type=armor_stand,name=deathdetect] add trigger
Dans une chaîne de blocs de commande, le premier retire le déclencheur si le zombie est toujours là :
execute as @e[type=zombie,nbt={Passengers:[{id:"minecraft:armor_stand",CustomName:"\"deathdetect\""}]}] at @s anchored eyes if entity @e[type=armor_stand,name=deathdetect,distance=..20] run tag @e[type=armor_stand,name=deathdetect,distance=..20,limit=1] remove trigger
Ce qu'il est censé faire, c'est détecter que le zombie n'est plus là en vérifiant s'il a toujours le trigger tag, avant de transformer le bloc sous la porte en fer en bloc de redstone :
execute as @e[type=armor_stand,name=deathdetect,tag=trigger] at @s run setblock -111 32 43 redstone_block
et a conclu en tuant le stand d'armure avec
kill @e[type=armor_stand,tag=trigger]
Le problème que je rencontre est le suivant : lorsque je fais apparaître le zombie, l'étiquette de déclenchement n'est jamais retirée du support de l'armure, ce qui a pour effet de sauter le premier bloc de commande de la chaîne. J'ai construit le système de façon à ce qu'il passe d'un bloc de commande d'impulsion à trois blocs de chaîne, mais il est clair que j'ai fait une erreur.
Pour référence, voici le zombie que j'essaie de faire apparaître :
/summon zombie -110 33 40 {OnGround:0b,NoGravity:0b,Glowing:1b,CustomNameVisible:1b,PersistenceRequired:1b,NoAI:0b,Rotation:[-180F,0F],Passengers:[{id:"minecraft:armor_stand",NoGravity:1b,Invulnerable:1b,Marker:1b,Invisible:1b,NoBasePlate:1b,PersistenceRequired:1b,Tags:["is alive"],CustomName:"{\"text\":\"deathdetect\"}"}],CustomName:"{\"text\":\"Red Darknut\",\"color\":\"red\",\"bold\":true,\"underlined\":true}",HandItems:[{id:"minecraft:iron_sword",Count:1b,tag:{Unbreakable:1b}},{id:"minecraft:shield",Count:1b,tag:{Unbreakable:1b,BlockEntityTag:{Base:15,Patterns:[{Pattern:mc,Color:11},{Pattern:gru,Color:5},{Pattern:gru,Color:0},{Pattern:flo,Color:5},{Pattern:flo,Color:0},{Pattern:cbo,Color:5},{Pattern:cbo,Color:0}]}}}],HandDropChances:[0.0F,0.0F],ArmorItems:[{id:"minecraft:chainmail_boots",Count:1b,tag:{Unbreakable:1b}},{id:"minecraft:chainmail_leggings",Count:1b,tag:{Unbreakable:1b}},{id:"minecraft:chainmail_chestplate",Count:1b,tag:{Unbreakable:1b}},{id:"minecraft:chainmail_helmet",Count:1b,tag:{Unbreakable:1b}}],ArmorDropChances:[0.0F,0.0F,0.0F,0.0F]}
Des indices sur ce que j'ai fait de mal ? Je sais avec certitude que c'est dans le retrait de la balise de déclenchement, mais je n'arrive pas à savoir exactement comment le réparer.