Serveur minecraft

Commandes, / execute, sélecteurs, etc. FR-Minecraft – Resoudre les problemes d’un serveur MineCraft

Le 24 juillet 2019 - 10 minutes de lecture

Aidez-nous à financer le site: joignez l'utile à l'agréable et profitez de FR-Minecraft sans publicité en devenant VIP! Ou ajoutez FR-Minecraft à vos exceptions, nous n'abusons pas des annonces.

La version 1.13 sera certainement la version qui casse tous, en particulier toutes les commandes. Mais c'est une décision prise par Mojang, et Dinnerbone explique très bien ce choix: la version Minecraft 1.13 sera la version où les identifiants seront supprimés. En effet, de nombreuses commandes seront en réalité brisées (suppression de la valeur de la donnée, donc modification des paramètres). Alors quoi qu'il arrive, 1.13 a dû casser de nombreuses commandes. C’est la raison pour laquelle Dinnerbone a choisi de saisir l’occasion pour revoir toutes les commandes et les améliorer: Oui, tout va être cassé, mais normalement rien ne sera cassé dans les futures versions de Minecraft! Ce sera une période difficile pour les cartographes, mais normalement, c'est la dernière fois qu'il devra tout refaire.

Si ce n’est pas déjà fait, je vous invite à consulter (ou à relire) nos articles précédents sur les modifications apportées aux commandes:

Supprimer des valeurs de données, plus

Les DataValues ​​étant maintenant supprimées, Dinnerbone a continué à modifier les commandes prenant en paramètre les balises DataValues ​​ou NBT:

