能量塔结构
基本信息
能量塔(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 路径),完整统计见 合成配方系统。
相关条目
- 能量核心结构 - 塔的实际储能来源
- 多方块结构方块
- 单方块机器 - 能量中继器 / 收发器 / 无线收发器
- TileEntity 一览