Group (内置权限系统的组)
基本信息
| 属性 | 值 |
|---|---|
| 类 | mypermissions.permission.core.entities.Group |
| 实现 | myessentials.chat.api.IChatFormat |
| 持久化 | Group.Serializer (Gson) → JSON GroupConfig.json |
字段
| 字段 | 类型 | 说明 |
|---|---|---|
name |
String |
组名(玩家同一时间只能有一个组) |
permsContainer |
PermissionsContainer |
该组的权限节点列表 |
metaContainer |
Meta.Container |
自定义键值对(int 值) |
parents |
Group.Container |
父组集合(继承父组权限) |
关键行为
| 方法 | 行为 |
|---|---|
hasPermission(String perm) |
先查 permsContainer.hasPermission;如返回 ALLOWED/DENIED 直接返回;否则遍历 parents 递归查;最终结果 NONE 表示无匹配 |
Container.get(String name) |
按组名线性查找 |
Container.contains(String) / Container.remove(String) |
同 Container 工具 |
Serializer.deserialize |
读 name、permissions[]、meta{} |
Serializer.serialize |
输出 name、permissions[]、meta{} |
继承层级
Group 之间的 parents 形成 DAG。每个玩家归到一个具体的叶子组,但查询权限时通过递归回溯 parents 合并。denies 用 -前缀 标记,在 PermissionsContainer.hasPermission 里被识别为 DENIED。
相关条目
- PermissionsContainer - 通配符与 deny 解析
- User -
User.group指向一个 Group - Meta - 自定义键值
- GroupConfig - 持久化
- MyPermissionsBridge - 持有组容器