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 字符串 |
相关条目
- CommandManager - 扫描注解
- Commands - 实际使用注解的类
- CommandTreeNode - 节点行为