# Uses of Interface
org.bukkit.inventory.Inventory

Packages that use Inventory
Package
Description
org.bukkit
The root package of the Bukkit API, contains generalized API classes.
org.bukkit.block
Classes used to manipulate the voxels in a `world`, including special states.
org.bukkit.entity
Interfaces for non-voxel objects that can exist in a `world`, including all players, monsters, projectiles, etc.
org.bukkit.event.inventory
`Events` relating to `inventory` manipulation.
org.bukkit.inventory
Classes involved in manipulating player inventories and item interactions.
org.bukkit.loot
Classes relevant to loot table manipulation and generation.

## Uses of Inventory in org.bukkit

Methods in org.bukkit that return Inventory
Modifier and Type
Method
Description
`static @NotNull Inventory`
Bukkit.`createInventory(@Nullable InventoryHolder owner, int size)`
Creates an empty inventory of type `InventoryType.CHEST` with the specified size.
`static @NotNull Inventory`
Bukkit.`createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title)`
Deprecated.
in favour of `Bukkit.createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)`
`static @NotNull Inventory`
Bukkit.`createInventory(@Nullable InventoryHolder owner, int size, Component title)`
Creates an empty inventory of type `InventoryType.CHEST` with the specified size and title.
`static @NotNull Inventory`
Bukkit.`createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type)`
Creates an empty inventory with the specified type.
`static @NotNull Inventory`
Bukkit.`createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title)`
Deprecated.
in favour of `Bukkit.createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)`
`static @NotNull Inventory`
Bukkit.`createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, Component title)`
Creates an empty inventory with the specified type and title.
`@NotNull Inventory`
Server.`createInventory(@Nullable InventoryHolder owner, int size)`
Creates an empty inventory of type `InventoryType.CHEST` with the specified size.
`@NotNull Inventory`
Server.`createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title)`
Deprecated.
in favour of `Server.createInventory(InventoryHolder, int, net.kyori.adventure.text.Component)`
`@NotNull Inventory`
Server.`createInventory(@Nullable InventoryHolder owner, int size, Component title)`
Creates an empty inventory of type `InventoryType.CHEST` with the specified size and title.
`@NotNull Inventory`
Server.`createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type)`
Creates an empty inventory with the specified type.
`@NotNull Inventory`
Server.`createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title)`
Deprecated.
in favour of `Server.createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)`
`@NotNull Inventory`
Server.`createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, Component title)`
Creates an empty inventory with the specified type and title.

## Uses of Inventory in org.bukkit.block

Methods in org.bukkit.block that return Inventory
Modifier and Type
Method
Description
`@NotNull Inventory`
Chest.`getBlockInventory()`
Gets the inventory of the chest block represented by this block state.
`@NotNull Inventory`
Container.`getInventory()`
Gets the inventory of the block represented by this block state.
`@NotNull Inventory`
DoubleChest.`getInventory()`
`@NotNull Inventory`
Lectern.`getInventory()`
`@NotNull Inventory`
Container.`getSnapshotInventory()`
Gets the captured inventory snapshot of this container.
`@NotNull Inventory`
Lectern.`getSnapshotInventory()`

## Uses of Inventory in org.bukkit.entity

Methods in org.bukkit.entity that return Inventory
Modifier and Type
Method
Description
`@NotNull Inventory`
HumanEntity.`getEnderChest()`
Get the player's EnderChest inventory
`@NotNull Inventory`
AbstractVillager.`getInventory()`
Gets this villager's inventory.
Methods in org.bukkit.entity with parameters of type Inventory
Modifier and Type
Method
Description
`@Nullable InventoryView`
HumanEntity.`openInventory(@NotNull Inventory inventory)`
Opens an inventory window with the specified inventory on the top and the player's inventory on the bottom.

## Uses of Inventory in org.bukkit.event.inventory

