Mine Studios
  • Partners
  • Projects
    • All Tools
    • Prefix Designer
    • Resource Pack Converter
    • Server Status
    • Colour Text Generator
    • Hologram Generator
    • All Guides
    • NuVotifier Setup
    • Upload a World
    • MiniMessage Gradients
    • Resource Pack Formats
    • GUI Textures
  • Store
  • Contact
Sign In
Mine Studios

Premium Minecraft development — custom builds, and game experiences crafted for communities that care about quality.

v1032ae1

Build. Create. Own.

Services

  • Plugin Development
  • Staff Management
  • World Design
  • Game Modes
  • Maintenance
  • Tools
  • Guides

Company

  • Projects
  • Contact
  • Discord
  • Store

Legal

  • Terms of Service
  • Privacy Policy
  • Cookie Policy

© 2026 Mine Studios. All rights reserved.

Made with ♥ for the Minecraft community

Home›Guides›Inventory Slots

Minecraft Inventory Slot Indexes (Bukkit & DeluxeMenus)

Map chest, hopper, player, and other container slots to raw Bukkit indexes — then build DeluxeMenus slots: lists without guessing.

Last updated: 31 July 2026

Contents

  • Overview
  • Raw slot indexes
  • Common layouts
  • DeluxeMenus slots
  • Click handling tips
  • FAQ

GUI plugins and custom inventories address slots by integer index. Off-by-one mistakes put icons in the wrong place or leave “dead” click zones. Bukkit’s InventoryClickEvent#getRawSlot() uses the same numbering the client protocol uses for that view.

Click to copy — use the free Inventory Slots reference to pick a container type, click slots, and export a DeluxeMenus-ready slots: list.

Section 01

Raw slot indexes

In a top inventory (chest GUI, hopper, etc.), slots usually start at 0 in the top-left and increase left-to-right, then down each row.

  • Container slots — indexes for the chest/menu itself.
  • Player inventory — when shown below the container, continues after the last container slot (exact offset depends on size).
  • Outside click — often reported as -999.

Do not assume a 9-slot hotbar is always indexes 0–8 in a custom menu — that is only true for the player’s own inventory view, not for a 54-slot chest GUI.

Section 02

Common layouts

InventoryTypical container size
Hopper5 slots (0–4)
Dropper / dispenser9 slots (3×3)
Single chest / barrel27 slots (3 rows)
Double chest / large menu54 slots (6 rows)
Furnace-styleInput / fuel / output at fixed indexes

Always confirm against a visual map for the exact type you are configuring — furnaces and anvils are not a simple grid.

Section 03

DeluxeMenus slots: lists

DeluxeMenus (and similar menu plugins) let you fill multiple slots with one item definition:

slots:
  - 10-16
  - 19
  - 21
  - 23
  - 25
  1. Open Inventory Slots and select your menu size (e.g. chest 54).
  2. Click every slot the item should occupy.
  3. Copy the generated list — consecutive indexes compress into ranges.
  4. Paste under the item in your menu YAML and validate the file.

After editing menu YAML, run it through the YAML Validator so a bad indent does not disable the whole menu plugin.

Section 04

Click handling tips

  • Cancel clicks on filler / border slots so players cannot take decorative panes.
  • Treat player-inventory clicks separately if your listener covers the whole view.
  • Document your menu layout (or keep a screenshot) — slot maps are hard to reverse from YAML alone.
  • Pair icons with correct item IDs for the server version.

FAQ

Frequently asked questions

What is a raw inventory slot?

A raw slot is the protocol / Bukkit index for a cell in the open inventory view, as returned by InventoryClickEvent#getRawSlot(). Outside clicks are often -999.

How do DeluxeMenus slot ranges work?

You can list individual indexes or ranges like 10-16. Consecutive selected slots can be compressed into ranges for cleaner configs.

Why is my icon in the wrong place?

Usually the slot index belongs to a different inventory size, or you counted from 1 instead of 0. Use a visual slot map for that exact container type.

Related guides

  • Minecraft item IDs after 1.13
  • Fix plugin YAML config errors
  • MiniMessage gradients and colour codes