Merci
Oui, donc en fait la commande
/scoreboard players set @e[name=MR,tag=!MOVE] mort 0 {Tags:["ZIGZAG"]}
attribue un score aux entités n'ayant pas le tag MOVE (dans le sélecteur) et ayant le tag ZIGZAG (dans les nbt).
Puis via ce score propre à l'entité car respectant ses tags, je fais mon setblock avec. C'est ça ?
Mais le problème étant que j'ai simplifié le contexte dans l'exemple, et il n'y a pas de /setblock mais une attribution de tag, mes commandes ressemblent plutôt à quelque chose comme ça :
/execute @e[name=MONSTREJ,tag=!MOVE,tag=!MTICK1,tag=!MTICK2] ~ ~ ~ detect ~1 ~ ~ stained_hardened_clay 2 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~ ~-1 stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~-1 ~ stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~ ~1 stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~1 ~ quartz_block 0 /scoreboard players tag @e[c=1,r=1] add MJH
Dans cette commande, pour qu'une entité obtienne le tag MJH, il faut que son nom soit
SANCTIFIÉ MONSTREJ, que ses tags correspondent, et que les blocs détectés soient présent.
Puis des blocs chain suivent cette commande :
/tp @e[tag=MJH] ~ ~1 ~
/execute @e[tag=MJH] ~ ~ ~ /clone 501 86 491 508 86 491 ~1 ~ ~
/execute @e[tag=MJH] ~ ~ ~ /scoreboard players tag @e[c=1] add MOVE
/execute @e[tag=MJH] ~ ~ ~ /setblock ~30 ~-1 ~ air
/execute @e[tag=MJH] ~ ~ ~ /setblock ~30 ~ ~ magma
[...]
/execute @e[tag=MJH] ~ ~-1 ~ /fill ~1 ~ ~ ~8 ~ ~ quartz_block
/execute @e[tag=MJH] ~ ~ ~ /scoreboard players tag @e[c=1[COLOR=#000000]] add MTICK1
/execute @e[tag=MJH] ~ ~ ~ /scoreboard players tag @e[c=1[COLOR=#000000]] add MTICK2[/COLOR][/COLOR]
/execute @e[tag=MJH] ~ ~ ~ /scoreboard players tag @e[c=1] remove MJH
Par la suite j'ai testé autrement, vu que j'ai compris que l'on ne pouvait pas placer 2 tags à la fois, j'ai fait ceci :
/execute @e[name=MONSTREJ,tag=!MOVE] ~ ~ ~ detect ~1 ~ ~ stained_hardened_clay 2 /execute @e[tag=!MTICK1,c=1,r=1] ~ ~ ~ detect ~3 ~ ~-1 stone 0 /execute @e[tag=!MTICK2,c=1,r=1] ~ ~ ~ detect ~3 ~-1 ~ stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~ ~1 stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~1 ~ quartz_block 0 /scoreboard players tag @e[c=1,r=1] add MJH
Mais là j'ai eu des bugs cosmiques, j'ai compris ce qu'il se passait : il suffit que l'entité possède le tag MTICK1, donc je pensais que la commande allait s'arrêter, mais en fait non, il suffit qu'une entité à qui j'ai rien demandé se trouvant à 1 bloc d'à côté, si cette entité non désirée, ne possède pas le tag MTICK1, c'est elle qui continuera la suite de la commande, et si par malchance - vu que ce n'est pas prévu - tout le reste de la commande lui correspond, quitte à même rebondir sur une voisine encore plus lointaine, celle là aura faussement le tag MJH, et c'est comme ça qu'il y aura un bug cosmique.
Donc j'ai annulé cette méthode.
Oui, donc faudrait-il 2 CB tout de même dans ce contexte ?
C'est-à-dire :
/scoreboard players tag @e[name=MONSTREJ,tag=!MOVE] add MJH {Tags:["!MTICK1","!MTICK2"]}
puis :
/execute @e[tag=MJH] ~ ~ ~ detect ~1 ~ ~ stained_hardened_clay 2 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~ ~-1 stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~-1 ~ stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~ ~1 stone 0 /execute @e[c=1,r=1] ~ ~ ~ detect ~3 ~1 ~ quartz_block 0 /scoreboard players tag @e[c=1,r=1] add MJH2
puis en chain :
/tp @e[tag=MJH2] ~ ~1 ~
/execute @e[tag=MJH2] ~ ~ ~ /clone 501 86 491 508 86 491 ~1 ~ ~
/execute @e[tag=MJH2] ~ ~ ~ /scoreboard players tag @e[c=1] add MOVE
/execute @e[tag=MJH2] ~ ~ ~ /setblock ~30 ~-1 ~ air
/execute @e[tag=MJH2] ~ ~ ~ /setblock ~30 ~ ~ magma
[...]
/execute @e[tag=MJH2] ~ ~-1 ~ /fill ~1 ~ ~ ~8 ~ ~ quartz_block
/execute @e[tag=MJH2] ~ ~ ~ /scoreboard players tag @e[c=1[COLOR=#000000]] add MTICK1
/execute @e[tag=MJH2] ~ ~ ~ /scoreboard players tag @e[c=1[COLOR=#000000]] add MTICK2[/COLOR][/COLOR]
/execute @e[tag=MJH2] ~ ~ ~ /scoreboard players tag @e[c=1] remove MJH
/execute @e[tag=MJH2] ~ ~ ~ /scoreboard players tag @e[c=1] remove MJH2
Bon, c'est déjà mieux, c'est même parfait car ça devrait fonctionner sans bug

Ce qui m'embête tout de même c'est que ça me multiplie par 2 un certain nombre de CB. Le truc c'est qu'avec des "execute detect" ça peut fonctionner aussi mais ça va rallonger la commande et devoir physiquement rallonger le support physique de mes "IDs de blocs". Ou alors le faire avec des scoreboards car j'ai remarqué que là je peux en mettre autant que je veux des scores dans le sélecteur, certes ça prend de la place à l'écrit (mais moins que mes "execute detect") mais le problème (si c'en est vraiment un) je dois à chaque fois mettre à 0 le score des entités summon donc ça peut multiplier par 3 certains blocs... Enfin bref, je vais utiliser la méthode que tu m'as conseillé, 2 blocs ça va encore, mais ça me multiplie quand même une 30aines de bloc par 2, mais c'est déjà mieux que 6 CB par 2 (6x2x30=360 CB) car avant je faisais chaque "execute detect" dans un CB séparé avec un score qui s'incrémentait de 1, donc si les 5 commandes avait mis 5 de score, et bien un score pour d'autre actions était attribué, etc... De même, le coup du "c=1,r=1" m'a sauvé pour pouvoir compresser tout ça dans un seul CB car il y a longtemps ça bugait : quand il n'y a qu'une entité ça va, mais s'il y en a plusieurs, ceux qui ont réussis la commande faisaient réussir ceux ayant juste la dernière section de commande valide... Enfin bref, je ne vais pas raconter la genèse de ce que je fais non plus hein...
Merci
