Package org.bukkit.event.enchantment

# Class EnchantItemEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.inventory.InventoryEvent
org.bukkit.event.enchantment.EnchantItemEvent

All Implemented Interfaces:
  `Cancellable`

public class EnchantItemEvent extends InventoryEvent implements Cancellable
Called when an ItemStack is successfully enchanted (currently at enchantment table)

## Nested Class Summary

## Nested classes/interfaces inherited from class org.bukkit.event.Event

`Event.Result`

## Field Summary

### Fields inherited from class org.bukkit.event.inventory.InventoryEvent

`transaction`

## Constructor Summary

Constructors
Constructor
Description
`EnchantItemEvent(@NotNull Player enchanter, @NotNull InventoryView view, @NotNull Block table, @NotNull ItemStack item, int level, @NotNull Map<Enchantment,Integer> enchants, int i)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull Block`
`getEnchantBlock()`
Gets the block being used to enchant the item
`@NotNull Player`
`getEnchanter()`
Gets the player enchanting the item
`@NotNull Map<Enchantment,Integer>`
`getEnchantsToAdd()`
Get map of enchantment (levels, keyed by type) to be added to item (modify map returned to change values).
`int`
`getExpLevelCost()`
Gets the cost (minimum level) which is displayed as a number on the right hand side of the enchantment offer.
`static @NotNull HandlerList`
`getHandlerList()`
`@NotNull HandlerList`
`getHandlers()`
`@NotNull ItemStack`
`getItem()`
Gets the item to be enchanted (can be modified)
`boolean`
`isCancelled()`
Gets the cancellation state of this event.
`void`
`setCancelled(boolean cancel)`
Sets the cancellation state of this event.
`void`
`setExpLevelCost(int level)`
Sets the cost (minimum level) which is displayed as a number on the right hand side of the enchantment offer.
`int`
`whichButton()`
Which button was pressed to initiate the enchanting.

### Methods inherited from class org.bukkit.event.inventory.InventoryEvent

`getInventory, getView, getViewers`

### Methods inherited from class org.bukkit.event.Event

`callEvent, getEventName, isAsynchronous`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### EnchantItemEvent

public EnchantItemEvent(@NotNull @NotNull Player enchanter, @NotNull @NotNull InventoryView view, @NotNull @NotNull Block table, @NotNull @NotNull ItemStack item, int level, @NotNull @NotNull Map<Enchantment,Integer> enchants, int i)

## Method Details

### getEnchanter

@NotNull public @NotNull Player getEnchanter()
Gets the player enchanting the item

Returns:
  enchanting player

### getEnchantBlock

@NotNull public @NotNull Block getEnchantBlock()
Gets the block being used to enchant the item

Returns:
  the block used for enchanting

### getItem

@NotNull public @NotNull ItemStack getItem()
Gets the item to be enchanted (can be modified)

Returns:
  ItemStack of item

### getExpLevelCost

public int getExpLevelCost()
Gets the cost (minimum level) which is displayed as a number on the right hand side of the enchantment offer.

Returns:
  experience level cost

### setExpLevelCost

public void setExpLevelCost(int level)
Sets the cost (minimum level) which is displayed as a number on the right hand side of the enchantment offer.

Parameters:
  `level` - - cost in levels

### getEnchantsToAdd

@NotNull public @NotNull Map<Enchantment,Integer> getEnchantsToAdd()
Get map of enchantment (levels, keyed by type) to be added to item (modify map returned to change values). Note: Any enchantments not allowed for the item will be ignored

Returns:
  map of enchantment levels, keyed by enchantment

### whichButton

public int whichButton()
Which button was pressed to initiate the enchanting.

Returns:
  The button index (0, 1, or 2).

### isCancelled

public boolean isCancelled()
Description copied from interface: `Cancellable`
Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins

Specified by:
  `isCancelled` in interface `Cancellable`
Returns:
  true if this event is cancelled

### setCancelled

public void setCancelled(boolean cancel)
Description copied from interface: `Cancellable`
Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.

Specified by:
  `setCancelled` in interface `Cancellable`
Parameters:
  `cancel` - true if you wish to cancel this event

### getHandlers

@NotNull public @NotNull HandlerList getHandlers()

Overrides:
  `getHandlers` in class `InventoryEvent`

### getHandlerList

@NotNull public static @NotNull HandlerList getHandlerList()