Inventory Slot Id Minecraft

 admin

Minecraft displays the player inventory differently, according to how the window was opened. Ranges of slot indices vary in meaning between different “windows”. The Open Window packet indicates which window is being opened according to:

  • 2Chest
  • 4Furnace
Window TypeDescription
minecraft:generic_9x1A 1-row inventory, not used by the notchian server.
minecraft:generic_9x2A 2-row inventory, not used by the notchian server.
minecraft:generic_9x3General-purpose 3-row inventory. Used by Chest, minecart with chest, ender chest, and barrel
minecraft:generic_9x4A 4-row inventory, not used by the notchian server.
minecraft:generic_9x5A 5-row inventory, not used by the notchian server.
minecraft:generic_9x6General-purpose 6-row inventory, used by large chests.
minecraft:generic_3x3General-purpose 3-by-3 square inventory, used by Dispenser and Dropper
minecraft:anvilAnvil
minecraft:beaconBeacon
minecraft:blast_furnaceBlast Furnace
minecraft:brewing_standBrewing stand
minecraft:craftingCrafting table
minecraft:enchantmentEnchantment table
minecraft:furnaceFurnace
minecraft:grindstoneGrindstone
minecraft:hopperHopper or minecart with hopper
minecraft:lecternLectern
minecraft:loomLoom
minecraft:merchantVillager, Wandering Trader
minecraft:shulker_boxShulker box
minecraft:smokerSmoker
minecraft:cartographyCartography Table
minecraft:stonecutterStonecutter
The following information needs to be added to this page:
Most of the inventories new to 1.14 have buttons, which are probably implemented using Protocol#Click Window Button. This needs to be confirmed and the button IDs should be checked.

Discussion in '. Not open for further replies. Anyone know the ID of the Helmet slot in the normal Inventory? Assult, Oct 27, 2013 #1. In Bukkit, inventory view slots are referenced by slot IDs. However, there are many types of inventory views, which can lead to confusion of which ID belongs to which slot. This page shows all raw slot IDs of all inventory views for ease of reference. Inventory views are sorted alphabetically.

Inventory Slot Id Minecraft 1.12

The slot number is calculated starting at 0, counting up through the window's unique slots, and then counting through the players inventory.

For all windows, the slot in the upper-left corner of the player's inventory is slot n where n is the number of unique slots, and slot number -999 is always used for clicking outside the window.

The default inventory window, which is never explicitly opened by the server, has 10 unique slots.

Rectangular regions are always indexed starting with the upper-left corner and scanning across rows. If a window has a crafting region, the output slot is always slot 0 followed immediately by the input region.

Each window type is described in the following sections. All slot index ranges are inclusive and reflect the indices observed in the Minecraft protocol.

For the window properties (additional data in each window, e.g. smelting progress or enchantments), refer to the table in the Window Property packet.

Using -1 as slot index and as window id will set the cursor item (the stack dragged with the mouse).

Player Inventory

Inventory slots
Inventory Slot Id Minecraft

This is the inventory window that the player can always open, typically by pressing E since Beta 1.4. Before, you had to press I.

Slot rangeDescription
0crafting output
1–42×2 crafting input (1 + x + 2 * y)
5–8armor (head, chest, legs, feet)
9–35main inventory
36–44hotbar
45Offhand slot

Note that this is different from inventory items stored in a player.dat file. This may help: https://gist.github.com/459a1691c3dd751db160

Chest

Chest slots

This is the window that is opened when the player right-clicks on a single chest block.

Slot rangeDescription
0–26chest
27–53main inventory
54–62hotbar
Double/large chest slots

Large chest

This is the window that is opened when the player right-clicks on a double chest block (two adjacent chest blocks).

Slot rangeDescription
0–53chest
54–80main inventory
81–89hotbar

It is possible to receive different 'Number Of Slots' parameters than those two. In vanilla, using /setblock four times around a chest and then opening the middle chest will open a window with 5*27 chest slots. Some custom servers will send chest inventories with other sizes, usually ranging from 1 row to 6 rows. These may be used for custom GUIs. It is thus important to correctly use the 'Number Of Slots' parameter in the open window packet to determine the number of rows in the chest, rather than hardcoding what constitutes a regular chest or a large chest.

Crafting table

Crafting table slots

