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。
相关条目
- 节点操纵器 - meta 0/2/3/11/15 是它的结构零件
- 远古基座与节点操纵器结构 - meta 1 与 meta 4 的放置约束
- 节点操纵与多区块结构 - meta 11/15 组成的 3×3 框架
- 注入配方 - 各变体的获取方式