diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java index 7feeb33f..8b4032c8 100644 --- a/src/main/java/org/bukkit/potion/PotionEffectType.java +++ b/src/main/java/org/bukkit/potion/PotionEffectType.java @@ -249,6 +249,14 @@ public abstract class PotionEffectType implements Keyed, Translatable { */ public abstract boolean isInstant(); + /** + * Returns the {@link PotionEffectTypeCategory category} of this effect type. + * + * @return the category + */ + @NotNull + public abstract PotionEffectTypeCategory getCategory(); + /** * Returns the color of this effect type. * diff --git a/src/main/java/org/bukkit/potion/PotionEffectTypeCategory.java b/src/main/java/org/bukkit/potion/PotionEffectTypeCategory.java new file mode 100644 index 00000000..15a55a57 --- /dev/null +++ b/src/main/java/org/bukkit/potion/PotionEffectTypeCategory.java @@ -0,0 +1,24 @@ +package org.bukkit.potion; + +/** + * Represents a category of {@link PotionEffectType} and its effect on an entity. + */ +public enum PotionEffectTypeCategory { + + /** + * Beneficial effects that positively impact an entity, such as Regeneration, + * Absorption, or Fire Resistance. + */ + BENEFICIAL, + /** + * Harmful effects that negatively impact an entity, such as Blindness, Wither, + * or Levitation. + */ + HARMFUL, + /** + * Neutral effects that have neither a positive nor negative effect on an + * entity, such as Glowing or Bad Omen. + */ + NEUTRAL; + +}