package com.github.tuserver.api.inv; import com.github.tuserver.api.entity.Player.Player; public interface PlayerInventory extends Inventory { /** * Returns the item stack currently held by the player. */ public ItemStack getCurrentItem(); /** * Get the size of the player hotbar inventory */ public int getHotbarSize(); /** * Returns the first item stack that is empty. */ public int getFirstEmptyStack(); /** * Clear this player's inventory (including armor), using the specified Item * and metadata as filters or -1 for no filter. */ public int clearInventory(ItemStack p_146027_1_, int p_146027_2_); /** * removed one item of specified Item from inventory (if it is in a stack, * the stack size will reduce with 1) */ public boolean consumeInventoryItem(ItemStack p_146026_1_); /** * Checks if a specified Item is inside the inventory */ public boolean hasItem(ItemStack p_146028_1_); /** * Adds the item stack to the inventory, returns false if it is impossible. */ public boolean addItemStackToInventory(final ItemStack p_70441_1_); /** * Removes from an inventory slot (first arg) up to a specified number * (second arg) of items and returns them in a new stack. */ @Override public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_); /** * When some containers are closed they call this on each slot, then drop * whatever it returns as an EntityItem - like when you close a workbench * GUI. */ @Override public ItemStack getStackInSlotOnClosing(int p_70304_1_); /** * Sets the given item stack to the specified slot in the inventory (can be * crafting or armor sections). */ @Override public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_); /** * Returns the number of slots in the inventory. */ @Override public int getSize(); /** * Returns the stack in slot i */ @Override public ItemStack getStackInSlot(int p_70301_1_); /** * Returns the name of the inventory */ @Override public String getName(); /** * Returns if the inventory is named */ @Override public boolean hasCustomName(); /** * Returns the maximum stack size for a inventory slot. */ @Override public int getInventoryStackLimit(); /** * returns a player armor item (as itemstack) contained in specified armor * slot. */ public ItemStack armorItemInSlot(int p_70440_1_); /** * Based on the damage values and maximum damage values of each armor item, * returns the current armor value. */ public int getTotalArmorValue(); /** * Damages armor in each slot by the specified amount. */ public void damageArmor(float p_70449_1_); /** * Drop all armor and main inventory items. */ public void dropAllItems(); /** * For tile entities, ensures the chunk containing the tile entity is saved * to disk later - the game won't think it hasn't changed and skip it. */ @Override public void markDirty(); /** * Do not make give this method the name canInteractWith because it clashes * with Container */ public boolean isUseableByPlayer(Player p_70300_1_); /** * Returns true if the specified ItemStack exists in the inventory. */ public boolean hasItemStack(ItemStack p_70431_1_); /** * Returns true if automation is allowed to insert the given stack (ignoring * stack size) into the given slot. */ @Override public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_); public void setItemStack(ItemStack p_70437_1_); public ItemStack getItemStack(); }