TileBuilder
事实基准:
/Users/evlos/a/mirror/BuildCraft(master,minecraftVersion = 1.7.10)逐行读源码。
注册信息
| 属性 | 值 | 来源 |
|---|---|---|
| TileEntity 注册名 | net.minecraft.src.builders.TileBuilder |
BuildCraftBuilders.java:630 |
| 注册类 | buildcraft.builders.TileBuilder |
同上 |
| 所属 modid | BuildCraft|Builders |
BuildCraftBuilders.java:144 @Mod |
| 关联方块 | Builder | BuildCraftBuilders.java:630 同块 |
| 父类 | TileAbstractBuilder |
builders/TileBuilder.java:66 |
| 是否配置门控 | 否(无条件注册) | BuildCraftBuilders.java:630 |
槽位数量与布局
builders/TileBuilder.java:82:
private final SimpleInventory inv = new SimpleInventory(28, "Builder", 64);
即 28 槽,单槽上限 64,内部名 "Builder"。
| 槽位 | 用途 |
|---|---|
| 0–26 | 蓝图 / 建材(27 = 3×9 一整板) |
| 27 | 额外建材槽(供机器自动补充) |
能量与激活阈值
POWER_ACTIVATION = 500(builders/TileBuilder.java:69):低于此能量不启动。- 实际施工能耗走
api/blueprints/BuilderAPI.java的常量:BREAK_ENERGY = 160(:14)、BUILD_ENERGY = 240(:15)。 每次拆除一个方块扣BREAK_ENERGY,每次放置一个方块扣BUILD_ENERGY。 - 电池容量不在本类设置——
TileBuilder未见setBattery调用,容量由TileBuildCraft基类默认与引擎供能共同决定,本条目不断言具体数值。
处理速率 / 耗时
没有「N tick 造一个方块」的固定节拍。Builder 每次 updateEntity() 按预算尽量多施工,
单 tick 的施工量受剩余能量与 BuilderAPI 预算限制。
TileAbstractBuilder 层的具体调度不在本类内,不写死数字。
GUI / Container 配对
| GUI 类 | Container 类 | 配对处 |
|---|---|---|
buildcraft.builders.gui.GuiBuilder |
buildcraft.builders.gui.ContainerBuilder |
builders/BuildersGuiHandler.java:51 |
Blueprint / 载具
Builder 依赖**蓝图(blueprint)**驱动施工。蓝图作为物品放入槽位后即开始按蓝图放置方块;
未放蓝图时处于空闲。蓝图体系在 Builders 模块中由 SchematicRegistry 管理
(BuildCraftBuilders.java:646 SchematicRegistry.INSTANCE.readConfiguration(...))。
网络封包
TileAbstractBuilder / TileBuildCraft 层提供默认 NBT 同步。
Builder 另实现了进度相关字段随 NBT 落盘;无独立的 BuildCraft 网络封包 ID。