TileStampingTable

事实基准:/Users/evlos/a/mirror/BuildCraft(master,minecraftVersion = 1.7.10)逐行读源码。

注册信息

属性 值 来源
TileEntity 注册名 buildcraft.TileStampingTable BuildCraftSilicon.java:160
注册类 buildcraft.silicon.TileStampingTable 同上
所属 modid BuildCraft|Silicon BuildCraftSilicon.java:63
关联方块 BlockLaserTable,meta = 5 silicon/BlockLaserTable.java:86-87
父类 TileLaserTableBase silicon/TileStampingTable.java:27
实现接口 IHasWork / ISidedInventory 同上
是否配置门控 否(无条件注册) BuildCraftSilicon.java:160

槽位数量与布局

silicon/TileStampingTable.java:40:

private static final int[] SLOTS = Utils.createSlotArray(0, 5);

→ 半开区间 [0, 5),即 5 个方块槽(0–4)。

逐槽(silicon/gui/ContainerStampingTable.java:27-31)

槽位 类型 GUI 坐标 用途
0 SlotValidated (15, 18) 输入(待冲压的物品 / 模具)
1 SlotOutput (143, 18) 主输出(右侧,与输入同排)
2 SlotOutput (111, 45) 副产物 1
3 SlotOutput (129, 45) 副产物 2
4 SlotOutput (147, 45) 副产物 3

⚠️ 冲压台是「1 进 4 出」:槽 2、3、4 是三个平行的副产物槽(同一 y=45 一排), 不是 2×2 的副产物区。

玩家背包:热键栏 9 槽(:35,y=69)+ 主背包 27 槽(:40,y=127)。

内部类:本地合成容器

silicon/TileStampingTable.java:29 定义内部类 LocalInventoryCrafting extends InventoryCrafting, 是冲压台私有的合成矩阵封装(不暴露给 GUI 绑定)。

处理速率 / 耗时

updateEntity()(silicon/TileStampingTable.java:97)配合 IHasWork。 ⚠️ 本类没有写死「N tick 一次」的节拍常量,速度由 TileLaserTableBase + 激光供能决定,不断言数字。

GUI / Container 配对

GUI 类 Container 类 配对处
buildcraft.silicon.gui.GuiStampingTable buildcraft.silicon.gui.ContainerStampingTable silicon/SiliconGuiHandler.java:79

自动化

ISidedInventory.getAccessibleSlotsFromSide 返回 SLOTS(:237),即 0–4 共 5 槽全部可访问。

网络封包

走 TileLaserTableBase 基类同步。无独立的 Silicon 专用封包 ID。

相关条目