Table of Contents
依存関係のオーバーライド
Fabric ローダーバージョン 0.11.1 では、 “Dependency Overrides” 〔依存関係のオーバーライド〕という名前の機能が導入されました。
使用する前に:この機能は、 Mod パック開発者が Mod の依存関係をより細かく制御できるように設計されています。
通常のプレイヤーとして、これを使用するべきではありませんが、 Mod 開発者に変更したいことは何でもするように依頼してください。
要件
- Fabric ローダー
0.11.1以降 fabric.mod.jsonの依存関係の構文と 5 種類の依存関係(depends〔依存〕、recommends〔推奨〕、suggests〔提案〕、conflicts〔競合〕、breaks〔中断〕)に慣れる
Starting
まず、 config フォルダー(.minecraft フォルダー内にある必要があります)内に fabric_loader_dependencies.json という名前のファイルを作成します。
次に、ファイルに以下の定型文の内容を入力します:
{ "version": 1, "overrides": { } }
行ごとに見ていきましょう。
まず、 version があります。これは、使用する依存関係オーバーライド仕様のバージョンを指定します。このページを書いている時点で、最新バージョンはバージョン 1 です。
次に、 overrides (現在は空)があります。この JSON オブジェクトには、さまざまな Mod への依存関係のオーバーライドがすべて含まれます。
オーバーロードする方法
overrides オブジェクト内に、ロードされた Mod の ID のキーと JSON オブジェクトの値を持つエントリを追加できます。 たとえば、ロードされた Mod の ID が mymod の場合、次のことができます。
{ "version": 1, "overrides": { "mymod": {} } }
上記のように、 mymod には JSON オブジェクトの値があります。そのオブジェクト内に、依存関係のオーバーライドを追加できます。
Mod オブジェクト内のキーは、 5 つの依存関係タイプ(depends 〔依存〕、 recommends 〔推奨〕、 suggests 〔提案〕、 conflicts 〔競合〕、 breaks 〔中断〕)のいずれかになります。
キーには、オプションで + または - のプレフィックスを付けることができます(例:“+depends”、 “-breaks”)。
これらのキーのいずれかの値は、 JSON オブジェクトである必要があります。この JSON オブジェクトは、 fabric.mod.json 依存関係オブジェクトとまったく同じ構造に従います。
キーの前に + が付いている場合、その JSON オブジェクト内のエントリが Mod に追加されます(またはすでに存在する場合は上書きされます)。
キーの前に - が付いている場合、各エントリの値は完全に無視され、 Fabric ローダーは結果の依存関係マップからそれらのエントリを削除します。
キーにプレフィックスが付いていない場合、依存関係オブジェクトは完全に置き換えられます。キーのプレフィックスに注意してください!
Practical Example
ID が specificmod の Mod が Minecraft のバージョン 1.16.4 に正確に依存していると仮定しましょう。ただし、他の 1.16 バージョンでも機能するようにします。 それを行う方法を見てみましょう:
{ "version": 1, "overrides": { "specificmod": { "+depends": { "minecraft": "1.16.x" } } } }
“minecraft” との依存関係は、指定されている場合はオーバーライドされるようになりました(先ほどやりましたね)。これを行う別の方法があります:
{ "version": 1, "overrides": { "specificmod": { "-depends": { "minecraft": "IGNORED" } } } }
上で指定したように、依存関係を削除するとき、キー “minecraft” の値は無視されます。 “minecraft” の Mod ID 要件を持つ依存関係が見つかった場合、それはターゲット Mod specificmod から削除されます。
depends 〔依存〕ブロック全体をオーバーライドすることもできますが、大いなる力には、大いなる責任が伴います。気をつけて。
specificmod の依存関係仕様(fabric.mod.json 内)が次のようになっていると仮定します:
{ "depends": { "fabricloader": ">=0.11.1", "fabric": ">=0.28.0", "minecraft": "1.16.4" }, "breaks": { "optifabric": "*" }, "suggests": { "anothermod": "*", "flamingo": "*", "modupdater": "*" } }
minecraft の依存関係を変更する以外に、すべての suggests の依存関係も削除したいと思います。私たちは次のようにそれを行うことができます:
{ "version": 1, "overrides": { "specificmod": { "-depends": { "minecraft": "" }, "suggests": {} } } }
suggests キーにはプレフィックスが付いていないため、完全に空のオブジェクトに置き換えられ、基本的にクリアされました。