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 容器里查到并赋)。

相关条目