Vous pouvez vous abonner à notre compte Twitter sur lequel sont postés les actualités autour de Minecraft et des liens rapides vers le Wiki 

Commandes/Execute

De Minecraft Wiki
Aller à : navigation, rechercher
Version Java.png

Version Java uniquement
Cet article est une ébauche.
Vous pouvez partager vos connaissances en l'améliorant.

La commande /execute est une commande complexe mais complète qui permet d’exécuter des commandes à partir d'une entité/coordonnée en utilisant diverses conditions.

execute
Restrictions

Opérateur

Première introduction

1.8 (14w07a)

Modification majeure

1.13

Fonctionnement[modifier | modifier le wikicode]

La commande /execute <...> seule ne sert à rien, elle a besoin de sous-commandes pour utiliser les différents système mis à notre disposition. Les sous-commandes sont séparés en 3 catégories:

  • Les modificateurs, qui permettent de sélectionner un support pour l’exécution de la commande, comme par exemple une entité ou des coordonnées dans le monde. Il est également possible de simuler des caractéristiques qui ne sont pas présentes à l'instant T comme simuler l'orientation du regard d'un joueur ou sa position.
  • Les conditions, qui permettent de faire des vérifications supplémentaires, ne dépendent pas forcément des modificateurs sélectionnés précédemment. Elles peuvent servir à vérifier l’existence d'une autre entité ou comparer des scores entre plusieurs entités par exemple.
  • Le stockage, qui va permettre de conserver de résultat d'une commande, et si une commande s'est correctement exécuté ou non (ou une sous-commande de condition). Cela ne concerne uniquement que des valeurs numériques et peut-être stocké dans un score d'objectif ou un tag NBT.

La commande /execute peut avoir une infinité de sous-commande, il suffit de les écrire les unes à la suite des autres. Il existe une sous-commande qui permet d'exécuter la commande que vous souhaitez, run <commande>.Notez que vous ne devez pas mettre de / sur la commande inscrite dans run.

Modificateurs[modifier | modifier le wikicode]

align[modifier | modifier le wikicode]

Effectue un arrondi par défaut des coordonnées à partir des sous-commandes précédemment exécutées.
Syntaxe
align <axes>
  • <axes>: Une combinaison des caractères x y et z (par exemple : x, xz, zyx et yz).
Exemple
/execute at @p align y run <...>: Si le joueur @p a une coordonnée Y de 69.6, la sous-commande align va arrondir cette valeur à 70 pour les sous-commandes suivantes et/ou la commande avec run

anchored[modifier | modifier le wikicode]

Permets de déplacer le point d'exécution d'origine d'une entité. Toutes les commandes et sous-commandes utilisent par défaut les pieds comme origine, cette sous-commande permet de changer ça. Cela est très utile lorsque l'on souhaite utiliser des coordonnées locales.
Syntaxe
anchored (feet|eyes)
  • (feet|eyes): feet pour les pied, eyes pour les yeux.
Exemple
/execute at @p anchored eyes run setblock ^ ^ ^4 minecraft:diamond_block: Place un bloc de diamant 4 blocs devant les yeux du joueur @p, quelque soit la rotation de sa tête.

as[modifier | modifier le wikicode]

Défini une <entité> sur laquelle les sous-commandes suivantes et/ou la commande avec run vont ce baser pour l'exécution. Elle charge toutes les informations de/ces entités sélectionnées, sauf leurs positions, rotations de la tête et leurs dimensions. C'est l’opposé de la sous-commande at
Syntaxe
as <entité>
  • <entité>: Entité existante.
Exemple
/execute as @p run say Je suis un execute/as: Lance la commande /say comme si le joueur @p l'avez lancer lui-même.
/execute as @p run tag @s add Un_Tag: Ajoute un tag au joueur @p.

at[modifier | modifier le wikicode]

Défini une <entité> sur laquelle les sous-commandes suivantes et/ou la commande avec run vont ce baser pour l'exécution. Elle charge uniquement leurs positions, rotations de la tête et leurs dimensions. C'est l’opposé de la sous-commande as
Syntaxe
at <entité>
  • <entité>: Entité existante.
Exemple
/execute at @p run setblock ~ ~-1 ~ minecraft:diamond_block: Place un bloc de diamant sous les pied du joueur @p

facing[modifier | modifier le wikicode]

Change la rotation de la tête d'une entité comme si il faisait face aux coordonnées <x y z>spécifiées.
Syntaxe
facing <x y z>
  • <x y z>: Coordonnée de la cible sur laquelle faire face.
