État des services Mojang : Plus d'infos
La recherche se fait sur tous les élements du jeu. Rechercher un membre

Minecraft 1.13: La commande /modifyitem

Le 12/11/2017 à 6h50

Il y a quelques jours Dinnerbone annonçait la suppression de la commande /enchant, remplacé par la nouvelle commande /modifyitem. Pourtant, dans les dernières snapshots sorties cette semaine la commande /modifytitem n'existe pas. Pourquoi ? Quelle est cette commande ?

Comme son nom l'indique, /modifytitem permettra de modifier un item, il sera possible de modifier un item stocké dans n'importe quel inventaire (inventaire de joueur, d'entité, ou de bloc conteneur). Diverses opérations de modification seront disponible, comme nous allons le voir.

/modifytitem sera un grosse commande, c'est pourquoi Dinnerbone prend son temps et attend l'avis de la communauté sur cette commande avant de l'implémenter. Il a donc partager avec nous les fonctionnalités que devrait avoir cette commande.


La commande /modifyitem se décomposera en plusieurs partie:

Sélection de la cible:
Comme la plupart des nouvelles commandes, /modifytitem pourra au choix modifier soit un bloc ou soit une entité, pour cela 2 syntaxe seront possible:
  • /modifyitem block <pos> (avec <pos> les coordonnées du bloc a modifier)
  • /modifyitem entity <entité> (avec <entité> un sélecteur d'entité)
Le bloc sélectionné devra obligatoirement être un conteneur, la commande ne permettant de modifier que les items à l'intérieur des inventaires.


Sélection du slot d'inventaire:
La suite de la commande permet de sélectionner le slot d'inventaire où se trouve l'item à modifier:
  • slot <nom> (avec <nom> un nom d'un slot spécifique)
  • item <item> <count> (avec <item> le nom d'un item et <count> le nombre de slot à retourner)
Il est donc possible, au choix, soit de cible un slot, soit un objet particulier. Le paramètre "item" lance une recherche dans l'inventaire de l'objet désigné. Si l'objet est disponible dans plusieurs slot de l'inventaire, la commande pourra modifier tous les slots simultannement. Il est cependant possible de limiter le nombre de slot a modifier via le parametre "<count>". La valeur spéciale "-1" permet de sélectionner tous les slots sans limitation. En cas de limitation il n'est pas possible de choisir quel slot sera choisit en priorité, la commande gardera le(s) premier(s) objet(s) trouvé(s) dans l'inventaire, quelque soit leurs positions.


L'action:
C'est la plus grosse partie de la commande, l'action a effectuer sur l'objet. Il y a plusieurs types d'actions possible.
  • Les enchantements
Bien sur, sachant que la commande /modifyitem remplacera la commande /enchant, sa première action sera de permettre de modifier les enchantements. Les actions suivantes sont disponible:
  • enchantment add <enchantement> [level] ==> Permet d'ajouter (ou de modifier) l'enchantement spécifié avec le level donné. Si l'enchantement n'existe pas, il sera ajouté, sinon son level sera incrémenté du nombre de level <level> indiqué.
  • enchantment set <enchantement> [level] ==> Sensiblement équivalent à la commande "add": si l'enchantement n'existe pas, il sera créer. S'il existe déjà il sera remplacer par le nouveau level. Si l'enchantement existait déjà avec le même level, la commande échouera.
  • enchantment remove <enchantement> [level] ==> Équivalent de la commande "add", mais soustrait des level d'enchantement. La valeur spéciale "-1" pour <level> permet de supprimer totalement l'enchantement (c'est la valeur par défaut si <level> n'est pas spécifié).
  • enchantment clear ==> Supprime tous les enchantements de l'objet (ou échoue si l'objet n'a pas d'enchantement)
- Pour les ajouts (set et add), si aucun level n'est indiqué, la valeur par défaut est 1.
- Contrairement à la commande /enchant il n'y aura pas de restriction sur les enchantements affectables, il sera possible par exemple d'ajouter l'enchantement Sharpness sur un baton.

Cette commande de modification est beaucoup plus souple que l'ancienne commande /enchant, car /enchant:
  • Ne permettait que d'ajouter des enchantements, pas de les supprimer
  • Ne permettait de modifier que l'objet dans la main principale, pas les autres
  • Était limité aux enchantements admissibles en mode survie
Toutes ces restrictions ne seront donc bientôt plus qu'un mauvais souvenir.

  • Les dommages (usure)
Dans Minecraft 1.13, la getion des dommages sera inversé par rapport aux valeurs de durabilité qu'on manipulait dans les précédente version: Un objet neuf aura sa valeur de dommage à 0, alors qu'avant il avait une durabilité maximale. A chaque impact, son dommage augmentera, jusqu'à atteindre la valeur maximale admissible par l'objet, dans ce cas l'objet sera détruit.

Les actions possibles pour manipuler les damages sont similaires aux commandes de modification d''enchantements:
  • damage add <quantité> ==> Ajoute <quantité> points de dégâts à l'objet sélectionné.
  • damage remove <quantité> ==> Supprime <quantité> points de dégâts à l'objet sélectionné.
  • damage set <quantité> ==> Définit le valeur de dommage à <quantité>.
- Si le nombre de dégât dépasse le maximum admissible pour l'objet, l'objet sera détruit.
- Si la valeur totale de dommage est négative, la valeur 0 sera enregistrée.
- Si l'objet ne prend pas en charge la durabilité, la commande échouera.
- Les modifications faites avec /modifyitems ignorent les tags NBT "Unbreakable" et "Unbreaking".

Dinnerbone avoue ne pas être content de ce fonctionnement des dommages, mais il précise aussi qu'il aime encore moins l'ancien fonctionnement de la durabilité, cette proposition est donc un moindre mal. Il est donc possible que tout cela soit encore modifié avant la sortie.
 
  • Les tags NBT
Il sera possible de modifier les données NBT des objets directement dans les inventaires:
  • nbt add <nbt> ==> Ajoute le tag NBT spécifié, de la même manière qu'avec /data (cf la snapshot 17w45b)
  • nbt set <nbt> ==>  Remplace les tag NBT de l'objet par ceux indiqué. Tous les anciens tag seront donc supprimé.
  • nbt clear ==> Supprime tous les tags nbt de l'objet, c'est à dire également les valeurs de dommages (qui seront, dans Minecraft 1.13, stocké sous forme de tag NBT) ainsi que tous les enchantements.
  • nbt remove <tag> ==> Rien de définitif pour cette commande, la syntaxe n'est pas encore connu, mais c'est une volonté de Dinnerbone d'ajouté cette possibilité
 
  • La taille du stack
La commande /modifyitem permettra également de modifier la taille des stack stockés dans chaque slot d'inventaire.
  • count add <quantité> ==> Ajoute <quantité> d'objet dans le stack
  • count remove <quantité> ==> Supprime <quantité> d'objet dans le stack
  • count set <quantité> ==> Définit la taille du stack à la valeur <quantité>
- Si la taille du stack est supérieur au maximum admissible pour l'objet désigné, la commande échouera
- Les objets non stackable n'accepteront que les valeurs 0 et 1 (au delà la commande échouera), la commande "add" n'est donc pas utilisable sur ces objets.
- Si la taille du stack est de 0, l'objet sera supprimé

  • Les attribues
Dinnerbone souhaite que la commande /modifyitem permettent également de modifier les attribues d'objets, mais pour l'instant les attribues sont plutôt confus dans le jeu, il est donc possible que le concept même d'attribues évolue.


  • L'objet lui même
Et pourquoi ne pas permettre de modifier l'objet lui même ? Cela permettrait de remplacer la commande /replaceitem.
  • replace <objet> ==> Remplace l'objet dans le slot par le nouvel objet <objet>
Rien n'est encore sur sur ce point, mais c'est une proposition de Dinnerbone.

Et pourquoi pas, à l'avenir, permettre de modifier d'autres choses avec la même commande !


Exemples
Voici pour finir quelques exemples d'utilisation pratique de cette commande:

  • /modifyitem entity @a slot weapon.mainhand enchantment set fire_aspect 1 ==> Ajoute l'enchantement Fire aspect (level 1) à l'objet dans la main principal pour tous les joueurs.
  • /modifyitem block 20 80 45 item diamond_sword -1 damage set 0 ==> Restaure la durablité au maximum (damage 0) pour toutes les épées en diamand contenues dans le conteneur (coffre ou autre) situé aux coordonnées 20 80 45.
Cet article a été publié par Tronics, le 2017-11-12 06:50:53. Source
Validé par  Tronics.
Partager :
Commentaires de la news Minecraft
Minecraft 1.13: La commande /modifyitem :
Tronics (administrateur)
le 12/11/2017 à 06:55
Une commande à la fois simple a comprendre, très complète, élégante et évolutive, bravo !
le 12/11/2017 à 09:06
Bon article, mais j'aurai préféré d'abord avoir ce genre d'article sur le nouveau /execute ou le /data, car ce sont des commandes très intéressantes et je pense pas que tout ait été dit dans la news snapshot. Là, c'est frustrant car on ne peut pas tester, et on a le risque que ça change d'ici à ce que la commande arrive. Après ça reste un très bon article.
Ma____estgrande (anonyme)
le 12/11/2017 à 10:02
"Dans Minecraft 1.13, la getion des dommages sera inversé par rapport..."
la getion ??? c'est pas plutôt gestion ?
TheJedi7_offline (anonyme)
le 12/11/2017 à 10:50
Je sens que je vais adorer cette commande, c'est pas mal pour la réalisation de "menus".
@Tronics +1.
le 12/11/2017 à 11:11
Dis-moi @Tronics tu va avoir du boulot sur minecraft.tools non ? x)
le 12/11/2017 à 12:07
Super une nouvelle commande !
La commande modifyitem est quand même une sacrée commande car elle enlève toutes les restrictions sur les enchantements ce qui est cool. Pour ce qui est de la durabilité je ne vois pas l’intérêt de l’inverser
SD00 (anonyme)
le 12/11/2017 à 12:11
C dommage,je connaissait presque toutes les commandes et voilà qu'ils les changent toutes
le 12/11/2017 à 12:47
@franswa > Tout à été dit dans la news précédente. Sinon regarde le github de Dinnerbone ou son post reddit, il explique de façon très précise comment tout marche. Tu peux toujours aller lui demander sur discord (par le biais du discord de reddit r/minecraftcommands), il est très actif.

Et sinon si tu peux tester, il y a très peu de chances que cela change énormément. Depuis qu'il a annoncé le changement des commandes il n'a pas changé execute.
Enfin si au début il avait juste mit /at et /as par exemple et maintenant il a changé ca pour /execute at et /execute as.
En gros, oui les commandes vont encore changer, mais le système sera toujours le même, pas de quoi s'inquiéter.
le 12/11/2017 à 14:30
Encore plus de puissance créatrice que Dinnerbone offre aux joueurs en effet! Un beau cadeau empoisonné qui va nous faire encore passer plus de temps dans Minecraft à tester toutes ces nouvelles possibilités^^.
le 12/11/2017 à 18:35
Intteréssans tous ça...je suis tout excité!!!!!!

Vous devez être connecté pour laisser un commentaire.