覆盖配置文件 Override Config Files
覆盖模块 生成的 10 个独立配置文件,位于 config/iguanatweakstconstruct/ 目录下。
生成机制
IguanaOverride.doOverride(type, overrider) 对每组做两阶段处理:
String configFileName = type + "Override.cfg";
String defaultFileName = type + "Defaults.cfg";
- 用
<Type>Defaults.cfg调overrider.createDefault(defaultConfig)生成默认参考文件; - 读入
<Type>Override.cfg调overrider.processConfig(config),有变更则save()。
两阶段各自包在 try { } catch (RuntimeException e) 中,失败时通过 IMCHandler.bigWarning 告警并记日志,不中断启动。
5 组 × 2 文件
| type | 实际文件 | 生成的配置分类 | 覆盖对象 |
|---|---|---|---|
Material |
MaterialOverride.cfg / MaterialDefaults.cfg |
defaultOverride |
全部 工具材料 的挖掘等级、耐久、速度、攻击、手柄系数 |
Tool |
ToolOverride.cfg / ToolDefaults.cfg |
defaultOverride |
所有物品的挖掘等级(对应 HarvestLevelTweaks.modifyTools 遍历的结果) |
Block |
BlockOverride.cfg / BlockDefaults.cfg |
见下 | 所有方块的挖掘等级 |
BonusModifier |
BonusModifierOverride.cfg / BonusDefaults.cfg |
见下 | 全部 随机奖励 权重 |
HarvestLevelNames |
HarvestLevelNameOverride.cfg / HarvestLevelDefaults.cfg |
— | 10 档 挖掘等级 的显示名与颜色 |
*Defaults.cfg 是只读参考(每次启动重新生成),*Override.cfg 才是实际生效的文件。
BlockOverride.cfg 的三个分类
| 分类 | 内容 | 对应源码 |
|---|---|---|
generaloredict |
10 档的通用 OreDict 材料名后缀(如 _1_flint → Copper, Coal, Tin, ...) |
HarvestLevelTweaks.oreDictLevels |
oredict |
「前缀 + 材料 → 等级」的完整组合,覆盖 8 个前缀 | oreDictPrefixes = ore, denseore, oreNether, denseoreNether, block, stone, brick, orePoor |
blocks_<toolclass> |
按工具类别(pickaxe / shovel / axe 等)划分的具体方块条目 |
HarvestLevelTweaks.modifyBlock |
8 个前缀的含义:
| 前缀 | 典型 ore 名示例 | 说明 |
|---|---|---|
ore |
oreCopper、oreIron |
普通矿石 |
denseore |
denseoreCopper |
致密矿(GTNH 风格) |
oreNether |
oreNetherQuartz |
下界矿石 |
denseoreNether |
denseoreNetherSteel |
下界致密矿 |
block |
blockCopper |
金属块 |
stone |
stoneAndesite |
石材变种 |
brick |
brickStone |
砖块 |
orePoor |
orePoorCopper |
低纯度矿(Poor Ores)——本 mod 专有的前缀 |
排查某个方块挖掘等级不对时,可用 /dumpOredict 指令 导出全部 ore 名后对照本文件。
BonusModifierOverride.cfg 的分类
| 分类 | 内容 |
|---|---|
ToolWeights |
18 种奖励在「工具」类别的权重 |
WeaponWeights |
18 种奖励在「武器」类别的权重 |
BowWeights |
18 种奖励在「弓」类别的权重 |
AmmoWeights |
18 种奖励在「弹药」类别的权重 |
UsefulToolBonuses |
对工具「有用」的奖励白名单 |
UsefulWeaponBonuses |
对武器「有用」的奖励白名单 |
UsefulBowBonuses |
对弓「有用」的奖励白名单 |
UsefulAmmoBonuses |
对弹药「有用」的奖励白名单 |
UsageBonus:bonusWeight |
使用历史权重的放大系数(默认 70) |
ShoddyModifiers |
Jagged / Stonebound 的施加方式 |
完整默认权重矩阵见 随机奖励修饰符。
启用条件
覆盖模块 Override 的 Pulse 标注为 defaultEnable = false——默认关闭。需在 Modules.cfg 中把 Override 置为 true 才会生效。
关闭时,数值完全由主配置决定(各配置分类);开启时 *Override.cfg 的值优先。
日志
logExcessiveOverrideChanges(在 Debug 配置)为 true 时,覆盖模块做的每一件事都会进日志。配置项注释带一句 Use at your own risk. ;)。