Exemple
/execute as @p at @s facing 10 20 30 run setblock ^ ^ ^5 minecraft:diamond_block: Place un bloc de diamant à 5 blocs du joueur @p en direction du point de coordonnées 10 20 30.

facing entity[modifier | modifier le wikicode]

Change la rotation de la tête d'une entité comme si il faisait face à l'<entité> spécifiée.
Syntaxe
facing entity <entité>
  • <entité>: Entité sur laquelle faire face. Ne doit être qu'une seule entité.
Exemple
/execute as @p at @s facing entity @e[type=cow,limit=1,sort=nearest] run setblock ^ ^ ^5 minecraft:diamond_block: Place un bloc de diamant à 5 blocs du joueur @p en direction de la Vache la plus proche.

in[modifier | modifier le wikicode]

Exécutera les sous-commandes suivantes et/ou la commande avec run comme si la cible précédemment sélectionnés était dans la dimension spécifiée.
Syntaxe
in (overworld|the_end|the_nether)
  • (overworld|the_end|the_nether): Dimension à choisir.
Exemple
/execute as @p at @s in the_nether run teleport 0 64 0: Téléporte le joueur @p dans le Nether, quelque soit sa dimension d'origine.

positioned[modifier | modifier le wikicode]

Exécutera les sous-commandes suivantes et/ou la commande avec run à partir des coordonnées <x y z> spécifiées. Peut servir également à déplacer des coordonnées d'une entité sélectionnées précédemment.
Syntaxe
positioned <x y z>
  • <x y z>: Coordonnées de la cible.
Exemple
/execute positioned 10 20 30 run setblock ~ ~ ~ minecraft:diamond_block: Place un bloc de diamant au coordonnées 10 20 30.

positioned as[modifier | modifier le wikicode]

Exécutera les sous-commandes suivantes et/ou la commande avec run à partir des coordonnées d'une <entité> précise. Peut servir également à déplacer des coordonnées d'une entité sélectionnée précédemment. Attention, cette sous-commande n'a pas le même comportement que #at, positioned as ne récupère que des coordonnées, elle ne touche pas à l'entité spécifiée.
Syntaxe
positioned as <entité>
  • <entité>: Entité existante. Ne doit être qu'une seule entité.
Exemple
/execute positioned as @p run setblock ~ ~ ~ minecraft:diamond_block: Place un bloc de diamant au même coordonnées que le joueur @p.

rotated[modifier | modifier le wikicode]

Exécutera les sous-commandes suivantes et/ou la commande avec run avec l'angle <rotY rotX> spécifié à partir de l'origine.
Syntaxe
rotated <rotY rotX>
  • <rotY rotX>: Angle de rotation.
Exemple
/execute at @p rotated ~10 ~20 run setblock ^ ^ ^4 minecraft:diamond_block: Place un bloc de diamant à 4 blocs devant joueur @p mais à un angle de 10/20 par rapport à son orientation d'origine.

rotated as[modifier | modifier le wikicode]

Exécutera les sous-commandes suivantes et/ou la commande avec run en copiant l'angle de l'<entité> spécifié.
Syntaxe
rotated as <entité>
  • <entité>: Entité existante. Ne doit être qu'une seule entité.
Exemple
/execute at @p rotated as @e[type=cow,limit=1,sort=nearest] run setblock ^ ^ ^4 minecraft:diamond_block: Place un bloc de diamant à 4 blocs devant joueur @p mais à un angle de rotation égale de celui de la Vache la plus proche.

Conditions[modifier | modifier le wikicode]

Toutes les conditions ci-dessous prennent un paramètre en plus avant, if ou unless. Les conditions sont dites "bloquantes", cela veut dire que si la condition n'est pas validée, la commande /execute ne traitera pas les sous-commandes suivantes et n’exécutera pas la commande après run qui y est attaché.

  • if vérifie si la condition est vraie. Il faut au moins 1 résultat vrai pour qu'elle soit validée.
  • unless vérifie si la condition est fausse. Il faut qu'aucun résultat ne soit vrai pour qu'elle soit validée.

block[modifier | modifier le wikicode]

Testera si (ou sauf si) aux coordonnées <x y z>, le bloc <bloc> y correspond.
Syntaxe
(if|unless) block <x y z> <bloc>
  • <x y z>: Coordonnées du bloc à tester.
  • <bloc>: Bloc à tester. Peut aussi prendre des Modèle:Tags de bloc.
