User (内置权限系统的用户)
基本信息
| 属性 | 值 |
|---|---|
| 类 | mypermissions.permission.core.entities.User |
| 实现 | myessentials.chat.api.IChatFormat |
| 持久化 | User.Serializer (Gson) → JSON UserConfig.json |
字段
| 字段 | 类型 | 说明 |
|---|---|---|
group |
Group |
该用户所属组 |
uuid |
UUID |
玩家 UUID |
lastPlayerName |
String |
上次登录的玩家名 |
permsContainer |
PermissionsContainer |
该用户的额外权限节点 |
metaContainer |
Meta.Container |
自定义键值对 |
关键行为
| 方法 | 行为 |
|---|---|
hasPermission(String perm) |
先查自己 permsContainer:ALLOWED true / DENIED false;否则看 group.hasPermission(perm) == ALLOWED;都返回 false 时还有兜底:Config.fullAccessForOPS && PlayerUtils.isOp(uuid) |
Container.add(UUID) |
新增用户绑定到 defaultGroup(首次:MyPermissionsBridge.groups.get("default");已配置 setDefaultGroup(g) 则用 g) |
Container.get(UUID) |
线性查找 |
Container.getPlayerGroup(UUID) |
找不到则新建(同样绑定默认组)并加入 |
Container.updateLastPlayerName(UUID) |
用 UsernameCache.getLastKnownUsername 校准,返回是否真的更新 |
Serializer.deserialize |
读 uuid、player、group(查 MyPermissionsBridge.groups)、permissions[]、meta{} |
Serializer.serialize |
输出 uuid、player、group、permissions[]、meta{} |
与 group 的边界
User.group 始终非空(创建时绑定默认组;/perm user group set 时切换;反序列化时按 group 字段在 groups 容器里查到并赋)。
相关条目
- Group - 用户所属的组
- PermissionsContainer
- Meta
- UserConfig
- Ticker - 登录时调
users.add(uuid)+updateLastPlayerName - Config -
fullAccessForOPS来源