类 SkinManager
java.lang.Object
com.playerblocklife.SkinManager
皮肤管理器 - 负责玩家皮肤的获取、缓存和应用
主要功能:
- 从多种来源获取玩家皮肤数据(SkinsRestorer插件、PlayerProfile、本地缓存)
- 皮肤数据Base64编码和缓存管理
- 自定义模型数据分配和管理
- 异步皮肤加载避免阻塞主线程
- 皮肤缓存过期清理
- 完整的SkinsRestorer插件集成支持
皮肤获取优先级(根据配置的source字段):
- skinsrestorer:优先从SkinsRestorer插件获取皮肤纹理数据
- player_profile:优先使用Bukkit的PlayerProfile API
- local_cache:优先从本地缓存加载
- 默认Steve皮肤(所有来源都失败时的备用)
SkinsRestorer集成特性:
- 自动检测SkinsRestorer插件是否安装
- 使用反射安全调用SkinsRestorer API,避免硬依赖
- 获取完整的皮肤纹理数据(value和signature)
- 支持离线服务器,避免默认Steve皮肤问题
- 优雅降级:SkinsRestorer失败时自动回退到其他来源
皮肤缓存默认保留7天,过期后自动重新获取。
- 从以下版本开始:
- 1.0.0
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidorg.bukkit.inventory.ItemStackcreatePlayerHead(UUID playerId, String playerName) 创建带有玩家皮肤的头颅物品getCustomModelData(UUID playerId) booleanisSkinLoaded(UUID playerId) voidvoidloadPlayerSkinAsync(org.bukkit.entity.Player player) void
-
构造器详细资料
-
SkinManager
-
-
方法详细资料
-
loadAllSkins
public void loadAllSkins() -
loadPlayerSkinAsync
public void loadPlayerSkinAsync(org.bukkit.entity.Player player) -
createPlayerHead
创建带有玩家皮肤的头颅物品使用Base64纹理数据创建自定义玩家头颅,支持离线服务器皮肤显示。
- 参数:
playerId- 玩家UUIDplayerName- 玩家名称- 返回:
- 带有玩家皮肤的玩家头颅物品
-
isSkinLoaded
-
getCustomModelData
-
getAllSkinData
-
getAllCustomModelData
-
saveSkinData
public void saveSkinData() -
cleanupOldCache
public void cleanupOldCache()
-