4 votes

Minecraft - Comment sélectionner les flèches volantes en NBT les données qui leur sont données sous forme d'éléments

Sur mon serveur Minecraft privé (vanilla 1.9), mes amis et moi essayons de créer des flèches personnalisées, telles que TNT, ender, high explosive, etc. Ces flèches ont des données NBT comme un tag "tntarrow" pour une flèche TNT. Cependant, lorsqu'une flèche est tirée, elle semble "perdre" ses données NBT pour une raison quelconque, de sorte que nous n'avons aucun moyen de distinguer les flèches normales, TNT et ender dans l'air.

Existe-t-il un moyen de savoir quel type de flèche (normale, TNT, ender, etc.) est une flèche en vol, de sorte que lorsque les flèches atterrissent, je puisse appliquer mes propres commandes pour activer les effets de la flèche personnalisée ? Je serais heureux de réutiliser les flèches à pointe qui donnent des buffs (force, vitesse, soins etc.) si c'est possible.

Juste pour clarifier, si je donne à un joueur une flèche avec une étiquette "tntarrow", comme ceci :

/give player arrow 1 0 {Tags:["tntarrow"]}

Puis, au moment de la prise de vue, ce sélecteur ne fonctionne pas :

@e[type=Arrow,tag=tntarrow]

J'aimerais donc avoir un moyen de ne sélectionner que certaines flèches.

S'il est possible de réutiliser des flèches à pointe, j'aimerais aussi savoir comment faire. (Pour que je puisse les réutiliser, il faut que je supprime les effets des potions et que j'aie un moyen de les sélectionner).

6voto

Skylinerw Points 12529

Ajout de Tags à l'élément ne sera pas défini comme l'élément de l'entité. Tags données. Toutes les données de l'élément lui-même seront perdues, à l'exception de Potion y CustomPotionEffects qui sont copiés sur l'entité flèche si elle existe.

Les flèches à pointe seront nécessaires, mais vous pouvez appliquer des effets personnalisés pour réduire les problèmes si elles touchent un joueur ou un mob, par exemple en réglant la durée à 0. Actuellement, l'effet de guérison instantanée ne fonctionne pas sur les flèches à pointe, mais vous devrez peut-être passer à autre chose si cela fonctionne à l'avenir.

L'amplificateur serait de savoir comment différencier les flèches les unes des autres.

Flèches d'exemple à fournir :

/give @p minecraft:tipped_arrow 64 0 {CustomPotionEffects:[{Id:6b,Duration:0,Amplifier:0b}]}

/give @p minecraft:tipped_arrow 64 0 {CustomPotionEffects:[{Id:6b,Duration:0,Amplifier:1b}]}

Ensuite, il faut étiqueter ces flèches en fonction des effets qu'elles produisent, l'amplificateur rendant chaque flèche unique :

/scoreboard players tag @e[type=Arrow,tag=!tntarrow] add tntarrow {CustomPotionEffects:[{Id:6b,Duration:0,Amplifier:0b}]}

/scoreboard players tag @e[type=Arrow,tag=!custom2] add custom2 {CustomPotionEffects:[{Id:6b,Duration:0,Amplifier:1b}]}

Et enfin, ciblez en fonction de cette étiquette :

/say @e[type=Arrow,tag=tntarrow] is a "tntarrow".

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