Avant-propos
La 1.13 a grandement changé les commandes du jeu avec l’arrivée des datapacks, des intervalles et le ciblage par état. Comme pour le précédent article sur les sélecteurs, nous prendrons comme exemple les commandes de téléportation utilisées pour des portails.
Retour aux bases : les sélecteurs
Après un an de tutoriels, il est temps de revenir aux bases : différencier les sélecteurs, les commandes, les fonctions.
Téléportation vers d’autres dimensions
Découvre comment mettre en place des téléportations vers d’autres dimensions avec des commandes.
Intervalles
Nous l’avons vu dans le dernier article, nous pouvons cibler toutes les entités près d’un portail avec cette commande :
teleport @e[x=7,y=42,z=106,distance=..2] 7 42 88
La distance est indiquée “..2” ce qui signifie entre 0 et 2 blocs de distance.
Si nous souhaitons un effet de cécité sur tous les joueurs, sauf ceux près de coordonnées précises, nous utiliserons la commande suivante :
effect give @a[x=7,y=42,z=106,distance=5..] blindness
Ici, nous avons créé une zone d’un rayon de 5 blocs dans laquelle les joueurs ne seront pas affectés par l’effet. “5..” indique 5 minium, sans maximum. Pour cibler dans un rayon compris entre 2 et 5 blocs, nous écrirons “2..5”.
[États]
Nous avons déjà utilisé certains arguments de sélecteur pour préciser des coordonnées, une distance et un type d’entité. Il est possible de faire la même chose pour les blocs : on appelle cela les états. Prenons l’exemple d’un four situé en 0 100 0.
/setblock 0 100 0 minecraft:furnace
En appuyant sur la touche F3 du clavier, les états du blocs sont visibles en haut, à droite de l’écran. Pour le four, il s’agit de l’orientation et s’il brûle. On peut ainsi afficher l’animation d’un four allumé avec cette commande :
/setblock 0 100 0 minecraft:furnace[lit=true]
Notons que si un objet est inséré dans le four, il ne sera pas cuit. Nous avons définit un état mais pas de temps de cuisson.
{NBT}
Depuis toujours Minecraft utilise des données NBT. Pour connaître les données NBT disponible pour le four, nous utilisons la commande data.
/data get block 0 100 0
On peut maintenant voir différentes données modifiables. Celle qui nous intéresse est BurnTime qui définit le temps que le four mettra avant de s’éteindre. Ainsi, on peut créer un four qui brûle :
/setblock 0 100 0 minecraft:furnace[lit=true]{BurnTime:200s}
Même sans combustible, le four brûlera tout objet. Pour modifier un bloc déjà existant, on peut utiliser :
/data merge block 0 100 0 {BurnTime:200s}
Ainsi, si cette commande est utilisée dans un bloc de commande activé en boucle, le four brûlera à l’infini.