Table of Contents

Mixin の登録

導入

この記事では、Mixin を resources/fabric.mod.json を介して追加する方法を解説しています。

まず、resources フォルダの中に fabric.mod.json を配置します。 Fabric Example Mod Resources が参考になるかもしれません。

次に、fabric.mod.json の中に mixins.json の場所を登録します。

Fabric への ''mixins.json'' の登録

Mixin を登録するためには、Fabric に mixins.json の場所を伝える必要があります。

具体的には、fabric.mod.jsonmixins 配列に mixins.json のファイル名を追加します。

慣例では、mixins.json のファイル名は "<modid>.mixins.json" です。<modid> は適宜変更してください。

  1. {
  2. "mixins": [
  3. "modid.mixins.json"
  4. ]
  5. }

mixins.json のファイル名を mixins 配列に加えることで、Fabric に mixins.json 内に定義された Mixin を読み込むように伝えることができます。

Mixin の登録

最後に、前節で登録した mixins.json に Mixin を登録します。

以下は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 フィールドには Mixin が配置されたフォルダ名(パッケージ名)を定義します。

mixins フィールドにはクライアントとサーバの両方で読み込む Mixin クラス名の配列を定義します。

client フィールドにはクライアントのみで読み込む Mixin クラス名の配列を定義します。

server フィールドにはサーバのみで読み込む Mixin クラス名の配列を定義します。

これより、前述の例では net.fabricmc.example.mixin.TitleScreenMixin クラスがクライアントのみで読み込む Mixin クラスとして登録されていることが分かるでしょう。