模组配置
基本信息
| 属性 | 值 |
|---|---|
| 配置类 | net.malisis.doors.MalisisDoorsSettings(继承 net.malisis.core.configuration.Settings) |
| 实例化时机 | MalisisDoors.preInit 中 new MalisisDoorsSettings(event.getSuggestedConfigurationFile())(MalisisDoors.java:82-83) |
| 配置文件 | config/malisisdoors.cfg(Forge getSuggestedConfigurationFile) |
| 字段注解 | 每个字段均标注 @ConfigurationSetting(MalisisDoorsSettings.java:26-52) |
| 设置项数量 | 8 |
设置项
| 键名 | 类型 | 默认值 | 生效范围 | 出处 |
|---|---|---|---|---|
config.modifyVanillaDoors |
Boolean | true |
注册期 | MalisisDoorsSettings.java:27 |
config.enableMixedBlocks |
Boolean | true |
注册期 | MalisisDoorsSettings.java:30 |
config.enhancedMixedBlockPlacement |
Boolean | true |
放置时 | MalisisDoorsSettings.java:33-35 |
config.simpleMixedBlockRendering |
Boolean | false |
渲染期 | MalisisDoorsSettings.java:38-40 |
config.enableVanishingBlocks |
Boolean | true |
注册期 | MalisisDoorsSettings.java:43 |
config.enableVanishingGlitch |
Boolean | true |
运行时 | MalisisDoorsSettings.java:46 |
config.vanishingGlitchChance |
Double | 0.0005 |
运行时 | MalisisDoorsSettings.java:49 |
config.enableCamoFenceGate |
Boolean | true |
未被读取(死配置) | MalisisDoorsSettings.java:52 |
功能
modifyVanillaDoors
Registers.init() 的第一道开关(Registers.java:85-89):
if (MalisisDoorsSettings.modifyVanillaDoors.get()) {
registerVanillaDoors();
registerVanillaTrapDoor();
registerVanillaFenceGate();
}
开启后模组通过 coremod 级别的 ReplacementTool 整体替换原版木门、铁门、活板门与栅栏门。详见 原版门替换。
enableMixedBlocks / enableVanishingBlocks
控制两组方块是否注册(Registers.java:103、105)。关闭后这些方块在世界里完全不存在(不只是隐藏),存档中已放置的方块会变成空气。
enhancedMixedBlockPlacement
仅影响 混合方块 的放置朝向。开启时(默认)用玩家视线方向决定 meta,潜行取反(MixedBlock.java:70-73);关闭时退化为 world.notifyBlockChange(MixedBlock.java:74)。
simpleMixedBlockRendering
被 3 处读取:
MixedBlockRenderer.java:116— 混合方块渲染器判断是否走简化路径VanishingBlockRenderer.java:112-113、:147— 渲染消失框架时临时强制开启再恢复原值BlockMixerGui.java:69、:74— GUI 复选框绑定,可在游戏内直接切换
默认 false。若遇到 z-fighting 或渲染异常可开启(en_US.lang:115-117)。
enableVanishingGlitch / vanishingGlitchChance
控制 消失框架 的随机"故障"动画。VanishingTileEntity.updateEntity 每 tick 掷随机数比较 vanishingGlitchChance,命中且 enableVanishingGlitch 为真时进入 15 tick 的抖动状态(VanishingTileEntity.java:125-147)。默认概率 0.0005,即平均约每 2000 tick(100 秒)触发一次。
enableCamoFenceGate(无效设置)
该设置在 MalisisDoorsSettings 中被声明并附有注释文案,但源码中没有任何地方读取它:
$ grep -rn 'enableCamoFenceGate' src/main/java
MalisisDoorsSettings.java:52: public static Setting<Boolean> enableCamoFenceGate = ...
MalisisDoorsSettings.java:67: enableCamoFenceGate.setComment(...)
伪装栅栏门在 Registers.registerFenceGates() 中无条件注册(Registers.java:230)。因此该配置项出现在配置文件中但不影响游戏——属于上游遗留的死配置。
数值
| 数值名 | 值 | 出处 |
|---|---|---|
| 设置项总数 | 8 | MalisisDoorsSettings.java:26-52 |
| 其中实际生效 | 7 | 8 项减去 enableCamoFenceGate |
| 故障默认概率 | 0.0005 | MalisisDoorsSettings.java:49 |
| 故障持续时长 | 15 tick | VanishingTileEntity.java:38 |
交互
配置界面由内置的 malisiscore 框架提供,不属于本 mod 的代码:
- 指令:
/malisis config malisisdoors打开本 mod 的配置 GUI(net/malisis/core/MalisisCommand.java:128-141) - 指令定义、参数校验与 GUI 打开逻辑均在
MalisisCommand/MalisisCore中
配置文件也可直接手动编辑,重启游戏后生效——但改变 modifyVanillaDoors、enableMixedBlocks、enableVanishingBlocks 这三项会改变注册内容,需谨慎处理。
相关条目
- 模组依赖 - 提供配置 GUI 框架的 malisiscore
- 消失框架 - 受 3 个设置项影响
- 方块混合器与混合方块 - 受 3 个设置项影响