Introduite pour la première fois dans la version 1.8 de Minecraft, la commande /execute servait à exécuter une commande à partir de la position d’une entité (voir ici). En 1.13, suite aux modifications techniques et à sa fusion avec les commandes /stats, /testfor, /testforblock et /testforblocks, elle a obtenu une toute nouvelle syntaxe.
La commande /execute permet aujourd’hui de modifier la façon dont une commande est exécutée. Pour cela, elle possède 4 types de sous-commandes : un argument d’exécution, des arguments conditionnels, des arguments modificateurs et des arguments de stockage.
Argument d’exécution
Afin d’exécuter simplement une commande, il existe /execute run <commande>. Utilisé seul, cet argument est inutile, puisqu’il est possible d’exécuter la commande avec /<commande>.
Exemple :
/execute run give Minecraft-France minecraft:diamond
donnera 1 diamant au joueur Minecraft-France, ce qui revient à faire /give Minecraft-France minecraft:diamond ou encore /execute run execute run execute run give Minecraft-France minecraft:diamond.
Arguments conditionnels
La commande propose deux arguments conditionnels, if et unless. /execute if permet d’exécuter la commande seulement si la condition est validée, et /execute unless permet de l’exécuter sauf si la condition est validée. Ils ont à leur tour plusieurs sous-commandes.
- block — Permet de vérifier le bloc se trouvant à des coordonnées données. Cela remplace la commande /testforblock.
- blocks — Permet de vérifier les blocs se trouvant entre des coordonnées données. Cela remplace la commande /testforblocks.
- data — Permet de vérifier si un bloc ou une entité possède une donnée NBT spécifique.
- entity — Permet de vérifier l’existence d’une entité en utilisant des sélecteurs. Cela remplace la commande /testfor.
- score — Permet de vérifier si le score d’une entité donnée correspond à une certaine valeur. Cela remplace la commande /stats.
Exemples :
/execute if block 0 0 0 minecraft:anvil run gamemode creative Minecraft-France
mettra le joueur Minecraft-France en mode créatif seulement si le bloc se trouvant en 0 0 0 est une enclume.
/execute unless entity @e[type=dolphin,name="Flipper"] run weather rain
fera tomber la pluie sauf s’il existe un dauphin nommé « Flipper ».
Arguments modificateurs
Elle possède également de nombreux arguments modificateurs, qui changent la façon dont la commande sera exécutée.
Tout d’abord, la sous-commande /execute as, suivie d’un argument de sélecteur, permet d’exécuter la commande à la place de l’entité spécifiée, mais sans prendre en compte sa position, sa rotation ou sa dimension. Pour cela, il existe /execute at, une sous-commande qui permet donc d’exécuter la commande en ne tenant compte que de l’endroit où se trouve l’entité spécifiée, ainsi que de sa rotation.
Ensuite, en complément des arguments précédents, plusieurs sous-commandes sont disponibles. /execute align, suivie des lettres x, y et/ou z, effectue un arrondi des coordonnées spécifiées auparavant sur un ou plusieurs axes. /execute anchored, suivie de feet (les pieds) ou eyes (les yeux), modifie le point d’origine d’une entité, étant à feet par défaut. /execute in, suivie de l’identifiant d’une dimension (minecraft:overworld, minecraft:the_nether ou minecraft:the_end), permet d’exécuter la commande dans une dimension spécifique.
Enfin, il existe trois sous-commandes plus complexes, pouvant toutes fonctionner de deux manières différentes.
- /execute facing permet de modifier la rotation de la tête d’une entité. Suivie de l’argument entity et d’un sélecteur, celle-ci fera face à une entité. Suivie de coordonnées, elle fera face à une position.
- /execute positioned permet d’exécuter la commande à partir de coordonnées. Suivie de l’argument as et d’un sélecteur, celles-ci correspondront à une entité. Suivie de coordonnées, elles correspondront à une position.
- /execute rotated permet d’exécuter la commande en tenant compte d’un angle. Suivie de l’argument as et d’un sélecteur, celui-ci correspondra à une entité. Suivie de deux valeurs d’angle, il correspondra à une rotation.
Exemples :
/execute as Minecraft-France run say J'adore ce site !
écrira le message « J’adore ce site ! » dans le tchat comme s’il venait du joueur Minecraft-France.
/execute at Minecraft-France anchored eyes summon minecraft:parrot
invoquera un perroquet au niveau des yeux du joueur Minecraft-France.
/execute positioned as Minecraft-France in minecraft:the_nether run setblock ~ ~ ~ minecraft:grass_block
placera un bloc d’herbe aux coordonnées du joueur Minecraft-France, mais dans le Nether.
/execute at Minecraft-France rotated as @e[type=squid,limit=1,sort=nearest] run setblock ^ ^ ^4 minecraft:grass_block
placera un bloc d’herbe à 4 blocs du joueur Minecraft-France, mais en fonction de la rotation du poulpe le plus proche.
Arguments de stockage
Pour finir, la commande /execute possède deux arguments de stockage, permettant de sauvegarder la valeur de retour d’une commande. Il est possible d’enregistrer le résultat de cette commande ou le nombre de fois où cette commande a été exécutée avec succès, respectivement avec les sous-commandes /execute store result et /execute store success. Celles-ci proposent à leur tour plusieurs arguments.
- block — Permet de sauvegarder la valeur dans un tag NBT d’un bloc, en admettant que ce bloc soit une entité de bloc. Cet argument doit être suivi des coordonnées du bloc, du nom du tag NBT, du type de valeur et de l’échelle.
- bossbar — Permet de sauvegarder la valeur dans une barre de boss. Cet argument doit être suivi de l’identifiant de la barre de boss et d’un paramètre, à savoir max pour la valeur maximale de la barre de boss ou value pour la valeur actuelle de celle-ci.
- entity — Permet de sauvegarder la valeur dans un tag NBT d’une entité. Cet argument doit être suivi d’un sélecteur, du nom du tag NBT, du type de valeur et de l’échelle.
- score — Permet de sauvegarder la valeur dans un objectif de tableau de score. Cet argument doit être suivi d’un sélecteur, afin de spécifier l’entité possédant le score, et du nom de l’objectif.
Comme mentionné ci-dessus, il existe plusieurs de valeurs, à savoir byte (octet), double (nombre décimal codé sur 64 bits), float (nombre décimal codé sur 32 bits), int (nombre entier), long (grande chaîne de caractères) et short (petite chaîne de caractères).
Exemples :
/execute store result block 0 0 0 RecordItem.Count int 1 run data get entity @e[type=pig,limit=1,sort=nearest] Health
sauvegardera la vie du cochon le plus proche dans le nombre d’objets que possède le jukebox se trouvant en 0 0 0, en admettant qu’il y ait bien un jukebox en 0 0 0.
/execute store result bossbar minecraft:france value run data get entity @e[type=pig,limit=1,sort=nearest] Health
sauvegardera la vie du cochon le plus proche dans la barre de boss minecraft:france.
/execute store result score Minecraft-France SpookyPowa run data get entity @e[type=pig,limit=1,sort=nearest] Health
sauvegardera la vie du cochon le plus proche dans le score « SpookyPowa » du joueur Minecraft-France.
La commande /execute sur Minecraft Wiki
Image de Une réalisée par Too-Muhtsh.
Merci Beaucoup!!
Salut! Je commente veaument tres tard mais j’espere que vous etes toujours actif, je cherche à faire apparaitre un mob seulement lorsque un joueur est à une certaine position mais je n’y arrive pas, j’ai essayé la commande: execute if entity @p[x=~,…] run summon minecraft:sheep[x=~,…] mais ca n’a pas marché (ca fait apparaitre un mouton peut importe l’endroit ou je me trouve). Vous avez une solution??
et comment faire pour detecter un item dans un dispenser ?
Je suis pas un pro en command block mais ce tuto m’as quand même bien aidé pour détecter un joueur.
Merci !!!
la commande /execute if block 0 0 0 minecraft:anvil run gamemode creative Minecraft-France ne marche pas :/
Pour remplacer ta commande, tu devras faire
/execute if entity @p[distance=..3]
:)rien compris. J aimerais remplacer la commande /testfor @p[r=3]
C’est vrai que avec la MàJ 1.13 j’étais vraiment perdu O-O
(Au revoir mon /execute @e[type=wolf,name=radaracreep] ~ ~ ~ /execute @e[type=creeper,r=10] ~ ~ ~ /playsound mob.bat.death @a ~50 ~ ~ 1 1 3 ;-; (Désolé pour la commande dix fois trop longue XD))
Moi qui n’avait pas compris la nouvelle /execute de la 1.13, cet article m’est d’une grande aide ! Propre, complet, rien à dire. ^^