Galaxia 多方块结构
Galaxia 共有 5 个真正的多方块结构,全部基于 GTNewHorizons 的 StructureLib(com.gtnewhorizon.structurelib.structure.IStructureDefinition)实现,
基类为 registry/block/GalaxiaMultiblockBase.java:25,通过 checkStructure()(第 67 行)逐 tick 校验。
结构图取自源码中的
STRUCTURE_DEFINITION字面量。注意源码对部分结构调用了StructureUtility.transpose(...),本文给出的是 transpose 之后的形状。 图形朝向按源码数组顺序直读,不做额外旋转假设。
多方块结构列表
- 发射井(Silo)_launchpad - 12×8 的发射台主体,含 3 个龙门吊终端位(实际只有 1 个生效)
- 模块装配器(Module Assembler) - 3×3×5 小型装配结构,装配火箭模块
- 气闸(Airlock) - 5×5 气闸,外壳 casing 环 + 内部 3×3 气闸门
- 锤击炮(Hammer Cannon) - 5×5×5 发射台锤击机构,含箱子
- 锤击目标(Hammer Target) - 锤击炮的配套目标结构
控制器方块对照
| 结构 | 控制器方块 | 注册名 |
|---|---|---|
| 发射井 | BlockSilo |
galaxia:silo_controller |
| 模块装配器 | BlockModuleAssembler |
galaxia:module_assembler_controller |
| 气闸 | BlockAirlockController |
galaxia:airlock_controller |
| 锤击炮 | BlockHammerCannon |
galaxia:hammer_cannon |
| 锤击目标 | BlockHammerTarget |
galaxia:hammer_target |
符号约定
多方块结构图中的 ~ 表示控制器方块所在位置。
各结构的字母含义见各自条目。
装配机与发射井的联动
发射井与模块装配器通过 TileEntityGantryTerminal(galaxia:gantry_terminal)双向连接:
- 装配器装配完成时调用
GantryAPI.injectModule(part, this, targetSilo, false),把模块注入目标发射井 - 终端提供
connectSilo(silo)与connectAssembler(assembler)两个方法,分别建立与发射井、装配器的连接
因此每个发射井需要配套的模块装配器才能完成火箭建造。