[MD]
YiyunCEskin v1.3.1 更新日志 本次更新主要优化皮肤预览权限:玩家即使尚未获得皮肤使用权限,也可以先查看实际预览效果,再决定是否解锁、购买或通过好友共享获得。
无权限预览
- 无皮肤使用权限的玩家现在默认可以右键预览锁定皮肤。
- 左键应用仍会执行完整权限检查,无权限玩家无法真正使用皮肤。
- 无权限预览只跳过最终的 Bukkit 皮肤权限,不会授予永久使用权。
- 预览不会写入真实物品,也不能借此设置默认皮肤或绕过授权机制。
访问权限分层
- 新增 VIEW、PREVIEW、APPLY 三种访问操作:
- VIEW:是否能在目录和 GUI 中看到皮肤。
- PREVIEW:是否可以临时预览皮肤。
- APPLY:是否可以真正应用皮肤。
- 第三方插件可以通过 SkinAccessContext.operation() 判断当前操作,分别控制查看、预览和使用权限。
- 新增 checkSkinPreviewAccess(),方便外部插件直接查询玩家能否预览指定皮肤。
- 新增 OPERATION_SCOPED_ACCESS API 能力标识,便于第三方插件进行版本兼容和能力探测。
安全限制
- GUARD 阶段的黑名单、封禁等强制限制仍然优先执行,无权限预览无法绕过。
- 第三方访问提供器明确返回 DENY 时,预览仍会被拒绝。
- 隐藏皮肤不会因为开放预览而向普通玩家泄露,管理员仍可正常查看和调试。
- 设置了 preview.enabled: false 的皮肤将完全禁止预览。
- 主 API、GUI 和直接调用 PreviewManager 都会进行最终预览授权检查。
配置支持
新增全局配置,默认允许无使用权限预览:
preview: allow-without-access: true
单个皮肤可以覆盖全局设置:
preview: enabled: true
allow-without-access: false
- true:允许无使用权限的玩家预览该皮肤。
- false:必须拥有使用权限才能预览。
- 不填写:跟随主配置中的全局设置。 GUI 与稳定性
- 锁定皮肤会保留右键预览入口,并显示对应操作提示。
- 自定义 locked-item 现在也会保留皮肤标识,可以正常响应右键预览。
- 预览事件被取消或预览启动失败时,会正确清理玩家的预览状态。
- GUI 的查看权限、预览权限和应用权限现在分别判定,行为更加清晰。
[/MD]