====== 注册 Mixin ======
==== 介绍 ====
在这个教程中,你会学到如何通过 ''%%resources/fabric.mod.json%%'' 注册你的Mixin。
你的 ''%%fabric.mod.json%%'' 应该位于 ''%%resources%%'' 文件夹中。
使用此链接查看你的 Fabric 示例模组的资源文件夹:[[https://github.com/FabricMC/fabric-example-mod/tree/master/src/main/resources|Fabric Example Mod Resources]]
''%%fabric.mod.json%%'' 中定义了 Fabric 应该从哪里查找你的 ''mixins.json''。
==== 使用 Fabric 注册 Mixin ====
要注册 mixin,你需要告诉 Fabric 查找哪里。要告诉 Fabric 查找哪里,你需要往 ''fabric.mod.json'' 中的 ''mixins'' 数组添加元素。
{
"mixins": [
"模组id.mixins.json"
]
}
在你的 mixin 数组中提供字符串 ''%%"<模组id>.mixins.json"%%'' 以告诉 Fabric 要在加载在 ''<模组id>.mixins.json'' 中定义的 mixin。
==== 注册 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 类。