很多情况下,一个模组的版本只有特定版本,一部分使用其他版本的玩家无法使用。事实上,一些小版本的代码是可以互通的(例如1.21和1.21.1),所以我写了这个跨小版本使用模组的小教程,也是我的第一篇教程。
目前确认的是fabric的所有mod都可以这样做(forge模组的依赖在代码里),但不保证完全可以或功能正常,可能导致存档损坏之类的问题,修改之前请先备份存档。
下面是修改方法:
下载与你需要的版本的最近的小版本(建议向上优先),这里以fabric api 0.124.2+1.21.5为例,将其修改成支持1.21的
使用解压软件打开jar文件,也可以解压到文件夹(注意是当成压缩包打开)
解压后我们会得到以下文件
打开“fabric.mod.json”
找到"depends"部分,一般在文件的最底部或中间,如图例
], "depends": { "fabricloader": "\u003e\u003d0.16.10", "java": "\u003e\u003d21", "minecraft": "\u003e\u003d1.21.5- \u003c1.21.6-" },这里的每个项的冒号后面就是依赖的版本了,我们需要把后面的修改成我们需要的版本。
可以看到,引号里有很多带“\u****”的内容,这里需要注意,有些时候,这些是写成“<”“>”“=”的。
“<”即模组依赖的版本只能小于后面这个版本,“<=”大于后面这个版本且包括这个版本,“>”,“>=”“=”等同理。
而这里的“\u****”是大于小于符号的另一种写法(即Unicode编码),意思相同,下面是对照表。
Unicode符号\u003e>\u003c<\u003d=所以这里可以理解成
], "depends": { "fabricloader": ">=0.16.10", "java": ">=21", "minecraft": ">=1.21.5- <1.21.6-" },fabricloader即fabric加载器,java即Java SE Development Kit版本,minecraft即游戏版本
版本依赖可以用不同方式写。
例如我想修改其为兼容fabricloader0.16.9的,可以改成">=0.16.8"或者">0.16.8"或者"=0.16.9"或者"<=0.16.10"或者"<0.16.10"。
不同的依赖版本可以用空格分开。
例如这里的"minecraft": ">=1.21.5- <1.21.6-"
有一些特殊的写法,可以用于限定特定的大版本及所以小版本,即“*”和“-”,可以代替任何数字
例如这里的">=1.21.5-"或者是"=1.21.*"
如果想兼容任意版本但是又必须写依赖可以直接用“*”代表全部版本,如"minecraft": "*"
最后,将我们修改好的文件保存,并重新压缩,文件后缀改为.jar,就可以正常使用了不保证是否出现兼容问题,请先备份。
著作权:CC: BY-NC
作者:foxese
参考:自动收获-重制(AutoHarvest-RE)基于1.20.4修改使其能在1.20.6上使用 - 自动收获-重制 (AutoHarvest-RE) - MC百科|最大的Minecraft中文MOD百科