This is the window that is opened when the player right-clicks on a workbench.

Slot rangeDescription
0crafting output
1–93×3 crafting input (1 + x + 3 * y)
10–36main inventory
37–45hotbar

If the 'Number Of Slots' parameter is not set to 0, the opened window will behave like a container window.

Furnace

Furnace slots

The window that appears when a furnace is right-clicked.

Slot rangeDescription
0ingredient
1fuel
2output
3–29main inventory
30–38hotbar

If the 'Number Of Slots' parameter is inferior to 3, placing an item in a slot may crash the client.

Blast Furnace

Inventory Slot Id Minecraft
Blast Furnace slots

The GUI that appears when a blast furnace is opened. Same layout as a furnace; however, the recipe book displays blast furnace recipes instead of regular furnace recipes.

Slot rangeDescription
0ingredient
1fuel
2output
3–29main inventory
30–38hotbar

Smoker

Smoker slots

The GUI that appears when a smoker is opened. Same layout as a furnace; however, the recipe book displays blast furnace recipes instead of regular furnace recipes.

Slot rangeDescription
0ingredient
1fuel
2output
3–29main inventory
30–38hotbar

Dispenser

Dispenser/dropper slots

Inventory Slot Id Minecraft Mod

The inventory that appears when a dispenser or dropper is opened.

Slot rangeDescription
0–83×3 dispenser contents (x + 3 * y)
9–35main inventory
36-44hotbar

If the 'Number Of Slots' parameter is inferior to 9, placing an item in a slot may crash the client.

Enchantment Table

Enchantment table slots

The inventory of an enchantment table. The enchant buttons trigger a Enchant item packet.

Slot rangeDescription
0item to enchant
1lapis lazuli slot
2–28main inventory
29–37hotbar

Brewing stand

Brewing stand slots

The GUI that appears when a brewing stand is opened.

Slot rangeDescription
0-2bottles/potions
3potion ingredient
4blaze powder
5-31main inventory
32-40hotbar

Inventory Slot Id Minecraft

Villager trading

Merchant slots

The GUI that appears when a villager is right-clicked. Note that if the villager only requires one item, you can put it in either (or both) slots.

Slot rangeDescription
0-1input items
2result
3–29main inventory
30–38hotbar

Beacon

Beacon slots

The window that appears when a beacon is right-clicked.

Slot rangeDescription
0payment item
1–27main inventory
28–36hotbar

Anvil

Anvil slots
Slot rangeDescription
0first item
1second item
2result
3–29main inventory
30–38hotbar

Hopper

Hopper slots

The window that appears when a hopper or hopper minecart is opened.

Slot rangeDescription
0-4hopper slots
5–31main inventory
32–40hotbar

Shulker box

Shulker box slots

This is the window that is opened when the player right-clicks on a shulker box chest.

Slot rangeDescription
0–26box slots
27–53main inventory
54–62hotbar

Llama

Llama slots

The inventory that appears when a tamed llama is right-clicked and has a chest, or when the player's inventory is opened while riding a tamed llama. Depending on the value of the strength field, the number of chest rows may vary (max is 5, so 15 slots).

There still is a saddle slot, even though it cannot be used and is invisible.

Slot positions within the llama inventory vary - slot 2 may be at (1,0) or at (0,1) depending on the number of columns.

Slot rangeDescription
0saddle
1carpet
2-(2+3*Strength)llama inventory
(2+3*Strength)+1-(2+3*Strength)+27player inventory
(2+3*Strength)+28-(2+3*Strength)+35hotbar
  • Unchested llama

  • Llama with strength 1

  • Llama with strength 2

  • Llama with strength 3

  • Llama with strength 4

  • Llama with strength 5

Horse

Horse slots

The window for when a tamed horse is right-clicked or the player's inventory is opened while riding a horse.

Slot rangeDescription
0saddle
1armor
2–28main inventory
29–37hotbar
  • Horse slots

  • Skeleton horse slots

  • Zombie horse slots

Donkey

Donkey slots

The inventory that appears when a tamed donkey (or mule?) is right-clicked, or when the player's inventory is opened while riding a tamed donkey or mule.

There still is an armor slot, even though it cannot be used and is invisible.

