Commands/effect

Add or remove status effects on players and other entities.

Syntax

 * Java Edition
 * Removes an effect.
 * Gives an effect.
 * Gives an effect.
 * Gives an effect.


 * Bedrock Edition
 * Removes all effects.
 * Gives or removes an effect.
 * Gives or removes an effect.
 * Gives or removes an effect.

Arguments

 * Specifies the target(s). $$, if not specified, defaults to the player who executes the command.


 * Specifies the effect to be added or removed.


 * Specifies the effect's duration in seconds (or in gameticks for,  , and  ). If not specified, defaults to 30 seconds (or 1 gameticks for  ,  , and  ). In Java Edition, any duration greater than or equal to 1639 will display as '**:**' in the player's inventory (while still counting down).
 * $$, it must be between 0 and 2147483647 (inclusive), and values higher than 1000000 are treated as 1000000.


 * Specifies the number of additional levels to add to the effect. If not specified, defaults to 0. Note that the first tier of a status effect (e.g. Regeneration I) is 0, so the second tier, for example Regeneration II, would be specified by an amplifier level of 1.
 * And it must be between 0 and 255 (inclusive).


 * Specifies whether the particles and the HUD indicator of the status effect should be hidden. If not specified, defaults to.

Note

 * $$, if a target already has a status effect with the same id, a new effect only with a longer duration or a higher amplifier can be added.
 * If the new effect has a higher amplifier and a shorter duration, the original effect will be hidden.
 * If the new effect has a lower amplifier and a longer duration, the new effect will be hidden.
 * If their "hideParticles" values are different, the active effect's value will be set to the specified value.
 * Otherwise, the original active effect will be replaced by the new effect, without changing hidden effects.
 * Only if the active effect is changed does the command succeed, no matter whether the hidden effects are changed or not.


 * $$, if a target already has the status effect, a new status effect with the same amplifier overrides the old duration if it is longer, but a new status effect with a higher amplifier overrides any previous effect.
 * $$, no matter whether the new effect can override the original effect, "hideParticles" value is always applied.
 * $$, if the player uses an NBT editor to get negative levels of effects, the level of the effect jumps to 255 instead.

Examples

 * To grant a Resistance V effect to the current entity for 1 million seconds, hiding particles:  or
 * To grant a Speed II effect to the nearest player for 60 seconds:  or
 * To grant a Speed III effect to the nearest player for 60 seconds:  or
 * To clear any Haste effects from all players:  or
 * To clear all effects from all zombies:  or