On my private (vanilla 1.9) Minecraft server, me and my friends are trying to make custom arrows, such as TNT, ender, high explosive etc. These arrows have NBT data such as a tag "tntarrow" for a TNT arrow. However, when an arrow gets shot, it seems to 'lose' it's NBT data for some reason, so we have no way of telling normal, TNT and ender arrows apart in the air.
Is there any way of working out what kind of arrow (normal, TNT, ender etc) an arrow is while flying, so that when arrows land I can apply my own commands to activate the custom arrow's effects? I'm happy to re-purpose tipped arrows that give buffs (strength, speed, healing etc) if that is possible.
Just to clarify, if I give a player an arrow with a tag "tntarrow", like so:
/give player arrow 1 0 {Tags:["tntarrow"]}
Then, when it's shot, this selector doesn't work:
@e[type=Arrow,tag=tntarrow]
So, I would like to have some way of having only certain arrows being selected.
If it is possible to re-purpose tipped arrows, then I would also like to know how to do that. (For me to re-purpose them, I need to remove potion effects and have a way of selecting them.)