BuildCraft
[!INFO] Git Commit:
213a3fc| Updated: 2026-10-02
BuildCraft 是 Minecraft 1.7.10 / Forge 10.13.4.1614 的工业物流模组群。本仓库一仓 7 个 modid,
全部带 | 分隔符,没有任何一个等于分类名 buildcraft。
| 属性 | 值 |
|---|---|
| 分类名 | buildcraft(取自仓库名,不是 modid) |
| modid 数 | 7(BuildCraft|Core / Transport / Builders / Energy / Factory / Robotics / Silicon) |
| 包名 | buildcraft(gradle.properties: modGroup) |
| 资源域 | 8 个:buildcraft(公共)+ 7 个模块域 buildcraftcore / buildcrafttransport / buildcraftbuilders / buildcraftenergy / buildcraftfactory / buildcraftrobotics / buildcraftsilicon |
| 语言 | 源码 1038 个 .java(其中 1022 在 src/main/java,16 在 misc/tests/java/ 测试脚手架,不随 jar 发布);0 Scala、0 Kotlin、4 Gradle |
| 源码目录 | /Users/evlos/a/mirror/BuildCraft/ |
⚠️
gradle.properties的modId = BuildCraft|Core是构建期字段(供 mcmod.info 填充), 真正的注册名以各BuildCraft*.java的@Mod(modid = ...)为准,两者恰好一致。
一仓 7 个 modid(实测)
| modid | 主类 | 资源域 | 实际注册对象数 | 其中方块 / 物品 / 管道 / 实体 |
|---|---|---|---|---|
BuildCraft|Core |
BuildCraftCore |
buildcraftcore |
16 | 5 / 11 / 0 / 0 |
BuildCraft|Transport |
BuildCraftTransport |
buildcrafttransport |
48 | 2 / 8 / 38 / 0 |
BuildCraft|Builders |
BuildCraftBuilders |
buildcraftbuilders |
9 | 7 / 2 / 0 / 0 |
BuildCraft|Energy |
BuildCraftEnergy |
buildcraftenergy |
6 | 3 / 3 / 0 / 0 |
BuildCraft|Factory |
BuildCraftFactory |
buildcraftfactory |
8 | 8 / 0 / 0 / 0 |
BuildCraft|Robotics |
BuildCraftRobotics |
buildcraftrobotics |
6 | 2 / 3 / 0 / 1 |
BuildCraft|Silicon |
BuildCraftSilicon |
buildcraftsilicon |
7 | 3 / 3 / 0 / 1 |
| 合计 | — | — | 100 | 30 / 30 / 38 / 2 |
⚠ 本表的列是源码里实际注册的对象数(方块+物品+管道+实体),
不是「本 wiki 的条目文件数」——后者是 133,且 tile/、gui/、network/、
recipe/、setting/ 这 5 个维度跨模块,无法干净地归到单一 modid 下。
按条目文件里 所属 modid 字段机械统计会得到 Transport 50 / Silicon 16 / Factory 15
这类数字,不可用作「该 mod 注册了多少东西」的证据。
全部 7 个非 Core 模块的 @Mod(dependencies = DefaultProps.DEPENDENCY_CORE),
即都硬依赖 BuildCraft|Core。
实际注册规模(源码实测,集合去重)
| 维度 | 实际数量 | 本 wiki 覆盖 |
|---|---|---|
| 方块 | 30 | 30 |
| 物品(非管道) | 30 | 30 |
| 管道物品 | 38(16 物品 + 12 流体 + 9 能量 + 1 结构) | 38 |
| 实体 | 2 | 2 |
| TileEntity | 31 | 见各方块条目 |
| 多方块 | 0 | — |
| 配置 | 1 组 | 1 |
合计 101 个条目。
⚠️ 本 mod 没有多方块结构
brief 假设「buildcraft 的机器多为多方块」——经源码核对不成立:
- 全仓库
Multiblock/MultiBlock关键词命中 0 个文件。 - 源码中不存在任何多方块框架(无
Multiblock基类、无控制器、无尺寸常量)。 TileTank只持有一个Tank(BUCKET_VOLUME * 16= 16000 mB),外面套的TankManager<T> extends ForwardingList<T>只是单元素列表封装,tankManager由new TankManager<>(tank)构造,不做相邻合并(仓库内.merge(调用为 0)。- Quarry / Builder 靠**区域(chunk 范围)**工作,不是多方块方块结构。
因此本分类没有 multiblock/ 维度目录——不建空目录,也不为不存在的结构编条目。
⚠️ 三处「数调用点」陷阱
| 陷阱 | 朴素结果 | 实测 | 说明 |
|---|---|---|---|
grep registerItem |
30 | 30 + 38 管道 | 38 个管道走 buildPipe(...) 辅助方法,不经过 BCRegistry.registerItem |
grep registerTileEntity 只查 7 个 BuildCraft*.java |
26 | 31 | 漏掉的 5 个在两个 Proxy 里:energy/EnergyProxy.java:18-21 注册 TileEngineStone/TileEngineIron/TileEngineCreative 共 3 个,transport/TransportProxy.java:29-37 注册 TileGenericPipe/TileFilteredBuffer 共 2 个。注意 TileEngineWood 不在其中——它在 BuildCraftCore.java:478-479,类在 buildcraft.core 包、注册也归 BuildCraft|Core;另 3 个引擎类在 buildcraft.energy 包、归 BuildCraft|Energy。两个 Proxy 的 registerTileEntities() 确实被调用(BuildCraftEnergy.java:463、BuildCraftTransport.java:534),不是死代码 |
grep registerBlock |
33 处命中 | 30 个方块 | 命中数含 BCRegistry.java 自身的 4 个方法定义;另有 pipeBlock 走三参数形式 registerBlock(x.setBlockName("pipeBlock"), ItemBlock.class, true),两参数正则会漏掉它 |
grep Multiblock |
0 | 0 | 名字不骗人,但结论也需源码确认 |
方块
- architect-block -
BlockArchitect(Builders) - assembly-table-block -
BlockLaserTable(Silicon) - auto-workbench-block -
BlockAutoWorkbench(Factory) - block-fuel -
BlockBuildCraftFluid(Energy) - block-hopper -
BlockHopper(Factory) - block-oil -
BlockBuildCraftFluid(Energy) - block-red-plasma -
BlockBuildCraftFluid(Energy) - build-tool-block -
BlockBuildTool(Core) - builder-block -
BlockBuilder(Builders) - construction-marker-block -
BlockConstructionMarker(Builders) - engine-block -
BlockEngine(Core) - filler-block -
BlockFiller(Builders) - filtered-buffer-block -
BlockFilteredBuffer(Transport) - flood-gate-block -
BlockFloodGate(Factory) - frame-block -
BlockFrame(Builders) - laser-block -
BlockLaser(Silicon) - library-block -
BlockBlueprintLibrary(Builders) - machine-block -
BlockQuarry(Builders) - marker-block -
BlockMarker(Core) - mining-well-block -
BlockMiningWell(Factory) - packager-block -
BlockPackager(Silicon) - path-marker-block -
BlockPathMarker(Core) - pipe-block -
BlockGenericPipe(Transport) - plain-pipe-block -
BlockPlainPipe(Factory) - pump-block -
BlockPump(Factory) - refinery-block -
BlockRefinery(Factory) - requester-block -
BlockRequester(Robotics) - spring-block -
BlockSpring(Core) - tank-block -
BlockTank(Factory) - zone-plan-block -
BlockZonePlan(Robotics)
物品
- blueprint-item -
ItemBlueprintStandard(Builders) - bucket-fuel -
ItemBucketBuildcraft(Energy) - bucket-oil -
ItemBucketBuildcraft(Energy) - bucket-red-plasma -
ItemBucketBuildcraft(Energy) - debugger-item -
ItemDebugger(Core) - diamond-gear-item -
ItemGear(Core) - facade-item -
ItemFacade(Transport) - gate-copier -
ItemGateCopier(Transport) - gold-gear-item -
ItemGear(Core) - iron-gear-item -
ItemGear(Core) - lens-item -
ItemLens(Transport) - list-item -
ItemList(Core) - map-location-item -
ItemMapLocation(Core) - package-item -
ItemPackage(Silicon) - paintbrush-item -
ItemPaintbrush(Core) - pipe-fluids-clay -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-cobblestone -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-diamond -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-emerald -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-gold -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-iron -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-obsidian -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-quartz -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-sandstone -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-stone -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-void -
**fluid** — 流体管道(传输液体)(Transport) - pipe-fluids-wood -
**fluid** — 流体管道(传输液体)(Transport) - pipe-gate -
ItemGate(Transport) - pipe-items-clay -
**item** — 物品管道(传输实体)(Transport) - pipe-items-cobblestone -
**item** — 物品管道(传输实体)(Transport) - pipe-items-daizuli -
**item** — 物品管道(传输实体)(Transport) - pipe-items-diamond -
**item** — 物品管道(传输实体)(Transport) - pipe-items-emerald -
**item** — 物品管道(传输实体)(Transport) - pipe-items-emzuli -
**item** — 物品管道(传输实体)(Transport) - pipe-items-gold -
**item** — 物品管道(传输实体)(Transport) - pipe-items-iron -
**item** — 物品管道(传输实体)(Transport) - pipe-items-lapis -
**item** — 物品管道(传输实体)(Transport) - pipe-items-obsidian -
**item** — 物品管道(传输实体)(Transport) - pipe-items-quartz -
**item** — 物品管道(传输实体)(Transport) - pipe-items-sandstone -
**item** — 物品管道(传输实体)(Transport) - pipe-items-stone -
**item** — 物品管道(传输实体)(Transport) - pipe-items-stripes -
**item** — 物品管道(传输实体)(Transport) - pipe-items-void -
**item** — 物品管道(传输实体)(Transport) - pipe-items-wood -
**item** — 物品管道(传输实体)(Transport) - pipe-power-cobblestone -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-diamond -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-emerald -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-gold -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-iron -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-quartz -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-sandstone -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-stone -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-power-wood -
**power** — 能量管道(传输 BuildCraft Power)(Transport) - pipe-structure-cobblestone -
**structure** — 结构管道(本身无内容,仅作结构支撑)(Transport) - pipe-waterproof -
ItemBuildCraft(Transport) - pipe-wire -
ItemPipeWire(Transport) - plug-item -
ItemPlug(Transport) - power-adapter-item -
ItemPowerAdapter(Transport) - redstone-board -
ItemRedstoneBoard(Robotics) - redstone-chipset -
ItemRedstoneChipset(Silicon) - redstone-crystal -
ItemBuildCraft(Silicon) - robot-item -
ItemRobot(Robotics) - robot-station-item -
ItemRobotStation(Robotics) - stone-gear-item -
ItemGear(Core) - tablet-item -
ItemTablet(Core) - template-item -
ItemBlueprintTemplate(Builders) - wooden-gear-item -
ItemGear(Core) - wrench-item -
ItemWrench(Core)
实体
- bc-package-throwable -
EntityPackage(Silicon) - bc-robot -
EntityRobot(Robotics)
配置
- config -
buildcraft.core.config.BuildCraftConfiguration(extends net.minecraftforge.common.config.Configuration)`
依赖范围
| 依赖 | relation.md 状态 | 处理 |
|---|---|---|
| Minecraft Forge | 非 mod,无行 | 明确写出,不建分类 |
| gtnhlib | 有行(gtnhlib),尚未成文 |
可留前向引用,本页未引用 |
buildcraftcompat、buildcraftoiltweak 是独立分类(relation.md 已登记且已完成),
它们是 BuildCraft 的下游/伴生 mod,不是本仓库的一部分。
源码缺陷汇总
| # | 缺陷 | 位置 |
|---|---|---|
| 1 | 注册名 machineBlock 对应的类是 BlockQuarry——注册名与语义相反,照名字搜会找错 |
BuildCraftBuilders.java:610 |
| 2 | buildPipe 受 isEnabled("pipes", ...) 控制,注册数依配置而定,源码里没有固定答案 |
BuildCraftTransport.java buildPipe 实现 |
| 3 | BuildCraftConfiguration 与 BCConfigElement<T> 是两条互不相干的继承链,易被误读成父子关系;仓库内无任何类 extends BuildCraftConfiguration |
core/config/BuildCraftConfiguration.java:16、BCConfigElement.java:13 |
| 4 | 注册名 ≠ Java 变量名:BCRegistry 剥掉 tile./item. 前缀后取 unlocalized name,二者大量不同(如变量 springBlock→注册名 eternalSpring、assemblyTableBlock→laserTableBlock、facadeItem→pipeFacade)。照变量名写条目会 17 处出错 |
core/BCRegistry.java:46-48、:64-66 |
| 5 | pipeFluidsObsidian 默认不注册:38 个管道里唯一被 experimentalContent 包住的,而该项默认 false。其余 37 个无此开关 |
BuildCraftTransport.java:424-425、BuildCraftCore.java:406-409 |
| 6 | springBlock 注册受 worldgen.enable 保护(默认 true,所以默认会注册);关掉后水泉方块与 SpringPopulate 事件一起消失 |
BuildCraftCore.java:426-431、:376-379、:567-569 |
| 7 | 4 个注册项缺 en_US.lang 条目:blockRedPlasma / buildToolBlock / pipeBlock 仅 fr_CA.lang 有键,pipePlug 连 fr_CA.lang 也没有——这 4 项在英文界面下会显示未翻译名 |
assets/buildcraft/lang/(31 个语言文件,已逐个 grep) |
| <!-- AUTO-INDEX:START --> |
完整索引(自动生成)
本节由
tools/sync_catpage_index.py从磁盘实际文件生成,共 133 个条目。 上面各节是人工撰写的概览;任何未在上面出现的条目都在这里。 重新生成:删掉本节两个<!-- AUTO-INDEX -->标记之间的内容后重跑脚本。
block/(30)
全部 30 个条目已在上文列出。
entity/(2)
全部 2 个条目已在上文列出。
gui/(1)
| 条目 | 条目 | 条目 | 条目 |
|---|---|---|---|
| BuildCraft GUI 层:7 个 IGuiHandler + 19 个 GUI ID |
item/(68)
全部 68 个条目已在上文列出。
network/(1)
| 条目 | 条目 | 条目 | 条目 |
|---|---|---|---|
| BuildCraft 封包层:5 个频道 + 14 个包 ID |
recipe/(1)
| 条目 | 条目 | 条目 | 条目 |
|---|---|---|---|
| BuildCraft 配方体系:4 个配方管理器 + 30 个本仓调用点 + GTNH 短路边界 |
setting/(1)
全部 1 个条目已在上文列出。
tile/(29)
<!-- AUTO-INDEX:END -->