类 ServerCommandEvent
java.lang.Object
org.bukkit.event.Event
org.bukkit.event.server.ServerEvent
org.bukkit.event.server.ServerCommandEvent
- 所有已实现的接口:
Cancellable
- 直接已知子类:
RemoteServerCommandEvent
这个事件当服务器后台发送指令时调用.
本事件在命令处理早期被调用, 并且在本事件进行一些修改 (比如
setCommand(String)
) 会影响后续的事件.
很多插件都不使用此事件.如果这个事件不是必要的,你应该尽量避免使用它!
正确使用该事件的示例如下:
- 将执行的命令记录在一个单独的文件里
- 变量替换.例如,用玩家Steve的ip替换
${ip:Steve}
,或者模拟@a
和@p
作为装饰命令方块,插件不处理它. - 有条件地阻止其它插件的命令.
- 为个人命令发送者注册命令别名.例如,在控制台运行命令
/calias cr gamemode creative
后,下一次运行命令/cr
,它将会被替换成/gamemode creative
(全局命令别名应该通过注册的别名来完成)
不正确使用该事件的示例如下:
- 使用该事件来运行命令逻辑
如果事件被取消,处理命令将停止.
无论消息开头是否含"/"
, 都应保持其原样. 如果手动添加或删除"/"
, 可能会导致一些意外结果.
-
嵌套类概要
从类继承的嵌套类/接口 org.bukkit.event.Event
Event.Result
-
构造器概要
-
方法概要
修饰符和类型方法说明得到从控制台执行的命令(触发这个事件的命令).static @NotNull HandlerList
得到命令发送者(后台).boolean
获取这个事件是否被取消.一个被取消的事件不会在服务器里执行,但是仍然会传递事件到其他插件.void
setCancelled
(boolean cancel) 取消这个事件.void
setCommand
(@NotNull String message) 设置将要执行的命令.从类继承的方法 org.bukkit.event.Event
getEventName, isAsynchronous
-
构造器详细资料
-
ServerCommandEvent
-
-
方法详细资料
-
getCommand
得到从控制台执行的命令(触发这个事件的命令).原文:Gets the command that the user is attempting to execute from the console
- 返回:
- 尝试执行的命令
-
setCommand
设置将要执行的命令.原文:Sets the command that the server will execute
- 参数:
message
- 控制台将会执行的命令
-
getSender
得到命令发送者(后台).原文:Get the command sender.
- 返回:
- 发送者
-
getHandlers
- 指定者:
getHandlers
在类中Event
-
getHandlerList
-
isCancelled
public boolean isCancelled()从接口复制的说明:Cancellable
获取这个事件是否被取消.一个被取消的事件不会在服务器里执行,但是仍然会传递事件到其他插件.原文:Gets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins
- 指定者:
isCancelled
在接口中Cancellable
- 返回:
- 如果事件已经被取消,则为true
-
setCancelled
public void setCancelled(boolean cancel) 从接口复制的说明:Cancellable
取消这个事件. 一个被取消的事件不会在 服务器里执行,但是仍然会传递事件到其他插件.原文:Sets the cancellation state of this event. A cancelled event will not be executed in the server, but will still pass to other plugins.
- 指定者:
setCancelled
在接口中Cancellable
- 参数:
cancel
- 如果你想取消这个事件,则为true
-