Is it possible to target entities with potion effects through any command?
I was screwing around and attempting to make a mechanism where if a player shoots an entity with a special arrow (that gives a potion effect as a marker), and then activates another command block, it would kill all entities with that potion effect. After searching extensively, I couldn't find any nbt effect that I could use to kill entities with a potion effect, and there most certainly was not any other argument after @e[, so is there any nbt effect to target it, or any other way that I overlooked?
I found an old answer suggesting scoreboard functions, but it seems to be outdated and have the same issue (commands not being able to discriminate/select entities based on active effects, as far as I can find).
The NBT tag you're looking for is ActiveEffects
. For example, if you shoot a mob with a spectral arrow, it gets this NBT tag:
ActiveEffects:[{Id:24b,Duration:200,Amplifier:0b,Ambient:0b,ShowParticles:1b,ShowIcon:1b}]
So you can target every mob with the glowing effect like this:
@e[nbt={ActiveEffects:[{Id:24b}]}]
Unlike when setting NBT, you have to be exact when reading NBT, so you need the b
.
The number is the numerical effect ID (archive).