Package com.cryptomorin.xseries
Enum XEnchantment
- All Implemented Interfaces:
Serializable
,Comparable<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:
- 2.3.0
- Author:
- Crypto Morin
- See Also:
-
Enchantment
-
Enum Constant Summary
Enum ConstantDescription -
Field Summary
Modifier and TypeFieldDescriptionstatic final Set<org.bukkit.entity.EntityType>
Entity types thatDAMAGE_ARTHROPODS
enchantment is effective against.static final Set<org.bukkit.entity.EntityType>
Entity types thatDAMAGE_UNDEAD
enchantment is effective against.static final XEnchantment[]
Cached list ofvalues()
to avoid allocating memory for -
Method Summary
Modifier and TypeMethodDescriptionorg.bukkit.inventory.ItemStack
getBook
(int level) Gets the enchanted book of this enchantment.org.bukkit.enchantments.Enchantment
Parse the Vanilla 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
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.or
(XEnchantment alternateEnchantment) Checks if this enchantment is supported in the current version and returns itself if yes.toString()
In most cases you should be usingEnum.name()
instead.static XEnchantment
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
-
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
-
SOUL_SPEED
-
SWEEPING_EDGE
-
SWIFT_SNEAK
-
THORNS
-
VANISHING_CURSE
-
WATER_WORKER
-
-
Field Details
-
VALUES
Cached list ofvalues()
to avoid allocating memory for- Since:
- 1.0.0
-
EFFECTIVE_SMITE_ENTITIES
Entity types thatDAMAGE_UNDEAD
enchantment is effective against. This set is unmodifiable.- Since:
- 1.2.0
-
EFFECTIVE_BANE_OF_ARTHROPODS_ENTITIES
Entity types thatDAMAGE_ARTHROPODS
enchantment is effective against. This set is unmodifiable.- Since:
- 1.2.0
-
-
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
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
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 unexpected exception.- Since:
- 1.0.0
-
getBook
Gets the enchanted book of this enchantment.- Parameters:
level
- the level of this enchantment.- Returns:
- an enchanted book.
- Since:
- 1.0.0
-
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
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
In most cases you should be usingEnum.name()
instead.- Overrides:
toString
in classEnum<XEnchantment>
- Returns:
- a friendly readable string name.
-