使用Architectury Loom开发Minecraft 26.1的模组时得到Failed to find official mojang mappings for 26.1的错误

作者:

简单来说

Minecraft 26.1开始正式取消混淆,原来适用于有混淆的游戏版本的工具链需要更新。

Architectury Loom需要把dev.architectury.loom换成dev.architectury.loom-no-remap插件,并修改版本号为1.14-SNAPSHOT,用来处理不带混淆的游戏版本。同时Architectury Plugin也需要升级到3.5-SNAPSHOT版本。这样就能正常处理不带混淆的游戏,但这一点不论是在Architectury的文档还是在arch loom GitHub页面的issues里都没有提到


Minecraft不再混淆

继19w36a发布官方的混淆映射表以后,Mojang在2025年10月29日宣布,从26.1-snapshot-1开始,Java版的源代码不再进行混淆,25w45a至1.21.11,Mojang同时发布已混淆和未混淆的文件,用来帮助社区进行过渡。

Fabric Loom提供了一个net.fabricmc.fabric-loom-remap的插件变种,用来处理带混淆的游戏,旧的插件IDfabric-loom是它的别名;而net.fabricmc.fabric-loom则用于处理无混淆的版本。

在移除混淆后,Loom的modImplementationmodRuntimeOnly等configuration已经不再需要,直接使用implementationruntimeOnly等就可以;remapJar的task也被删除,直接使用jar就可以;dependencies里也不再需要mappings的configuration了。

Architectury Loom在一个月前开始合并Fabric Loom 1.14

中国有句话叫“闷声大发财”。

和Fabric Loom相似地,作为其Fork的Arch Loom也需要做出一些更改。或许是为了旧代码的兼容性,他们使用了dev.architectury.loom-no-remap这一插件ID用于不带混淆的游戏。可能是由于Arch Loom 1.14还没正式发布,loom-no-remap没有在任何相关文档中被提到,现在只有1.14-SNAPSHOT。但是Shedaniel在cloth-config的代码库里已经这样用了1,所以我觉得可以认为这一更改已经确定了,其他开发者可以如此进行迁移。

Arch Loom的整体变更和Fabric Loom相似,按上面提到的修改就可以。

除此之外还需要把architectury-plugin升级到3.5-SNAPSHOT版本,旧版本还尝试依赖remapJar的task,会导致运行时出错。同时,Arch Plugin还移除了namedElements,引用common项目的时候也不再需要指定configuration。


qyl制作的基于Architectury Loom的多加载器模组项目模板已经更新,现在支持26.1,欢迎使用https://github.com/qyl27/architectury-loom-template

  1. https://github.com/shedaniel/cloth-config/commit/48614681f2b39740c1316247499c0cac2d92b524 ↩︎

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


The reCAPTCHA verification period has expired. Please reload the page.