Package org.bukkit.block

# Interface Container

All Superinterfaces:
  `BlockInventoryHolder`, `BlockState`, `InventoryHolder`, `Lockable`, `Metadatable`, `Nameable`, `PersistentDataHolder`, `TileState`

All Known Subinterfaces:
  `Barrel`, `BlastFurnace`, `BrewingStand`, `Chest`, `Dispenser`, `Dropper`, `Furnace`, `Hopper`, `ShulkerBox`, `Smoker`

public interface Container extends TileState, BlockInventoryHolder, Lockable, Nameable
Represents a captured state of a container block.

## Method Summary

Modifier and Type
Method
Description
`@NotNull Inventory`
`getInventory()`
Gets the inventory of the block represented by this block state.
`@NotNull Inventory`
`getSnapshotInventory()`
Gets the captured inventory snapshot of this container.

### Methods inherited from interface org.bukkit.inventory.BlockInventoryHolder

`getBlock`

### Methods inherited from interface org.bukkit.block.BlockState

`getBlock, getBlockData, getChunk, getData, getLightLevel, getLocation, getLocation, getRawData, getType, getWorld, getX, getY, getZ, isCollidable, isPlaced, setBlockData, setData, setRawData, setType, update, update, update`

### Methods inherited from interface org.bukkit.block.Lockable

`getLock, isLocked, setLock`

### Methods inherited from interface org.bukkit.metadata.Metadatable

`getMetadata, hasMetadata, removeMetadata, setMetadata`

### Methods inherited from interface org.bukkit.Nameable

`customName, customName, getCustomName, setCustomName`

### Methods inherited from interface org.bukkit.block.TileState

`getPersistentDataContainer`

## Method Details

### getInventory

@NotNull @NotNull Inventory getInventory()
Gets the inventory of the block represented by this block state.

If the block was changed to a different type in the meantime, the returned inventory might no longer be valid.

If this block state is not placed this will return the captured inventory snapshot instead.

Specified by:
  `getInventory` in interface `InventoryHolder`
Returns:
  the inventory

### getSnapshotInventory

@NotNull @NotNull Inventory getSnapshotInventory()
Gets the captured inventory snapshot of this container.

The returned inventory is not linked to any block. Any modifications to the returned inventory will not be applied to the block represented by this block state up until `BlockState.update(boolean, boolean)` has been called.

Returns:
  the captured inventory snapshot