SpatialPylonCluster(appeng.me.cluster.implementations.SpatialPylonCluster)

基本信息

属性 值
源码 appeng/me/cluster/implementations/SpatialPylonCluster.java
类声明行号 22
实现接口 IAECluster(仅此一个)
构造器 :32 (DimensionalCoord min, DimensionalCoord max)
配套计算器 SpatialPylonCalculator.java:23
成员 tile 判据 te instanceof TileSpatialPylon(SpatialPylonCalculator.java:91)

职责

把一列空间柱方块聚合成一根「空间柱」,为空间 IO 通道提供加速。

唯一使用 DimensionalCoord 的 cluster

三个 cluster 里只有它用 DimensionalCoord(:32)而不是 WorldCoord。 因为空间柱可能跨维度堆叠(端面在不同维度)。

对比:

cluster 构造器坐标类型 源文件:行
CraftingCPUCluster WorldCoord :234
QuantumCluster WorldCoord :51
SpatialPylonCluster DimensionalCoord :32

关键方法

方法 行号 说明
updateStatus(boolean updateGrid) 48 重算效率
destroy() 55
getTiles() 68
tileCount() 72
getCurrentAxis() 76 当前主导轴向
isValid() 84 是否仍构成有效柱

getCurrentAxis() 返回 Axis(Minecraft 原生枚举),说明空间 IO 是按轴 加速的 —— 沿同一轴排列的柱体共享一份计算结果。

效率的消费者

SpatialPylonCache(me/cache/SpatialPylonCache.java:31)通过 ISpatialCache 暴露 requiredPower()(:172)与 currentEfficiency()(:177), 数据最终来自本 cluster。见 grid-cache 总览。

覆写了 matchesExistingCluster

SpatialPylonCalculator.java:47 覆写了基类的 matchesExistingCluster(IAECluster, WorldCoord, WorldCoord)(me/cluster/MBCalculator.java:126)。 三个计算器中只有它这么做 —— 因为空间柱需要区分「同一根柱的延伸」与 「另一根柱」,而 CPU / 量子桥不需要。

生命周期钩子

无 IGridCache 钩子。生命周期由 MBCalculator.calculateMultiblock (me/cluster/MBCalculator.java:29)驱动。

与既有维度的关系

相关条目