Un bloc de commande dans Minecraft est un bloc qui peut exécuter des commandes. Comme il ne peut être obtenu ou modifié en mode Survie sans triches, il est principalement utilisé sur les serveurs multijoueurs, dans les mondes Créatifs et les cartes personnalisées.

Voici les 3 grands types de blocs de commandes :

  • Un bloc de commande en mode impulsion est le type de bloc par défaut, il ne s’exécute qu’une fois lorsqu’il est activé.
  • Un bloc de commande en mode chaîne s’exécute à chaque fois qu’il est déclenché.
  • Un bloc de commande en mode répétition s’exécute à chaque tick de jeu tant qu’il est activé.

C’est quoi un bloc de commande ?

Le bloc de commandes, incorporé à Minecraft depuis la version 1.4, est sans nul doute le bloc le plus complexe et le plus puissant du jeu. Il est d’autant plus intéressant que presque chaque nouvelle mise à jour lui apporte de nouvelles fonctions. Ce bloc a pour seule (mais pas des moindres) utilité d’accomplir, sous réserve d’une activation redstone, des commandes telles que le “/give” ou “/tp“. Le bloc possède une physique “normale” et des caractéristiques redstone standard: il réagira normalement s’il est utilisé comme inverseur ou comme porte logique (ce détail est utile notamment pour la compression des circuits).

Bien qu’utile principalement à la création de map, il peut être intéressant de savoir manipuler ces blocs. Il est aussi utile de savoir que si la redstone fut créée dans le but d’imiter des systèmes binaires tels que des circuits imprimés, les blocs de commandes sont eux plus proches de la programmation.

Le code se compose habituellement de deux choses : la logique et l’exécution, et la plupart des langages de programmation exigent que les deux soient écrits en texte. Le codage de Minecraft prend une voie différente ; la logique et la structure du programme sont déterminées par l’endroit où les blocs sont placés et comment ils sont connectés, ce qui signifie que vous pouvez survoler votre monde et voir les différentes parties de votre programme disposées bloc par bloc.

Comment avoir un bloc de commande ?

Les blocs de commande ne sont pas disponibles dans l’inventaire Créatif. Ils peuvent être obtenus soit en utilisant la commande pick block, soit en utilisant diverses commandes, telles que /give @s minecraft:command_block, ou /setblock ~ ~ ~ command_block.

Dans la version Java, tout comme les autres blocs qui peuvent stocker des données NBT, l’utilisation de la commande pick block + CTRL permet de copier la commande et les options à l’intérieur du bloc de commande. Cela permet de le placer ailleurs sans avoir à saisir à nouveau les données à l’intérieur.

Les blocs de commande ne peuvent pas non plus être brisés en mode Survie ou Créatif sans l’autorisation de l’opérateur, ils ne sont pas inflammables et ont la même résistance aux explosions que la Bedrock. Les blocs de commande, les blocs de structure et les blocs de puzzle ne peuvent pas être exploités en mode Survie.

Fonctionnement du bloc de commande

Les bases

Par défaut, les blocs de commandes sont désactivés sur un serveur. Si vous souhaitez les manipuler en multijoueurs, vous devez rajouter dans le fichier “server.properties” ( situé dans le même répertoire que l’exécutable)  une ligne “enable-command-block=true”. En solo, les blocs de commandes sont déjà activés. Il n’est pas possible de fabriquer ce bloc et il n’est pas présent dans les inventaires créatifs.

Ainsi, le seul moyen de l’obtenir est d’effectuer la commande /give [joueur] 137. Son interface, affichable par le biais d’un clic droit sur le bloc, est composée d’un champ d’écriture pour rentrer la commande, une petite partie “rappel” qui vous sera expliquée plus tard, un bouton “terminé” (grisé sur l’image) qui permet de quitter en sauvegardant et un bouton “annuler” permettant de quitter sans sauvegarder.

interface bloc de commande minecraft
Une interface plutôt sobre.

Les commandes exécutables par ce bloc sont les mêmes que celles disponibles pour les joueurs ayants les plus hauts droits, excepté quelques commandes d’administration (telles que le “/stop”) et le “/kill”, une commandes est aussi présente uniquement pour les blocs: le “testfor” qui sera expliquée en détails plus loin. Le “/” devant les commandes est optionnel. De plus, il est possible via une enclume de renommer les blocs, afin des les faire “parler”.

une voix off dans minecrfat avec un bloc de commande
Utile en narration non?

Lorsque vous entrez vos commandes (sur le chat uniquement), pensez à utiliser la touche “tab” pour compléter automatiquement la commande que vous aviez commencé à taper, cette fonction est très utile dans le cas où vous ne vous souviendriez que du début d’une commande. Les blocs de commande fonctionnent sur un système de ciblage, c’est ce qui est présent dans l’aide-mémoire présent sur l’interface des blocs. Il existe trois ciblages, ainsi que des paramètres disponibles afin d’affiner les recherches.

  • “@p” visera le ou les joueurs les plus proches.
  • “@r” visera un ou des joueurs sélectionnés de manière aléatoire.
  • “@a” visera tous les joueurs.