Methods in org.bukkit.event.inventory that return Inventory
Modifier and Type
Method
Description
`@Nullable Inventory`
InventoryClickEvent.`getClickedInventory()`
Gets the inventory corresponding to the clicked slot.
`@NotNull Inventory`
InventoryMoveItemEvent.`getDestination()`
Gets the Inventory that the ItemStack is being put into
`@NotNull Inventory`
InventoryMoveItemEvent.`getInitiator()`
Gets the Inventory that initiated the transfer.
`@NotNull Inventory`
InventoryEvent.`getInventory()`
Gets the primary Inventory involved in this transaction
`@NotNull Inventory`
InventoryPickupItemEvent.`getInventory()`
Gets the Inventory that picked up the item
`@NotNull Inventory`
InventoryMoveItemEvent.`getSource()`
Gets the Inventory that the ItemStack is being taken from
Constructors in org.bukkit.event.inventory with parameters of type Inventory
Modifier
Constructor
Description
``
`InventoryMoveItemEvent(@NotNull Inventory sourceInventory, @NotNull ItemStack itemStack, @NotNull Inventory destinationInventory, boolean didSourceInitiate)`
``
`InventoryPickupItemEvent(@NotNull Inventory inventory, @NotNull Item item)`

## Uses of Inventory in org.bukkit.inventory

Subinterfaces of Inventory in org.bukkit.inventory
Modifier and Type
Interface
Description
`interface`
`AbstractHorseInventory`
An interface to the inventory of an `AbstractHorse`.
`interface`
`AnvilInventory`
Interface to the inventory of an Anvil.
`interface`
`ArmoredHorseInventory`
`interface`
`BeaconInventory`
Interface to the inventory of a Beacon.
`interface`
`BrewerInventory`
Interface to the inventory of a Brewing Stand.
`interface`
`CartographyInventory`
Interface to the inventory of a Cartography table.
`interface`
`ChiseledBookshelfInventory`
Interface to the inventory of a chiseled bookshelf.
`interface`
`CraftingInventory`
Interface to the crafting inventories
`interface`
`DoubleChestInventory`
Interface to the inventory of a Double Chest.
`interface`
`EnchantingInventory`
Interface to the inventory of an Enchantment Table.
`interface`
`FurnaceInventory`
Interface to the inventory of a Furnace.
`interface`
`GrindstoneInventory`
Interface to the inventory of a Grindstone.
`interface`
`HorseInventory`
An interface to the inventory of a Horse.
`interface`
`LecternInventory`
Interface to the inventory of a Lectern.
`interface`
`LlamaInventory`
An interface to the inventory of a `Llama`.
`interface`
`LoomInventory`
Interface to the inventory of a Loom.
`interface`
`MerchantInventory`
Represents a trading inventory between a player and a merchant.
`interface`
`PlayerInventory`
Interface to the inventory of a Player, including the four armor slots and any extra slots.
`interface`
`SaddledHorseInventory`
`interface`
`SmithingInventory`
Interface to the inventory of a Smithing table.
`interface`
`StonecutterInventory`
Interface to the inventory of a Stonecutter.
Methods in org.bukkit.inventory that return Inventory
Modifier and Type
Method
Description
`abstract @NotNull Inventory`
InventoryView.`getBottomInventory()`
Get the lower inventory involved in this transaction.
`@NotNull Inventory`
InventoryHolder.`getInventory()`
Get the object's inventory.
`final @Nullable Inventory`
InventoryView.`getInventory(int rawSlot)`
Gets the inventory corresponding to the given raw slot ID.
`@NotNull Inventory`
DoubleChestInventory.`getLeftSide()`
Get the left half of this double chest.
`@NotNull Inventory`
DoubleChestInventory.`getRightSide()`
Get the right side of this double chest.
`abstract @NotNull Inventory`
InventoryView.`getTopInventory()`
Get the upper inventory involved in this transaction.

## Uses of Inventory in org.bukkit.loot

Methods in org.bukkit.loot with parameters of type Inventory
Modifier and Type
Method
Description
`void`
LootTable.`fillInventory(@NotNull Inventory inventory, @Nullable Random random, @NotNull LootContext context)`
Attempt to fill an inventory with this LootTable's loot.