Validation
if: Sera validé si le bloc au coordonnées <x y z> correspond bien à <bloc>
unless: Sera validé si le bloc au coordonnées <x y z> correspond à tout sauf à <bloc>
Exemple
/execute if block 0 64 0 minecraft:diamond_block run tellraw @a {"text":"Diamant trouvé!"}: Annoncera à tous les joueurs le message "Diamant trouvé!" si ce bloc ce trouve aux coordonnées 0 64 0.
/execute as @a at @s unless block ~ ~-1 ~ minecraft:air run tellraw @a {"text":"Tu es sur la terre ferme!"}: Annoncera à tous les joueurs "Tu es sur la terre ferme!" si le bloc se trouvant sous leurs pieds n'est pas un bloc d'air.

blocks[modifier | modifier le wikicode]

Testera si (ou sauf si) la région entre <xS yS zS> et <xE yE zE> correspond à la destination <xD yD zD>.
Syntaxe
(if|unless) blocks <xS yS zS> <xE yE zE> <xD yD zD> (all|masked)
  • <xS yS zS>: Coordonnées de l'extrémité du début de la région.
  • <xE yE zE>: Coordonnées de l'extrémité de fin de la région.
  • <xD yD zD>: Coordonnées du début de la région à tester.
  • (all|masked): all va tester tous les blocs, même l'air. masked va tester tous les blocs sauf l'air.
Validation
if: Sera validé si les régions comparées sont strictement égales.
unless: Sera validé si les régions comparées ne sont pas strictement égales.
Exemple
/execute if blocks 0 0 0 10 10 10 20 20 20 masked run tellraw @a {"text":"Region égale!"}: Annoncera à tous les joueurs le message "Région égale!" si les régions tester si tous leurs blocs, sauf l'air, sont égales.

entity[modifier | modifier le wikicode]

Testera si (ou sauf si) l'<entité> existe, c'est-à-dire qu'au moins une entité a été trouvée.
Syntaxe
(if|unless) entity <entité>
  • <entité>: Entité ou sélecteur d'entité à tester.
Validation
if: Sera validé au moins 1 entité est trouvé à partir du sélecteur <entité>.
unless: Sera validé si aucune entité n'est trouvé à partir du sélecteur <entité>.
Exemple
/execute if entity @e[type=cow] run tellraw @a {"text":"Il y a des steaks dans le coin!"}: Annoncera à tous les joueurs le message "Il y a des steaks dans le coin!" si au moins une entité de type Vache existe sur la carte.

score (comparateur)[modifier | modifier le wikicode]

Testera si (ou sauf si) le score de <cible> se rapporte au score de <source> basé sur le critère choisi.
Syntaxe
(if|unless) score <cible> <objectifCible> (<|<=|=|>=|>) <source> <objectifSource>
  • <cible>: Entité ou sélecteur d'entité à tester.
  • <objectifCible>: Nom de l'objectif à récupérer de <cible>.
  • <source>: Entité ou sélecteur d'entité à comparer avec <cible>.
  • <objectifSource>: Nom de l'objectif à récupérer de <source>.
Validation
if: Sera validé les scores comparés <objectifCible> et <objectifSource> correspondent bien au comparateur (<|<=|=|>=|>).
unless: Sera validé les scores comparés <objectifCible> et <objectifSource> ne correspondent pas au bon comparateur (<|<=|=|>=|>).
Exemple
/execute if score Notch Vie < Dinnerbone Vie run tellraw @a {"text":"Dinnerbone résiste mieux!"}: Annoncera à tous les joueurs le message "Dinnerbone résiste mieux!" si le score Vie de Notch est strictement inférieur à celui de Dinnerbone.

score (intervalle)[modifier | modifier le wikicode]

Testera si (ou sauf si) le score de <cible> est compris dans l'intervalle de <intervalle> basé sur le critère choisi.
Syntaxe
(if|unless) score <cible> <objectif> matches <intervalle>
  • <cible>: Entité ou sélecteur d'entité à tester.
  • <objectif>: Nom de l'objectif à récupérer de <cible>.
  • <intervalle>: Intervalle à tester (par exemple : 1, 1..5).
Validation
if: Sera validé le score <objectif> est bien compris dans l'intervalle <intervalle>.
unless: Sera validé le score <objectif> n'est pas compris dans l'intervalle <intervalle>.
Exemple
/execute if score Notch Vie matches 17.. Vie run tellraw @a {"text":"Notch est en forme!"}: Annoncera à tous les joueurs le message "Notch est en forme!" si son score Vie est supérieur ou égal à 17.

Stockage[modifier | modifier le wikicode]

