PermissionsContainer

基本信息

属性 值
类 mypermissions.permission.core.container.PermissionsContainer
父类 ArrayList<String>
实现 myessentials.chat.api.IChatFormat

功能

存一条权限节点字符串列表。解析时按以下优先级:

  1. 节点为精确字符串且数组里有它 → ALLOWED
  2. 节点以通配符 * 结尾(如 modid.cmd.*)→ ALLOWED 当目标 perm 以此前缀开头;-前缀* → DENIED
  3. 显式 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 和逐条格式化的聊天组件

相关条目