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
キーにはプレフィックスが付いていないため、完全に空のオブジェクトに置き換えられ、基本的にクリアされました。