Class PotionEffectType

java.lang.Object
org.bukkit.potion.PotionEffectType
All Implemented Interfaces:
net.kyori.adventure.key.Keyed, Translatable, Keyed
Direct Known Subclasses:
PotionEffectTypeWrapper

public abstract class PotionEffectType extends Object implements Keyed, Translatable
Represents a type of potion and its effect on an entity.
  • Field Details

    • SPEED

      public static final PotionEffectType SPEED
      Increases movement speed.
    • SLOW

      public static final PotionEffectType SLOW
      Decreases movement speed.
    • FAST_DIGGING

      public static final PotionEffectType FAST_DIGGING
      Increases dig speed.
    • SLOW_DIGGING

      public static final PotionEffectType SLOW_DIGGING
      Decreases dig speed.
    • INCREASE_DAMAGE

      public static final PotionEffectType INCREASE_DAMAGE
      Increases damage dealt.
    • HEAL

      public static final PotionEffectType HEAL
      Heals an entity.
    • HARM

      public static final PotionEffectType HARM
      Hurts an entity.
    • JUMP

      public static final PotionEffectType JUMP
      Increases jump height.
    • CONFUSION

      public static final PotionEffectType CONFUSION
      Warps vision on the client.
    • REGENERATION

      public static final PotionEffectType REGENERATION
      Regenerates health.
    • DAMAGE_RESISTANCE

      public static final PotionEffectType DAMAGE_RESISTANCE
      Decreases damage dealt to an entity.
    • FIRE_RESISTANCE

      public static final PotionEffectType FIRE_RESISTANCE
      Stops fire damage.
    • WATER_BREATHING

      public static final PotionEffectType WATER_BREATHING
      Allows breathing underwater.
    • INVISIBILITY

      public static final PotionEffectType INVISIBILITY
      Grants invisibility.
    • BLINDNESS

      public static final PotionEffectType BLINDNESS
      Blinds an entity.
    • NIGHT_VISION

      public static final PotionEffectType NIGHT_VISION
      Allows an entity to see in the dark.
    • HUNGER

      public static final PotionEffectType HUNGER
      Increases hunger.
    • WEAKNESS

      public static final PotionEffectType WEAKNESS
      Decreases damage dealt by an entity.
    • POISON

      public static final PotionEffectType POISON
      Deals damage to an entity over time.
    • WITHER

      public static final PotionEffectType WITHER
      Deals damage to an entity over time and gives the health to the shooter.
    • HEALTH_BOOST

      public static final PotionEffectType HEALTH_BOOST
      Increases the maximum health of an entity.
    • ABSORPTION

      public static final PotionEffectType ABSORPTION
      Increases the maximum health of an entity with health that cannot be regenerated, but is refilled every 30 seconds.
    • SATURATION

      public static final PotionEffectType SATURATION
      Increases the food level of an entity each tick.
    • GLOWING

      public static final PotionEffectType GLOWING
      Outlines the entity so that it can be seen from afar.
    • LEVITATION

      public static final PotionEffectType LEVITATION
      Causes the entity to float into the air.
    • LUCK

      public static final PotionEffectType LUCK
      Loot table luck.
    • UNLUCK

      public static final PotionEffectType UNLUCK
      Loot table unluck.
    • SLOW_FALLING

      public static final PotionEffectType SLOW_FALLING
      Slows entity fall rate.
    • CONDUIT_POWER

      public static final PotionEffectType CONDUIT_POWER
      Effects granted by a nearby conduit. Includes enhanced underwater abilities.
    • DOLPHINS_GRACE

      public static final PotionEffectType DOLPHINS_GRACE
      Increses underwater movement speed.
      Squee'ek uh'k kk'kkkk squeek eee'eek.
    • BAD_OMEN

      public static final PotionEffectType BAD_OMEN
      Triggers a raid when the player enters a village.
      oof.
    • HERO_OF_THE_VILLAGE

      public static final PotionEffectType HERO_OF_THE_VILLAGE
      Reduces the cost of villager trades.
      \o/.
    • DARKNESS

      public static final PotionEffectType DARKNESS
      Causes the player's vision to dim occasionally.
  • Constructor Details

    • PotionEffectType

      public PotionEffectType()
  • Method Details

    • createEffect

      @NotNull public abstract @NotNull PotionEffect createEffect(int duration, int amplifier)
      Creates a PotionEffect from this PotionEffectType, applying duration modifiers and checks.
      Parameters:
      duration - time in ticks
      amplifier - the effect's amplifier
      Returns:
      a resulting potion effect
      See Also:
    • isInstant

      public abstract boolean isInstant()
      Returns whether the effect of this type happens once, immediately.
      Returns:
      whether this type is normally instant
    • getColor

      @NotNull public abstract @NotNull Color getColor()
      Returns the color of this effect type.
      Returns:
      the color
    • getDurationModifier

      @Deprecated public abstract double getDurationModifier()
      Deprecated.
      unused, always 1.0
      Returns the duration modifier applied to effects of this type.
      Returns:
      duration modifier
    • getId

      @Deprecated(forRemoval=true, since="1.20.2") public abstract int getId()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the unique ID of this type.
      Returns:
      Unique ID
    • getName

      @NotNull @Deprecated public abstract @NotNull String getName()
      Deprecated.
      only for backwards compatibility, use Keyed.getKey() instead.
      Returns the name of this effect type.
      Returns:
      The name of this effect type
    • getByKey

      Deprecated.
      only for backwards compatibility, use Registry.get(NamespacedKey) instead.
      Gets the PotionEffectType at the specified key
      Parameters:
      key - key to fetch
      Returns:
      Resulting PotionEffectType, or null if not found
    • getById

      @Internal @Nullable public static @Nullable PotionEffectType getById(int id)
      Gets the effect type specified by the unique id.
      Parameters:
      id - Unique ID to fetch
      Returns:
      Resulting type, or null if not found.
      API Note:
      Internal Use Only
    • getByName

      Deprecated.
      only for backwards compatibility, use Registry.get(NamespacedKey) instead.
      Gets the effect type specified by the given name.
      Parameters:
      name - Name of PotionEffectType to fetch
      Returns:
      Resulting PotionEffectType, or null if not found.
    • values

      @NotNull @Deprecated public static @NotNull PotionEffectType[] values()
      Deprecated.
      Returns:
      an array of all known PotionEffectTypes.
    • getEffectAttributes

      @NotNull public abstract Map<Attribute,AttributeModifier> getEffectAttributes()
      Gets the effect attributes in an immutable map.
      Returns:
      the attribute map
    • getAttributeModifierAmount

      public abstract double getAttributeModifierAmount(@NotNull Attribute attribute, int effectAmplifier)
      Gets the true modifier amount based on the effect amplifier.
      Parameters:
      attribute - the attribute
      effectAmplifier - the effect amplifier (0 indexed)
      Returns:
      the modifier amount
      Throws:
      IllegalArgumentException - if the supplied attribute is not present in the map from getEffectAttributes()
    • getEffectCategory

      @NotNull public abstract PotionEffectType.Category getEffectCategory()
      Gets the category of this effect
      Returns:
      the category