Class PlayerInventory

java.lang.Object
cn.nukkit.inventory.BaseInventory
cn.nukkit.inventory.PlayerInventory
All Implemented Interfaces:
Inventory

public class PlayerInventory extends BaseInventory
0-8 物品栏
9-35 背包
36-39 盔甲栏
想获取副手库存请用PlayerOffhandInventory
Author:
MagicDroidX (Nukkit Project)
  • Field Details

    • itemInHandIndex

      protected int itemInHandIndex
  • Constructor Details

  • Method Details

    • getSize

      public int getSize()
      Description copied from interface: Inventory
      获取该库存大小
      Specified by:
      getSize in interface Inventory
      Overrides:
      getSize in class BaseInventory
    • setSize

      public void setSize(int size)
      Overrides:
      setSize in class BaseInventory
    • equipItem

      public boolean equipItem(int slot)
      Called when a client equips a hotbar inventorySlot. This method should not be used by plugins. This method will call PlayerItemHeldEvent.
      Parameters:
      slot - hotbar slot Number of the hotbar slot to equip.
      Returns:
      boolean if the equipment change was successful, false if not.
    • getHotbarSlotIndex

      @Deprecated public int getHotbarSlotIndex(int index)
      Deprecated.
    • setHotbarSlotIndex

      @Deprecated public void setHotbarSlotIndex(int index, int slot)
      Deprecated.
    • getHeldItemIndex

      public int getHeldItemIndex()
    • setHeldItemIndex

      public void setHeldItemIndex(int index)
    • setHeldItemIndex

      public void setHeldItemIndex(int index, boolean send)
    • getItemInHand

      public Item getItemInHand()
    • setItemInHand

      public boolean setItemInHand(Item item)
    • getHeldItemSlot

      @Deprecated public int getHeldItemSlot()
      Deprecated.
    • setHeldItemSlot

      public void setHeldItemSlot(int slot)
    • sendHeldItem

      public void sendHeldItem(Player... players)
    • sendHeldItem

      public void sendHeldItem(Collection<Player> players)
    • onSlotChange

      public void onSlotChange(int index, Item before, boolean send)
      Description copied from interface: Inventory
      当执行Inventory.setItem(int, Item)时该方法会被调用,此时物品已经put进slots

      This method is called when Inventory.setItem(int, Item) is executed, and the item has been put into slots

      Specified by:
      onSlotChange in interface Inventory
      Overrides:
      onSlotChange in class BaseInventory
      Parameters:
      index - 物品变动的格子索引
      The grid index of the item's changes
      before - 变动前的物品
      Items before the change
      send - 是否发送InventorySlotPacket到客户端
      Whether to send InventorySlotPacket to the client
    • getHotbarSize

      public int getHotbarSize()
    • getArmorItem

      public Item getArmorItem(int index)
    • setArmorItem

      public boolean setArmorItem(int index, Item item)
    • setArmorItem

      public boolean setArmorItem(int index, Item item, boolean ignoreArmorEvents)
    • getHelmet

      public Item getHelmet()
    • getChestplate

      public Item getChestplate()
    • getLeggings

      public Item getLeggings()
    • getBoots

      public Item getBoots()
    • setHelmet

      public boolean setHelmet(Item helmet)
    • setChestplate

      public boolean setChestplate(Item chestplate)
    • setLeggings

      public boolean setLeggings(Item leggings)
    • setBoots

      public boolean setBoots(Item boots)
    • setItem

      public boolean setItem(int index, Item item)
      Description copied from interface: Inventory
      设置该库存指定索引处的物品
      Parameters:
      index - the index
      item - the item
      Returns:
      the item
    • setItem

      public boolean setItem(int index, Item item, boolean send)
      Description copied from interface: Inventory
      设置该库存指定索引处的物品
      Specified by:
      setItem in interface Inventory
      Overrides:
      setItem in class BaseInventory
      Parameters:
      index - the index
      item - the item
      send - 是否同时发送数据包
      Returns:
      the item
    • clear

      public boolean clear(int index, boolean send)
      Specified by:
      clear in interface Inventory
      Overrides:
      clear in class BaseInventory
    • getArmorContents

      public Item[] getArmorContents()
    • clearAll

      public void clearAll()
      Specified by:
      clearAll in interface Inventory
      Overrides:
      clearAll in class BaseInventory
    • sendArmorContents

      public void sendArmorContents(Player player)
    • sendArmorContents

      public void sendArmorContents(Player[] players)
    • setArmorContents

      public void setArmorContents(Item[] items)
    • sendArmorContents

      public void sendArmorContents(Collection<Player> players)
    • sendArmorSlot

      public void sendArmorSlot(int index, Player player)
    • sendArmorSlot

      public void sendArmorSlot(int index, Player[] players)
    • sendArmorSlot

      public void sendArmorSlot(int index, Collection<Player> players)
    • sendContents

      public void sendContents(Player player)
      Specified by:
      sendContents in interface Inventory
      Overrides:
      sendContents in class BaseInventory
    • sendContents

      public void sendContents(Collection<Player> players)
      Specified by:
      sendContents in interface Inventory
      Overrides:
      sendContents in class BaseInventory
    • sendContents

      public void sendContents(Player[] players)
      Specified by:
      sendContents in interface Inventory
      Overrides:
      sendContents in class BaseInventory
    • sendSlot

      public void sendSlot(int index, Player player)
      Specified by:
      sendSlot in interface Inventory
      Overrides:
      sendSlot in class BaseInventory
    • sendSlot

      public void sendSlot(int index, Collection<Player> players)
      Specified by:
      sendSlot in interface Inventory
      Overrides:
      sendSlot in class BaseInventory
    • sendSlot

      public void sendSlot(int index, Player... players)
      Specified by:
      sendSlot in interface Inventory
      Overrides:
      sendSlot in class BaseInventory
    • sendCreativeContents

      public void sendCreativeContents()
    • getFreeSpace

      public int getFreeSpace(Item item)
      Description copied from class: BaseInventory
      检测指定物品能在该库存所能存放的空余数量
      Overrides:
      getFreeSpace in class BaseInventory
      Parameters:
      item - 要检测的物品
      Returns:
      所能存放的空余数量
    • getHolder

      public EntityHuman getHolder()
      Specified by:
      getHolder in interface Inventory
      Overrides:
      getHolder in class BaseInventory
    • onOpen

      public void onOpen(Player who)
      Specified by:
      onOpen in interface Inventory
      Overrides:
      onOpen in class BaseInventory
    • onClose

      public void onClose(Player who)
      Specified by:
      onClose in interface Inventory
      Overrides:
      onClose in class BaseInventory