La commande suprême - Minecraft (2/2)
De retour sur l'article sur la commande /execute de Minecraft, celle qui permet de tout faire, en mieux, le couteau suisse des programmeurs Minecraft ! Nous allons nous intéresser à d'autres arguments que peut prendre cette commande en commençant par :
if/unless
Ces deux mots clefs ont la même syntaxe et donc un fonctionnement similaire. Ils se traduisent respectivement par si et sauf si. Ces arguments font que la commande suivante ne s'exécute qu'à certaines conditions (if) ou ne s'exécute pas à si certaines conditions sont remplies (unless). Les conditions peuvent être des entités, c'est-à-dire si elles existent ou non, ou des blocs. Il y a donc deux syntaxes en fonction du type de condition :
<if/unless entity> [entité_testée]
<if/unless block> [x] [y] [z] [type_du_bloc]
Dans le premier cas, on teste la présence d'une ou plusieurs entités, et dans le deuxième cas, on teste si le bloc aux coordonnées indiquées est du type indiqué.
Un exemple :
/execute at @s if block ~ ~-1 ~ grass_block run say hi
Essayez de comprendre ce que la commande fait avant de regarder la réponse !
Ce que fait cette commande est assez simple, elle dit [votre pseudo] hi dans le chat si vous êtes sur un bloc d'herbe !
Essayons maintenant de rajouter un mot-clef dans notre commande pour voir ce qu'il se passe :
/execute as @a at @s if block ~ ~-1 ~ grass_block run say hi
De même, essayez de comprendre la commande avant de regarder la réponse.
Et bien elle fait la même chose, mais pour toutes les entités du monde. Si votre ami et vous êtes sur de l'herbe, il y aura écrit dans le chat :
[votre pseudo] hi
[pseudo de votre ami] hi
En écrivant la même commande mais en remplaçant le if par unless, alors il n'executera les say hi que pour ceux qui ne sont pas sur de l'herbe.
(Image : exemple d'utilisation de la commande execute, que j'utilise dans 80% de mes commandes)
Enfin, deux mots-clef qui ont des fonctions similaires, ils servent tous les deux à définir une rotation :
facing
La rotation est définie soit par rapport à des coordonnées (donc un endroit fixe) soit par rapport à une entité :
facing [x] [y] [z]
facing entity <entité> <eyes | feet>
Dans le deuxième cas, vous avez le choix en troisième argument entre si la rotation est face aux yeux de l'entité, ou face à ses pieds, tout simplement.
rotated
Sa syntaxe est encore plus simple, la rotation sera simplement celle de l'entité que vous sélectionnez :
rotated as <entité>
Notez que vous aurez toujours besoin de ce mot "as" après rotated, il ne sert qu'à rendre la commande un peu plus compréhensible syntaxiquement (l'auto-complétion vous renverra une erreur de toute façon, si vous l'oubliez).
Voilà ! Tous les mots-clef n'ont pas été abordés mais vous avez largement vu l'essentiel. Si cela vous intéresse encore, quelques petites recherches vous mèneront vite aux autres (qui restent vraiment moins utilisés).
Bon codage !