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 份配置文件。

设置列表

插件列表

网络列表

  • Waila 协议通道 - 通道名沿用 Waila,5 个封包(discriminator 0–4),客户端请求 / 服务端回数据

指令列表

按键绑定列表

API 列表

兼容列表

GUI 列表