在这个教程中,你会学到如何通过 resources/fabric.mod.json 注册你的Mixin。
你的 fabric.mod.json 应该位于 resources 文件夹中。
使用此链接查看你的 Fabric 示例模组的资源文件夹:Fabric Example Mod Resources
fabric.mod.json 中定义了 Fabric 应该从哪里查找你的 mixins.json。
要注册 mixin,你需要告诉 Fabric 查找哪里。要告诉 Fabric 查找哪里,你需要往 fabric.mod.json 中的 mixins 数组添加元素。
{ "mixins": [ "模组id.mixins.json" ] }
在你的 mixin 数组中提供字符串 "<模组id>.mixins.json" 以告诉 Fabric 要在加载在 <模组id>.mixins.json 中定义的 mixin。
在上一个段落,你学会了如何注册你的 <模组id>.mixins.json 文件。
我们还需要定义加载哪些 mixin 以及这些 mixin 位于哪里。
在你注册的 <模组id>.mixins.json 中:
{
"required": true,
"minVersion": "0.8",
"package": "net.fabricmc.example.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [],
"client": [
"TitleScreenMixin"
],
"server": [],
"injectors": {
"defaultRequire": 1
}
}
开始使用 mixin 时,需要关心以下 4 个主要的字段:package 字段,以及 mixins、client、server 数组。
package 字段定义了在哪个文件夹(包)寻找 Mixin。
mixins 数组定义了客户端和服务器都需要加载哪些类。
client 数组定义了仅在客户端需要加载哪些类。
server 数组定义了仅在服务器需要加载哪些类。
按照这样的思路:net.fabricmc.example.mixin.TitleScreenMixin 是仅会在客户端加载的 mixin 类。