Enum XEnchantment

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

public enum XEnchantment extends Enum<XEnchantment>
Enchantment support with multiple aliases. Uses EssentialsX enchantment list for aliases. Enchantment levels do not start from 0, they start from 1

EssentialsX Enchantment: https://github.com/Bukkit/Bukkit/blob/master/src/main/java/org/bukkit/enchantments/Enchantment.java Enchantment: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html Enchanting: https://minecraft.wiki/w/Enchanting

Version:
3.0.0
Author:
Crypto Morin
See Also:
  • Enchantment
  • Enum Constant Details

  • Field Details

    • VALUES

      public static final XEnchantment[] VALUES
      Cached list of values() to avoid allocating memory for
      Since:
      1.0.0
    • EFFECTIVE_SMITE_ENTITIES

      public static final Set<org.bukkit.entity.EntityType> EFFECTIVE_SMITE_ENTITIES
      Entity types that SMITE enchantment is effective against. This set is unmodifiable.
      Since:
      1.2.0
    • EFFECTIVE_BANE_OF_ARTHROPODS_ENTITIES

      public static final Set<org.bukkit.entity.EntityType> EFFECTIVE_BANE_OF_ARTHROPODS_ENTITIES
      Entity types that BANE_OF_ARTHROPODS enchantment is effective against. This set is unmodifiable.
      Since:
      1.2.0
  • Method Details

    • values

      public static XEnchantment[] 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 XEnchantment 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
    • isSmiteEffectiveAgainst

      public static boolean isSmiteEffectiveAgainst(@Nullable org.bukkit.entity.EntityType type)
      Checks if Smite is effective against this type of mob.
      Parameters:
      type - the type of the mob.
      Returns:
      true if smite enchantment is effective against the mob, otherwise false.
      Since:
      1.1.0
    • isArthropodsEffectiveAgainst

      public static boolean isArthropodsEffectiveAgainst(@Nullable org.bukkit.entity.EntityType type)
      Checks if Bane of Arthropods is effective against this type of mob.
      Parameters:
      type - the type of the mob.
      Returns:
      true if Bane of Arthropods enchantment is effective against the mob, otherwise false.
      Since:
      1.1.0
    • matchXEnchantment

      @Nonnull public static Optional<XEnchantment> matchXEnchantment(@Nonnull String enchantment)
      Gets an enchantment from Vanilla and bukkit names. There are also some aliases available.
      Parameters:
      enchantment - the name of the enchantment.
      Returns:
      an enchantment.
      Since:
      1.0.0
    • matchXEnchantment

      @Nonnull public static XEnchantment matchXEnchantment(@Nonnull org.bukkit.enchantments.Enchantment enchantment)
      Gets an enchantment from Vanilla and bukkit names. There are also some aliases available.
      Parameters:
      enchantment - the enchantment.
      Returns:
      an enchantment.
      Throws:
      IllegalArgumentException - may be thrown as an unexpected exception.
      Since:
      1.0.0
    • getBook

      @Nonnull public org.bukkit.inventory.ItemStack getBook(int level)
      Gets the enchanted book of this enchantment.
      Parameters:
      level - the level of this enchantment.
      Returns:
      an enchanted book.
      Since:
      1.0.0
    • getEnchant

      @Nullable public org.bukkit.enchantments.Enchantment getEnchant()
      Parse the Vanilla enchantment.
      Returns:
      a Vanilla enchantment.
      Since:
      1.0.0
    • isSupported

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

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

      getEnchant() != null
      Returns:
      true if the current version has this enchantment, otherwise false.
      Since:
      1.0.0
    • or

      @Nullable public XEnchantment or(@Nullable XEnchantment alternateEnchantment)
      Checks if this enchantment is supported in the current version and returns itself if yes.

      In the other case, the alternate enchantment will get returned, no matter if it is supported or not.

      Parameters:
      alternateEnchantment - the enchantment to get if this one is not supported.
      Returns:
      this enchantment or the alternateEnchantment if not supported.
    • toString

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