====== 注册 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 类。