Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en
devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs
Il y a quelques jours
Dinnerbone annonçait la suppression de la commande , 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 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.
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 il n'y aura pas de restriction sur les enchantements affectables, il sera possible par exemple d'ajouter l'enchantement sur un .
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.
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.
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 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é
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.
Et pourquoi ne pas permettre de modifier l'objet lui même ? Cela permettrait de remplacer la commande .
-
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 (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 contenues dans le conteneur (coffre ou autre) situé aux coordonnées 20 80 45.
Minecraft 1.13: La commande /modifyitem :