类 ServerCommandEvent

所有已实现的接口:
Cancellable
直接已知子类:
RemoteServerCommandEvent

public class ServerCommandEvent extends ServerEvent implements Cancellable
这个事件当服务器后台发送指令时调用. 本事件在命令处理早期被调用, 并且在本事件进行一些修改 (比如setCommand(String)) 会影响后续的事件.

很多插件都不使用此事件.如果这个事件不是必要的,你应该尽量避免使用它!

正确使用该事件的示例如下:

  • 将执行的命令记录在一个单独的文件里
  • 变量替换.例如,用玩家Steve的ip替换${ip:Steve},或者模拟@a@p作为装饰命令方块,插件不处理它.
  • 有条件地阻止其它插件的命令.
  • 为个人命令发送者注册命令别名.例如,在控制台运行命令/calias cr gamemode creative后,下一次运行命令/cr,它将会被替换成/gamemode creative(全局命令别名应该通过注册的别名来完成)

不正确使用该事件的示例如下:

  • 使用该事件来运行命令逻辑

如果事件被取消,处理命令将停止.

无论消息开头是否含"/", 都应保持其原样. 如果手动添加或删除"/", 可能会导致一些意外结果.

  • 构造器详细资料

  • 方法详细资料

    • getCommand

      @NotNull public @NotNull String getCommand()
      得到从控制台执行的命令(触发这个事件的命令).

      原文:Gets the command that the user is attempting to execute from the console

      返回:
      尝试执行的命令
    • setCommand

      public void setCommand(@NotNull @NotNull String message)
      设置将要执行的命令.

      原文:Sets the command that the server will execute

      参数:
      message - 控制台将会执行的命令
    • getSender

      @NotNull public @NotNull CommandSender getSender()
      得到命令发送者(后台).

      原文:Get the command sender.

      返回:
      发送者
    • getHandlers

      @NotNull public @NotNull HandlerList getHandlers()
      指定者:
      getHandlers 在类中 Event
    • getHandlerList

      @NotNull public static @NotNull HandlerList 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