Enum XPotion

java.lang.Object
java.lang.Enum<XPotion>
com.cryptomorin.xseries.XPotion
All Implemented Interfaces:
Serializable, Comparable<XPotion>, java.lang.constant.Constable

public enum XPotion
extends Enum<XPotion>
Potion type support for multiple aliases. Uses EssentialsX potion list for aliases.

Duration: The duration of the effect in ticks. Values 0 or lower are treated as 1. Optional, and defaults to 1 tick. Amplifier: The amplifier of the effect, with level I having value 0. Optional, and defaults to level I.

EssentialsX Potions: https://github.com/EssentialsX/Essentials/blob/2.x/Essentials/src/com/earth2me/essentials/Potions.java Status Effect: https://minecraft.gamepedia.com/Status_effect Potions: https://minecraft.gamepedia.com/Potion

Version:
1.1.2
Author:
Crypto Morin
See Also:
PotionEffect, PotionEffectType, PotionType
  • Enum Constant Details

  • Field Details

    • VALUES

      public static final EnumSet<XPotion> VALUES
      Cached list of values() to avoid allocating memory for calling the method every time. This set is mutable for performance, but do not change the elements.
      Since:
      1.0.0
    • DEBUFFS

      public static final EnumSet<XPotion> DEBUFFS
  • Method Details

    • values

      public static XPotion[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static XPotion valueOf​(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • matchXPotion

      @Nonnull public static Optional<XPotion> matchXPotion​(@Nonnull String potion)
      Parses a potion effect type from the given string. Supports type IDs.
      Parameters:
      potion - the type of the type's ID of the potion effect type.
      Returns:
      a potion effect type.
      Since:
      1.0.0
    • matchXPotion

      @Nonnull public static XPotion matchXPotion​(@Nonnull org.bukkit.potion.PotionEffectType type)
      Parses the XPotion for this potion effect.
      Parameters:
      type - the potion effect type.
      Returns:
      the XPotion of this potion effect.
      Throws:
      IllegalArgumentException - may be thrown as an unexpected exception.
      Since:
      1.0.0
    • parsePotionEffectFromString

      @Nullable public static org.bukkit.potion.PotionEffect parsePotionEffectFromString​(@Nullable String potion)
      Parse a PotionEffect from a string, usually from config. Supports potion type IDs.
           WEAKNESS, 30, 1
           SLOWNESS 200 10
           1, 10000, 100
       
      Parameters:
      potion - the potion string to parse.
      Returns:
      a potion effect, or null if the potion type is wrong.
      Since:
      1.0.0
      See Also:
      parsePotion(int, int)
    • addPotionEffectsFromString

      public static void addPotionEffectsFromString​(@Nonnull org.bukkit.entity.Player player, @Nonnull List<String> effects)
      Add a list of potion effects to a player from a string list, usually from config.
      Parameters:
      player - the player to add potion effects to.
      effects - the list of potion effects to parse and add to the player.
      Since:
      1.0.0
      See Also:
      parsePotionEffectFromString(String)
    • throwPotion

      @Nonnull public static org.bukkit.entity.ThrownPotion throwPotion​(@Nonnull org.bukkit.entity.LivingEntity entity, @Nullable org.bukkit.Color color, @Nullable org.bukkit.potion.PotionEffect... effects)
      Throws a splash potion from the target entity. This method is only compatible for 1.9+
      Parameters:
      entity - the entity to throw the potion from.
      color - the color of the potion's bottle.
      effects - the effects of the potion.
      Returns:
      a thrown splash potion.
      Since:
      1.0.0
    • buildItemWithEffects

      @Nonnull public static org.bukkit.inventory.ItemStack buildItemWithEffects​(@Nonnull org.bukkit.Material type, @Nullable org.bukkit.Color color, @Nullable org.bukkit.potion.PotionEffect... effects)
      Builds an item with the given type, color and effects. This method is only compatible for 1.9+

      The item type must be one of the following:

           Material.POTION
           Material.SPLASH_POTION
           Material.LINGERING_POTION
           Material.TIPPED_ARROW
       
      Parameters:
      type - the type of the potion.
      color - the color of the potion's bottle.
      effects - the effects of the potion.
      Returns:
      an item with the specified effects.
      Since:
      1.0.0
    • canHaveEffects

      public static boolean canHaveEffects​(@Nullable org.bukkit.Material material)
      Checks if a material is a potion. This method does not check for LEGACY materials. You should avoid using them or use XMaterial instead.
      Parameters:
      material - the material to check.
      Returns:
      true if the material is a potion, otherwise false.
      Since:
      1.0.0
    • parsePotionEffectType

      @Nullable public org.bukkit.potion.PotionEffectType parsePotionEffectType()
      Parses the potion effect type.
      Returns:
      the parsed potion effect type.
      Since:
      1.0.0
      See Also:
      getPotionType()
    • isSupported

      public boolean isSupported()
      Checks if this potion is supported in the current Minecraft version.

      An invocation of this method yields exactly the same result as the expression:

      parsePotionEffectType() != null
      Returns:
      true if the current version has this potion effect type, otherwise false.
      Since:
      1.0.0
    • getPotionType

      @Nullable @Deprecated public org.bukkit.potion.PotionType getPotionType()
      Deprecated.
      not for removal. Use PotionEffectType instead.
      Gets the PotionType from this PotionEffectType. Usually for potion items.
      Returns:
      a potion type for potions.
      Since:
      1.0.0
      See Also:
      parsePotionEffectType()
    • parsePotion

      @Nullable public org.bukkit.potion.PotionEffect parsePotion​(int duration, int amplifier)
      Builds a potion effect with the given duration and amplifier.
      Parameters:
      duration - the duration of the potion effect.
      amplifier - the amplifier of the potion effect.
      Returns:
      a potion effect.
      Since:
      1.0.0
      See Also:
      parsePotionEffectFromString(String)
    • getAliases

      @Nonnull public String[] getAliases()
    • toString

      public String toString()
      In most cases your should be using Enum.name() instead.
      Overrides:
      toString in class Enum<XPotion>
      Returns:
      a friendly readable string name.