TileEntitySpaceStationBase(空间站基座)
事实基准:
/Users/evlos/a/mirror/Galacticraft(master,minecraftVersion = 1.7.10)逐行读源码。
注册信息
| 属性 | 值 | 来源 |
|---|---|---|
| TileEntity 注册名 | Space Station |
GalacticraftCore.java:716 |
| 注册类 | micdoodle8.mods.galacticraft.core.tile.TileEntitySpaceStationBase |
同上 |
| 关联方块 | 空间站方块 | GalacticraftCore.java:716 同块 |
| 父类 | TileEntityMulti |
core/tile/TileEntitySpaceStationBase.java:11 |
| 实现接口 | IMultiBlock |
同上 |
| 是否配置门控 | 否(无条件注册) | GalacticraftCore.java:716 |
槽位数量与布局
没有物品槽位(不实现 IInventory)。
空间站基座只负责生成结构与提供推进器挂载点。
结构尺寸:1 × 1 × 3 竖柱(逐循环读出)
core/tile/TileEntitySpaceStationBase.java:44-46(onCreate):
for (int y = 1; y < 3; y++) { // y = 1, 2
final BlockVec3 vecToAdd = new BlockVec3(
placedPosition.x, placedPosition.y + y, placedPosition.z); // x、z 原样不动
...
}
| 维度 | 范围 | 计数 |
|---|---|---|
| X | 只有主块那一列(placedPosition.x 原样) |
1 |
| Y | 0(主块)~ 2 | 3 |
| Z | 只有主块那一列(placedPosition.z 原样) |
1 |
1 × 1 × 3 = 3 格(主块 + 上方 2 个假方块)。
onDestroy(:55-56)同样只有 for (int y = 0; y < 3; y++),
X/Z 无循环——再次印证结构是纯竖柱。
⚠ 不是 3×3、不是 7×7、不是任何横向展开的结构。 与 NASA 工作台的 3×3×4 形成对比。 把空间站写成「7×7×7 的大多方块」在 1.7.10 源码中没有依据。
⚠ 这个结构与「火箭」无关。 1.7.10 的火箭是 Entity(
EntityTieredRocket系), 源码树中不存在BlockRocket/TileEntityRocket。
可否旋转
不可旋转。 onCreate / onDestroy 都没有按朝向变换坐标的分支——
X/Z 恒取 placedPosition 原值,结构沿 Y 轴对称。
GUI / Container
没有 GUI,也没有 Container。onActivated(:36)内不开界面,
只是返回激活结果。
⚠ GuiIdsCore 的 8 个常量里有 NASA_WORKBENCH_ROCKET(:5)等,
但没有空间站基座的 GUI。
网络封包
继承 TileEntityMulti 的 mainBlockPosition(@NetworkedField(targetSide = Side.CLIENT),
core/tile/TileEntityMulti.java:17-18)自动同步。无独立的封包 ID。