I created inventory instance with Bukkit.createInventory(player, 6 * 9, title); and made the client to view the inventory. Later, while the player is still viewing the inventory, i need to get its instance. InventoryView openInventory = player.getOpenInventory(); ... = openInventory.getTopInventory(); I have assumed, that the inventory which i get by calling getTopInventory will be the one i have previously created - double chest one, with 54 slots. But apparently the inventory is type of CRAFTING, with total size of 5 slots. How am i supposed to solve this? - I dont want to re-create a new inventory, as this action always puts mouse cursor in the middle of the screen. - Am i supposed to put the 54slots inventory into the cache and lookup the cache instead of calling getOpenInventory(), does the spigot Inventory object holds reference to a player somwhere, that would mean i have to remove the inventory object from cache when player quits, dies, changes worlds etc? - Is this not indended behavior, in the first place?