Mise à jour :
La forme de base
/execute as <qui> at <où> run <commande>
La commande que vous voulez vraiment lancer se place après run. Pour faire tomber la foudre là où se trouve le joueur le plus proche :
/execute at @p run summon minecraft:lightning_bolt ~ ~ ~
as et at
aschange qui exécute la commande (ce que désigne@s).atchange où elle s'exécute (ce que désigne~ ~ ~), y compris l'orientation.
/execute as @e[type=minecraft:zombie] run say test fait de chaque zombie l'émetteur, mais la position reste celle d'où la commande est partie. Ajoutez at @s pour déplacer aussi la position sur chaque zombie. Le guide as vs at montre d'autres cas.
/execute as @e[type=minecraft:zombie] at @s run particle minecraft:flame ~ ~1 ~ 0.1 0.1 0.1 0 5
Quand un sélecteur correspond à plusieurs entités, la commande s'exécute une fois pour chacune. Testez d'abord avec say pour voir combien de fois elle se déclenche.
N'exécuter que si une condition est vraie
/execute if entity @e[type=minecraft:zombie,distance=..10] run say Un zombie est proche
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 1 1 true
/execute as @a if score @s coins matches 100.. run say J'ai 100 pièces ou plus
La première ligne cherche un zombie à moins de 10 blocs. La deuxième donne Rapidité seulement aux joueurs debout sur un bloc d'or. La troisième choisit les joueurs dont le score coins vaut 100 ou plus : 100.. veut dire « 100 ou plus » et ..9 « 9 ou moins ». Utilisez unless pour le test inverse.
Les sous-commandes les plus utilisées
| Sous-commande | Rôle | Exemple |
|---|---|---|
as | Change l'émetteur | as @a |
at | Déplace la position et l'orientation sur la cible | at @s |
positioned | Déplace seulement la position | positioned ~ ~5 ~ |
if / unless | Continue seulement si le test réussit ou échoue | if block ~ ~-1 ~ minecraft:gold_block |
in | Change la dimension | in minecraft:the_nether |
store | Enregistre le résultat dans un score ou des données (Java) | store result score @s count |
Les sous-commandes s'exécutent de gauche à droite, et run vient en dernier. Vous pouvez construire la chaîne avec le générateur execute.
Bedrock Edition
Depuis Bedrock 1.19.50, /execute utilise la même forme as, at, if et run que Java. La distance s'écrit r=10 au lieu de distance=..10. L'ancienne forme /execute @e ~ ~ ~ … peut ne pas fonctionner dans les versions actuelles.
Quand rien ne se passe
- Aucun effet : vérifiez que
runest présent et que la condition est vraiment vraie. Lancez seulement la partie condition, comme/execute if entity @e[type=minecraft:zombie], et le jeu vous dit si elle a réussi. - Ça se passe au mauvais endroit : avec
asmais sansat, la position reste au point de départ (le bloc lui-même, pour un bloc de commande). - Ça s'exécute trop de fois :
@eet@ase répètent pour chaque correspondance. Limitez-les aveclimit=1ou d'autres filtres. - Messages d'erreur : voir la commande execute ne marche pas.
Vérifiez votre commande
Le Command Error Doctor (en anglais) vérifie dans votre navigateur les erreurs de syntaxe les plus courantes.