この記事では、Mixin を resources/fabric.mod.json
を介して追加する方法を解説しています。
まず、resources
フォルダの中に fabric.mod.json
を配置します。
Fabric Example Mod Resources が参考になるかもしれません。
次に、fabric.mod.json
の中に mixins.json
の場所を登録します。
Mixin を登録するためには、Fabric に mixins.json
の場所を伝える必要があります。
具体的には、fabric.mod.json
の mixins
配列に mixins.json
のファイル名を追加します。
慣例では、mixins.json
のファイル名は "<modid>.mixins.json"
です。<modid>
は適宜変更してください。
{ "mixins": [ "modid.mixins.json" ] }
mixins.json
のファイル名を mixins
配列に加えることで、Fabric に mixins.json
内に定義された 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 クラスとして登録されていることが分かるでしょう。