Command (注解)

基本信息

属性 值
类 mypermissions.command.api.annotation.Command
范围 ElementType.METHOD
保留期 RUNTIME

功能

标记一个静态方法为命令节点。CommandManager 用反射扫到带本注解的方法并构建命令树。

字段

字段 类型 默认 必填 说明
name String - 是 节点显示名(出现在命令里)
permission String - 是 权限节点;同时作 parent 索引 key
syntax String - 是 玩家看到的语法提示
parentName String "ROOT" 否 父节点权限;"ROOT" 表示这是根
alias String[] {} 否 子命令别名(不影响根命令别名)
console boolean true 否 是否允许控制台执行;为 false 时服务器控制台/RCon/命令方块都会被 CommandTree.hasPermission 拒绝
completionKeys String[] {} 否 Tab 补全 key 列表;每个 key 在 CommandCompletion 维护一组候选项;留空时按子节点名自动补全

签名约束

被注解的方法必须满足:

  • 返回类型 = mypermissions.command.api.CommandResponse
  • 参数 (ICommandSender, List<String>)

否则 CommandManager.isMethodValid 视为非法并丢弃。

返回值语义

值 CommandTreeNode.commandCall 行为
DONE 无后续处理
SEND_HELP_MESSAGE 调用 sendHelpMessage(sender, page=1);若首个参数能解析为整数则用其作页码
SEND_SYNTAX 调 sendSyntax(sender) 推送 syntax 字符串

相关条目