# Uses of Class
org.bukkit.enchantments.Enchantment

Packages that use Enchantment
Package
Description
org.bukkit
The root package of the Bukkit API, contains generalized API classes.
org.bukkit.enchantments
Classes relating to the specialized enhancements to `item stacks`, as part of the `meta data`.
org.bukkit.event.enchantment
`Events` triggered from an `enchantment table`.
org.bukkit.inventory
Classes involved in manipulating player inventories and item interactions.
org.bukkit.inventory.meta
The interfaces used when manipulating extra data can can be stored inside `item stacks`.

## Uses of Enchantment in org.bukkit

Fields in org.bukkit with type parameters of type Enchantment
Modifier and Type
Field
Description
`static final Registry<Enchantment>`
Registry.`ENCHANTMENT`
Server enchantments.

## Uses of Enchantment in org.bukkit.enchantments

Subclasses of Enchantment in org.bukkit.enchantments
Modifier and Type
Class
Description
`class`
`EnchantmentWrapper`
A simple wrapper for ease of selecting `Enchantment`s
Fields in org.bukkit.enchantments declared as Enchantment
Modifier and Type
Field
Description
`static final Enchantment`
Enchantment.`ARROW_DAMAGE`
Provides extra damage when shooting arrows from bows
`static final Enchantment`
Enchantment.`ARROW_FIRE`
Sets entities on fire when hit by arrows shot from a bow
`static final Enchantment`
Enchantment.`ARROW_INFINITE`
Provides infinite arrows when shooting a bow
`static final Enchantment`
Enchantment.`ARROW_KNOCKBACK`
Provides a knockback when an entity is hit by an arrow from a bow
`static final Enchantment`
Enchantment.`BINDING_CURSE`
Item cannot be removed
`static final Enchantment`
Enchantment.`CHANNELING`
Strikes lightning when a mob is hit with a trident if conditions are stormy
`static final Enchantment`
Enchantment.`DAMAGE_ALL`
Increases damage against all targets
`static final Enchantment`
Enchantment.`DAMAGE_ARTHROPODS`
Increases damage against arthropod targets
`static final Enchantment`
Enchantment.`DAMAGE_UNDEAD`
Increases damage against undead targets
`static final Enchantment`
Enchantment.`DEPTH_STRIDER`
Increases walking speed while in water
`static final Enchantment`
Enchantment.`DIG_SPEED`
Increases the rate at which you mine/dig
`static final Enchantment`
Enchantment.`DURABILITY`
Decreases the rate at which a tool looses durability
`static final Enchantment`
Enchantment.`FIRE_ASPECT`
When attacking a target, has a chance to set them on fire
`static final Enchantment`
Enchantment.`FROST_WALKER`
Freezes any still water adjacent to ice / frost which player is walking on
`static final Enchantment`
Enchantment.`IMPALING`
Deals more damage to mobs that live in the ocean
`static final Enchantment`
Enchantment.`KNOCKBACK`
All damage to other targets will knock them back when hit
`static final Enchantment`
Enchantment.`LOOT_BONUS_BLOCKS`
Provides a chance of gaining extra loot when destroying blocks
`static final Enchantment`
Enchantment.`LOOT_BONUS_MOBS`
Provides a chance of gaining extra loot when killing monsters
`static final Enchantment`
Enchantment.`LOYALTY`
Causes a thrown trident to return to the player who threw it
`static final Enchantment`
Enchantment.`LUCK`
Decreases odds of catching worthless junk
`static final Enchantment`
Enchantment.`LURE`
Increases rate of fish biting your hook
`static final Enchantment`
Enchantment.`MENDING`
Allows mending the item using experience orbs
`static final Enchantment`
Enchantment.`MULTISHOT`
Shoot multiple arrows from crossbows
`static final Enchantment`
Enchantment.`OXYGEN`
Decreases the rate of air loss whilst underwater
`static final Enchantment`
Enchantment.`PIERCING`
Crossbow projectiles pierce entities
`static final Enchantment`
Enchantment.`PROTECTION_ENVIRONMENTAL`
Provides protection against environmental damage
`static final Enchantment`
Enchantment.`PROTECTION_EXPLOSIONS`
Provides protection against explosive damage
`static final Enchantment`
Enchantment.`PROTECTION_FALL`
Provides protection against fall damage
`static final Enchantment`
Enchantment.`PROTECTION_FIRE`
Provides protection against fire damage
`static final Enchantment`
Enchantment.`PROTECTION_PROJECTILE`
Provides protection against projectile damage
`static final Enchantment`
Enchantment.`QUICK_CHARGE`
Charges crossbows quickly
`static final Enchantment`
Enchantment.`RIPTIDE`
When it is rainy, launches the player in the direction their trident is thrown
`static final Enchantment`
Enchantment.`SILK_TOUCH`
Allows blocks to drop themselves instead of fragments (for example, stone instead of cobblestone)
`static final Enchantment`
Enchantment.`SOUL_SPEED`
Walk quicker on soul blocks
`static final Enchantment`
Enchantment.`SWEEPING_EDGE`
Increases damage against targets when using a sweep attack
`static final Enchantment`
Enchantment.`SWIFT_SNEAK`
Walk quicker while sneaking
`static final Enchantment`
Enchantment.`THORNS`
Damages the attacker
`static final Enchantment`
Enchantment.`VANISHING_CURSE`
Item disappears instead of dropping
`static final Enchantment`
Enchantment.`WATER_WORKER`
Increases the speed at which a player may mine underwater
Methods in org.bukkit.enchantments that return Enchantment
Modifier and Type
Method
Description
`static @Nullable Enchantment`
Enchantment.`getByKey(@Nullable NamespacedKey key)`
Gets the Enchantment at the specified key
`static @Nullable Enchantment`
Enchantment.`getByName(@Nullable String name)`
Deprecated.
enchantments are badly named, use `getByKey(org.bukkit.NamespacedKey)`.
`@NotNull Enchantment`
EnchantmentOffer.`getEnchantment()`
Get the type of the enchantment.
`@NotNull Enchantment`
EnchantmentWrapper.`getEnchantment()`
Gets the enchantment bound to this wrapper
`static @NotNull Enchantment[]`
Enchantment.`values()`
Gets an array of all the registered `Enchantment`s
Methods in org.bukkit.enchantments with parameters of type Enchantment
Modifier and Type
Method
Description
`abstract boolean`
Enchantment.`conflictsWith(@NotNull Enchantment other)`
Check if this enchantment conflicts with another enchantment.
`boolean`
EnchantmentWrapper.`conflictsWith(@NotNull Enchantment other)`
`static void`
Enchantment.`registerEnchantment(@NotNull Enchantment enchantment)`
Registers an enchantment with the given ID and object.
`void`
EnchantmentOffer.`setEnchantment(@NotNull Enchantment enchantment)`
Sets the type of the enchantment.
Constructors in org.bukkit.enchantments with parameters of type Enchantment
Modifier
Constructor
Description
``
`EnchantmentOffer(@NotNull Enchantment enchantment, int enchantmentLevel, int cost)`

