Package cn.nukkit.blockentity
Class BlockEntityEjectable
java.lang.Object
cn.nukkit.math.Vector3
cn.nukkit.positiontracking.NamedPosition
cn.nukkit.level.Position
cn.nukkit.blockentity.BlockEntity
cn.nukkit.blockentity.BlockEntitySpawnable
cn.nukkit.blockentity.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 Summary
Fields inherited from class cn.nukkit.blockentity.BlockEntity
BANNER, BARREL, BEACON, BED, BEEHIVE, BELL, BLAST_FURNACE, BREWING_STAND, CAMPFIRE, CAULDRON, CHEST, chunk, closed, COMMAND_BLOCK, COMPARATOR, CONDUIT, count, DAYLIGHT_DETECTOR, DISPENSER, DROPPER, ENCHANT_TABLE, END_GATEWAY, END_PORTAL, ENDER_CHEST, FLOWER_POT, FURNACE, GLOW_ITEM_FRAME, HOPPER, id, ITEM_FRAME, JUKEBOX, lastUpdate, LECTERN, LODESTONE, MOB_SPAWNER, movable, MOVING_BLOCK, MUSIC, name, namedTag, NETHER_REACTOR, PISTON_ARM, SCULK_CATALYST, SCULK_SENSOR, SCULK_SHRIEKER, server, SHULKER_BOX, SIGN, SKULL, SMOKER, STRUCTURE_BLOCK, TARGET, timing
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract EjectableInventory
protected abstract String
getItem
(int index) 返回一个存储在容器里的物品的Item
对象。
Returns an item that stores in this container, as anItem
object.getName()
返回这个事物的名字。
Gets the name of this object.int
getSize()
返回这个容器最多能包含的物品数量。
Returns the max number of items that this container can contain.protected int
getSlotIndex
(int index) boolean
hasName()
返回这个事物是否有名字。
Whether this object has a name.void
loadNBT()
从方块实体的namedtag中读取数据void
onBreak()
void
saveNBT()
存储方块实体数据到namedtagvoid
把一个物品存储进容器。
Sets or stores this item into this container.void
设置或更改这个事物的名字。
Changes the name of this object, or names it.Methods inherited from class cn.nukkit.blockentity.BlockEntitySpawnable
getSpawnPacket, getSpawnPacket, initBlockEntity, spawnTo, spawnToAll, updateCompoundTag
Methods inherited from class cn.nukkit.blockentity.BlockEntity
close, createBlockEntity, createBlockEntity, createBlockEntity, getBlock, getCleanedNBT, getDefaultCompound, getId, getLevelBlockEntity, getSaveId, isBlockEntityValid, isMovable, isObservable, onBreak, onUpdate, registerBlockEntity, scheduleUpdate, setDirty
Methods inherited from class cn.nukkit.level.Position
abs, add, add, add, add, ceil, clone, divide, floor, fromObject, fromObject, getChunk, getLevel, getLevelBlock, getLevelBlock, getLevelBlock, getLevelBlockAround, getLevelBlockAtLayer, getLevelBlockState, getLevelBlockState, getLevelName, getLocation, getSide, getSide, getSidePos, getTickCachedLevelBlock, getTickCachedLevelBlockAtLayer, getTypedBlockEntity, getValidLevel, isValid, multiply, round, setComponents, setComponents, setLevel, setStrong, setWeak, subtract, subtract, subtract, subtract, subtract, toString
Methods inherited from class cn.nukkit.positiontracking.NamedPosition
matchesNamedPosition
Methods inherited from class cn.nukkit.math.Vector3
asBlockVector3, asVector3f, cross, distance, distance, distanceManhattan, distanceSquared, distanceSquared, dot, down, down, east, east, equals, getAxis, getChunkSectionY, getChunkVector, getChunkX, getChunkZ, getFloorX, getFloorY, getFloorZ, getForward, getIntermediateWithXValue, getIntermediateWithYValue, getIntermediateWithZValue, getRight, getSideVec, getSouth, getUp, getWest, getX, getY, getZ, hashCode, length, lengthSquared, maxPlainDistance, maxPlainDistance, maxPlainDistance, maxPlainDistance, maxPlainDistance, normalize, north, north, rawHashCode, setComponentsAdding, setComponentsAdding, setX, setY, setZ, south, south, up, up, west, west
-
Field Details
-
inventory
-
-
Constructor Details
-
BlockEntityEjectable
-
-
Method Details
-
createInventory
-
getBlockEntityName
-
loadNBT
Description copied from class:BlockEntity
从方块实体的namedtag中读取数据- Overrides:
loadNBT
in classBlockEntity
-
getSize
public int getSize()Description copied from interface:BlockEntityContainer
返回这个容器最多能包含的物品数量。
Returns the max number of items that this container can contain.- Specified by:
getSize
in interfaceBlockEntityContainer
- Returns:
- 最多能包含的物品数量。
The max number.
-
getSlotIndex
-
getItem
Description copied from interface:BlockEntityContainer
返回一个存储在容器里的物品的Item
对象。
Returns an item that stores in this container, as anItem
object.- Specified by:
getItem
in interfaceBlockEntityContainer
- Parameters:
index
- 这个物品的索引序号。
The index number of this item.- Returns:
- 这个物品的
Item
对象。
AnItem
object for this item.
-
setItem
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 interfaceBlockEntityContainer
- Parameters:
index
- 这个物品的索引序号。
The index number of this item.item
- 描述这个物品的Item
对象。
TheItem
object that describes this item.
-
getInventory
- Specified by:
getInventory
in interfaceInventoryHolder
-
getSpawnCompound
- Overrides:
getSpawnCompound
in classBlockEntitySpawnable
-
saveNBT
public void saveNBT()Description copied from class:BlockEntity
存储方块实体数据到namedtag- Overrides:
saveNBT
in classBlockEntity
-
getName
Description copied from interface:BlockEntityNameable
返回这个事物的名字。
Gets the name of this object.- Specified by:
getName
in interfaceBlockEntityNameable
- Overrides:
getName
in classBlockEntity
- 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 interfaceBlockEntityNameable
- Returns:
- 如果有名字,返回
true
。true
for this object has a name.
-
setName
Description copied from interface:BlockEntityNameable
设置或更改这个事物的名字。
Changes the name of this object, or names it.- Specified by:
setName
in interfaceBlockEntityNameable
- Parameters:
name
- 这个事物的新名字。
The new name of this object.
-
onBreak
public void onBreak()- Overrides:
onBreak
in classBlockEntity
-