模组配置

基本信息

属性 值
配置类 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 这三项会改变注册内容,需谨慎处理。

相关条目