## Uses of Enchantment in org.bukkit.event.enchantment

Methods in org.bukkit.event.enchantment that return types with arguments of type Enchantment
Modifier and Type
Method
Description
`@NotNull Map<Enchantment,Integer>`
EnchantItemEvent.`getEnchantsToAdd()`
Get map of enchantment (levels, keyed by type) to be added to item (modify map returned to change values).
Constructor parameters in org.bukkit.event.enchantment with type arguments of type Enchantment
Modifier
Constructor
Description
``
`EnchantItemEvent(@NotNull Player enchanter, @NotNull InventoryView view, @NotNull Block table, @NotNull ItemStack item, int level, @NotNull Map<Enchantment,Integer> enchants, int i)`

## Uses of Enchantment in org.bukkit.inventory

Methods in org.bukkit.inventory that return types with arguments of type Enchantment
Modifier and Type
Method
Description
`@NotNull Map<Enchantment,Integer>`
ItemStack.`getEnchantments()`
Gets a map containing all enchantments and their levels on this item.
Methods in org.bukkit.inventory with parameters of type Enchantment
Modifier and Type
Method
Description
`void`
ItemStack.`addEnchantment(@NotNull Enchantment ench, int level)`
Adds the specified `Enchantment` to this item stack.
`void`
ItemStack.`addUnsafeEnchantment(@NotNull Enchantment ench, int level)`
Adds the specified `Enchantment` to this item stack.
`boolean`
ItemStack.`containsEnchantment(@NotNull Enchantment ench)`
Checks if this ItemStack contains the given `Enchantment`
`int`
ItemStack.`getEnchantmentLevel(@NotNull Enchantment ench)`
Gets the level of the specified enchantment on this item stack
`int`
ItemStack.`removeEnchantment(@NotNull Enchantment ench)`
Removes the specified `Enchantment` if it exists on this ItemStack
Method parameters in org.bukkit.inventory with type arguments of type Enchantment
Modifier and Type
Method
Description
`void`
ItemStack.`addEnchantments(@NotNull Map<Enchantment,Integer> enchantments)`
Adds the specified enchantments to this item stack.
`void`
ItemStack.`addUnsafeEnchantments(@NotNull Map<Enchantment,Integer> enchantments)`
Adds the specified enchantments to this item stack in an unsafe manner.

