WAILA 模块开关
WAILAPlugins 的开关不全部在自己配置文件里。PluginBase.addConfig 打到的是 WAILA 自己的 ConfigHandler,最终写进 WAILA 的配置文件。本页汇总这套"第二配置面"的全部开关。
这套开关与
config/wailaplugins.cfg(本页之外的 配置系统)互不相通:在本 mod 的 GUI 里改不到这里的开关,反之亦然。
两层开关
每个插件都受两层控制:
| 层级 | 键格式 | 默认 | 读取处 | 效果 |
|---|---|---|---|---|
| 插件总开关 | <插件名> |
true |
PluginBase.enabled() |
关闭后该插件的 NBT 采集与全部提示行一并停用(getWailaStack 返回 null;Head/Body/Tail 不再追加) |
| 功能开关 | <插件名>:<功能键> |
true |
PluginBase.getConfig(key) |
只关闭该插件下的一类信息 |
两层都落在 WAILA 配置的 [modules] 段。addConfig 额外把开关按 <插件名> 分组,在 WAILA 配置 GUI 中呈现为一个模块。
键的构造规则
// PluginBase
protected void addConfig(String key) { addConfig(key, true); }
protected void addConfig(String key, boolean def) {
ConfigHandler.instance().addConfig(
PluginRegistrar.getPluginName(this.getClass()), // 分组名 = 插件名
getKey(key), // 键 = 插件名 + ":" + key
configLang.localize("config.<插件名>.<key>"), // 标签语言键
def);
}
private String getKey(String key) {
return PluginRegistrar.getPluginName(this.getClass()) + ":" + key;
}
protected boolean getConfig(String key) {
return ConfigHandler.instance().getConfig("modules", getKey(key), true);
}
protected boolean enabled() {
return ConfigHandler.instance().getConfig("modules", PluginRegistrar.getPluginName(this.getClass()), true);
}
要点:
- 所有内置插件都用
addConfig(key)这个单参重载,即默认值一律true;源码中没有任何插件调用带默认值的双参重载。 - 插件名由
PluginRegistrar.getPluginName决定:@Plugin.name非空就用它,否则取第一个依赖 modid 的ModContainer.getName()(显示名,不是 modid)。 - 语言键前缀
wp.config.<插件名>.<key>(configLang = new Lang("wp"))与键前缀用的是同一个值。
全量开关表
| 插件 | @Plugin.name |
依赖 modid | 总开关键 | 功能开关(全部默认 true) |
功能开关数 |
|---|---|---|---|---|---|
| IC2Crops | IC2Crops |
IC2 |
IC2Crops |
cropName、cropStats、plantInfo、envInfo |
4 |
| RedLogic | (空,取 mod 显示名) | RedLogic |
RedLogic 的模组显示名 | overlay、data、strength |
3 |
| IFluidHandler | IFluidHandler |
(无) | IFluidHandler |
(无) | 0 |
| Blood Magic | Blood Magic |
AWWayofTime |
Blood Magic |
altar、chemistrySet、masterStone、teleposer |
4 |
| Railcraft | (空,取 mod 显示名) | Railcraft |
Railcraft 的模组显示名 | multiblocks、heat、tanks、energy、engines、charge、locomotives、waterTankRate |
8 |
| Pam’s Fruit | Pam's Fruit |
harvestcraft |
Pam's Fruit |
(无) | 0 |
| Forestry | Forestry |
Forestry |
Forestry |
power、heat、sapling、leaves、apiary |
5 |
合计 7 个插件、24 个功能开关,每个插件另有 1 个总开关。
其中 RedLogic 与 Railcraft 的总开关键取决于目标 mod 的 ModContainer.getName()——即模组在游戏里显示的名字,不是 RedLogic / Railcraft 这两个 modid。若整合包里 mod 显示名被改过,对应的总开关键也会跟着变。
按功能键索引
同一个功能键在不同插件间含义不同,配置时注意区分作用域(键是带插件名前缀的,所以不会互相干扰):
| 功能键 | 出现的插件 | 含义 |
|---|---|---|
heat |
RedLogic 不使用;Railcraft、Forestry | Railcraft:锅炉/引擎温度;Forestry:引擎温度 |
power |
Forestry | 显示引擎能量 |
energy |
Railcraft | 标为"显示 RF 能量",但源码中无读取点(见下) |
tanks |
Railcraft | 标为"显示机器流体信息",但源码中无读取点(见下) |
data |
RedLogic | 显示门电路参数 |
overlay |
RedLogic | 显示门四向世界内 overlay |
strength |
RedLogic | 显示红合金导线强度 |
charge |
Railcraft | 显示充能 |
multiblocks |
Railcraft | 显示多方块成型状态 |
engines |
Railcraft | 显示引擎信息 |
locomotives |
Railcraft | 显示机车信息 |
waterTankRate |
Railcraft | 水塔集水速率 |
altar / chemistrySet / masterStone / teleposer |
Blood Magic | 祭坛 / 炼金术台 / 仪式石 / 传送器 |
cropName / cropStats / plantInfo / envInfo |
IC2Crops | 作物名 / 属性 / 存量 / 环境 |
power / heat / sapling / leaves / apiary |
Forestry | 能量 / 温度 / 树苗 / 树叶 / 蜂箱 |
三个不生效 / 需注意的开关
| 插件 | 开关 | 情况 |
|---|---|---|
| Railcraft | tanks |
注册但不生效。储液罐行的条件是 tag.hasKey(TANK_FLUID),源码中没有 getConfig("tanks") 门控 |
| Railcraft | energy |
注册但不生效。引擎能量行由 engines 开关统管,getConfig("energy") 在源码中从未被调用 |
| Railcraft | waterTankRate |
生效,但语言文件缺 wp.config.Railcraft.waterTankRate 条目,GUI 标签会回退显示原始键 |
另有两个标签失配(功能正常,仅复选框显示名受影响):
| 插件 | 现象 |
|---|---|
| Blood Magic | getPluginName 返回 Blood Magic,代码请求 wp.config.Blood Magic.*;语言文件里定义的是 wp.config.AWWayofTime.*(按依赖 modid 命名),两者对不上 |
| Forestry / IC2Crops / RedLogic / Railcraft | 插件名与语言键前缀一致,标签正常 |
编辑位置
- 本页所有键 → WAILA 自己的配置文件
config/waila.cfg的[modules]段。 - 每个插件还有一个"是否加载"的开关在
config/wailaplugins.cfg的[plugins]段(键同样是插件名),见 配置系统。
关掉 [plugins] 里的某插件,会让它连 WAILA 配置里的开关都不再出现——因为插件没被实例化,就不会执行 addConfig。
相关条目
- 配置系统 - 另一套配置面(
wailaplugins.cfg) - 插件 API 与生命周期 -
enabled()与addConfig的实现位置 - IC2 作物集成 / RedLogic 集成 / Forge 流体桥接(IFluidHandler) / 血魔法集成 / Railcraft 集成 / HarvestCraft 集成 / Forestry 集成