eternalSpring

基本信息

属性 值
注册名 eternalSpring
本地名(lang key) tile.eternalSpring.name
方块类 BlockSpring
所属 modid **`BuildCraft
注册变量 springBlock
源码 buildcraft/BuildCraftCore.java
注册方式 BCRegistry.INSTANCE.registerBlock(...),forced = false

注册名 ≠ 注册变量:注册名取自 unlocalized name——setBlockName("eternalSpring"),BuildCraftCore.java:429; BCRegistry.registerBlock/registerItem 会剥掉 tile. / item. 前缀后交给 Forge (core/BCRegistry.java:46-48、:64-66),故注册名不是 Java 变量名,也不是类名。

由 BuildCraft|Core 模块注册,注册变量 springBlock,方块类 BlockSpring。

对应的 ItemBlock 为 ItemSpring。

⚠️ 注册受 worldgen.enable 配置开关保护

本方块的注册点被 BuildCraftCore.modifyWorld 包住(BuildCraftCore.java:426-431):

if (BuildCraftCore.modifyWorld) {
    BlockSpring.EnumSpring.WATER.canGen = ...;
    springBlock = new BlockSpring().setBlockName("eternalSpring");
    BCRegistry.INSTANCE.registerBlock(springBlock, ItemSpring.class, false);
}

modifyWorld 读自配置项 worldgen.enable(BuildCraftCore.java:773), 该配置项默认 true(BuildCraftCore.java:376-379,RestartRequirement.GAME)。 ⇒ 默认配置下会注册;把它关掉后 springBlock 不会被注册。 同一个开关还控制水泉生成器 SpringPopulate 的事件注册(BuildCraftCore.java:567-569)。

说明

buildcraft 一仓共 7 个 modid(全部带 | 分隔符)。本条目属于其中的 BuildCraft|Core, 分类名 buildcraft 与任何注册名都不相同——分类名取自仓库名,不是 modid。

相关条目