BlockStoneMachine 方块族

基本信息

属性 值
注册名 gadomancy:BlockStoneMachine(含 ItemBlockStoneMachine)
注册位置 common/registration/RegisteredBlocks.java:99-100
材质 Material.rock(BlockStoneMachine.java:42)
硬度 3.0F(BlockStoneMachine.java:44)
爆炸抗性 25.0F(BlockStoneMachine.java:45)
脚步声 Block.soundTypeStone(BlockStoneMachine.java:46)
创造标签 Gadomancy 自建标签(RegisteredItems.creativeTab,RegisteredItems.java:72-78)
破坏掉落 元数据 11 / 15 掉落 Thaumcraft ConfigBlocks.blockCosmeticSolid,其余为自身(BlockStoneMachine.java:147-153)

功能

BlockStoneMachine 是 Gadomancy 的多用途石材机器方块,一个方块类通过 metadata 承担 6 种已实现的机器。这是本 mod 中变体最多的方块,全部变体共用一个注册名、一个方块类与一张贴图集,因此合并为一页 + 变体表。

变体表

元数据 显示名(en_US.lang:219-226) TileEntity 用途 存活
0 Randomization Focus TileManipulationFocus 节点操纵器的随机化焦点,配合 meta 3 转向焦点使用 是
1 Ancient Pedestal Thaumcraft TilePedestal 远古基座,天境石族的仪式基座 是
2 Arcane Enervation Emitter TileBlockProtector 节点操纵器的方块保护器,防止被操纵的方块被破坏 是
3 Redirection Focus TileManipulationFocus 节点操纵器的转向焦点 是
4 Arcane Packager TileArcanePackager 自动封装机,12 格容器 是
5 Ai Shutdown (WIP) 无 未实现,见下节 否
11 Manipulation Pillar TileManipulatorPillar 节点操纵器的柱子,构成 3×3 框架 是
15 Manipulation Pillar TileManipulatorPillar 节点操纵器的柱子底座(必须压在 meta 11 上) 是

元数据与 TileEntity 的对应关系见 BlockStoneMachine.java:120-134(createTileEntity)。

meta 5「Ai Shutdown」是死代码

hasTileEntity 对元数据 5 返回 true(BlockStoneMachine.java:88-96),但 createTileEntity 中对应的分支被整段注释掉:

} /*
   * else if(metadata == 5) { return new TileAIShutdown(); }
   */
return null;

(BlockStoneMachine.java:130-133)

连带失效的还有:TileAIShutdown 的 TileEntity 注册(RegisteredBlocks.java:151 为注释行 // registerTile(TileAIShutdown.class);)、其注入配方 recipeAiShutdown(RegisteredRecipes.java:736-748 整段注释)、以及研究 AI_SHUTDOWN(RegisteredResearches.java:624 处于块注释内)。

en_US.lang:150-152 仍留有 tc.research_name.GADOMANCY.AI_SHUTDOWN=NULL 三条占位键——有 lang 条目但无任何类支撑,属于死条目,不计入内容。

getSubBlocks 只列出元数据 0–4(BlockStoneMachine.java:98-103),因此 meta 5 与 meta 11 / 15 都不出现在创造模式物品栏中;meta 11 / 15 只能由结构生成或放置 meta 15 后向上生长得到。

数值

数值名 值
硬度 3.0
爆炸抗性 25.0
变体总数(lang 中有条目) 8
实际可工作变体 6(meta 5 死亡)
创造标签可见变体 5(meta 0–4)

交互

触发 行为
放置 meta 0 / 3 canReplace 要求下方必须是 blockNodeManipulator,否则拒绝放置(BlockStoneMachine.java:181-188)
放置 meta 2 / 4 onBlockPlacedBy 按玩家朝向设置 TileJarFillable.facing(BlockStoneMachine.java:190-197)
邻块变化 meta 15 正上方不是 meta 11 则自毁并掉落(BlockStoneMachine.java:210-215)
邻块变化 meta 11 正下方不是 meta 15 则自毁并掉落(BlockStoneMachine.java:216-221)
邻块变化 meta 0 / 3 正下方不是 blockNodeManipulator(meta 5)则自毁并掉落(BlockStoneMachine.java:222-228)
邻块变化 meta 1 上方非空气时把基座内容物全部掉落(BlockStoneMachine.java:229-231)
邻块变化 meta 4 用 updateRedstone 响应红石信号(BlockStoneMachine.java:232-237)
破坏 meta 1 掉落基座内全部物品(BlockStoneMachine.java:156-158)
破坏 meta 4 遍历 12 格容器逐格以随机偏移散落为 EntityItem(BlockStoneMachine.java:159-176)
拾取 meta 11 / 15 getPickBlock 返回 blockCosmeticSolid 而非本方块(BlockStoneMachine.java:105-111)

贴图

getIcon 按元数据分发 6 张图标(BlockStoneMachine.java:60-83):

元数据 图标名
11 / 15 thaumcraft:es_1
0 / 3 thaumcraft:thaumiumblock
1 顶/底 gadomancy:manipulator_bot,侧面 gadomancy:ancient_pedestal_side
2 thaumcraft:pipe_1
4 thaumcraft:planks_greatwood

meta 5 无对应图标分支,落到 super.getIcon。

相关条目