Class BlockEntityEjectable

All Implemented Interfaces:
BlockEntityContainer, BlockEntityNameable, InventoryHolder, Cloneable
Direct Known Subclasses:
BlockEntityDispenser, BlockEntityDropper

@PowerNukkitOnly @Since("1.4.0.0-PN") public abstract class BlockEntityEjectable extends BlockEntitySpawnable implements BlockEntityContainer, BlockEntityNameable, InventoryHolder
  • Field Details

  • Constructor Details

  • Method Details

    • createInventory

      @PowerNukkitOnly @Since("1.4.0.0-PN") protected abstract EjectableInventory createInventory()
    • getBlockEntityName

      @PowerNukkitOnly @Since("1.4.0.0-PN") protected abstract String getBlockEntityName()
    • loadNBT

      @Since("1.19.60-r1") public void loadNBT()
      Description copied from class: BlockEntity
      从方块实体的namedtag中读取数据
      Overrides:
      loadNBT in class BlockEntity
    • 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

      @PowerNukkitOnly @Since("1.4.0.0-PN") 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.
    • getInventory

      public EjectableInventory getInventory()
      Specified by:
      getInventory in interface InventoryHolder
    • getSpawnCompound

      public CompoundTag getSpawnCompound()
      Overrides:
      getSpawnCompound in class BlockEntitySpawnable
    • saveNBT

      public void saveNBT()
      Description copied from class: BlockEntity
      存储方块实体数据到namedtag
      Overrides:
      saveNBT 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.
    • onBreak

      public void onBreak()
      Overrides:
      onBreak in class BlockEntity