Mise à jour :
La forme de base
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 1 1
| Partie | Signification |
|---|---|
as @a | Exécuter en tant que chaque joueur |
at @s | Exécuter à la position de ce joueur |
if block ~ ~-1 ~ gold_block | Continuer seulement si le bloc dessous est en or |
run … | La commande à exécuter |
Cela donne Rapidité à toute personne debout sur un bloc d'or.
Erreur 1 : pas de run
/execute as @a at @s say hello est une erreur ; la commande doit suivre run. Sur Java, un execute qui se termine par une condition sans run affiche simplement « Test réussi » ou « Test échoué », ce qui est pratique pour vérifier une condition.
Erreur 2 : croire que as déplace la position
as change seulement l'exécutant. Dans un bloc de commande, /execute as @a run setblock ~ ~-1 ~ stone place la pierre sous le bloc encore et encore, pas sous chaque joueur.
| Forme | Exécutant | Position |
|---|---|---|
as @a run | Chaque joueur | Inchangée |
at @a run | Inchangé | Chaque joueur |
as @a at @s run | Chaque joueur | Chaque joueur |
Plus de détails dans execute as ou at.
Erreur 3 : ancienne syntaxe Bedrock
Bedrock est passé à la syntaxe de style Java en 1.19.50. Les anciennes commandes comme /execute @a ~ ~ ~ detect ~ ~-1 ~ gold_block 0 effect @s speed doivent être réécrites :
/execute as @a at @s if block ~ ~-1 ~ gold_block run effect @s speed 1 1
Erreur 4 : les conditions
if entityvérifie qu'au moins une cible existe ;if blockvérifie le bloc à une position.- Scores :
if score @s money matches 100...100..signifie 100 ou plus,..99 ou moins,10..20entre les deux. - Utilisez
unlesspour « non » :unless entity @e[type=zombie]continue quand aucun zombie n'existe.
Pas d'erreur, mais rien ne se passe
Si as ne sélectionne personne, execute s'arrête sans rien dire. Testez une étape à la fois :
# 1. Quelqu'un est-il sélectionné ?
/execute as @a at @s run say sélectionné
# 2. Ajoutez la condition
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run say condition vraie
Si un nom apparaît dans le chat, tout fonctionne jusqu'à ce point. Consultez les sélecteurs de cible quand personne n'est trouvé.
Questions fréquentes
- run execute … ? Ça marche mais c'est inutile ; enchaînez autant de sous-commandes que nécessaire avant
run. - @p ou @s après as ?
@s.@pchoisit le plus proche, qui peut être quelqu'un d'autre. - Enregistrer un résultat dans un score ? Sur Java :
execute store result score @s objective run ….
Vérifiez votre commande
Le Command Error Doctor (en anglais) vérifie dans votre navigateur les erreurs de syntaxe les plus courantes.