mercredi , 22 novembre 2017
Accueil / Tutoriels / Les commandes / [Tutoriel] La commande /execute

[Tutoriel] La commande /execute

[Tutoriel] La commande /execute
5(100%) 9 votes

La commande /execute a été ajoutée à Minecraft en 1.8 et a, dès sa création, contribué à révolutionner le fonctionnement des blocs de commande. De nombreuses maps aventure tirent parti de celle-ci pour mettre en place des mécanismes complexes, à l’image de la réputation de cette commande.

dividerminecraftfrance - /execute

Les bases :

Qu’est-ce que le /execute ?

Le /execute est une commande permettant d’exécuter une commande de votre choix directement aux coordonnées relatives d’un joueur ou d’une entité sans que celui-ci/celle-ci l’exécute lui/elle-même. En gros, vous simulez l’exécution d’une commande par un joueur ou une entité.


Construction de la commande :

La commande nécessite donc un point d’exécution, qui sera déterminé par un sélecteur (@a @e @p @r), suivi de coordonnées relatives et de la commande de votre choix (qui pourra également être suivie de coordonnées relatives si elle en a besoin). Ainsi, la commande ci-dessous sera exécutée un bloc à l’est  d’un joueur pris au hasard et fera apparaître un bloc de pierre à cet emplacement.

/execute @r ~1 ~ ~ setblock ~ ~ ~ stone

dividerminecraftfrance - /execute

Application de la commande :

Il est possible avec le /execute de cibler uniquement des joueurs/entités ayant des critères particuliers, comme un score de scoreboard. Imaginons par exemple que nous voulons poser un bloc de redstone sur les joueurs ayant le score deathCount à 1 (donc grosso modo tous les joueurs morts une fois). La commande à exécuter sera :

/execute @a[score_deathCount_min=1,score_deathCount=1] ~ ~ ~ setblock ~ ~ ~ redstone_block

Jusqu’à là, rien de bien compliqué, on peut utiliser n’importe quel sélecteur avancé avec le /execute. Sachez qu’il est aussi possible de faire un /execute dans un /execute. On arrive alors à des commandes un peu plus complexes.

Exemple, on souhaite que tous les ArmorStand appelés “SpawnPoint” se trouvant à moins de 5 blocs du joueur en mode aventure fassent apparaître un zombie sur leur position. La commande ressemblera alors à ceci:

/execute @a[m=2] ~ ~ ~ /execute @e[type=ArmorStand,name=SpawnPoint,r=5] ~ ~ ~ /summon Zombie

Coordonnées numériques combinées aux coordonnées relatives :

L’une des propriétés intéressantes de cette commande est sa capacité à accepter des coordonnées numériques (Exemple de coordonnées numériques : -45 62 536) combinées avec des cordonnées relatives (Exemple de coordonnées relatives : ~1 ~ ~ ). Prenons l’exemple de la commande suivante :

/execute @p ~ 56 ~ setblock ~ ~ ~ stone

Imaginons que le joueur (le plus proche de l’endroit où la commande est exécutée) soit aux coordonnées 45 62 35. Alors la commande citée dans le dernier exemple fera apparaître un bloc de stone aux coordonnées 45 56 35. Ainsi, il est possible d’exécuter une commande à des coordonnées qui ne dépendent que partiellement du joueur ou de l’entité ciblée. Ici par exemple, la hauteur ne dépend pas de la position du joueur.

/execute… detect ? :

Si la commande /execute ne permet pas de tester les data-tags de la personne qui exécute la commande, une petite option disponible permet de faire exécuter la commande si, et seulement si, un bloc en particulier est trouvé à un endroit précis. La commande se construit alors comme ceci

/execute <sélecteur> <x> <y> <z> detect <x'> <y'> <z'> <bloc> <data> <commande>

Les nouvelles coordonnées x’, y’ et z’ correspondent à l’endroit où l’on souhaite tester la présence du bloc. La commande s’exécutera toujours à partir des coordonnées x, y et z. Le <data> sert pour détecter des blocs tels que les laines de couleurs ou un certain type de pierre. Si vous mettez “-1”, cela prendra tous les types du même bloc (wool -1 détectera toutes les laines, peu importe la couleur).

Exemples :

/execute @a ~ ~ ~ detect ~ ~-1 ~ wool 1 /say Je suis sur un bloc de laine orange

Cette commande fera dire à tous les joueurs sur un bloc de laine orange, “Je suis sur un bloc de laine orange”.

/execute @a ~ ~ ~ detect 54 21 33 stone -1 /tellraw @p {"text":"Il y a un bloc de pierre en 54 21 33"}

Cette commande dira à tous les joueurs “Il y a un bloc de pierre en 54 21 33” si en effet il y a un bloc de pierre à cet endroit. Mais ce bloc de pierre peut être de la pierre normale, du granite ou encore de l’andésite puisqu’on ne demande pas de data particulier.

Encore une fois, on peut cumuler les execute, même avec le detect, ce qui permet de détecter des petites structures.

/execute @a ~ ~ ~ detect ~ ~-1 ~ minecraft:grass 0 execute @p ~ ~ ~ detect ~ ~2 ~ minecraft:air 0 /say Je suis sur de l'herbe et il y a de l'air au dessus de ma tête.

Notez bien que dans le deuxième execute, il faut utiliser un @p, sinon, si un joueur a un bloc d’herbe sous les pieds, il demandera à un autre joueur ayant un bloc d’air au dessus de la tête d’exécuter la dernière commande.

Faites bien attention lorsque vous cumulez les execute. Si vous demandez à tous les joueurs (via un @a) de faire apparaître un zombie sur chaque mouton, vous aurez (“nombre de joueur” fois “nombre de mouton”) zombies. Ce qui peut vite devenir énorme.

Image de Une réalisée par Biboush.

A propos de SpookyPowa

Knowledge is Power !

Ceci vous intéresse peut être

[Guide] Le Nether

Le Nether est une dimension hostile regorgeant de dangers, mais aussi de trésors pour qui sait les obtenir. Dans ce guide, nous allons voir comment éviter les uns pour mieux cueillir les autres.

Rédiger une réponse

8 Commentaires sur "[Tutoriel] La commande /execute"

Prévenez moi :
avatar
 
Trier par:   Commentaires récents | Commentaires ancients | Les mieux notés
Membre

“reste relativement délaissée”
Euuuuuuh….. T’es sur de ce que tu dis ?
Je dis pas ça parce qu’environ la moitié des commandes que je tape contient au moins un execute mais un peu quand même quoi xD
Et je suis loin d’être le seul dans ce cas

Machiru
Invité

Juste un truc à noter, dans le /execute, on n’a pas besoin de mettre un / à la commande qu’on execute au joueur, on peut très bien faire par exemple /execute a[r=5] ~ ~ ~ effect p levitation 1 127 true sans mettre un / avant le effect ^^

Bigeur
Invité

Tes tutos sont supers! (Mais je suis un peu dégouté par ce que tout les articles que tu fais actuellement j’avais envie de les faire en devenant rédacteur…Mais bon je suis sûrement trop nul en écriture ou en français alors je te laisse t’en occuper ;) )

Time4Play
Membre

Essayez “/execute @e[type=Chicken] ~ ~ ~ /summon Chicken” dans un monde survie. KFC garanti ! (sauf que ce qui va bruler c’est pas le bois du four mais votre serveur)

mag39
Invité

Mlakuss merci ^^ j’avais oublier sa :p

wpDiscuz