Mise à jour :
as change l'exécutant
/execute as @e[type=minecraft:zombie] run say Je suis un zombie
Chaque zombie exécute la commande, et @s désigne désormais ce zombie.
at change la position
/execute at @e[type=minecraft:zombie] run particle minecraft:flame ~ ~1 ~ 0 0 0 0 1
La commande s'exécute à la position de chaque zombie. La position compte pour les particules, les sons, les tests de blocs et les coordonnées ~.
Les deux ensemble
/execute as @e[type=minecraft:zombie] at @s run particle minecraft:flame ~ ~1 ~ 0 0 0 0 1
Chaque zombie devient l'exécutant, et la particule apparaît sur ce zombie. Pensez-y comme « en tant que qui » et « où ».
Seulement as, ou seulement at
/execute as @e[type=minecraft:zombie] run setblock ~ ~2 ~ minecraft:glowstone
/execute at @e[type=minecraft:zombie] run setblock ~ ~2 ~ minecraft:glowstone
La première ne change que l'exécutant ; la position reste là où la commande a démarré, donc une seule pierre lumineuse apparaît à cet endroit. La seconde s'exécute à chaque zombie, donc chacun reçoit une pierre lumineuse au-dessus de la tête.
Qui désigne @s
Après as, @s est la cible sélectionnée. at ne déplace que la position, donc @s reste l'exécutant d'origine.
/execute as @a run tellraw @s {"text":"Un message rien que pour vous"}
Chaque joueur reçoit un message qui lui est adressé. Sans as, /tellraw @s dans un bloc de commande vise le bloc lui-même et personne ne le voit.
L'ordre compte
as @a at @s s'exécute en tant que chaque joueur, à la position de ce joueur. at @s as @a s'exécute à la position de l'exécutant d'origine, en tant que chaque joueur, donc la position ne change jamais. /execute se lit de gauche à droite.
Combinaisons courantes
as @a at @s if block ~ ~-1 ~ …: tester le bloc sous chaque joueuras @e[type=…] at @s run particle …: effets sur chaque créatureas @p at @s run tp @s ^ ^ ^3: déplacer un joueur de 3 blocs dans la direction de son regard (coordonnées locales)
at ou positioned as
at copie la position, la rotation et la dimension. positioned as ne copie que la position et garde la rotation d'origine. Avec des coordonnées ^, utilisez at pour l'orientation de la cible et positioned as pour garder la vôtre.
Quand ça ne marche pas
- Ça n'arrive qu'à un seul endroit : vous avez
assansat. Ajoutezat @s. - Personne ne voit le message : dans un bloc de commande,
@sest le bloc. Ajoutezas @a. - Le serveur ralentit :
as @ese répète pour chaque correspondance. Limitez-le avectype=oudistance=.
Questions fréquentes
- Bedrock est-il pareil ? Depuis Bedrock 1.19.50, il utilise la même logique as et at. La distance s'écrit
r=. - Comment voir qui exécute ? Terminez par
run say test. Le chat affiche le nom de l'exécutant, une fois par exécution.
Vérifiez votre commande
Le Command Error Doctor (en anglais) vérifie dans votre navigateur les erreurs de syntaxe les plus courantes.