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