类 ConfigManager
java.lang.Object
com.playerblocklife.ConfigManager
配置管理器 - 负责加载、保存和管理插件的配置文件
主要功能包括:
- 加载和验证配置文件
- 配置版本检查和自动更新
- 提供类型安全的配置项访问方法
- 处理配置文件的保存和重载
- 管理SkinsRestorer插件集成配置
- 支持多种皮肤来源的优先级配置
SkinsRestorer配置支持:
skin.source:皮肤来源优先级(skinsrestorer/player_profile/local_cache)skin.use-skinsrestorer:是否启用SkinsRestorer支持skin.cache.expire_days:皮肤缓存过期时间- 默认配置已优化,优先使用SkinsRestorer以支持离线服务器
- 从以下版本开始:
- 1.0.0
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明int获取自动保存间隔获取方块材质配置intint获取广播范围int获取皮肤缓存过期天数org.bukkit.configuration.file.FileConfiguration获取配置对象intgetDepth()int获取奖励经验数量获取外部消息文件名int获取最大尝试次数getMessage(String path, String defaultValue) 获取消息int获取失败时的处理方式获取皮肤来源配置int获取存储类型配置booleanisAdminOnly(String commandName) 检查命令是否仅管理员可用booleanisAdminUseAllowed(String commandName) 检查是否允许管理员使用命令boolean检查是否启用自动生成boolean检查是否启用自动保存boolean检查玩家死亡后是否成为观察者boolean检查是否在方块被破坏时广播消息boolean检查是否在玩家死亡时广播消息booleanisCommandEnabled(String commandName) 检查命令是否启用boolean检查玩家方块被挖光时是否死亡boolean检查是否给予挖掘奖励经验boolean检查是否启用生命值系统boolean检查是否保护方块免受爆炸破坏boolean检查是否保护方块免受火灾破坏boolean检查是否保护方块免受活塞推动boolean检查是否需要开放天空booleanisSelfUseAllowed(String commandName) 检查是否允许玩家自己使用命令boolean检查是否启用皮肤系统void加载插件配置void重新加载配置文件void保存当前配置到文件boolean检查是否使用外部消息文件boolean检查是否启用SkinsRestorer插件支持
-
构造器详细资料
-
ConfigManager
构造一个新的配置管理器- 参数:
plugin- 插件主类实例,用于访问插件相关功能
-
-
方法详细资料
-
loadConfig
public void loadConfig()加载插件配置执行以下操作:
- 确保插件数据文件夹存在
- 如果配置文件不存在,从JAR中复制默认配置
- 调用reloadConfig()重新加载配置
- 另请参阅:
-
reloadConfig
public void reloadConfig()重新加载配置文件执行以下操作:
- 从磁盘重新加载配置文件
- 加载JAR中的默认配置作为后备
- 检查配置版本并进行必要的更新
- 另请参阅:
-
saveConfig
public void saveConfig()保存当前配置到文件将内存中的配置数据写入到config.yml文件中。 如果保存失败,会记录错误日志。
- 抛出:
IOException- 如果文件写入失败
-
getConfig
public org.bukkit.configuration.file.FileConfiguration getConfig()获取配置对象如果配置对象为null,会自动调用reloadConfig()加载配置。
- 返回:
- 当前的FileConfiguration配置对象
- 另请参阅:
-
getBlocksPerPlayer
public int getBlocksPerPlayer() -
getSpreadRange
public int getSpreadRange() -
getMinDistance
public int getMinDistance() -
getDepth
public int getDepth() -
getBlockMaterial
获取方块材质配置- 返回:
- 方块材质配置值,默认为"player_head"
-
isDieWhenBlocksGone
public boolean isDieWhenBlocksGone()检查玩家方块被挖光时是否死亡- 返回:
- 如果玩家方块被挖光时死亡则返回true,否则返回false
-
isBecomeSpectator
public boolean isBecomeSpectator()检查玩家死亡后是否成为观察者- 返回:
- 如果玩家死亡后成为观察者则返回true,否则返回false
-
isHealthSystemEnabled
public boolean isHealthSystemEnabled()检查是否启用生命值系统- 返回:
- 如果启用生命值系统则返回true,否则返回false
-
isSkinSystemEnabled
public boolean isSkinSystemEnabled()检查是否启用皮肤系统- 返回:
- 如果启用皮肤系统则返回true,否则返回false
-
getSkinSource
获取皮肤来源配置支持的皮肤来源:
- skinsrestorer:优先从SkinsRestorer插件获取皮肤纹理数据
- 推荐用于离线服务器
- 支持玩家自定义皮肤
- 避免默认Steve皮肤问题
- player_profile:优先使用Bukkit的PlayerProfile API
- 需要玩家在线验证
- 适合在线服务器
- 支持Mojang官方皮肤
- local_cache:优先从本地缓存加载皮肤数据
- 减少网络请求
- 提高加载速度
- 支持离线使用
默认配置已将此值设为"skinsrestorer",以优化离线服务器体验。
- 返回:
- 皮肤来源配置值
- 另请参阅:
- skinsrestorer:优先从SkinsRestorer插件获取皮肤纹理数据
-
useSkinsRestorer
public boolean useSkinsRestorer()检查是否启用SkinsRestorer插件支持当此方法返回true时,插件将:
- 优先从SkinsRestorer插件获取玩家皮肤纹理
- 支持离线服务器获取玩家自定义皮肤
- 避免方块总是显示默认Steve皮肤的问题
- 使用反射安全调用SkinsRestorer API,无需硬依赖
默认配置已将此值设为true,以优化离线服务器体验。
- 返回:
- 如果启用SkinsRestorer支持返回true,否则返回false
- 另请参阅:
-
getCacheExpireDays
public int getCacheExpireDays()获取皮肤缓存过期天数- 返回:
- 皮肤缓存过期天数,默认为7天
-
isAutoSaveEnabled
public boolean isAutoSaveEnabled()检查是否启用自动保存- 返回:
- 如果启用自动保存则返回true,否则返回false
-
getAutoSaveInterval
public int getAutoSaveInterval()获取自动保存间隔- 返回:
- 自动保存间隔(秒),默认为300秒(5分钟)
-
getStorageType
获取存储类型配置- 返回:
- 存储类型配置值,默认为"yaml"
-
isBroadcastOnBlockBreak
public boolean isBroadcastOnBlockBreak()检查是否在方块被破坏时广播消息- 返回:
- 如果在方块被破坏时广播消息则返回true,否则返回false
-
isBroadcastOnPlayerDeath
public boolean isBroadcastOnPlayerDeath()检查是否在玩家死亡时广播消息- 返回:
- 如果在玩家死亡时广播消息则返回true,否则返回false
-
getBroadcastRange
public int getBroadcastRange()获取广播范围- 返回:
- 广播范围(方块),默认为30
-
isGiveExpReward
public boolean isGiveExpReward()检查是否给予挖掘奖励经验- 返回:
- 如果给予挖掘奖励经验则返回true,否则返回false
-
getExpRewardAmount
public int getExpRewardAmount()获取奖励经验数量- 返回:
- 奖励经验数量,默认为5
-
isProtectFromExplosions
public boolean isProtectFromExplosions()检查是否保护方块免受爆炸破坏- 返回:
- 如果保护方块免受爆炸破坏则返回true,否则返回false
-
isProtectFromFire
public boolean isProtectFromFire()检查是否保护方块免受火灾破坏- 返回:
- 如果保护方块免受火灾破坏则返回true,否则返回false
-
isProtectFromPistons
public boolean isProtectFromPistons()检查是否保护方块免受活塞推动- 返回:
- 如果保护方块免受活塞推动则返回true,否则返回false
-
isAutoGenerationEnabled
public boolean isAutoGenerationEnabled()检查是否启用自动生成- 返回:
- 如果启用自动生成则返回true,否则返回false
-
isRequireOpenSky
public boolean isRequireOpenSky()检查是否需要开放天空- 返回:
- 如果需要开放天空则返回true,否则返回false
-
getMaxAttempts
public int getMaxAttempts()获取最大尝试次数- 返回:
- 最大尝试次数,默认为50
-
getOnFailureAction
获取失败时的处理方式- 返回:
- 失败时的处理方式,默认为"notify"
-
isCommandEnabled
检查命令是否启用- 参数:
commandName- 命令名称- 返回:
- 如果命令启用则返回true,否则返回false
-
isSelfUseAllowed
检查是否允许玩家自己使用命令- 参数:
commandName- 命令名称- 返回:
- 如果允许玩家自己使用命令则返回true,否则返回false
-
isAdminUseAllowed
检查是否允许管理员使用命令- 参数:
commandName- 命令名称- 返回:
- 如果允许管理员使用命令则返回true,否则返回false
-
isAdminOnly
检查命令是否仅管理员可用- 参数:
commandName- 命令名称- 返回:
- 如果命令仅管理员可用则返回true,否则返回false
-
useExternalMessageFile
public boolean useExternalMessageFile()检查是否使用外部消息文件- 返回:
- 如果使用外部消息文件则返回true,否则返回false
-
getExternalMessageFileName
获取外部消息文件名- 返回:
- 外部消息文件名,默认为"messages.yml"
-
getMessage
获取消息- 参数:
path- 消息路径defaultValue- 默认值- 返回:
- 消息内容
-