PermissionsContainer
基本信息
| 属性 | 值 |
|---|---|
| 类 | mypermissions.permission.core.container.PermissionsContainer |
| 父类 | ArrayList<String> |
| 实现 | myessentials.chat.api.IChatFormat |
功能
存一条权限节点字符串列表。解析时按以下优先级:
- 节点为精确字符串且数组里有它 →
ALLOWED - 节点以通配符
*结尾(如modid.cmd.*)→ALLOWED当目标 perm 以此前缀开头;-前缀*→DENIED - 显式 deny:
-perm(精确)或-前缀*(前缀)→DENIED
否则保持上一次(默认 NONE)。hasPermission 内部按顺序遍历直到得到非 NONE 的结果。
节点语法
| 写法 | 含义 |
|---|---|
modid.cmd.foo |
精确权限节点 |
modid.cmd.* |
通配所有子节点 |
-modid.cmd.foo |
显式 deny |
-modid.cmd.* |
显式 deny 一棵子树 |
⚠️ deny 与 allow 同时匹配时,按遍历顺序最后一个胜出(实现不做特别的"deny 优先"处理,依赖写入顺序)。
关键方法
| 方法 | 行为 |
|---|---|
hasPermission(String perm) |
返回 PermissionLevel(ALLOWED / DENIED / NONE) |
remove(String perm) |
按字符串相等线性移除(返回是否真删了) |
toChatMessage() |
输出含 header 和逐条格式化的聊天组件 |
相关条目
- PermissionLevel - 三态枚举
- Group - 持有该容器
- User - 持有该容器