Package org.bukkit.event.enchantment

# Class PrepareItemEnchantEvent

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

All Implemented Interfaces:
  `Cancellable`

public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellable
Called when an ItemStack is inserted in an enchantment table - can be called multiple times

## 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
`PrepareItemEnchantEvent(@NotNull Player enchanter, @NotNull InventoryView view, @NotNull Block table, @NotNull ItemStack item, @Nullable EnchantmentOffer @NotNull [] offers, int bonus)`

## 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
`int`
`getEnchantmentBonus()`
Get enchantment bonus in effect - corresponds to number of bookshelves
`@org.jetbrains.annotations.NotNull int[]`
`getExpLevelCostsOffered()`
Deprecated.
Use `getOffers()` instead of this method
`static @NotNull HandlerList`
`getHandlerList()`
`@NotNull HandlerList`
`getHandlers()`
`@NotNull ItemStack`
`getItem()`
Gets the item to be enchanted.
`@Nullable EnchantmentOffer @NotNull []`
`getOffers()`
Get a list of available `EnchantmentOffer` for the player.
`boolean`
`isCancelled()`
Gets the cancellation state of this event.
`void`
`setCancelled(boolean cancel)`
Sets the cancellation state of this event.

### 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

### PrepareItemEnchantEvent

public PrepareItemEnchantEvent(@NotNull @NotNull Player enchanter, @NotNull @NotNull InventoryView view, @NotNull @NotNull Block table, @NotNull @NotNull ItemStack item, @Nullable @Nullable EnchantmentOffer @NotNull [] offers, int bonus)

## 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.

Returns:
  ItemStack of item

### getExpLevelCostsOffered

@Deprecated @NotNull public @org.jetbrains.annotations.NotNull int[] getExpLevelCostsOffered()
Deprecated.
Use `getOffers()` instead of this method
Get a list of offered experience level costs of the enchantment.

Returns:
  experience level costs offered

### getOffers

@Nullable public @Nullable EnchantmentOffer @NotNull [] getOffers()
Get a list of available `EnchantmentOffer` for the player. You can modify the values to change the available offers for the player. An offer may be null, if there isn't a enchantment offer at a specific slot. There are 3 slots in the enchantment table available to modify.

Returns:
  list of available enchantment offers

### getEnchantmentBonus

public int getEnchantmentBonus()
Get enchantment bonus in effect - corresponds to number of bookshelves

Returns:
  enchantment bonus

### 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()