TileEntityBuggyFuelerSingle(燃料装填台·单格)
事实基准:
/Users/evlos/a/mirror/Galacticraft(master,minecraftVersion = 1.7.10)逐行读源码。
注册信息
| 属性 | 值 | 来源 |
|---|---|---|
| TileEntity 注册名 | Buggy Fueler Single |
GalacticraftCore.java:722 |
| 注册类 | micdoodle8.mods.galacticraft.core.tile.TileEntityBuggyFuelerSingle |
同上 |
| 关联方块 | GCBlocks.landingPad = new BlockLandingPad("landingPad") |
core/blocks/GCBlocks.java:97 |
| 方块→TE 分派 | metadata == 1 时返回本类;metadata == 0 是 TileEntityLandingPadSingle |
core/blocks/BlockLandingPad.java:101-112 |
| 父类 | 原版 net.minecraft.tileentity.TileEntity |
core/tile/TileEntityBuggyFuelerSingle.java:11 |
| 实现接口 | 无 | 同上 |
| 所属 modid | GalacticraftCore |
core/GalacticraftCore.java:160-161、core/Constants.java:7 |
| 槽位数 | 无(不实现 IInventory,无 ItemStack[]) |
core/tile/TileEntityBuggyFuelerSingle.java:11-44 |
⚠ 它挂的是「单格登陆台」landingPad(metadata 1),不是 landingPadFull。
槽位与字段
没有任何槽位,也没有任何自定义字段——整个类 44 行、1 个方法(:13-43)。
tick / 能量 / 网络
本类唯一的作用是「9 块拼成 1 个完整装填台」的自毁式脚手架,
全部逻辑在 updateEntity()(core/tile/TileEntityBuggyFuelerSingle.java:14-43):
| 步骤 | 行为 | 源码 |
|---|---|---|
| 1 | 在 x-1..x+1、z-1..z+1 的 3×3 平面里收集同为 TileEntityBuggyFuelerSingle 的 TE |
:18-26 |
| 2 | 收集到恰好 9 个才继续 | :28 |
| 3 | 把这 9 个全部 invalidate() 并置为 Blocks.air(flag 3) |
:29-32 |
| 4 | 在中心格放 GCBlocks.landingPadFull,metadata 1 |
:34 |
| 5 | 取新方块的 TE 并调 onCreate(new BlockVec3(x, y, z)) |
:35-40 |
⚠ 周围 8 格是「被消耗掉的材料」:第 3 步把它们全变成空气,
最终留下的 3×3×1 平台是第 4 步新生成的 landingPadFull,
由 TileEntityBuggyFueler 的 onCreate 再放 8 个假方块。
⚠ 只统计同类型 TE,不检查是否同一水平层以外的条件(:18-19 固定 this.yCoord),
也不校验玩家是否放满——放 9 块就自动合并。
能量
无。类内无 EnergyStorage、无能源接口(core/tile/TileEntityBuggyFuelerSingle.java:11-44)。
网络
| 项目 | 值 | 来源 |
|---|---|---|
| 是否同步 | 不适用(父类是原版 TileEntity,无 isNetworkedTile 机制) |
core/tile/TileEntityBuggyFuelerSingle.java:11 |
| NBT 同步 | 无自定义 NBT 读写覆写 | core/tile/TileEntityBuggyFuelerSingle.java:11-44 |
GUI
无。onActivated 未覆写,行为由原版 TileEntity 默认(不打开界面)。