Cela permet de sauvegarder le résultat ou le nom de succès d'une commande ou d'une sous-commande de condition dans un objet prédéfinie par le jeu dont la liste est ci-dessous. Il est nécessaire de spécifier le type de sauvegarde à effectuer avant de choisir dans quel objet on fait la sauvegarde. Voici la liste des types de sauvegarde:

  • result: enregistre le résultat de la commande ou de la sous-commande de condition, si vous tentez de récupérer un score et qu'il vaut 7, c'est 7 qui sera enregistré dans votre objet.
  • success: enregistre le nombre de fois où la commande ou la sous-commande de condition s'est exécutée avec succès. Fonctionne sur les sélecteurs, c'est a dire que si une commande seule c'est soldé par un succès sur plusieurs entités en même temps, le nombre de succès simultané sera enregistré dans votre objet.

Notez que toutes les sous-commandes de stockage doivent se situer avant la commande de run ou de votre sous-commande de condition pour pouvoir sauvegarder ce que vous voulez. Notez également que vous pouvez ajouter autant de sous-commandes de stockage que vous souhaitez, mais vous ne pouvez en mettre qu'une seule par commande ou sous-commande de condition. La valeur sera stockée lorsque la commande complète aura fini d'être exécutée. Si une commande échoue (success égale 0), result sera toujours défini sur 0. Le résultat attendu de chaque commande sera précisé.

block[modifier | modifier le wikicode]

Sauvegardera la valeur dans un tag NBT d'un bloc. Ceci ne peut fonctionner que sur les entités de blocs. Notez que la sous-commande fonctionnera pour tous types de blocs mais qu'elle n'aura aucun effet si ce n'est pas une entité de bloc.
Syntaxe
store (result|success) block <x y z> <chemin> (byte|double|float|int|long|short)
  • <x y z>: Coordonnées du bloc où sera enregister la donnée.
  • <chemin>: Chemin de la donnée NBT. Est de la forme foo.bar[0]."A [crazy name]".baz
    • foo.bar signifie que l'enfant de foo est bar.
    • foo[0] signifie l'élément 0 de foo.
    • Des chaînes de caractères entre "" peuvent être utilisées si le nom d'une clé doit être échappé.
  • (byte|double|float|int|long|short): Le type de donnée dans laquelle sera enregistrée la valeur. Correspond à des types de variables Java.
Exemple
/execute score result block 0 64 0 RecordItem.Count byte run scoreboard players get Notch Vie: En admettons que le bloc en 0 64 0 est un Jukebox, le score Vie de Notch sera enregistré dans le nombre d'item que possède le Jukebox.

bossbar[modifier | modifier le wikicode]

Sauvegardera dans la valeur ou la valeur maximale d'une barre de boss.
Syntaxe
store (result|success) bossbar <id> (value|max)
  • <id>: Identifiant de la barre de boss.
  • (value|max): Type de paramètre de la barre de boss que vous souhaitez utiliser pour sauvegarder votre valeur.
Exemple
/execute score result bossbar foo:bar value run data get entity Notch Health: Enregistre la vie de Notch dans la barre de boss foo:bar.

entity[modifier | modifier le wikicode]

Sauvegardera la valeur dans un tag NBT d'une entité.
Syntaxe
store (result|success) entity <entité> <chemin> (byte|double|float|int|long|short)
  • <entité>: Entité existante. Ne doit être qu'une seule entité.
  • <chemin>: Chemin de la donnée NBT. Est de la forme foo.bar[0]."A [crazy name]".baz
    • foo.bar signifie que l'enfant de foo est bar.
    • foo[0] signifie l'élément 0 de foo.
    • Des chaînes de caractères entre "" peuvent être utilisées si le nom d'une clé doit être échappé.
  • (byte|double|float|int|long|short): Le type de donnée dans laquelle sera enregistrée la valeur. Correspond à des types de variables Java.
Exemple
/execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5]: Placera une Selle du tous les cochons si un joueur est proche de l'une des ces dernière de 5 blocs ou moins.

score[modifier | modifier le wikicode]

Sauvegardera la valeur dans un tableau de score <objectif> d'une <entité>.
Syntaxe
store (result|success) score <entité> <objectif>
  • <entité>: Entité existante. Ne doit être qu'une seule entité.
  • <objectif>: Nom de l’objectif. L'objective doit exister.
Exemple
/execute score result score Notch Foo run data get entity Notch Health: Enregistre la vie de Notch dans son score Foo.


Historique[modifier | modifier le wikicode]

Version officielle
1.1317w45aAjout de la nouvelle syntaxe de /execute.
17w45b/execute store à été retravaillé.
18w02aAjout des nouveaux modificateur facing, positioned, rotated, in et anchored
Ajout de la nouvelle condition if score ... matches ....
18w05aAjout d'un nouvel objet de stockage store (result|success) bossbar ....
Promotional Content