Ancienne syntaxe:
/ clair[[[[][[[[][[[[][[[[][[[[]

Suppression des paramètres de données et nbt:
/ clair[[[[][[[[][[[[]

Ancienne syntaxe:
/ donner [[[[][[[[][[[[]

Supprimer des valeurs de données, plus
/ donner [[[[]

Ancienne syntaxe:
/ remplace le bloc [[[[][[[[][[[[]

Supprimer des valeurs de données, plus
/ remplace le bloc [[[[]

Ancienne syntaxe:
/ remplacez l'entité [[[[][[[[][[[[]

Supprimer des valeurs de données, plus
/ remplacez l'entité [[[[]

Retiré de / toggledownfall

La commande n'a pas vraiment d'intérêt de savoir qu'il y a un instant la commande qui fait la même chose (mieux).

Fusion des commandes / tp et / teleport

Dans la version 1.12 et sont 2 commandes distinctes. Certes, leur fonctionnement est similaire, mais leur syntaxe et leur exécution sont légèrement différentes.
Je ne peux que vous inviter à lire les fiches de ces 2 ordres pour mieux comprendre leur fonctionnement respectif:

Prenons l'exemple suivant (tiré des feuilles ci-dessus), que fait cette commande?
/ tp Notch ~ ~ 10 ~
/ téléporter Notch ~ ~ 10 ~

Les 2 commandes sont correctes, elles fonctionneront, mais elles ne feront pas la même chose.

/ tp Notch ~ ~ 10 ~ ==> Téléporte le joueur Notch & # 39; 10 blocs plus haut.
/ téléporter Notch ~ ~ 10 ~ ==> Téléporte la note & # 39; Notch & # 39; joueur 10 se bloque au-dessus de la personne qui tape la commande.

En d'autres termes, le tilde de la commande / tp est relatif à l'entité de destination, tandis que pour la commande / teleport (comme pour toutes les autres commandes du jeu), le tilde est relatif à l'entité qui tape la commande.
C'est pourquoi Dinnerbone supprime la commande / tp, elle est remplacée par la commande / teleport (le / tp fonctionnera toujours, mais il s'agira d'un simple alias de / teleport).

Pour retrouver l'ancien comportement, il faudra utiliser la commande / execute:
/ execute en tant que Notch puis téléporte @s ~ ~ 10 ~

Certe, la commande est beaucoup plus longue que l’ancienne commande / tp, mais selon Dinnerbone, elle est beaucoup plus logique et donc plus facile à comprendre.

Les sélecteurs:

Les sélecteurs ont déjà été grandement améliorés (ajout de plusieurs paramètres, sélection de balises nbt, etc.). Mais ce n’est pas fini, Dinnerbone a annoncé un autre changement.

La première est une nouvelle révolution pour le, une nouvelle syntaxe pour indiquer les intervalles.
Si vous voulez sélectionner tous les joueurs avec un niveau XP compris entre 5 et 10?
Avant nous devions faire:
@p[lm=5,l=10]

A partir de maintenant, un seul paramètre permet de le faire simplement:
@p[level=5..10]

Si vous ne voulez pas min ou max, c'est le même principe:
@p[level=..10]

@p[level=5..]

Tous les paramètres avec "min" ou "max" sont concernés (niveau, tableau de bord, rotations, etc.).

Le paramètre de sélecteur "c" a été renommé "limite". Ce paramètre indique le nombre d'entités à sélectionner.
Mais contrairement à "c", "limite" n'accepte pas une valeur négative. Une valeur négative a été utilisée pour sélectionner les entités les plus éloignées. Pour cela un nouveau paramètre a été créé: "sort".
"sort"peut prendre les valeurs suivantes:
– "trier = le plus proche & # 39;": sélectionne les entités les plus proches (valeur par défaut pour tous les sélecteurs sauf @r)
– "trier = le plus éloigné": sélectionne les entités les plus éloignées (l'équivalent de la valeur négative de" c ")
– "= sort aléatoire": sélectionne les entités dans un ordre aléatoire (valeur par défaut du sélecteur @r)
– "sort = arbitraire": sélectionne les entités sans les classer, c’est l’option la plus rapide, mais elle ne doit être utilisée que si l’ordre des entités n’a pas d’importance.

De nombreux paramètres de sélecteur ont été renommés, généralement sous un nom plus long mais plus explicite:
– "m" devient "gamemode"
– "l" et "lm" deviennent "level"
– "r" et "rm" deviennent "distance"
– "rx" et "rxm" deviennent "x_rotation"
– "ry" et "rym" deviennent "y_rotation"
– "c" devient "limite"

Renvoyer la commande / exécuter

Dans nos dernières nouvelles, nous avions annoncé la suppression de la commande, remplacée par les commandes / as, / at, / offset et / detect. Pour revenir à Dinnerbone, la commande / execute restera dans Minecraft 1.13, mais sa syntaxe sera totalement différente de celle que nous connaissons actuellement.

La cause de ce retournement: la suppression des commandes, et. Dinnerbone pense qu'il serait plus facile d'inclure ces commandes de test dans la commande / execute, mais la syntaxe actuelle ne le permettait pas. Il a donc ajouté 2 nouveaux paramètres à / execute: "if" et "less".
Ainsi, la commande / as devient:
/ exécuter en tant que …

La commande / at devient:
/ exécuter à

La commande / offset a été remplacée par:
/ exécuter à

Et / detect est remplacé par la condition if.

Nous devrions donc avoir les syntaxes suivantes:

  • / exécuter comme court ==> Exécuter en tant qu'entité, mais sans prendre sa position
  • / exécuter à court ==> Utilise la position de l'entité pour exécuter la commande, mais sans changer l'entité source
  • / exécuter à court ==> Exécuter la commande en utilisant la position indiquée
  • / execute (si | sauf si) bloc ==> Exécute la commande if (ou l'inverse) le bloc à la position indiquée correspond au bloc indiqué (équivalent de la commande / testforblock)
  • / execute (si | sauf si) blocs (Tout | masqué) ==> Exécute la commande si (ou vice versa) la région entre et est identifié à la destination (équivalent de la commande / testforblocks)
  • / execute (si | sauf) entité ==> Exécuter la commande si (ou vice versa) l'entité existe (ou si le sélecteur renvoie une ou plusieurs entités) (équivalent de la commande / testfor)

Mais ce nouveau système ajoute à la syntaxe, par exemple:
L'ancien ordre:
/ execute @e ~ ~ ~ detect ~ ~ ~ stone 0 dit Stone!

devient:
/ execute comme @e exécuter à @s exécuter si block ~ ~ ~ stone dit Stone!

3 fois le mot "exécuter" dans la même commande, cela fait beaucoup.

Des voix se sont élevées contre ce changement, et Dinnerbone a proposé un nouveau changement:
"comme", "à", "si bloc", "si blocs" et "si entité" ne seront toujours pas des commandes, mais le mot "exécuter" ne serait plus nécessaire. En d'autres termes, la commande execute serait composée de plusieurs fragments commençant par "as", "at", etc. Nous conservons l'opération du dernier exemple, mais sans avoir à répéter le mot "execute" à chaque fois. Voici une démonstration en images:

Voici quelques exemples avec cette nouvelle syntaxe:

  • exécuter à @a puis invoquer cochon ==> Crée un cochon pour chaque joueur
  • exécuter à @a si bloc ~ ~ -1 ~ herbe puis invoquer cochon ==> Crée un cochon pour chaque joueur qui est sur un bloc de pelouse
  • exécuter en tant que @a en @s à moins que l'entité @e[distance=..5,type=creeper] puis donnez @s régénération 5 ==> Donne un effet de régénération à tous les joueurs, sauf si une plante rampante est à proximité

Maintenant que la commande peut gérer les conditions if et less, cette fonctionnalité a été supprimée de la commande, donc l'ancienne commande:
/ fonction foo if @e[tag=bar]

Doit maintenant écrire:
/ execute si entité @e[tag=bar] fonction foo

Cela permettra de prendre en charge des conditions plus élaborées, non plus limitées aux entités, mais également aux blocs.

Supprimer des valeurs de données

Dans notre précédente news, Dinnerbone avait annoncé la suppression des DataValues ​​(également appelées «valeur des dommages» pour les armes et les outils), mais le système pour les remplacer était plutôt vague. Nous en savons maintenant un peu plus:

Pour les blocs différenciés par leur valeur de données (couleur de la laine, type de roche, etc.), ils auront désormais leur propre ID. Par exemple les différentes couleurs de va maintenant s'appeler: "minecraft: blue_terracotta","minecraft: rouge_terracotta", etc. (Notez en passant que le nom va changer, ce n'est plus"argile durcie"mais"terre cuite"en 1.13).

Pour les armes, les outils et tous les objets que vous portez, c'est plus délicat puisque c'est toujours le même objet. Dinnerbone envisage d’utiliser des étiquettes NBT pour stocker la valeur d’usure:
/ donnez @p minecraft: diamond_sword Incassable: 1, Dégâts: 1

Suppression de joueurs personnalisés:

Lors de l'utilisation de la commande avec un nom de joueur inexistant, la commande crée alors une "variable" avec ce nom et lui attribue la valeur de notre choix: il s'agit des joueurs personnalisés. Mais ce système est plus problématique qu'il ne résout:

  • Les valeurs ainsi affectées sont très difficiles à récupérer dans d'autres commandes

  • Ce système est sujet à la faute de frappe: il est facile de se tromper sur un nom de joueur, et aucune erreur ne s’affiche.

  • Il est impossible de gérer les erreurs car tous les noms sont valides

  • Et plus important encore, le système vous permet de faire la même chose, mais plus encore.

La commande / gamerule existera toujours, mais seules les valeurs prises en charge par le jeu seront autorisées, il ne sera plus possible de créer des variables personnalisées.

L'assistant de commande:

Ceci n'est pas nouveau, mais voici une nouvelle animation présentée par l'assistant de commande, et comment les couleurs peuvent aider à découvrir tous les arguments de la commande!

Un autre exemple avec la sélection automatique par l'assistant des sous-commandes (commandes avec plusieurs syntaxes possibles):

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.