TileEntityAluminumWire(铝线)
事实基准:
/Users/evlos/a/mirror/Galacticraft(master,minecraftVersion = 1.7.10)逐行读源码。
注册信息
| 属性 | 值 | 来源 |
|---|---|---|
| TileEntity 注册名 | Galacticraft Aluminum Wire |
GalacticraftCore.java:731 |
| 注册类 | micdoodle8.mods.galacticraft.core.tile.TileEntityAluminumWire |
同上 |
| 关联方块 | GCBlocks.aluminumWire = new BlockAluminumWire("aluminumWire") |
core/blocks/GCBlocks.java:124 |
| 方块→TE 分派 | metadata 0 → tier 1、metadata 1 → tier 2 |
core/blocks/BlockAluminumWire.java:87-99 |
| 变体名 | names = { "aluminumWire", "aluminumWireHeavy" } |
core/blocks/BlockAluminumWire.java:27 |
| 父类 | TileBaseUniversalConductor(→ TileBaseConductor → TileEntityAdvanced) |
core/tile/TileEntityAluminumWire.java:7、core/energy/tile/TileBaseUniversalConductor.java:28 |
| 实现接口 | 父类带入 IConductor;跨模兼容 IEnergySink / IEnergyEmitter / IEnergyHandler / IStrictEnergyAcceptor |
core/energy/tile/TileBaseConductor.java:25、core/energy/tile/TileBaseUniversalConductor.java:23-33 |
| 所属 modid | GalacticraftCore |
core/GalacticraftCore.java:160-161、core/Constants.java:7 |
| 槽位数 | 无(不实现 IInventory,无 ItemStack[]) |
core/tile/TileEntityAluminumWire.java:7-53 |
槽位与字段
没有任何槽位,也没有内部储能。铝线是纯导体,能量在电网图上流动,不落在导线方块里。 本类唯一字段:
| 字段 | 类型 | 语义 | 源码 |
|---|---|---|---|
tier |
int |
导线档位(1 或 2) | core/tile/TileEntityAluminumWire.java:9 |
| 方法 | 值 | 源码 |
|---|---|---|
| 无参构造 | tier = 1 |
core/tile/TileEntityAluminumWire.java:11-13 |
getTierGC() |
返回 this.tier |
core/tile/TileEntityAluminumWire.java:51-53 |
readFromNBT |
读 tier;tier == 0(1.6.4 老世界)时纠正为 1 |
core/tile/TileEntityAluminumWire.java:20-27 |
writeToNBT |
写 tier |
core/tile/TileEntityAluminumWire.java:30-33 |
tick / 能量 / 网络
tick
canUpdate() 返回 EnergyConfigHandler.isIndustrialCraft2Loaded()
(core/energy/tile/TileBaseUniversalConductor.java:52-54)——
即装了 IC2 才 tick,这是父类为 IC2 桥接准备的,本类不覆盖。
导线入网/分网在 validate() / invalidate() 里交给 TickHandlerServer.energyTransmitterUpdates
(core/energy/tile/TileBaseConductor.java:32-37(validate)、:40-46(invalidate))。
能量(网络档位,非方块容量)
| 项目 | 值 | 来源 |
|---|---|---|
| 电网档位下限 | 区域内只要有 1 根 tier < 2 的导线,网络即降为 networkTierGC = 1 |
core/energy/grid/EnergyNetwork.java:452-463、:486-497 |
| 跨模 IC2 传输上限 | 网络 tier 2 → 256 EU/t;否则 128 EU/t | core/energy/grid/EnergyNetwork.java:246-248 |
| GC 侧导线自身容量 | 不存在(类内无 EnergyStorage 字段) |
core/tile/TileEntityAluminumWire.java:7-53 |
⚠ 128 / 256 的单位是 IC2 的 EU/t,只用于跨模转换封顶,
不代表 GC 电网内部的 gJ 传输速率。GC 电网内部没有「每根线的 gJ/t 上限」常量——
EnergyNetwork 里逐 tick 直接按供需撮合(core/energy/grid/EnergyNetwork.java:307),
传输速率由源与汇的 maxExtract / maxReceive 决定,而不是导线。
网络封包
| 项目 | 值 | 来源 |
|---|---|---|
| 封包距离 / 冷却 | 0 / 0 |
core/tile/TileEntityAluminumWire.java:36-43 |
| 是否同步 | false |
core/tile/TileEntityAluminumWire.java:46-48 |
⚠ 铝线不参与 GC 的 @NetworkedField 同步(isNetworkedTile() 返回 false),
它的档位只靠 NBT 持久化与电网重算。