Package com.cryptomorin.xseries
Enum XEnchantment
- All Implemented Interfaces:
Serializable
,Comparable<XEnchantment>
,java.lang.constant.Constable
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.gamepedia.com/Enchanting
- Version:
- 1.1.0
- Author:
- Crypto Morin
- See Also:
Enchantment
-
Nested Class Summary
-
Enum Constant Summary
-
Field Summary
Fields Modifier and Type Field Description static EnumSet<XEnchantment>
VALUES
An immutable cached list ofvalues()
to avoid allocating memory for calling the method every time. -
Method Summary
Modifier and Type Method Description static org.bukkit.inventory.ItemStack
addEnchantFromString(org.bukkit.inventory.ItemStack item, String enchantment)
Adds an unsafe enchantment to the given item from a string.String[]
getAliases()
org.bukkit.inventory.ItemStack
getBook(int level)
Gets the enchanted book of this enchantment.String
getVanillaName()
Gets the Minecraft Vanilla name of this enchantment.static boolean
isArthropodsEffectiveAgainst(org.bukkit.entity.EntityType type)
Checks ifBane of Arthropods
is effective against this type of mob.static boolean
isSmiteEffectiveAgainst(org.bukkit.entity.EntityType type)
Checks ifSmite
is effective against this type of mob.boolean
isSupported()
Checks if this enchantment is supported and registered in the current Minecraft version.static Optional<XEnchantment>
matchXEnchantment(String enchantment)
Gets an enchantment from Vanilla and bukkit names.static XEnchantment
matchXEnchantment(org.bukkit.enchantments.Enchantment enchantment)
Gets an enchantment from Vanilla and bukkit names.org.bukkit.enchantments.Enchantment
parseEnchantment()
Parse the Vanilla enchantment.String
toString()
In most cases your should be usingEnum.name()
instead.static XEnchantment
valueOf(String name)
Returns the enum constant of this type with the specified name.static XEnchantment[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
ARROW_DAMAGE
-
ARROW_FIRE
-
ARROW_INFINITE
-
ARROW_KNOCKBACK
-
BINDING_CURSE
-
CHANNELING
-
DAMAGE_ALL
-
DAMAGE_ARTHROPODS
-
DAMAGE_UNDEAD
-
DEPTH_STRIDER
-
DIG_SPEED
-
DURABILITY
-
FIRE_ASPECT
-
FROST_WALKER
-
IMPALING
-
SOUL_SPEED
-
KNOCKBACK
-
LOOT_BONUS_BLOCKS
-
LOOT_BONUS_MOBS
-
LOYALTY
-
LUCK
-
LURE
-
MENDING
-
MULTISHOT
-
OXYGEN
-
PIERCING
-
PROTECTION_ENVIRONMENTAL
-
PROTECTION_EXPLOSIONS
-
PROTECTION_FALL
-
PROTECTION_FIRE
-
PROTECTION_PROJECTILE
-
QUICK_CHARGE
-
RIPTIDE
-
SILK_TOUCH
-
SWEEPING_EDGE
-
THORNS
-
VANISHING_CURSE
-
WATER_WORKER
-
-
Field Details
-
Method Details
-
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
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 nameNullPointerException
- if the argument is null
-
isSmiteEffectiveAgainst
public static boolean isSmiteEffectiveAgainst(org.bukkit.entity.EntityType type)Checks ifSmite
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(org.bukkit.entity.EntityType type)Checks ifBane 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
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 unexpeceted exception.- Since:
- 1.0.0
-
addEnchantFromString
@Nonnull public static org.bukkit.inventory.ItemStack addEnchantFromString(org.bukkit.inventory.ItemStack item, String enchantment)Adds an unsafe enchantment to the given item from a string.ItemStack item = ...; addEnchantFromString(item, "unbreaking, 10"); addEnchantFromString(item, "mending");
Note that if you set your item's meta
ItemStack.setItemMeta(ItemMeta)
the enchantment will be removed. You need to useItemMeta.addEnchant(Enchantment, int, boolean)
instead. You can use thematchXEnchantment(String)
method in this case.- Parameters:
item
- the item to add the enchantment to.enchantment
- the enchantment string containing the enchantment name and level (optional)- Returns:
- an enchanted
ItemStack
or the item itself without enchantment added if enchantment type is null. - Since:
- 1.0.0
- See Also:
matchXEnchantment(String)
-
getBook
Gets the enchanted book of this enchantment.- Parameters:
level
- the level of this enchantment.- Returns:
- an enchanted book.
- Since:
- 1.0.0
-
getVanillaName
Gets the Minecraft Vanilla name of this enchantment.- Returns:
- the Minecraft Vanilla name.
- Since:
- 1.0.0
- See Also:
Enchantment.getByKey(NamespacedKey)
-
parseEnchantment
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:
parseEnchantment()
!= null- Returns:
- true if the current version has this enchantment, otherwise false.
- Since:
- 1.0.0
-
getAliases
-
toString
In most cases your should be usingEnum.name()
instead.- Overrides:
toString
in classEnum<XEnchantment>
- Returns:
- a friendly readable string name.
-