1 votes

Comment supprimer des éléments NBT spécifiques de l'inventaire du joueur sans packs de données ?

J'ai créé un mini-jeu à niveaux, et à chaque niveau, il vérifie votre inventaire, et s'assure que vous n'avez pas d'objets interdits. Je rends les objets interdits en leur ajoutant une étiquette : discard:1b . Tous les objets qui doivent être retirés de l'inventaire à la fin de chaque niveau portent cette étiquette et sont donc mis au rebut.

J'ai ensuite commencé à travailler sur la commande clear, et j'ai découvert qu'il n'est pas possible de supprimer des éléments sur la base du NBT, mais seulement par élément, bien que vous puissiez ajouter une spécification NBT aux éléments par la suite.

J'ai alors vu cette réponse Je me suis enthousiasmé, puis j'ai réalisé qu'il utilisait des paquets de données, ce qui n'est pas une option pour moi.
J'ai regardé un peu plus, et j'ai découvert ce qui avait un problème très similaire au mien, mais dont la seule réponse était quelque chose que je savais déjà faire, et ce n'était pas suffisant.

1voto

pppery Points 3211

Vous pouvez le faire en utilisant /replaceitem et une technique similaire à celle décrite dans La réponse de Fabian Röling à cette question connexe :

/execute if entity @s[nbt={Inventory:[{Slot:0b,tag:{discard:1b}}]}] run replaceitem entity @s hotbar.0 air
…
/execute if entity @s[nbt={Inventory:[{Slot:8b,tag:{discard:1b}}]}] run replaceitem entity @s hotbar.8 air
/execute if entity @s[nbt={Inventory:[{Slot:9b,tag:{discard:1b}}]}] run replaceitem entity @s inventory.0 air
…
/execute if entity @s[nbt={Inventory:[{Slot:35b,tag:{discard:1b}}]}] run replaceitem entity @s inventory.26 air
/execute if entity @s[nbt={Inventory:[{Slot:-106b,tag:{discard:1b}}]}] run replaceitem entity @s weapon.offhand air

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X