Table of Contents

注册 Mixin

介绍

在这个教程中,你会学到如何通过 resources/fabric.mod.json 注册你的Mixin。

你的 fabric.mod.json 应该位于 resources 文件夹中。

使用此链接查看你的 Fabric 示例模组的资源文件夹:Fabric Example Mod Resources

fabric.mod.json 中定义了 Fabric 应该从哪里查找你的 mixins.json

使用 Fabric 注册 Mixin

要注册 mixin,你需要告诉 Fabric 查找哪里。要告诉 Fabric 查找哪里,你需要往 fabric.mod.json 中的 mixins 数组添加元素。

  1. {
  2. "mixins": [
  3. "模组id.mixins.json"
  4. ]
  5. }

在你的 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 字段,以及 mixinsclientserver 数组。

package 字段定义了在哪个文件夹(包)寻找 Mixin。

mixins 数组定义了客户端和服务器都需要加载哪些类。

client 数组定义了仅在客户端需要加载哪些类。

server 数组定义了仅在服务器需要加载哪些类。

按照这样的思路:net.fabricmc.example.mixin.TitleScreenMixin 是仅会在客户端加载的 mixin 类。