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 默认(不打开界面)。

相关条目