TileFiller

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

注册信息

属性 值 来源
TileEntity 注册名 Filler BuildCraftBuilders.java:629
注册类 buildcraft.builders.TileFiller 同上
所属 modid BuildCraft|Builders BuildCraftBuilders.java:144 @Mod
关联方块 Filler BuildCraftBuilders.java:629 同块
父类 TileAbstractBuilder builders/TileFiller.java:39
是否配置门控 否(无条件注册) BuildCraftBuilders.java:629

槽位数量与布局

builders/TileFiller.java:52:

private final SimpleInventory inv = new SimpleInventory(27, "Filler", 64);

即 27 槽(3×9 一整板),单槽上限 64,内部名 "Filler"。

对比 TileBuilder 的 28 槽——Filler 比 Builder 少 1 槽, 因为 Filler 不需要 Builder 那个额外的建材补充槽。

槽位 用途
0–26 建材(27 = 3×9)

能量与激活阈值

  • POWER_ACTIVATION = 500(builders/TileFiller.java:42):低于此能量不启动。
  • 单次放置/拆除的能耗同样走 BuilderAPI: BREAK_ENERGY = 160(api/blueprints/BuilderAPI.java:14)、BUILD_ENERGY = 240(:15)。
  • 电池容量未在 TileFiller 内调用 setBattery 设置,由基类默认与引擎供能决定,不断言数值。

处理速率 / 耗时

无固定加工节拍。Filler 按可用面积逐格填充,每 tick 放置量受能量预算限制。 与 Builder 共用 TileAbstractBuilder 的调度层,本类不定义速率常量。

GUI / Container 配对

GUI 类 Container 类 配对处
buildcraft.builders.gui.GuiFiller buildcraft.builders.gui.ContainerFiller builders/BuildersGuiHandler.java:57

与 Area / Marker 的关系

Filler 依赖**标记方块(marker)**划定的区域工作。 区域由 TileMarker(buildcraft.core.TileMarker)与 TilePathMarker(buildcraft.core.TilePathMarker)提供, 两者都实现 ITileAreaProvider(core/TileMarker.java:24 类声明)。

网络封包

无独立封包 ID。走 TileEntity 默认 NBT 同步(建材与进度随 NBT 落盘)。

相关条目