Difference between revisions of "Inventory"

From wiki.vg
Jump to navigation Jump to search
m (No need for a same named category solely for this page)
(Merge 1.14 changes)
 
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Windows ==
+
Minecraft displays the '''player inventory''' differently, according to how the window was opened. Ranges of slot indices vary in meaning between different “windows”. The [[Protocol#Open Window|Open Window]] packet indicates which window is being opened according to:
  
Minecraft displays the player inventory differently, according to how the window was opened. Ranges of slot indices vary in meaning between different "windows". Minecraft indicates which window is being opened according to:
+
<div style="float:right;">__TOC__</div>
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Inventory Type
+
! Window Type
! class="col1" | Description
+
! Description
! class="col2" | Technical Name
+
|-
|- class="row1"
+
| minecraft:generic_9x1
| class="col0" | 0
+
| A 1-row inventory, not used by the notchian server.
| class="col1" | Chest/Large chest
+
|-
| class="col2" | minecraft:chest
+
| minecraft:generic_9x2
|- class="row2"
+
| A 2-row inventory, not used by the notchian server.
| class="col0" | 1
+
|-
| class="col1" | Workbench
+
| minecraft:generic_9x3
| class="col2" | minecraft:crafting_table
+
| General-purpose 3-row inventory.  Used by {{Minecraft Wiki|Chest}}, {{Minecraft Wiki|minecart with chest}}, {{Minecraft Wiki|ender chest}}, and {{Minecraft Wiki|barrel}}
|- class="row3"
+
|-
| class="col0" | 2
+
| minecraft:generic_9x4
| class="col1" | Furnace
+
| A 4-row inventory, not used by the notchian server.
| class="col2" | minecraft:furnace
+
|-
|- class="row4"
+
| minecraft:generic_9x5
| class="col0" | 3
+
| A 5-row inventory, not used by the notchian server.
| class="col1" | Dispenser
+
|-
| class="col2" | minecraft:dispenser
+
| minecraft:generic_9x6
|- class="row5"
+
| General-purpose 6-row inventory, used by large chests.
| class="col0" | 4
+
|-
| class="col1" | Enchantment table
+
| minecraft:generic_3x3
| class="col2" | minecraft:enchanting_table
+
| General-purpose 3-by-3 square inventory, used by {{Minecraft Wiki|Dispenser}} and {{Minecraft Wiki|Dropper}}
|- class="row6"
+
|-
| class="col0" | 5
+
| minecraft:anvil
| class="col1" | Brewing Stand
+
| {{Minecraft Wiki|Anvil}}
| class="col2" | minecraft:brewing_stand
+
|-
|- class="row7"
+
| minecraft:beacon
| class="col0" | 6
+
| {{Minecraft Wiki|Beacon}}
| class="col1" | Npc trade
+
|-
| class="col2" | minecraft:villager
+
| minecraft:blast_furnace
|- class="row8"
+
| {{Minecraft Wiki|Blast Furnace}}
| class="col0" | 7
+
|-
| class="col1" | Beacon
+
| minecraft:brewing_stand
| class="col2" | minecraft:beacon
+
| {{Minecraft Wiki|Brewing stand}}
|- class="row9"
+
|-
| class="col0" | 8
+
| minecraft:crafting
| class="col1" | Anvil
+
| {{Minecraft Wiki|Crafting table}}
| class="col2" | minecraft:anvil
+
|-
|- class="row10"
+
| minecraft:enchantment
| class="col0" | 9
+
| {{Minecraft Wiki|Enchantment table}}
| class="col1" | Hopper
+
|-
| class="col2" | minecraft:hopper
+
| minecraft:furnace
|-
+
| {{Minecraft Wiki|Furnace}}
| 10
+
|-
| Dropper
+
| minecraft:grindstone
| minecraft:dropper
+
| {{Minecraft Wiki|Grindstone}}
|-  
+
|-
| 11
+
| minecraft:hopper
| Horse
+
| {{Minecraft Wiki|Hopper}} or {{Minecraft Wiki|minecart with hopper}}
| EntityHorse
+
|-
|}
+
| minecraft:lectern
 +
| {{Minecraft Wiki|Lectern}}
 +
|-
 +
| minecraft:loom
 +
| {{Minecraft Wiki|Loom}}
 +
|-
 +
| minecraft:merchant
 +
| {{Minecraft Wiki|Villager}}, {{Minecraft Wiki|Wandering Trader}}
 +
|-
 +
| minecraft:shulker_box
 +
| {{Minecraft Wiki|Shulker box}}
 +
|-
 +
| minecraft:smoker
 +
| {{Minecraft Wiki|Smoker}}
 +
|-
 +
| minecraft:cartography
 +
| {{Minecraft Wiki|Cartography Table}}
 +
|-
 +
| minecraft:stonecutter
 +
| {{Minecraft Wiki|Stonecutter}}
 +
|}
  