Slot rangeDescription
0saddle
1armor
2–16donkey inventory
17–43 (2-28 if unchested)player inventory
44–52 (29-37 if unchested)hotbar
  • Unchested donkey

  • Chested donkey

  • Unchested mule

  • Chested mule

Cartography Table

Cartography table slots

The GUI that appears when a cartography table is opened.

Slot rangeDescription
0map
1paper
2output
3–29main inventory
30–38hotbar

Grindstone

Grindstone slots
Slot rangeDescription
0first item
1second item
2result
3–29main inventory
30–38hotbar

Lectern

Lectern UI

This is a regular container, unlike with held books opened via Protocol#Open Book.

The following information needs to be added to this page:
Is the player inventory also included on this?


Slot rangeDescription
0book
1–27main inventory?
28–36hotbar?

Loom

Loom slots
Slot rangeDescription
0banner
1dye
2pattern
3result
4–30main inventory
31–39hotbar

Stonecutter

Stonecutter slots
Slot rangeDescription
0input
1result
2–28main inventory
29–37hotbar
Retrieved from 'https://wiki.vg/index.php?title=Inventory&oldid=14899'
Nov 12th, 2020 (edited)
Never
Not a member of Pastebin yet?Sign Up, it unlocks many cool features!
  1. Provides useful utility functions.]]
  2. -- selectItem() selects the inventory
  3. -- true if found and false if not
  4. -- check all inventory slots
  5. for slot =1,16do
  6. if item ~=niland item['name'] name then
  7. returntrue
  8. end
  9. returnfalse-- couldn't find item
  10. -- selectEmptySlot() selects inventory
  11. -- found, false if no empty spaces
  12. for slot =1,16do
  13. turtle.select(slot)
  14. end
  15. returnfalse-- couldn't find empty space
  16. -- number of a given minecraft id item in the inventory
  17. local total =0
  18. for slot =1,16do
  19. if item ~=niland item['name']'minecraft:'.. minecraft_id then
  20. end
  21. return total
  22. -- minecraft id and places a block from it under the turtle
  23. for slot =1,16do
  24. if item ~=niland item['name']'minecraft:'.. minecraft_id then
  25. turtle.placeDown()
  26. end
  27. end
  28. -- in front of the turtle
  29. if modules.count_inventory()> length * height then
  30. end
  31. turtle.up()
  32. local movingForward =true
  33. for currentHeight =1, height do
  34. select_and_place_down()-- Place the block
  35. turtle.forward()
  36. elseifnot movingForward and currentLength ~= length then
  37. end
  38. if currentHeight ~= height then
  39. end
  40. end
  41. -- done building wall; move to end position
  42. -- turtle is near the start position
  43. turtle.forward()
  44. else
  45. turtle.forward()
  46. for currentHeight =1, height do
  47. end
  48. returntrue
  49. -- and a ceiling
  50. if modules.count_inventory()<(((length -1)* height *2)+
  51. returnfalse-- not enough blocks
  52. build_wall(length -1, height)
  53. turtle.turnRight()
  54. build_wall(length -1, height)
  55. turtle.turnRight()
  56. returntrue
  57. -- and columns of an area in front and
  58. -- the provided sweepFunc at each space
  59. local turnRightNext =true
  60. for x =1, width do
  61. sweepFunc()
  62. -- don't move forward on the last row
  63. turtle.forward()
  64. end
  65. if x ~= width then
  66. if turnRightNext then
  67. turtle.forward()
  68. else
  69. turtle.forward()
  70. end
  71. turnRightNext =not turnRightNext
  72. end
  73. if width %20then
  74. else
  75. turtle.back()
  76. turtle.turnLeft()
  77. turtle.turnRight()
  78. returntrue
  79. --for the named block next to the turtle
  80. local result, block
  81. for i =1,4do
  82. if block ~=niland block['name'] name then
  83. end
  84. end
  85. end
  86. -- puke() puke everything that is in the turtles
  87. -- inventory out in front of it (hopefully there is
  88. function puke()
  89. turtle.select(i)
  90. end
  91. -- Check Fuel checks if the turtle has enough fuel.
  92. -- if not, it asks for fuel in slot 1 and refuels.
  93. local refueled =false
  94. if turtle.getFuelLevel()0then
  95. print('Fuel is empty. Please put fuel in slot 1 and press a key.')
  96. turtle.select(1)
  97. else
  98. end
RAW Paste Data