|
|
本帖最后由 litQA 于 2026-1-5 01:40 编辑
通常不需要全部重写,看你预期的版本跨度和模组复杂程度。理论上你也可以在一个项目中完成所有版本的适配。
建议以某一主流稳定版本(如Forge 1.16.5/1.20.1或NeoForge 1.21.1等)作为开发基准。开发完成后,只需要将gradle.properties、settings.gradle、build.gradle等文件中的和版本相关的项目修改为你要移植的版本,然后重新构建。重新构建时需要注意下面几点(开始重新构建以前,将原版本的工作区目录进行备份)。
1. 你此时极有可能已经看到了大量的红色文字和错误,那么需要查阅Mojang 官方版本更新日志(例如1.21的战利品和标签的更改,若不调整,虽然不会报错,但是你会发现破坏模组中的方块都不会掉落任何东西),及对应加载器的 API 变更文档,尤其是破坏性变更,并对这些API 进行定向适配。而对于加载器重要机制重构(举例:Fabric1.21的事件接口调整,直接编译低版本代码会出现经典的 cannot find symbol),这些更改无法通过简单API替换解决,此时就需要专门为目标版本编写适配实现类。
2. 同主版本内的小版本迭代通常仅涉及Bug修复类变更,甚至不需要修改任何代码。跨大版本迭代时工作量可能就比较大了。
3. 同一主版本下的小版本或bug修复版本(如 1.21→1.21.1以及1.21.9→1.21.10)通常具备加载器的向前兼容性,模组大概率可直接运行,无需重新构建和导出jar。但仍需通过实测验证功能稳定性。
4. 向下版本适配时,若目标版本缺失基准版本依赖的 API,通常需要借助社区兼容层库填补API缺失或直接放弃。
(实际上你可能1.17-1.19版本的模组使用总量或下载量还不到1.20.1版本的1%,个人开发者通常建议只关注主流版本)
|
|