Class BlockEntityHopper

All Implemented Interfaces:
BlockEntityContainer, BlockEntityNameable, InventoryHolder, Cloneable

public class BlockEntityHopper extends BlockEntitySpawnable implements InventoryHolder, BlockEntityContainer, BlockEntityNameable
Since:
8.5.2017
Author:
CreeperFace
  • Field Details

    • inventory

      protected HopperInventory inventory
    • transferCooldown

      public int transferCooldown
  • Constructor Details

  • Method Details

    • initBlockEntity

      protected void initBlockEntity()
      Overrides:
      initBlockEntity in class BlockEntitySpawnable
    • isBlockEntityValid

      public boolean isBlockEntityValid()
      Specified by:
      isBlockEntityValid in class BlockEntity
    • getName

      public String getName()
      Description copied from interface: BlockEntityNameable
      返回这个事物的名字。
      Gets the name of this object.
      Specified by:
      getName in interface BlockEntityNameable
      Overrides:
      getName in class BlockEntity
      Returns:
      这个事物的名字。
      The name of this object.
    • hasName

      public boolean hasName()
      Description copied from interface: BlockEntityNameable
      返回这个事物是否有名字。
      Whether this object has a name.
      Specified by:
      hasName in interface BlockEntityNameable
      Returns:
      如果有名字,返回 true
      true for this object has a name.
    • setName

      public void setName(String name)
      Description copied from interface: BlockEntityNameable
      设置或更改这个事物的名字。
      Changes the name of this object, or names it.
      Specified by:
      setName in interface BlockEntityNameable
      Parameters:
      name - 这个事物的新名字。
      The new name of this object.
    • isOnTransferCooldown

      public boolean isOnTransferCooldown()
    • setTransferCooldown

      public void setTransferCooldown(int transferCooldown)
    • getSize

      public int getSize()
      Description copied from interface: BlockEntityContainer
      返回这个容器最多能包含的物品数量。
      Returns the max number of items that this container can contain.
      Specified by:
      getSize in interface BlockEntityContainer
      Returns:
      最多能包含的物品数量。
      The max number.
    • getSlotIndex

      protected int getSlotIndex(int index)
    • getItem

      public Item getItem(int index)
      Description copied from interface: BlockEntityContainer
      返回一个存储在容器里的物品的Item对象。
      Returns an item that stores in this container, as an Item object.
      Specified by:
      getItem in interface BlockEntityContainer
      Parameters:
      index - 这个物品的索引序号。
      The index number of this item.
      Returns:
      这个物品的 Item对象。
      An Item object for this item.
    • setItem

      public void setItem(int index, Item item)
      Description copied from interface: BlockEntityContainer
      把一个物品存储进容器。
      Sets or stores this item into this container.

      注意:如果这个容器相应的索引序号已经有了物品,那么新存储的物品将会替换原有的物品。
      Notice: If there is already an item for this index number, the new item being stored will REPLACE the old one.

      Specified by:
      setItem in interface BlockEntityContainer
      Parameters:
      index - 这个物品的索引序号。
      The index number of this item.
      item - 描述这个物品的 Item对象。
      The Item object that describes this item.
    • saveNBT

      public void saveNBT()
      Overrides:
      saveNBT in class BlockEntity
    • loadNBT

      @Since("1.6.0.0-PNX") public void loadNBT()
      Overrides:
      loadNBT in class BlockEntity
    • getInventory

      public HopperInventory getInventory()
      Specified by:
      getInventory in interface InventoryHolder
    • isDisabled

      @PowerNukkitOnly @Since("1.4.0.0-PN") public boolean isDisabled()
    • setDisabled

      @PowerNukkitOnly @Since("1.4.0.0-PN") public void setDisabled(boolean disabled)
    • onUpdate

      public boolean onUpdate()
      Overrides:
      onUpdate in class BlockEntity
    • isObservable

      @Since("1.4.0.0-PN") @PowerNukkitOnly public boolean isObservable()
      Description copied from class: BlockEntity
      Indicates if an observer blocks that are looking at this block should blink when BlockEntity.setDirty() is called.
      Overrides:
      isObservable in class BlockEntity
    • pullItems

      @PowerNukkitDifference(info="Check if the hopper above is locked, then don\'t pull items.", since="1.4.0.0-PN") public boolean pullItems()
    • pickupItems

      public boolean pickupItems()
    • close

      public void close()
      Overrides:
      close in class BlockEntity
    • onBreak

      public void onBreak()
      Overrides:
      onBreak in class BlockEntity
    • pushItems

      public boolean pushItems()
    • getSpawnCompound

      public CompoundTag getSpawnCompound()
      Overrides:
      getSpawnCompound in class BlockEntitySpawnable