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.gamepedia.com/Enchanting
- Version:
- 2.3.0
- Author:
- Crypto Morin
- See Also:
-
Enchantment
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescription -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Set<org.bukkit.entity.EntityType>Entity types thatDAMAGE_ARTHROPODSenchantment is effective against.static final Set<org.bukkit.entity.EntityType>Entity types thatDAMAGE_UNDEADenchantment is effective against.static final XEnchantment[]Cached list ofvalues()to avoid allocating memory for -
Method Summary
Modifier and TypeMethodDescriptionstatic org.bukkit.inventory.ItemStackaddEnchantFromString(org.bukkit.inventory.ItemStack item, String enchantment) Adds an unsafe enchantment to the given item from a string.org.bukkit.inventory.ItemStackgetBook(int level) Gets the enchanted book of this enchantment.org.bukkit.enchantments.EnchantmentParse the Vanilla enchantment.static booleanisArthropodsEffectiveAgainst(org.bukkit.entity.EntityType type) Checks ifBane of Arthropodsis effective against this type of mob.static booleanisSmiteEffectiveAgainst(org.bukkit.entity.EntityType type) Checks ifSmiteis effective against this type of mob.booleanChecks 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 XEnchantmentmatchXEnchantment(org.bukkit.enchantments.Enchantment enchantment) Gets an enchantment from Vanilla and bukkit names.toString()In most cases you should be usingEnum.name()instead.static XEnchantmentReturns 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_UNDEADenchantment is effective against. This set is unmodifiable.- Since:
- 1.2.0
-
EFFECTIVE_BANE_OF_ARTHROPODS_ENTITIES
Entity types thatDAMAGE_ARTHROPODSenchantment 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 ifSmiteis 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 Arthropodsis 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
-
addEnchantFromString
@Nonnull public static org.bukkit.inventory.ItemStack addEnchantFromString(@Nonnull org.bukkit.inventory.ItemStack item, @Nullable 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
ItemStackor the item itself without enchantment added if enchantment type is null. - Since:
- 1.0.0
- See Also:
-
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
-
toString
In most cases you should be usingEnum.name()instead.- Overrides:
toStringin classEnum<XEnchantment>- Returns:
- a friendly readable string name.
-