Package cn.nukkit.blockentity
Class BlockEntityCommandBlock
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.BlockEntityCommandBlock
- All Implemented Interfaces:
BlockEntityNameable
,ICommandBlock
,CommandSender
,InventoryHolder
,Permissible
,ServerOperator
,Cloneable
@PowerNukkitXOnly
@Since("1.6.0.0-PNX")
public class BlockEntityCommandBlock
extends BlockEntitySpawnable
implements ICommandBlock, BlockEntityNameable
-
Nested Class Summary
Nested classes/interfaces inherited from interface cn.nukkit.blockentity.ICommandBlock
ICommandBlock.CommandBlockTrigger
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected String
protected boolean
protected boolean
protected int
protected boolean
protected long
protected String
protected int
protected boolean
protected boolean
protected PermissibleBase
protected boolean
protected int
protected int
protected boolean
Fields inherited from class cn.nukkit.blockentity.BlockEntity
BANNER, BARREL, BEACON, BED, BEEHIVE, BELL, BLAST_FURNACE, BREWING_STAND, CAMPFIRE, CAULDRON, CHEST, CHISELED_BOOKSHELF, 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, HANGING_SIGN, 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
Fields inherited from interface cn.nukkit.blockentity.ICommandBlock
CURRENT_VERSION, MODE_CHAIN, MODE_NORMAL, MODE_REPEATING, TAG_AUTO, TAG_COMMAND, TAG_CONDITION_MET, TAG_CONDITIONAL_MODE, TAG_CUSTOM_NAME, TAG_EXECUTE_ON_FIRST_TICK, TAG_LAST_EXECUTION, TAG_LAST_OUTPUT, TAG_LAST_OUTPUT_PARAMS, TAG_LP_COMMAND_MODE, TAG_LP_CONDIONAL_MODE, TAG_LP_REDSTONE_MODE, TAG_POWERED, TAG_SUCCESS_COUNT, TAG_TICK_DELAY, TAG_TRACK_OUTPUT, TAG_VERSION
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddAttachment
(Plugin plugin) addAttachment
(Plugin plugin, String name) addAttachment
(Plugin plugin, String name, Boolean value) void
close()
boolean
execute
(int chain) int
long
int
int
getMode()
getName()
返回命令发送者的名称.
如果命令发送者是一个玩家,将会返回他的玩家名字(name)不是显示名字(display name).
如果命令发送者是控制台,将会返回"CONSOLE"
.
当你需要判断命令的执行者是不是控制台时,可以用这个:
if(sender instanceof ConsoleCommandSender) .....;
getPerm()
返回命令发送者所在的服务器.int
int
boolean
hasName()
返回这个事物是否有名字。
Whether this object has a name.boolean
hasPermission
(Permission permission) boolean
hasPermission
(String name) protected void
boolean
isAuto()
boolean
boolean
boolean
boolean
boolean
isEntity()
请使用这个方法来检查发送者是否是一个实体,而不是使用代码"xxx instanceof Entity"
.
因为发送者可能不是"Entity"
的一个实例,但实际上它是以一个实体的身份执行命令(例如:"ExecutorCommandSender"
)boolean
boolean
boolean
boolean
isOp()
返回这个对象是不是服务器管理员。
Returns if this object is an operator.boolean
isPermissionSet
(Permission permission) boolean
isPermissionSet
(String name) boolean
isPlayer()
boolean
boolean
boolean
void
loadNBT()
从方块实体的namedtag中读取数据void
onBreak()
boolean
onUpdate()
void
void
removeAttachment
(PermissionAttachment attachment) void
saveNBT()
存储方块实体数据到namedtagvoid
sendCommandOutput
(CommandOutputContainer container) Send command output.void
sendMessage
(TextContainer message) 给命令发送者返回信息.void
sendMessage
(String message) 给命令发送者返回信息.void
setAuto
(boolean auto) void
setCommand
(String command) void
setConditional
(boolean conditionalMode) boolean
void
setExecutingOnFirstTick
(boolean executingOnFirstTick) void
setLastExecution
(long time) void
setLastOutput
(String output) void
setLastOutputCommandMode
(int mode) void
setLastOutputCondionalMode
(boolean condionalMode) void
setLastOutputParams
(ListTag<StringTag> params) void
setLastOutputRedstoneMode
(boolean redstoneMode) void
设置或更改这个事物的名字。
Changes the name of this object, or names it.void
setOp
(boolean value) 把这个对象设置成服务器管理员。
Sets this object to be an operator or not to be.void
setPowered
(boolean powered) void
setSuccessCount
(int count) void
setTickDelay
(int tickDelay) void
setTrackOutput
(boolean track) Methods inherited from class cn.nukkit.blockentity.BlockEntitySpawnable
getSpawnPacket, getSpawnPacket, spawnTo, spawnToAll, updateCompoundTag
Methods inherited from class cn.nukkit.blockentity.BlockEntity
createBlockEntity, createBlockEntity, createBlockEntity, getBlock, getCleanedNBT, getDefaultCompound, getId, getLevelBlockEntity, getSaveId, init, isMovable, isObservable, onBreak, 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, getLevelBlock, getLevelBlockAround, getLevelBlockAtLayer, getLevelBlockState, getLevelBlockState, getLevelName, 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
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface cn.nukkit.command.CommandSender
asEntity, asPlayer
Methods inherited from interface cn.nukkit.blockentity.ICommandBlock
execute, getLevel, setPowered, trigger, trigger
-
Field Details
-
conditionalMode
protected boolean conditionalMode -
auto
protected boolean auto -
command
-
lastExecution
protected long lastExecution -
trackOutput
protected boolean trackOutput -
lastOutput
-
lastOutputParams
-
lastOutputCommandMode
protected int lastOutputCommandMode -
lastOutputCondionalMode
protected boolean lastOutputCondionalMode -
lastOutputRedstoneMode
protected boolean lastOutputRedstoneMode -
successCount
protected int successCount -
conditionMet
protected boolean conditionMet -
powered
protected boolean powered -
tickDelay
protected int tickDelay -
executingOnFirstTick
protected boolean executingOnFirstTick -
perm
-
viewers
-
currentTick
protected int currentTick
-
-
Constructor Details
-
BlockEntityCommandBlock
-
-
Method Details
-
initBlockEntity
protected void initBlockEntity()- Overrides:
initBlockEntity
in classBlockEntitySpawnable
-
loadNBT
Description copied from class:BlockEntity
从方块实体的namedtag中读取数据- Overrides:
loadNBT
in classBlockEntity
-
saveNBT
public void saveNBT()Description copied from class:BlockEntity
存储方块实体数据到namedtag- Overrides:
saveNBT
in classBlockEntity
-
getSpawnCompound
- Overrides:
getSpawnCompound
in classBlockEntitySpawnable
-
isBlockEntityValid
public boolean isBlockEntityValid()- Specified by:
isBlockEntityValid
in classBlockEntity
-
getName
Description copied from interface:CommandSender
返回命令发送者的名称.
如果命令发送者是一个玩家,将会返回他的玩家名字(name)不是显示名字(display name).
如果命令发送者是控制台,将会返回"CONSOLE"
.
当你需要判断命令的执行者是不是控制台时,可以用这个:
if(sender instanceof ConsoleCommandSender) .....;
Returns the name of the command sender.
If this command sender is a player, will return his/her player name(not display name).
If it is a console, will return"CONSOLE"
.
When you need to determine if the sender is a console, use this:
if(sender instanceof ConsoleCommandSender) .....;
- Specified by:
getName
in interfaceBlockEntityNameable
- Specified by:
getName
in interfaceCommandSender
- Specified by:
getName
in interfaceICommandBlock
- Overrides:
getName
in classBlockEntity
- Returns:
- 命令发送者的名称.
the name of the command sender. - See Also:
-
hasName
public boolean hasName()Description copied from interface:BlockEntityNameable
返回这个事物是否有名字。
Whether this object has a name.- Specified by:
hasName
in interfaceBlockEntityNameable
- Specified by:
hasName
in interfaceICommandBlock
- 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
- Specified by:
setName
in interfaceICommandBlock
- Parameters:
name
- 这个事物的新名字。
The new name of this object.
-
setPowered
public void setPowered(boolean powered) - Specified by:
setPowered
in interfaceICommandBlock
-
isPowered
public boolean isPowered()- Specified by:
isPowered
in interfaceICommandBlock
-
onUpdate
public boolean onUpdate()- Overrides:
onUpdate
in classBlockEntity
-
execute
public boolean execute(int chain) - Specified by:
execute
in interfaceICommandBlock
-
getMode
public int getMode()- Specified by:
getMode
in interfaceICommandBlock
-
getCommand
- Specified by:
getCommand
in interfaceICommandBlock
-
setCommand
- Specified by:
setCommand
in interfaceICommandBlock
-
isAuto
public boolean isAuto()- Specified by:
isAuto
in interfaceICommandBlock
-
setAuto
public void setAuto(boolean auto) - Specified by:
setAuto
in interfaceICommandBlock
-
isConditional
public boolean isConditional()- Specified by:
isConditional
in interfaceICommandBlock
-
setConditional
public void setConditional(boolean conditionalMode) - Specified by:
setConditional
in interfaceICommandBlock
-
isConditionMet
public boolean isConditionMet()- Specified by:
isConditionMet
in interfaceICommandBlock
-
setConditionMet
public boolean setConditionMet()- Specified by:
setConditionMet
in interfaceICommandBlock
-
getSuccessCount
public int getSuccessCount()- Specified by:
getSuccessCount
in interfaceICommandBlock
-
setSuccessCount
public void setSuccessCount(int count) - Specified by:
setSuccessCount
in interfaceICommandBlock
-
getLastExecution
public long getLastExecution()- Specified by:
getLastExecution
in interfaceICommandBlock
-
setLastExecution
public void setLastExecution(long time) - Specified by:
setLastExecution
in interfaceICommandBlock
-
isTrackingOutput
public boolean isTrackingOutput()- Specified by:
isTrackingOutput
in interfaceICommandBlock
-
setTrackOutput
public void setTrackOutput(boolean track) - Specified by:
setTrackOutput
in interfaceICommandBlock
-
getLastOutput
- Specified by:
getLastOutput
in interfaceICommandBlock
-
setLastOutput
- Specified by:
setLastOutput
in interfaceICommandBlock
-
getLastOutputCommandMode
public int getLastOutputCommandMode()- Specified by:
getLastOutputCommandMode
in interfaceICommandBlock
-
setLastOutputCommandMode
public void setLastOutputCommandMode(int mode) - Specified by:
setLastOutputCommandMode
in interfaceICommandBlock
-
isLastOutputCondionalMode
public boolean isLastOutputCondionalMode()- Specified by:
isLastOutputCondionalMode
in interfaceICommandBlock
-
setLastOutputCondionalMode
public void setLastOutputCondionalMode(boolean condionalMode) - Specified by:
setLastOutputCondionalMode
in interfaceICommandBlock
-
isLastOutputRedstoneMode
public boolean isLastOutputRedstoneMode()- Specified by:
isLastOutputRedstoneMode
in interfaceICommandBlock
-
setLastOutputRedstoneMode
public void setLastOutputRedstoneMode(boolean redstoneMode) - Specified by:
setLastOutputRedstoneMode
in interfaceICommandBlock
-
setLastOutputParams
- Specified by:
setLastOutputParams
in interfaceICommandBlock
-
getTickDelay
public int getTickDelay()- Specified by:
getTickDelay
in interfaceICommandBlock
-
setTickDelay
public void setTickDelay(int tickDelay) - Specified by:
setTickDelay
in interfaceICommandBlock
-
isExecutingOnFirstTick
public boolean isExecutingOnFirstTick()- Specified by:
isExecutingOnFirstTick
in interfaceICommandBlock
-
setExecutingOnFirstTick
public void setExecutingOnFirstTick(boolean executingOnFirstTick) - Specified by:
setExecutingOnFirstTick
in interfaceICommandBlock
-
isPermissionSet
- Specified by:
isPermissionSet
in interfacePermissible
-
isPermissionSet
- Specified by:
isPermissionSet
in interfacePermissible
-
hasPermission
- Specified by:
hasPermission
in interfacePermissible
-
hasPermission
- Specified by:
hasPermission
in interfacePermissible
-
addAttachment
- Specified by:
addAttachment
in interfacePermissible
-
addAttachment
- Specified by:
addAttachment
in interfacePermissible
-
addAttachment
- Specified by:
addAttachment
in interfacePermissible
-
removeAttachment
- Specified by:
removeAttachment
in interfacePermissible
-
recalculatePermissions
public void recalculatePermissions()- Specified by:
recalculatePermissions
in interfacePermissible
-
getEffectivePermissions
- Specified by:
getEffectivePermissions
in interfacePermissible
-
isPlayer
public boolean isPlayer()- Specified by:
isPlayer
in interfaceCommandSender
- Returns:
- 发送者是否为玩家
whether the sender is an player
-
isEntity
Description copied from interface:CommandSender
请使用这个方法来检查发送者是否是一个实体,而不是使用代码"xxx instanceof Entity"
.
因为发送者可能不是"Entity"
的一个实例,但实际上它是以一个实体的身份执行命令(例如:"ExecutorCommandSender"
)please use this method to check whether the sender is an entity instead of using code
"xxx instanceof Entity"
because the sender may not an instance of"Entity"
but in fact it is executing commands identity as an entity(eg:"ExecutorCommandSender"
)- Specified by:
isEntity
in interfaceCommandSender
- Returns:
- 发送者是否为实体
whether the sender is an entity
-
getPosition
- Specified by:
getPosition
in interfaceCommandSender
- Returns:
- 返回发送者的Position
return the sender's position.
-
getLocation
- Specified by:
getLocation
in interfaceCommandSender
- Overrides:
getLocation
in classPosition
- Returns:
- 返回发送者克隆过的Location
return the sender's location.
-
getServer
Description copied from interface:CommandSender
返回命令发送者所在的服务器.Returns the server of the command sender.
- Specified by:
getServer
in interfaceCommandSender
- Returns:
- 命令发送者所在的服务器.
the server of the command sender.
-
sendMessage
Description copied from interface:CommandSender
给命令发送者返回信息.Sends a message to the command sender.
- Specified by:
sendMessage
in interfaceCommandSender
- Parameters:
message
- 要发送的信息.
Message to send.- See Also:
-
sendMessage
Description copied from interface:CommandSender
给命令发送者返回信息.Sends a message to the command sender.
- Specified by:
sendMessage
in interfaceCommandSender
- Parameters:
message
- 要发送的信息.
Message to send.
-
sendCommandOutput
Description copied from interface:CommandSender
Send command output.- Specified by:
sendCommandOutput
in interfaceCommandSender
- Parameters:
container
- the container
-
isOp
public boolean isOp()Description copied from interface:ServerOperator
返回这个对象是不是服务器管理员。
Returns if this object is an operator.- Specified by:
isOp
in interfaceServerOperator
- Returns:
- 这个对象是不是服务器管理员。
if this object is an operator.
-
setOp
public void setOp(boolean value) Description copied from interface:ServerOperator
把这个对象设置成服务器管理员。
Sets this object to be an operator or not to be.- Specified by:
setOp
in interfaceServerOperator
- Parameters:
value
-true
为授予管理员,false
为取消管理员。
true
for giving this operator orfalse
for cancelling.
-
getInventory
- Specified by:
getInventory
in interfaceInventoryHolder
-
onBreak
public void onBreak()- Overrides:
onBreak
in classBlockEntity
-
close
public void close()- Overrides:
close
in classBlockEntity
-
isConditionalMode
public boolean isConditionalMode() -
isTrackOutput
public boolean isTrackOutput() -
getLastOutputParams
-
getPerm
-
getViewers
-
getCurrentTick
public int getCurrentTick()
-