Tout ces ciblages sont régis par des paramètres assez complexes mais très importants afin de sélectionner spécifiquement les joueurs voulus. Il faut inscrire ces paramètres entre crochets, juste après le ciblage, séparés entre eux par des virgules.

  • “x=” | “y=” | “z=” servent à donner le centre de la recherche exemple:  @p[x=30,y=120,z=-500] sélectionnera le joueur le plus proche de cette position.
  • “r=” |”rm=” donnent le rayon, soit la taille de la zone de recherche, “r=” indique le maximum, tandis que “rm=” indique le minimum exemple: @p[r=10,rm=3] recherchera le joueur le plus proche (par défaut depuis le bloc) situé à moins de 10 blocs de la commande et à plus de 3 blocs.
  • “c=” indique le nombre de joueurs sélectionnés exemple: @p[c=2] recherchera les deux joueurs les plus proches du bloc.
  • “l=” | “lm=” spécifie le niveau maximum et le niveau minimum (respectivement), les valeurs que vous entrerez sont en point d’expérience et non en niveaux exemple: @a[l=1000,lm=500] recherchera tout les joueurs ayant entre 500 et 1000 points d’expérience.
  • “m”  donne le mode de jeu, survie vaut 0, créatif vaut 1 et aventure vaut 2 exemple: @p[m=2] recherchera le joueur en mode aventure le plus proche du bloc.

Avec l’arrivée des tableaux de scores, de nouveaux paramètres relatifs à ceux-ci sont apparus (ces paramètres nécessitent des manipulations en amont pour initialiser les objectifs):

  • “score_nom=” et “score_nom_min”  (remplacez “nom” par le nom de l’objectif que vous souhaitez tester)  servent à indiquer le nombre de points maximum et minimum (respectivement) que les joueurs devront avoir dans l’objectif spécifié exemple: @a[score_meurtre=10, score_meurtre_min=5] recherchera tout les joueurs ayant entre cinq et dix points dans l’objectif “meurtre”.
  • – “team=nom” et “team=!nom” sélectionne les joueurs étant ou n’étant pas dans l’équipe dont le nom est inséré à la place de “nom” exemple: @a[team=france, team=!paris] recherchera les joueurs faisant parti de l’équipe “France” mais ne faisant pas parti de l’équipe “Paris”.

Les règles

Il existe 7 “règles de jeux” affectant le feux, les monstres ou autres :

  • “/gamerule doFireTick true/false” active ou désactive la propagation du feu,
  • “/gamerule doMobSpawning true/false” active ou désactive l’apparition des monstres,
  • “/gamerule doMobLoot true/false” active ou désactive les objets trouvés en tuant des monstres,
  • “/gamerule doTileDrops true/false” active ou désactive l’apparition des blocs que l’on peut ramasser une fois qu’un bloc explose,
  • “/gamerule commandBlockOutput true/false” active ou désactive les messages tels que [@: Given Stone (ID 1)*1 to LenainPACA],
  • “/gamerule keepInventory true/false” active ou désactive la conservation de l’inventaire après un mort (les niveaux restent aussi si cette règle est activée),
  • “/gamerule mobGriefing true/false” active ou désactive la destruction/ le vol de blocs par les monstres.

Les tableaux de scores

tableau de score bloc commande minecraft
Un exemple de tableau de score.

Bien que les blocs de commandes ne soient pas nécessaire à leur fonctionnement, il est toujours utile de savoir se servir de ces tableaux, ne serait-ce que pour afficher le nombre de morts ou de meurtres pour chaque joueur dans une partie sur une quelconque map. Les tableaux de scores étant quelque chose d’extrêmement théorique, il est conseillé de tester les commandes en jeu. Toutes les commandes relatives au tableau de score commence par “/scoreboard” s’ensuivent ensuite trois distinctions : – “/scoreboard objectives” avec, à placer après le “objectives” :

  •   “list” pour voir les objectifs existants,
  •   “remove <nom>” pour supprimer l’objectif “nom”,
  •   “add <nom> <type>” pour créer un objectif du nom et du type spécifié.

