Configuration

基本信息

属性 值
类型 Forge Configuration(文件 <mcDir>/config/BetterAchievements.cfg)
加载类 ConfigHandler
配置类别 Configuration.CATEGORY_GENERAL(唯一类别)

配置项总览

Key 默认 类型 说明
scrollButtons true boolean 是否显示左右翻页按钮(< / >)
cantUnlockArrowColour "#000000" 字符串 不可解锁成就的箭头颜色(#RRGGBB 或 rainbow<freqR>,<freqG>,<freqB>,<phaseR>,<phaseG>,<phaseB>,<center>,<width>,<length>)
canUnlockArrowColour "#00FF00" 字符串 可解锁成就的箭头颜色(同上格式)
completeArrowColour "#A0A0A0" 字符串 已解锁成就的箭头颜色(同上格式)
userColourOverride false boolean 若为 true,强制使用以上三项设置的颜色覆盖任何 mod 提供的 ICustomArrows 实现
iconReset false boolean 若为 true,游戏中在成就上按鼠标中键会把该页签图标改成该成就图标
listTabIcons String[0] 字符串数组 用户手动设置的页签图标列表,格式 PageName->modid:item:meta:nbtJson

颜色字符串解析

由 ConfigHandler.loadConfig() 中三段相同代码完成:

if (colourCode.startsWith("#")) {
    GuiBetterAchievements.colourXxxRainbow = false;
    GuiBetterAchievements.colourXxx = ColourHelper.RGB(colourCode);
} else if (colourCode.startsWith("rainbow")) {
    GuiBetterAchievements.colourXxxRainbow = true;
    GuiBetterAchievements.colourXxxRainbowSettings = ColourHelper.getRainbowSettings(colourCode);
}
前缀 行为
# ColourHelper.RGB("#RRGGBB") 解析为 int 颜色
rainbow ColourHelper.getRainbowSettings(...) 解析为 9 个 float 参数,每帧由 ColourHelper.getRainbowColour(params) 实时生成颜色

listTabIcons 格式

每行:PageName->modid:item:meta:nbtJson

例:MyPage->minecraft:diamond:0: 或 MyPage->minecraft:diamond_sword:0:{display:{Name:"Sharp"}}

  • PageName 是 AchievementPage.getName()。
  • modid:item 用 GameRegistry.findItem(modid, name) 解析。
  • meta 缺失时为 0;解析失败记录日志但跳过该行。
  • nbtJson 缺失或空时为 null;用 JsonToNBT.func_150315_a(json) 解析为 NBTTagCompound。
  • 用户每次进入世界(WorldEvent.Load)→ AchievementRegistry.setUserSetIcons(...) 重建 userSetIcons。
  • 世界卸载(WorldEvent.Unload)→ ConfigHandler.saveUserSetIcons() 写回配置。

相关条目