## Uses of Enchantment in org.bukkit.inventory.meta

Methods in org.bukkit.inventory.meta that return types with arguments of type Enchantment
Modifier and Type
Method
Description
`@NotNull Map<Enchantment,Integer>`
ItemMeta.`getEnchants()`
Returns a copy the enchantments in this ItemMeta.
`@NotNull Map<Enchantment,Integer>`
EnchantmentStorageMeta.`getStoredEnchants()`
Gets a copy the stored enchantments in this ItemMeta.
Methods in org.bukkit.inventory.meta with parameters of type Enchantment
Modifier and Type
Method
Description
`boolean`
ItemMeta.`addEnchant(@NotNull Enchantment ench, int level, boolean ignoreLevelRestriction)`
Adds the specified enchantment to this item meta.
`boolean`
EnchantmentStorageMeta.`addStoredEnchant(@NotNull Enchantment ench, int level, boolean ignoreLevelRestriction)`
Stores the specified enchantment in this item meta.
`int`
ItemMeta.`getEnchantLevel(@NotNull Enchantment ench)`
Checks for the level of the specified enchantment.
`int`
EnchantmentStorageMeta.`getStoredEnchantLevel(@NotNull Enchantment ench)`
Checks for the level of the stored enchantment.
`boolean`
ItemMeta.`hasConflictingEnchant(@NotNull Enchantment ench)`
Checks if the specified enchantment conflicts with any enchantments in this ItemMeta.
`boolean`
EnchantmentStorageMeta.`hasConflictingStoredEnchant(@NotNull Enchantment ench)`
Checks if the specified enchantment conflicts with any enchantments in this ItemMeta.
`boolean`
ItemMeta.`hasEnchant(@NotNull Enchantment ench)`
Checks for existence of the specified enchantment.
`boolean`
EnchantmentStorageMeta.`hasStoredEnchant(@NotNull Enchantment ench)`
Checks for storage of the specified enchantment.
`boolean`
ItemMeta.`removeEnchant(@NotNull Enchantment ench)`
Removes the specified enchantment from this item meta.
`boolean`
EnchantmentStorageMeta.`removeStoredEnchant(@NotNull Enchantment ench)`
Remove the specified stored enchantment from this item meta.