BD lib
[!INFO] Git Commit:
870d288| Updated: 2026-10-02
BD lib(modid bdlib,显示名 BD lib)是 bdew 编写、采用 Scala 语言实现的 Minecraft 1.7.10 Forge 库模组,遵循 Minecraft Mod Public License 1.0。仓库位于 https://github.com/bdew/bdlib,src/main/scala/net/bdew/lib/ 下共 209 个 .scala 文件、0 个 .java 文件。
它自身不注册任何游戏内容:0 方块、0 物品、0 TileEntity、0 合成配方、0 创造标签页。因此在创造模式物品栏中看不到属于本模组的任何条目 —— 这类库模组在整合包中通常以「看不见但处处生效」的方式存在。注册证据:GameRegistry.registerBlock / registerItem 等调用只出现在供下游模组调用的框架类中(config/BlockManager.scala:43、config/ItemManager.scala:28、machine/Machine.scala:35),全仓没有任何一处是 BD lib 在自身加载时注册具体内容。
它的真实价值是四层框架:方块/物品/机器的注册框架、DataSlot 状态与客户端同步框架、配置驱动的多方块机器框架,以及一套自定义文本 DSL 与网络封包框架。Misc.getActiveModId 读取 Loader.instance().activeModContainer().getModId(Misc.scala:28-30),说明该库的设计前提是「被其他模组在初始化阶段调用」,注册命名空间归属于调用方而非 bdlib。
本模组在 gradle.properties:168 中 curseForgeRelations 为空、dependencies.gradle 依赖块为空,不硬依赖任何其他模组。需要特别说明的是:源码中 buildcraft 的命中数为 0(grep -rn -i 'buildcraft' --include=*.scala src/),本模组与 BuildCraft 没有任何代码级关联,其 power 子包是一套与具体能量系统无关的抽象功率记账框架。
对玩家而言,BD lib 唯一可感知的界面是两条权限等级 2 的服务端调试指令,以及机器的 GUI 与多方块提示文案 —— 后者由 assets/bdlib/lang/*.lang 中的 bdlib.multiblock.* 系列键提供。
API 列表
- BD lib 库本体 - 模组身份、
@Mod声明、3 个事件回调与「零注册」证据 - 注册框架 -
Machine/BlockManager/ItemManager/MachineManager如何替下游模组注册方块物品
多方块列表
数据同步列表
- DataSlot 数据槽框架 - 机器状态的 12 种槽位实现与
UpdateKind四种同步档位 - 客户端-服务端同步 -
TileDataSlots把槽位变化自动接入 TileEntity 更新机制
配方与配置列表
网络列表
指令列表
- /dumpregistry - 导出方块/物品/自定义堆栈/矿物字典/流体注册表到
registry.dump - /oredistribution - 统计指定半径与高度范围内的矿物分布,可写文件
配置列表
- 配置加载机制 -
config/bdlib的内置配置、overrides覆盖与字母序加载规则