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 同步(挖掘状态、模式等)。

相关条目