简单来说
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的modImplementation、modRuntimeOnly等configuration已经不再需要,直接使用implementation、runtimeOnly等就可以;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。
发表回复