能量塔结构

基本信息

能量塔(energyPylon)是 Draconic Evolution 的无线供能设施,与 能量核心 配套:塔负责把能量送到范围内的一切设备,核心负责储存。

属性 值 来源
方块 draconicevolution:energyPylon ModBlocks.java:116, 70
TileEntity TileEnergyPylon CommonProxy.java:230
供能范围半径 15 TileEnergyPylon.java:111
硬度 / 抗性 10 / 20 multiblock/EnergyPylon.java 构造函数
材质 Material.iron multiblock/EnergyPylon.java 构造函数

功能

供能范围

TileEnergyPylon.java:111-115 定义了一个以塔为中心的 31×31×31 立方体扫描范围:

int range = 15;
for (int x = xCoord - range; x <= xCoord + range; x++) {
    for (int y = yCoord + yMod - range; y <= yCoord + yMod + range; y++) {
        for (int z = zCoord - range; z <= zCoord + range; z++) {

yMod 允许塔的作用范围整体上下偏移,因此垂直堆叠的塔身可以把供能高度继续向上延伸。

串联(master 机制)

TileEnergyPylon 使用 getMaster() 机制(TileEnergyPylon.java:282, 288)把多段塔身聚合为一个逻辑整体——塔本身是逐块堆叠的,master 决定哪一块代表整条塔。

对外的 FE 接口被钳制到 int 上限:

方法 返回值
getEnergyStored(side) (int) Math.min(Integer.MAX_VALUE, getMaster().getEnergyStored())(TileEnergyPylon.java:282)
getMaxEnergyStored(side) (int) Math.min(Integer.MAX_VALUE, getMaster().getMaxEnergyStored())(TileEnergyPylon.java:288)

这意味着能量塔本身的容量接口无法表达超过 2,147,483,647 RF 的数值——即便底层用的是 long(如能量核心的 tier 6 为 2.14 × 10¹² RF)。塔只作为中继使用,实际储能必须在核心中。

充放电

TileEnergyPylon.java:78 会先模拟取出能量:

int energyToReceive = extractEnergy(side, Integer.MAX_VALUE, true);

即先询问能否取到能量,再决定是否向网络供能。

数值

数值名 值 来源
供能范围半径 15 格 TileEnergyPylon.java:111
供能范围体积 31 × 31 × 31 格 由半径 15 推得
对外容量接口上限 Integer.MAX_VALUE(2,147,483,647) TileEnergyPylon.java:282, 288
模拟取出请求量 Integer.MAX_VALUE TileEnergyPylon.java:78

交互

触发 行为
放置多块塔身垂直堆叠 自动串联,master 汇总整条塔的能量
范围内设备请求能量 塔从 master 取出并分发
拆除塔身 剩余塔重新计算 master
与能量核心同放 核心储能、塔无线供能的典型布局

合成配方

塔身方块通过 ShapedOreEnergyRecipe 合成(addEnergy 路径),完整统计见 合成配方系统。

相关条目