2 votes

Exécuter comme sélecteur si l'entité la plus proche a une balise

Je veux exécuter une commande vers un support d'armure si le porc le plus proche a une étiquette spécifique.

Les commandes que j'ai essayées jusqu'à présent...

execute as @e[type=armor_stand] at @s if entity @e[type=pig,limit=1,sort=nearest,tag=carrot] run <command>

ne fonctionne pas car il vérifie si "carrot"-pig existe.

Le fait d'avoir un porc sans étiquette "carotte" entre le support de l'armure et le porc "carotte" aura pour conséquence de test réussi .

execute as @e[type=armor_stand] at @s as @e[type=pig,limit=1,sort=nearest] if entity @s[tag=carrot] run <command>

aurait pu fonctionner, mais elle a modifié le sélecteur.

4voto

Richie Frame Points 1800

Utiliser le as paramètre pour faire passer l'exécuteur au stand de l'armure à la fin.

execute
  at @e[type=armor_stand,limit=1,sort=nearest]  # Move the location to the armour stand
  as @e[type=pig,limit=1,sort=nearest]          # NEAREST PIG NOW HAS CONTROL
  if entity @s[tag=carrot]                      # If I have the tag carrot, continue to the next step, otherwise stop.
  as @e[type=armor_stand,limit=1,sort=nearest]  # ARMOUR STAND NOW HAS CONTROL
say The nearest pig to me has the carrot tag!

La position d'exécution avant le dernier as est toujours au stand d'armure, donc le sélecteur trouve toujours le stand d'armure qui a commencé, sauf s'il y en a plusieurs exactement aux mêmes coordonnées.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X