WDMla
[!INFO] Git Commit:
1406052| Updated: 2026-10-02
WDMla(What DreamMaster looks at)是 WAILA 在 GTNH 的分支与继任者——仓库内类注释直接写明全称是 “What DreamMaster looks at”(WDMla.java:19-23)。它不注册任何方块、物品、TileEntity、实体、世界生成或配方:全仓 GameRegistry.registerBlock / registerItem / registerTileEntity / EntityRegistry.register / IWorldGenerator / 配方注册全部零命中。WDMla 是一个纯 HUD 提示框 + 配置框架 mod。
它做的事是把「你正看着的这个方块/实体是什么、里面有什么、能不能挖」渲染成浮在准心旁的提示框,并用一套注解驱动的插件系统让各 mod 往里加内容。
身份标识
| 项 | 值 | 来源 |
|---|---|---|
| modid | wdmla |
WDMla.java:43(public static final String MODID = "wdmla") |
| 第二个 modid | Waila |
Waila.java:37,同一 jar 内的第二个 @Mod |
| FML 容器 modid(coremod) | 无 | gradle.properties 的 coreModClass = 为空 |
| 资源域 | waila(非 wdmla) |
src/main/resources/assets/waila/ 共 13 个文件 |
| jar 名 | wdmla |
customArchiveBaseName 在 gradle.properties 中被注释,回落到 modId |
| 根包 | com.gtnewhorizons.wdmla + mcp.mobius.waila |
gradle.properties 的 modGroup;两个包根并存 |
| 分类名 / 目录名 | wdmla / WDMla |
relation.md;目录大小写经 os.listdir 核验 |
资源域与 modid 不同是本 mod 最容易踩的一点:所有贴图与语言文件都在 assets/waila/ 下,Identifiers 中的 4 张精灵图也硬编码为 waila 域(Identifiers.java:24-27)。
mcmod.info 声明了两个 mod 条目(Waila 与 ${modId}),与两个 @Mod 类一一对应。
@Mod 类共 2 个(grep -rn '@Mod(' src/main/java):
| 类 | modid | 角色 |
|---|---|---|
com.gtnewhorizons.wdmla.WDMla |
wdmla |
宿主:配置、插件扫描、代理、GUI 工厂 |
mcp.mobius.waila.Waila |
Waila |
旧版 Waila 运行时,供旧附属通过 IMC/封包接入 |
Minecraft 版本
1.7.10 / Forge 10.13.4.1614,三形式全部命中:
- 形式②
gradle.properties:minecraftVersion = 1.7.10、forgeVersion = 10.13.4.1614 - 形式③
mcmod.info:"mcversion": "${minecraftVersion}"占位符,追溯到同一gradle.properties值 - 构建器为 RetroFuturaGradle(
settings.gradle:5的 maven 仓库名为RetroFuturaGradle;dependencies.gradle使用rfg.deobf(...)),因此形式①适用
额外硬证据:@Mod(acceptedMinecraftVersions = "[1.7.10]")(WDMla.java:30)、addon.gradle 的 javadoc 外链 forge/1.7.10-10.13.4.1614/。
未采用 git describe:它返回 2.8.2,是 WAILA 血统的 tag 号,与 MC 版本判定无关;且实际打包进 jar 的版本号由 gtnhconvention 生成(generateGradleTokenClass = mcp.mobius.waila.Tags、gradleTokenVersion = GRADLETOKEN_VERSION),modVersion 属性在 gradle.properties 中不存在,无法从源码静态确定。版本门控以 gradle 属性与 @Mod 注解为准,故本页引用 commit 1406052(git cat-file -t 确认为 commit 对象)。
依赖
硬依赖
| modid | 声明 | 用途 |
|---|---|---|
gtnhlib |
required-after:gtnhlib(WDMla.java:28) |
@Config 配置框架、GTNHClientCommand |
| Forge | forgeVersion = 10.13.4.1614 |
平台 |
gtnhlib 在 dependencies.gradle 中以 api("com.github.GTNewHorizons:GTNHLib:0.9.54:dev") 声明(发布依赖)。
软依赖
| modid | 声明 | 用途 |
|---|---|---|
Waila |
after:Waila(WDMla.java:28) |
旧版 Waila 运行时,同 jar 自带 |
仅编译期依赖(dependencies.gradle 的 compileOnly,运行时不强制):HungerOverhaul、harvestcraft、TinkersConstruct、Natura、ironchest、StorageDrawers、ForestryMC、ArchitectureCraft。NotEnoughItems:2.8.93-GTNH 为 devOnlyNonPublishable,仅开发环境。
类级可选集成(Mods 枚举,api/Mods.java):CreativeBlocks、gregtech、IguanaTweaksTConstruct、TConstruct、NotEnoughItems(≥ 2.7.29-GTNH)、ForgeMultipart。
详见 门控与依赖策略。
注册内容(全部为活注册)
WDMla 没有方块/物品级注册,其「内容」就是 12 个插件与 160 次 provider 注册调用。
插件由 FML ASMDataTable 在 preInit 扫描 @WDMlaPlugin 注解发现(PluginScanner.java:28-63),共 12 个:
| 插件 uid | 依赖 modid | 服务端 | 客户端 |
|---|---|---|---|
core |
无 | 1 | 11 |
universal |
无 | 6 | 8 |
minecraft |
无 | 31 | 52 |
harvestability |
无 | 0 | 11 |
debug |
无 | 0 | 6 |
architecturecraft |
ArchitectureCraft |
1 | 2 |
forestry |
Forestry |
0 | 1 |
harvestcraft |
harvestcraft |
4 | 3 |
hungeroverhaul |
HungerOverhaul |
1 | 5 |
ironchest |
ironchest |
1 | 0 |
Natura |
Natura |
1 | 8 |
StorageDrawers |
StorageDrawers |
2 | 5 |
| 合计 | 48 | 112 |
注册量用两种独立写法交叉验证(按方法名白名单统计 vs 不限方法名统计 registration.*),两者均为服务端 48 / 客户端 112。
其它活注册:6 个按键绑定、2 条客户端指令、1 个 FML 通道上的 5 个封包、3 份配置文件。
设置列表
- 通用配置(general.cfg) - 全局外观、主题、破坏进度条;8 个顶层项 + 16 个嵌套项
- 插件配置(plugins.cfg) - 5 个插件组的细粒度开关与采集等级映射表
- 自动生成配置(plugins_autogen.cfg) - 由代码反射生成的逐 provider 启用与优先级
插件列表
- 核心插件(Core Plugin) - 全部方块/实体的基础信息层,注册 2 个 Accessor 客户端处理器
- 通用插件(Universal Plugin) - 物品存储、流体存储、进度条三类通用视图
- Minecraft 插件(Vanilla Plugin) - 原版方块与实体逐类绑定,注册量最大(占 31/48)
- 采集能力插件(Harvestability Plugin) - 当前可采集状态、有效工具、采集等级;唯一做运行时条件注册的插件
- 调试插件(Debug Plugin) - 硬度、爆炸抗性、注册表数据、坐标
- 建筑师工艺插件(ArchitectureCraft Plugin) - 方块形状显示与基于形状的采集判定
- 林业插件(Forestry Plugin) - 蜂箱采集判定
- 潘马斯农场插件(Harvestcraft Plugin) - 捕兽夹/捕鱼夹与果实成熟度
- 饥饿机制调整插件(Hunger Overhaul Plugin) - 锄地结果、挤奶冷却、动物缓慢
- 铁箱子插件(Iron Chest Plugin) - 铁箱子物品存储,仅服务端注册
- 自然插件(Natura Plugin) - 作物/浆果成熟度、树叶、下界苔石熔炉
- 储物抽屉插件(Storage Drawers Plugin) - 抽屉内容与 3D 图标抑制;唯一使用
overridingRegistrationMethodName的插件
网络列表
- Waila 协议通道 - 通道名沿用
Waila,5 个封包(discriminator 0–4),客户端请求 / 服务端回数据
指令列表
- WDMla 客户端指令 -
/wdmladump导出全部 provider;/wdmlaprintte仅开发环境可用
按键绑定列表
- WDMla 按键绑定 - 6 个键:小键盘 0–4 + 左 Shift(显示详细信息)
API 列表
- WDMla 插件开发 API -
@WDMlaPlugin注解驱动;12 个注册方法、provider 优先级约定
兼容列表
- Waila 兼容层 - 让未改写的旧版 Waila 附属继续工作;35 个
@BackwardCompatibility文件 - WDMla 门控与依赖策略 -
@Mod依赖、插件依赖、Mods枚举三层门控
GUI 列表
- WDMla 通用配置界面 - 汇总 5 个配置分类,含 live-edit 子分类递归与提示框预览