TileQuarry
事实基准:
/Users/evlos/a/mirror/BuildCraft(master,minecraftVersion = 1.7.10)逐行读源码。
注册信息
| 属性 | 值 | 来源 |
|---|---|---|
| TileEntity 注册名 | Machine |
BuildCraftBuilders.java:627 |
| 注册类 | buildcraft.builders.TileQuarry |
同上 |
| 所属 modid | BuildCraft|Builders |
BuildCraftBuilders.java:144 @Mod |
| 关联方块 | machineBlock(方块类 BlockQuarry,注册变量 quarryBlock) |
buildcraft/BuildCraftBuilders.java:609-610、:627 |
| 父类 | TileAbstractBuilder |
builders/TileQuarry.java:65 |
| 是否配置门控 | 否(无条件注册) | BuildCraftBuilders.java:627 |
⚠️ 注册名是 Machine,与类名 TileQuarry 完全无关——
按类名反推注册名会得到错误的 quarry。
槽位数量与布局
没有物品槽位。TileQuarry 不实现 IInventory,产物直接掉入世界,
与 TileMiningWell 同属「无 GUI 缓冲」设计。
工作区域(易编造字段,务必按源码读)
Quarry 的挖取范围来自 TileMarker / TilePathMarker 划定的区域,
TileQuarry 自己不存区域边界。
builders/TileQuarry.java:145-147 用到 CoreConstants.PIPE_MAX_POS:
box.xMin + CoreConstants.PIPE_MAX_POS,
...
box.zMin + CoreConstants.PIPE_MAX_POS,
⚠️ 源码里没有任何「Quarry 是 N×N×N」的常量。
可挖范围 = Marker 区域 ∩ CoreConstants.PIPE_MIN_POS..PIPE_MAX_POS 的管道范围。
⚠ 「多方块几×几×几 / 控制器 / 可否旋转」是这套 wiki 头号易编造字段。 Quarry 不是多方块结构——它没有面板、没有控制器方块、不可旋转。 它只是一个挂在机器方块上的 TileEntity,行为受外部 Marker 约束。 任何「Quarry 是 7×7」之类的说法在源码中没有依据。
处理速率 / 耗时
- 无「N tick 挖一格」的固定节拍;按能量预算尽量多挖。
- 单次拆除耗
BuilderAPI.BREAK_ENERGY = 160(api/blueprints/BuilderAPI.java:14)。 TileQuarry本身未设置setBattery,容量由基类默认与供能网络决定,不断言数值。
GUI / Container
没有 GUI,也没有 Container(BuildersGuiHandler 无 Quarry 分支)。
网络封包
无独立封包 ID,走 TileEntity 默认 NBT 同步(挖掘状态、模式等)。