Package org.bukkit.event.inventory

# Class InventoryMoveItemEvent

java.lang.Object
org.bukkit.event.Event
org.bukkit.event.inventory.InventoryMoveItemEvent

All Implemented Interfaces:
  `Cancellable`

public class InventoryMoveItemEvent extends Event implements Cancellable
Called when some entity or block (e.g. hopper) tries to move items directly from one inventory to another.

When this event is called, the initiator may already have removed the item from the source inventory and is ready to move it into the destination inventory.

If this event is cancelled, the items will be returned to the source inventory, if needed.

If this event is not cancelled, the initiator will try to put the ItemStack into the destination inventory. If this is not possible and the ItemStack has not been modified, the source inventory slot will be restored to its former state. Otherwise any additional items will be discarded.

## Nested Class Summary

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

`Event.Result`

## Field Summary

Fields
Modifier and Type
Field
Description
`boolean`
`calledGetItem`
`boolean`
`calledSetItem`

## Constructor Summary

Constructors
Constructor
Description
`InventoryMoveItemEvent(@NotNull Inventory sourceInventory, @NotNull ItemStack itemStack, @NotNull Inventory destinationInventory, boolean didSourceInitiate)`

## Method Summary

Modifier and Type
Method
Description
`@NotNull Inventory`
`getDestination()`
Gets the Inventory that the ItemStack is being put into
`static @NotNull HandlerList`
`getHandlerList()`
`@NotNull HandlerList`
`getHandlers()`
`@NotNull Inventory`
`getInitiator()`
Gets the Inventory that initiated the transfer.
`@NotNull ItemStack`
`getItem()`
Gets the ItemStack being moved; if modified, the original item will not be removed from the source inventory.
`@NotNull Inventory`
`getSource()`
Gets the Inventory that the ItemStack is being taken from
`boolean`
`isCancelled()`
Gets the cancellation state of this event.
`void`
`setCancelled(boolean cancel)`
Sets the cancellation state of this event.
`void`
`setItem(@NotNull ItemStack itemStack)`
Sets the ItemStack being moved; if this is different from the original ItemStack, the original item will not be removed from the source inventory.

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

## Field Details

### calledGetItem

public boolean calledGetItem

### calledSetItem

public boolean calledSetItem

## Constructor Details

### InventoryMoveItemEvent

public InventoryMoveItemEvent(@NotNull @NotNull Inventory sourceInventory, @NotNull @NotNull ItemStack itemStack, @NotNull @NotNull Inventory destinationInventory, boolean didSourceInitiate)

## Method Details

### getSource

@NotNull public @NotNull Inventory getSource()
Gets the Inventory that the ItemStack is being taken from

Returns:
  Inventory that the ItemStack is being taken from

### getItem

@NotNull public @NotNull ItemStack getItem()
Gets the ItemStack being moved; if modified, the original item will not be removed from the source inventory.

Returns:
  ItemStack

### setItem

public void setItem(@NotNull @NotNull ItemStack itemStack)
Sets the ItemStack being moved; if this is different from the original ItemStack, the original item will not be removed from the source inventory.

Parameters:
  `itemStack` - The ItemStack

### getDestination

@NotNull public @NotNull Inventory getDestination()
Gets the Inventory that the ItemStack is being put into

Returns:
  Inventory that the ItemStack is being put into

### getInitiator

@NotNull public @NotNull Inventory getInitiator()
Gets the Inventory that initiated the transfer. This will always be either the destination or source Inventory.

Returns:
  Inventory that initiated the transfer

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

Specified by:
  `getHandlers` in class `Event`

### getHandlerList

@NotNull public static @NotNull HandlerList getHandlerList()