The slot number is calculated starting at 0, counting up through the window's unique slots, and then counting through the players inventory. The number of unique slots in the window is in the [[Protocol#Open_window_.280x64.29|Open Window]] message for all window types except the default inventory window, in which the number of unique slots is 9. This means the slot in the upper-left corner of the player's inventory is slot ''n'' where ''n'' is the number of unique slots. Slot number -999 is for clicking outside the window.
+
{{Need Info|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.}}
 +
 
 +
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.
 
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 Beta protocol.
+
Each window type is described in the following sections. All slot index ranges are inclusive and reflect the indices observed in the Minecraft protocol.
  
=== Inventory ===
+
For the window properties (additional data in each window, e.g. smelting progress or enchantments), refer to the table in the [[Protocol#Window_Property|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 ==
 +
{{Anchor|Inventory}}
 
[[File:Inventory-slots.png|thumb|Inventory slots]]
 
[[File:Inventory-slots.png|thumb|Inventory slots]]
  
This is the inventory window that the player can always open, typically by pressing "E" since update 1.4.
+
This is the inventory window that the player can always open, typically by pressing {{Key|E}} since {{Minecraft Wiki|Beta 1.4}}. Before, you had to press {{Key|I}}.
Before you had to press "I".
+
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| crafting output
 +
|-
 +
| 1–4
 +
| 2×2 crafting input (1 + x + 2 * y)
 +
|-
 +
| 5–8
 +
| armor (head, chest, legs, feet)
 +
|-
 +
| 9–35
 +
| main inventory
 +
|-
 +
| 36–44
 +
| hotbar
 +
|-
 +
| 45
 +
| Offhand slot
 +
|}
 +
 
 +
Note that this is different from inventory items stored in a player.dat file. This may help: [https://gist.github.com/459a1691c3dd751db160 https://gist.github.com/459a1691c3dd751db160]
 +
 
 +
{{-}}
 +
 
 +
== Chest ==
 +
[[File:Chest-slots.png|thumb|Chest slots]]
 +
 
 +
This is the window that is opened when the player right-clicks on a single chest block.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0–26
 +
| chest
 +
|-
 +
| 27–53
 +
| main inventory
 +
|-
 +
| 54–62
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
[[File:DoubleChest-slots.png|thumb|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).
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0
+
| 0–53
| class="col1" | crafting output
+
| chest
|- class="row2"
+
|-
| class="col0" | 1-4
+
| 54–80
| class="col1" | (2x2) crafting input (1 + x + 2 * y)
+
| main inventory
|- class="row3"
+
|-
| class="col0" | 5-8
+
| 81–89
| class="col1" | armor (head, chest, legs, feet)
+
| hotbar
|- class="row4"
+
|}
| class="col0" | 9-35
 
| class="col1" | main inventory
 
|- class="row5"
 
| class="col0" | 36-44
 
| class="col1" | held items
 
|}
 
  
Note that this is different than inventory items stored in a player.dat file. This may help: [https://gist.github.com/459a1691c3dd751db160 https://gist.github.com/459a1691c3dd751db160]
+
{{warning2|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 window ===
+
{{-}}
 +
 
 +
== Crafting table ==
 +
[[File:CraftingTable-slots.png|thumb|Crafting table slots]]
  
 
This is the window that is opened when the player right-clicks on a workbench.
 
This is the window that is opened when the player right-clicks on a workbench.
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0
+
| 0
| class="col1" | crafting output
+
| crafting output
|- class="row2"
+
|-
| class="col0" | 1-9
+
| 1–9
| class="col1" | (3x3) crafting input (1 + x + 3 * y)
+
| 3×3 crafting input (1 + x + 3 * y)
|- class="row3"
+
|-
| class="col0" | 10-36
+
| 10–36
| class="col1" | main inventory
+
| main inventory
|- class="row4"
+
|-
| class="col0" | 37-45
+
| 37–45
| class="col1" | held items
+
| hotbar
|}
+
|}
 +
 
 +
{{warning2|If the "Number Of Slots" parameter is not set to 0, the opened window will behave like a container window.}}
 +
 
 +
{{-}}
 +
 
 +
== Furnace ==
 +
 
 +
[[File:Furnace-slots.png|thumb|Furnace slots]]
 +
 
 +
The window that appears when a furnace is right-clicked.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| ingredient
 +
|-
 +
| 1
 +
| fuel
 +
|-
 +
| 2
 +
| output
 +
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{warning2|If the "Number Of Slots" parameter is inferior to 3, placing an item in a slot may crash the client.}}
 +
 
 +
{{-}}
 +
 
 +
=== Blast Furnace ===
 +
[[File:1.14-blast_furnace-slots.png|thumb|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.
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| ingredient
 +
|-
 +
| 1
 +
| fuel
 +
|-
 +
| 2
 +
| output
 +
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
=== Smoker ===
 +
[[File:1.14-smoker-slots.png|thumb|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.
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| ingredient
 +
|-
 +
| 1
 +
| fuel
 +
|-
 +
| 2
 +
| output
 +
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Dispenser ==
 +
{{anchor|Dropper}}
 +
 
 +
[[File:Dispenser-slots.png|thumb|Dispenser/dropper slots]]
 +
 
 +
The inventory that appears when a dispenser or dropper is opened.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0–8
 +
| 3×3 dispenser contents (x + 3 * y)
 +
|-
 +
| 9–35
 +
| main inventory
 +
|-
 +
| 36-44
 +
| hotbar
 +
|}
 +
 
 +
{{warning2|If the "Number Of Slots" parameter is inferior to 9, placing an item in a slot may crash the client.}}
 +
 
 +
{{-}}
 +
 
 +
== Enchantment Table ==
 +
 
 +
[[File:EnchantmentTable-slots.png|thumb|Enchantment table slots]]
 +
 
 +
The inventory of an enchantment table.  The enchant buttons trigger a [[Protocol#Enchant item|Enchant item]] packet.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| item to enchant
 +
|-
 +
| 1
 +
| lapis lazuli slot
 +
|-
 +
| 2–28
 +
| main inventory
 +
|-
 +
| 29–37
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Brewing stand ==
 +
 
 +
[[File:BrewingStand-slots.png|thumb|Brewing stand slots]]
 +
 
 +
The GUI that appears when a brewing stand is opened.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0-2
 +
| bottles/potions
 +
|-
 +
| 3
 +
| potion ingredient
 +
|-
 +
| 4
 +
| blaze powder
 +
|-
 +
| 5-31
 +
| main inventory
 +
|-
 +
| 32-40
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Villager trading ==
 +
 
 +
[[File:1.14-merchant-slots.png|thumb|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.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0-1
 +
| input items
 +
|-
 +
| 2
 +
| result
 +
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Beacon ==
 +
 
 +
[[File:Beacon-slots.png|thumb|Beacon slots]]
 +
 
 +
The window that appears when a beacon is right-clicked.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| payment item
 +
|-
 +
| 1–27
 +
| main inventory
 +
|-
 +
| 28–36
 +
| hotbar
 +
|}
  
=== Chest ===
+
{{-}}
  
This is the window that is opened when the player right-clicks on a single chest block.
+
== Anvil ==
 +
 
 +
[[File:Anvil-slots.png|thumb|Anvil slots]]
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0-26
+
| 0
| class="col1" | chest
+
| first item
|- class="row2"
+
|-
| class="col0" | 27-53
+
| 1
| class="col1" | main inventory
+
| second item
|- class="row3"
+
|-
| class="col0" | 54-62
+
| 2
| class="col1" | held items
+
| result
|}
+
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Hopper ==
  
=== Large chest ===
+
[[File:Hopper-slots.png|thumb|Hopper slots]]
  
This is the window that is opened when the player right-clicks on a double chest block (two adjacent chest blocks).
+
The window that appears when a hopper or hopper minecart is opened.
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0-53
+
| 0-4
| class="col1" | chest
+
| hopper slots
|- class="row2"
+
|-
| class="col0" | 54-80
+
| 5–31
| class="col1" | main inventory
+
| main inventory
|- class="row3"
+
|-
| class="col0" | 81-89
+
| 32–40
| class="col1" | held items
+
| hotbar
|}
+
|}
  
=== Furnace ===
+
{{-}}
 +
 
 +
== Shulker box ==
 +
[[File:Shulker-box-slots.png|thumb|Shulker box slots]]
 +
 
 +
This is the window that is opened when the player right-clicks on a shulker box chest.
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0
+
| 0–26
| class="col1" | above flame
+
| box slots
|- class="row2"
+
|-
| class="col0" | 1
+
| 27–53
| class="col1" | fuel
+
| main inventory
|- class="row3"
+
|-
| class="col0" | 2
+
| 54–62
| class="col1" | output
+
| hotbar
|- class="row4"
+
|}
| class="col0" | 3-29
+
 
| class="col1" | main inventory
+
{{-}}
|- class="row5"
+
 
| class="col0" | 30-38
+
== Llama ==
| class="col1" | held items
+
[[File:Llama-strength5-slots.png|thumb|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).
  
=== Dispenser ===
+
{{warning|There still is a saddle slot, even though it cannot be used and is invisible.}}
  
This is the window that is opened when the player right-clicks on a dispenser.
+
{{warning|Slot positions within the llama inventory vary - slot 2 may be at (1,0) or at (0,1) depending on the number of columns.}}
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0-8
+
| 0
| class="col1" | 3x3 dispenser contents (x + 3 * y)
+
| saddle
|- class="row2"
+
|-
| class="col0" | 9-35
+
| 1
| class="col1" | main inventory
+
| carpet
|- class="row3"
+
|-
| class="col0" | 36-44
+
| 2-(2+3*Strength)
| class="col1" | held items
+
| llama inventory
|}
+
|-
 +
| (2+3*Strength)+1-(2+3*Strength)+27
 +
| player inventory
 +
|-
 +
| (2+3*Strength)+28-(2+3*Strength)+35
 +
| hotbar
 +
|}
 +
 
 +
<gallery>
 +
File:Llama-unchested-slots.png|Unchested llama
 +
File:Llama-strength1-slots.png|Llama with strength 1
 +
File:Llama-strength2-slots.png|Llama with strength 2
 +
File:Llama-strength3-slots.png|Llama with strength 3
 +
File:Llama-strength4-slots.png|Llama with strength 4
 +
File:Llama-strength5-slots.png|Llama with strength 5
 +
</gallery>
  
=== Enchantment Table ===
+
== Horse ==
 +
 
 +
[[File:Horse-slots.png|thumb|Horse slots]]
 +
 
 +
The window for when a tamed horse is right-clicked or the player's inventory is opened while riding a horse.
  
 
{| class="wikitable"
 
{| class="wikitable"
|- class="row0"
+
|-
! class="col0" | Slot range
+
! Slot range
! class="col1" | Description
+
! Description
|- class="row1"
+
|-
| class="col0" | 0
+
| 0
| class="col1" | enchantment slot
+
| saddle
|- class="row2"
+
|-
| class="col0" | 1
+
| 1
| class="col1" | lapis slot
+
| armor
|- class="row3
+
|-
| class="col0" | 2-28
+
| 2–28
| class="col1" | main inventory
+
| main inventory
|- class="row4"
+
|-
| class="col0" | 29-37
+
| 29–37
| class="col1" | held items
+
| hotbar
|}
+
|}
 +
 
 +
<gallery>
 +
File:Horse-slots.png|Horse slots
 +
File:Skeleton-horse-slots.png|Skeleton horse slots
 +
File:Zombie-horse-slots.png|Zombie horse slots
 +
</gallery>
 +
 
 +
{{-}}
 +
 
 +
== Donkey ==
 +
 
 +
[[File:Donkey-slots.png|thumb|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.
 +
 
 +
{{warning|There still is an armor slot, even though it cannot be used and is invisible.}}
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| saddle
 +
|-
 +
| 1
 +
| armor
 +
|-
 +
| 2–16
 +
| donkey inventory
 +
|-
 +
| 17–43 (2-28 if unchested)
 +
| player inventory
 +
|-
 +
| 44–52 (29-37 if unchested)
 +
| hotbar
 +
|}
 +
 
 +
<gallery>
 +
File:Donkey-unchested-slots.png|Unchested donkey
 +
File:Donkey-chested-slots.png|Chested donkey
 +
File:Mule-unchested-slots.png|Unchested mule
 +
File:Mule-chested-slots.png|Chested mule
 +
</gallery>
 +
 
 +
{{-}}
 +
 
 +
== Cartography Table ==
 +
[[File:1.14-cartography-slots.png|thumb|Cartography table slots]]
 +
 
 +
The GUI that appears when a cartography table is opened.
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| map
 +
|-
 +
| 1
 +
| paper
 +
|-
 +
| 2
 +
| output
 +
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Grindstone ==
 +
[[File:1.14-grindstone-slots.png|thumb|Grindstone slots]]
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| first item
 +
|-
 +
| 1
 +
| second item
 +
|-
 +
| 2
 +
| result
 +
|-
 +
| 3–29
 +
| main inventory
 +
|-
 +
| 30–38
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Lectern ==
 +
[[File:1.14-lectern.png|thumb|Lectern UI]]
 +
 
 +
This is a regular container, unlike with held books opened via [[Protocol#Open Book]].
 +
 
 +
{{Need Info|Is the player inventory also included on this?}}
 +
 
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| book
 +
|-
 +
| 1–27
 +
| main inventory?
 +
|-
 +
| 28–36
 +
| hotbar?
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Loom ==
 +
[[File:1.14-loom-slots.png|thumb|Loom slots]]
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| banner
 +
|-
 +
| 1
 +
| dye
 +
|-
 +
| 2
 +
| pattern
 +
|-
 +
| 3
 +
| result
 +
|-
 +
| 4–30
 +
| main inventory
 +
|-
 +
| 31–39
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
 +
 
 +
== Stonecutter ==
 +
[[File:1.14-stonecutter-slots.png|thumb|Stonecutter slots]]
 +
 
 +
{| class="wikitable" {{added}}
 +
|-
 +
! Slot range
 +
! Description
 +
|-
 +
| 0
 +
| input
 +
|-
 +
| 1
 +
| result
 +
|-
 +
| 2–28
 +
| main inventory
 +
|-
 +
| 29–37
 +
| hotbar
 +
|}
 +
 
 +
{{-}}
  
 
[[Category:Minecraft Modern]]
 
[[Category:Minecraft Modern]]

Latest revision as of 19:22, 22 August 2019

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:

Window Type Description
minecraft:generic_9x1 A 1-row inventory, not used by the notchian server.
minecraft:generic_9x2 A 2-row inventory, not used by the notchian server.
minecraft:generic_9x3 General-purpose 3-row inventory. Used by Chest, minecart with chest, ender chest, and barrel
minecraft:generic_9x4 A 4-row inventory, not used by the notchian server.
minecraft:generic_9x5 A 5-row inventory, not used by the notchian server.
minecraft:generic_9x6 General-purpose 6-row inventory, used by large chests.
minecraft:generic_3x3 General-purpose 3-by-3 square inventory, used by Dispenser and Dropper
minecraft:anvil Anvil
minecraft:beacon Beacon
minecraft:blast_furnace Blast Furnace
minecraft:brewing_stand Brewing stand
minecraft:crafting Crafting table
minecraft:enchantment Enchantment table
minecraft:furnace Furnace
minecraft:grindstone Grindstone
minecraft:hopper Hopper or minecart with hopper
minecraft:lectern Lectern
minecraft:loom Loom
minecraft:merchant Villager, Wandering Trader
minecraft:shulker_box Shulker box
minecraft:smoker Smoker
minecraft:cartography Cartography Table
minecraft:stonecutter Stonecutter
Huh.png 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.

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

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 range Description
0 crafting output
1–4 2×2 crafting input (1 + x + 2 * y)
5–8 armor (head, chest, legs, feet)
9–35 main inventory
36–44 hotbar
45 Offhand 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 range Description
0–26 chest
27–53 main inventory
54–62 hotbar
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 range Description
0–53 chest
54–80 main inventory
81–89 hotbar

Warning.png 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 range Description
0 crafting output
1–9 3×3 crafting input (1 + x + 3 * y)
10–36 main inventory
37–45 hotbar

Warning.png 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 range Description
0 ingredient
1 fuel
2 output
3–29 main inventory
30–38 hotbar

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

Blast Furnace

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 range Description
0 ingredient
1 fuel
2 output
3–29 main inventory
30–38 hotbar

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 range Description
0 ingredient
1 fuel
2 output
3–29 main inventory
30–38 hotbar

Dispenser

Dispenser/dropper slots

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

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

Warning.png 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 range Description
0 item to enchant
1 lapis lazuli slot
2–28 main inventory
29–37 hotbar

Brewing stand

Brewing stand slots

The GUI that appears when a brewing stand is opened.

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

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 range Description
0-1 input items
2 result
3–29 main inventory
30–38 hotbar

Beacon

Beacon slots

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

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

Anvil

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

Hopper

Hopper slots

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

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

Shulker box

Shulker box slots

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

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

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).

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

Warning.png 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 range Description
0 saddle
1 carpet
2-(2+3*Strength) llama inventory
(2+3*Strength)+1-(2+3*Strength)+27 player inventory
(2+3*Strength)+28-(2+3*Strength)+35 hotbar

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 range Description
0 saddle
1 armor
2–28 main inventory
29–37 hotbar

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.

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

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

Cartography Table

Cartography table slots

The GUI that appears when a cartography table is opened.

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

Grindstone

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

Lectern

Lectern UI

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

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


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

Loom

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

Stonecutter

Stonecutter slots
Slot range Description
0 input
1 result
2–28 main inventory
29–37 hotbar