Minecraft – command that detects if a player has an effect

minecraft-commandsminecraft-java-edition

I am building a map and I need a command that detects when a player (preferably in a certain team) has an effect. The effect I will be detecting is STRENGTH 255. I already tried this command: /execute if entity @a[nbt={ActiveEffects:[{Id:5b, Amplifier: 255b}]}], and ran a comparator off of it, but it didn't seem to work. I also set the command block to repeat and always active. All feedback is appreciated.

Best Answer

Why Doesn’t it Work

Minecraft Java ActiveEffects tag is written as a byte, and values over 127 will wrap around to -127. This means that level 128 is actually -127. 255 is actually -1.

Solution

Try this:

/execute if entity @a[nbt={ActiveEffects:[{Id:5b, Amplifier: -1b}]}]