NEIDConfig
基本信息
| 属性 | 值 |
|---|---|
| 类名 | com.gtnewhorizons.neid.NEIDConfig |
| 注解 | @Config(modid = "NEID", category = "neid") |
| 注册时机 | NEID.preInit → ConfigurationManager.registerConfig(NEIDConfig.class) |
| 配置文件名 | NEID.cfg(modid 故意大写以保留旧版 pre-GTNHLib 配置文件命名) |
| 注册机制 | GTNHLib(依赖 gtnhlib@[0.6.18,)) |
GTNHLib 的
ConfigurationManager会扫描所有@Config注解的静态字段并生成对应的.cfg文件 + 同步逻辑;modid 字段保留大写仅为历史兼容(注释里明说),实际 modid 在@Mod中是"neid"。
配置项
| 字段名 | 类型 | 默认 | 含义 |
|---|---|---|---|
CatchUnregisteredBlocks |
boolean |
false |
在 ExtendedBlockStorage.func_150818_a 设置方块 ID 时,如果遇到 Block.getIdFromBlock(b) == -1(即未注册方块),抛出 IllegalArgumentException 而不是用旧 ID 兜底。错误信息提示用户向对应 mod 作者反馈,或临时打开 RemoveInvalidBlocks 兜底。 |
RemoveInvalidBlocks |
boolean |
false |
在 ExtendedBlockStorage.removeInvalidBlocks 重新计数时,如果 BlockRegistry.getObjectById(id) == null,把对应槽位置 0,相当于删除坏块。 |
PostNeidWorldsSupport |
boolean |
true |
在 AnvilChunkLoader.writeChunkToNBT 写入 Blocks16/Data16(NEID 自己的 16-bit 字段)的同时,也写出兼容 vanilla 的 Blocks + Add + Data(12-bit LSB + 4-bit nibble),保证即使装了 NEID 又卸载时仍可读。注意:写入方在 id <= 4095 时同步写 Blocks/Add,而 meta 仅写 0–15 范围;超出范围则将 meta 强行设为 0。 |
ExtendDataWatcher |
boolean |
false |
启用 MixinDataWatcher(VANILLA_STARTUP_DATAWATCHER mixin phase setApplyIf 条件)。同时让 ASM transformer MFQM 改写 MoreFunQuicksandMod 的 DataWatcher 上限。 |
行为触发点
| 配置项 | 触发的代码位置 | 副作用 |
|---|---|---|
CatchUnregisteredBlocks |
MixinExtendedBlockStorage.func_150818_a |
throw new IllegalArgumentException("Block ... is not registered...") |
RemoveInvalidBlocks |
MixinExtendedBlockStorage.removeInvalidBlocks |
把 block16BArray[off] = 0 并跳过该位置的 blockRefCount/tickRefCount 累加 |
PostNeidWorldsSupport |
MixinAnvilChunkLoader.writeChunkToNBT 两次 @Redirect |
同步写出 vanilla Blocks/Add/Data,卸载 NEID 后还能读 |
ExtendDataWatcher |
MixinDataWatcher(条件 mixin)+ ASM MFQM |
DataWatcher ID 上限 31 → 127,配套 write/read byte→short |
相关条目
- MixinExtendedBlockStorage -
CatchUnregisteredBlocks/RemoveInvalidBlocks实际生效位置 - MixinAnvilChunkLoader -
PostNeidWorldsSupport写入 vanilla 字段 - MixinDataWatcher -
ExtendDataWatcher启用条件 mixin - NEIDTransformer 的 MFQM 子条目 - MoreFunQuicksandMod 兼容补丁