Il existe cinq types d’objectifs : “dummy” dont les valeurs sont gérées manuellement, par le biais de commandes exécutées par blocs de commandes ou par le joueur, “deathCount” qui est le nombre de morts des joueurs, “playerKillCount” compte le nombre de joueurs tués, “totalKillCount” recense le nombre de joueurs et de monstres tués, et “health” vaut les points de vie de chaque joueur, il n’est pas manipulable par des commandes (on ne peut pas changer sa valeur).

  • La commande “/scoreboard objectives setdisplay <emplacement> <nom>” permet d’afficher les scores des joueurs dans l’objectif sélectionné (<nom>) dans l’emplacement indiqué. Les emplacements sont: “list” à droite des pseudonymes lorsque l’on appuie sur la touche “tab”, “belowname” sous le pseudonyme du joueur, “sidebar” dans un tableau, à droite de l’écran. Il n’est pas possible d’afficher deux objectifs au même emplacement.
  • “/scoreboard player” qui gère les manipulation des scores relatifs au joueurs :
  • “set <joueur> <objectif> <combien>” assigne à la valeur dedans,
  • “remove/add <joueur> <objectif> <nombre>” supprimera ou ajoutera<nombre> points a <joueur> dans <objectif>,
  • “reset <joueur>” supprime toutes les valeurs de tout les objectifs de <joueur>, le retirant par la même occasion des emplacements d’affichage de score.

“/scoreboard teams”  régissant les équipes :

  • “list” fait une liste des équipes et des joueurs en faisant parti,
  • “add/remove <nom>” ajoute ou supprime l’équipe <nom>,
  • “join <noméquipe>  <joueur>” ajoute <joueur> à l’équipe <noméquipe>
  • “leave <joueur>” supprime <joueur> de l’équipe dont il fait parti
  • “option <noméquipe> friendlyfire true/false” active ou désactive le tir ami dans une l’équipe <noméquipe>
  • “option <noméquipe> color <couleur>” permet de modifier la couleur de <noméquipe>, les couleurs sont à inscrire en anglais, il existe un grand nombre d’options d’écriture.
  • “option <noméquipe>  seeFriendlyInvisibles true/false” permet ou non au joueur d’une même équipe de se voir malgré l’invisibilité.
Liste des commandes pouvant vous être utile même si vous ne souhaitez pas maîtriser les tableaux de score:
  •   “/scoreboard objectives add <nom> playerKillCount” et “/scoreboard objectives setdisplay sidebar/list <nom>” permettent d’afficher le nombre de meurtres des joueurs dans un tableau à droite de l’écran (sidebar) ou sur la liste s’affichant avec la touche “tab”.
  •   “/scoreboard objectives add <nom> health” et “/scoreboard objectives setdisplay list/belowname <nom>”  permettent d’afficher les points de vie des joueurs, sous leur nom (belowname), ou par l’intermédiaire de la touche tab.
  • Voici aussi la manière de créer et utiliser les équipes:
Ces lignes sont personnalisables.

Techniques avancées

Ces techniques nécessitent une maîtrise des bases, elles ne sont bien sûr pas toutes recensées, de nouvelles se créant chaque jour, mais en voici quelques unes utiles et pas forcément évidentes. Le “/testfor” n’est pas une technique mais une commande du bloc complexe mais intéressante: elle permet,  si un comparateur est placé en sortie du bloc, de tester les paramètres, si un (ou plusieurs) joueur est trouvé en suivant les paramètres, un courant apparaîtra dans le comparateur, vous permettant de rajouter un autre bloc, qui ne fonctionnera que si le premier bloc a trouvé juste. En revanche, la commande testfor nécessite une activation redstone non continue : il vous faudra trouver un moyen de connecter le bloc, à une boucle, un bouton, ou quoi que ce soit d’autre.

Les tableaux de score possèdent une fonction extrêmement utile aux blocs de commandes, on peut grâce à ceux-ci créer des variables, et ainsi des conditions, voire des boucles… En effet, en déclarant un objectif de type “dummy”, on peut lui donner manuellement des valeurs pour indiquer, par exemple, un peu de téléportation disponible uniquement si le joueur est passé par certains endroits. Ainsi, en testant ensuite l’objectif “dummy” créé, on peut par le biais des paramètres établir un système de conditions.

Un exemple de conditions, sous un éditeur de texte

Si un comparateur redstone est placé en sortie d’un bloc effectuant une commande incorporant des paramètres ( du type @p[x=120,y=60,z=60,r=3] par exemple), dans le cas où le bloc trouve un joueur et lui affecte la commande, un courant d’une puissance de un apparaîtra en sortie, ce courant ne s’éteindra que dans le cas où le bloc est réactivé, mais ne retrouve pas un joueur correspondant.

On peut se servir de blocs de commandes afin de réaliser les systèmes sans fils, par le biais d’objectifs, ou de niveaux d’expérience.

Il vous a été présenté comment utiliser les blocs de commandes, mais la maîtrise de ces blocs ne résulte que de l’entrainement. Ainsi dans peu de temps vous pourrez créer exactement ce dont vous aurez besoin. Il est aussi très conseillé de visiter des cartes connues pour s’inspirer des systèmes utilisés. Vous êtes maintenant parés pour créer ce que vous voulez.

4.3 / 5 - (3 votes)