# Uses of Interface
org.bukkit.inventory.InventoryHolder

Packages that use InventoryHolder
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.entity.minecart
Interfaces for various `Minecart` types.
org.bukkit.event.world
`Events` triggered by various `world` states or changes.
org.bukkit.inventory
Classes involved in manipulating player inventories and item interactions.

## Uses of InventoryHolder in org.bukkit

Methods in org.bukkit with parameters of type InventoryHolder
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 InventoryHolder in org.bukkit.block

Subinterfaces of InventoryHolder in org.bukkit.block
Modifier and Type
Interface
Description
`interface`
`Barrel`
Represents a captured state of a Barrel.
`interface`
`BlastFurnace`
Represents a captured state of a blast furnace.
`interface`
`BrewingStand`
Represents a captured state of a brewing stand.
`interface`
`Chest`
Represents a captured state of a chest.
`interface`
`ChiseledBookshelf`
Represents a captured state of a chiseled bookshelf.
`interface`
`Container`
Represents a captured state of a container block.
`interface`
`Dispenser`
Represents a captured state of a dispenser.
`interface`
`Dropper`
Represents a captured state of a dropper.
`interface`
`Furnace`
Represents a captured state of a furnace.
`interface`
`Hopper`
Represents a captured state of a hopper.
`interface`
`Lectern`
Represents a captured state of a lectern.
`interface`
`ShulkerBox`
Represents a captured state of a ShulkerBox.
`interface`
`Smoker`
Represents a captured state of a smoker.
Classes in org.bukkit.block that implement InventoryHolder
Modifier and Type
Class
Description
`class`
`DoubleChest`
Represents a double chest.
Methods in org.bukkit.block that return InventoryHolder
Modifier and Type
Method
Description
`@Nullable InventoryHolder`
DoubleChest.`getLeftSide()`
`@Nullable InventoryHolder`
DoubleChest.`getLeftSide(boolean useSnapshot)`
`@Nullable InventoryHolder`
DoubleChest.`getRightSide()`
`@Nullable InventoryHolder`
DoubleChest.`getRightSide(boolean useSnapshot)`

## Uses of InventoryHolder in org.bukkit.entity

Subinterfaces of InventoryHolder in org.bukkit.entity
Modifier and Type
Interface
Description
`interface`
`AbstractHorse`
Represents a Horse-like creature.
`interface`
`AbstractVillager`
Represents a villager NPC
`interface`
`Allay`
An Allay.
`interface`
`Camel`
Represents a Camel.
`interface`
`ChestBoat`
A `Boat` with a chest.
`interface`
`ChestedHorse`
Represents Horse-like creatures which can carry an inventory.
`interface`
`Donkey`
Represents a Donkey - variant of `ChestedHorse`.
`interface`
`Horse`
Represents a Horse.
`interface`
`HumanEntity`
Represents a human entity, such as an NPC or a player
`interface`
`Llama`
Represents a Llama.
`interface`
`Mule`
Represents a Mule - variant of `ChestedHorse`.
`interface`
`Piglin`
Represents a Piglin.
`interface`
`Pillager`
Illager entity.
`interface`
`Player`
Represents a player, connected or not
`interface`
`SkeletonHorse`
Represents a SkeletonHorse - variant of `AbstractHorse`.
`interface`
`TraderLlama`
Represents a trader Llama.
`interface`
`Villager`
Represents a villager NPC
`interface`
`WanderingTrader`
Represents a wandering trader NPC
`interface`
`ZombieHorse`
Represents a ZombieHorse - variant of `AbstractHorse`.

## Uses of InventoryHolder in org.bukkit.entity.minecart

Subinterfaces of InventoryHolder in org.bukkit.entity.minecart
Modifier and Type
Interface
Description
`interface`
`HopperMinecart`
Represents a Minecart with a Hopper inside it
`interface`
`StorageMinecart`
Represents a minecart with a chest.

## Uses of InventoryHolder in org.bukkit.event.world

Methods in org.bukkit.event.world that return InventoryHolder
Modifier and Type
Method
Description
`@Nullable InventoryHolder`
LootGenerateEvent.`getInventoryHolder()`
Get the inventory holder in which the loot was generated.
Constructors in org.bukkit.event.world with parameters of type InventoryHolder
Modifier
Constructor
Description
``
`LootGenerateEvent(@NotNull World world, @Nullable Entity entity, @Nullable InventoryHolder inventoryHolder, @NotNull LootTable lootTable, @NotNull LootContext lootContext, @NotNull List<ItemStack> items, boolean plugin)`

## Uses of InventoryHolder in org.bukkit.inventory

Subinterfaces of InventoryHolder in org.bukkit.inventory
Modifier and Type
Interface
Description
`interface`
`BlockInventoryHolder`
Represents a block inventory holder - either a BlockState, or a regular Block.
Methods in org.bukkit.inventory that return InventoryHolder
Modifier and Type
Method
Description
`@Nullable InventoryHolder`
Inventory.`getHolder()`
Gets the block or entity belonging to the open inventory
`@Nullable InventoryHolder`
Inventory.`getHolder(boolean useSnapshot)`
Gets the block or entity belonging to the open inventory