Commands (/myperm)
基本信息
| 属性 | 值 |
|---|---|
| 主类 | mypermissions.command.core.Commands |
| 内嵌类 | Commands.MyPermissionManagerCommands(仅内置权限系统生效) |
| 根命令 | /myperm(别名 p, perm) |
| 根权限 | mypermissions.cmd |
功能
定义 MyPermissions 的所有命令树入口:根命令 /myperm 与子命令 /perm config,由 CommandManager.registerCommands(Commands.class, null, ...) 注册。
注意:根
permission节点使用mypermissions.cmd;配置类的子节点使用mypermissions.cmd.config.*。
命令清单
| 命令 | 权限节点 | 语法 | 行为 |
|---|---|---|---|
/myperm |
mypermissions.cmd |
/perm <command> |
发送帮助菜单 |
/myperm config |
mypermissions.cmd.config |
/perm config <command> |
发送 config 子树帮助 |
/myperm config reload |
mypermissions.cmd.config.reload |
/perm config reload |
reload config + 重选权限系统 + 重载本地化 |
MyPermissionManagerCommands(只有当 PermissionProxy.getPermissionManager() instanceof MyPermissionsBridge 时注册)
| 命令 | 权限节点 | 语法 | 行为 |
|---|---|---|---|
/perm group |
mypermissions.cmd.group |
/perm group <command> |
发送子树帮助 |
/perm group add |
mypermissions.cmd.group.add |
/perm group add <name> [parents] |
创建新组,保存 |
/perm group delete |
mypermissions.cmd.group.delete |
/perm group delete <name> |
删除组,保存 |
/perm group rename |
mypermissions.cmd.group.rename |
/perm group rename <group> <name> |
重命名组 |
/perm group list |
mypermissions.cmd.group.list |
/perm group list |
列出所有组 + 其 parents |
/perm group perm |
mypermissions.cmd.group.perm |
/perm group perm <command> |
发送子帮助 |
/perm group perm add |
mypermissions.cmd.group.perm.add |
/perm group perm add <group> <perm> |
给组添加权限节点 |
/perm group perm remove |
mypermissions.cmd.group.perm.remove |
/perm group perm remove <group> <perm> |
从组删除权限节点 |
/perm group perm list |
mypermissions.cmd.group.perm.list |
/perm group perm list <group> |
列出组全部权限节点 |
/perm user |
mypermissions.cmd.user |
/perm user <command> |
发送子树帮助 |
/perm user group |
mypermissions.cmd.user.group |
/perm user group <command> |
发送子树帮助 |
/perm user group show |
mypermissions.cmd.user.group.show |
/perm user group show <player> |
显示玩家的组 |
/perm user group set |
mypermissions.cmd.user.group.set |
/perm user group set <player> <group> |
设置玩家的组(不存在则创建 User) |
/perm user list |
mypermissions.cmd.user.list |
/perm user list |
列出全部用户 |
/perm user perm |
mypermissions.cmd.user.perm |
/perm user perm <command> |
发送子树帮助 |
/perm user perm add |
mypermissions.cmd.user.perm.add |
/perm user perm add <player> <perm> |
给玩家添加权限节点 |
/perm user perm remove |
mypermissions.cmd.user.perm.remove |
/perm user perm remove <player> <perm> |
移除玩家权限节点 |
/perm user perm list |
mypermissions.cmd.user.perm.list |
/perm user perm list <player> |
列出玩家全部权限节点 |
行为细节
- 所有命令返回
CommandResponse:成功返回DONE,参数不足返回SEND_SYNTAX,命令未指定子操作返回SEND_HELP_MESSAGE(由CommandTreeNode.commandCall解析)。 - 组/用户权限写操作都会调用
getManager().saveGroups()或saveUsers()立即落盘。 Ticker.onCommandExecuted在 hook 阶段还会用cmd.<name>作为兜底权限节点,任何已注册的命令若没在权限树中找到映射,按 MC 命名空间检查玩家节点;不通过则setCanceled(true)+commands.generic.permission。
相关条目
- CommandManager - 注册与解析
- CommandModel - 实际下发给 Minecraft 的命令包装
- CommandTree / CommandTreeNode - 命令树节点模型
- PermissionProxy - 控制组/用户命令可见性
- Group - 被 add/delete/rename 操作的对象
- User - 被 group set/perm 操作的对象
- PermissionsContainer - 组/用户的权限节点容器
- Ticker - 命令 hook 阶段拦截器