ItemsAdderAdditionsItemsAdderAdditions
Behaviours

Storage

Turn any ItemsAdder custom block or furniture into a storage container. Supports shared storage, shulker-style portable containers, and trash disposal modes.

Since v1.0.0

Turns any custom block or furniture into a storage container. Three modes are available.

TypeBehaviour
STORAGEShared container - all players see the same inventory
SHULKERContents travel inside the item when broken and are restored on re-place
DISPOSALTrash can - contents are silently deleted when the GUI is closed

Configuration

behaviours:
  storage:
    type: STORAGE
    rows: 3 # optional, default: 3
    inventory_type: furnace # optional, replaces rows when set
    title: "<gold>Community Chest</gold>" # optional, defaults to the block/furniture's name
    open_variant: my_open_storage # optional
    open_sound: # optional
      name: entity.villager.celebrate # or a custom sound
      volume: 1.0 # optional, default: 1.0
      pitch: 1.0 # optional, default: 1.0
      category: MASTER # optional, default: MASTER
    close_sound: # optional
      name: entity.villager.ambient # or a custom sound
      volume: 1.0 # optional, default: 1.0
      pitch: 1.0 # optional, default: 1.0
      category: MASTER # optional, default: MASTER
behaviours:
  storage:
    type: SHULKER
    rows: 3 # optional, default: 3
    inventory_type: furnace # optional, replaces rows when set
    title: "<dark_purple>Portable Storage</dark_purple>" # optional, defaults to the block/furniture's name
    open_variant: my_open_storage # optional
    open_sound: # optional
      name: entity.villager.celebrate # or a custom sound
      volume: 1.0 # optional, default: 1.0
      pitch: 1.0 # optional, default: 1.0
      category: MASTER # optional, default: MASTER
    close_sound: # optional
      name: entity.villager.ambient # or a custom sound
      volume: 1.0 # optional, default: 1.0
      pitch: 1.0 # optional, default: 1.0
      category: MASTER # optional, default: MASTER
behaviours:
  storage:
    type: DISPOSAL
    rows: 1 # optional, default: 3
    title: "<red>Trash Can</red>" # optional, defaults to the block/furniture's name
    open_variant: my_open_storage # optional
    open_sound: # optional
      name: entity.villager.celebrate # or a custom sound
      volume: 1.0 # optional, default: 1.0
      pitch: 1.0 # optional, default: 1.0
      category: MASTER # optional, default: MASTER
    close_sound: # optional
      name: entity.villager.ambient # or a custom sound
      volume: 1.0 # optional, default: 1.0
      pitch: 1.0 # optional, default: 1.0
      category: MASTER # optional, default: MASTER

For name, use a value from Sounds.json or a custom sound with namespace:value.

Supports MiniMessage formatting, PlaceholderAPI placeholders, and ItemsAdder font images.

Inventory type

By default, storage opens a chest-style inventory whose height is controlled by rows (1–6, default: 3). Set inventory_type to open a typed inventory instead β€” rows is ignored when this is set.

ValueGUI shape
furnaceFurnace (input + fuel + output)
blast_furnaceBlast furnace
smokerSmoker
brewing_standBrewing stand (3 bottles + 2 slots)
dispenserDispenser (3Γ—3)
dropperDropper (3Γ—3)
hopperHopper (1Γ—5)
behaviours:
  storage:
    type: STORAGE
    inventory_type: furnace
    title: "<gray>Custom Furnace</gray>"

Open variant

You can optionally set open_variant to make the custom block, furniture, or complex furniture change into another variant while at least one player has the storage open.

This is useful for things like:

  • chests that visually open
  • barrels with an opened model
  • containers with a different active state
behaviours:
  storage:
    type: STORAGE
    open_variant: my_open_storage

open_variant should be the ID of another custom block, furniture, or complex furniture, using either:

  • id
  • namespace:id

When the inventory is closed by all players, the storage returns to its normal variant.

On this page