Mod Menu

Mod Menuでは、インストールされているModを確認でき、Modが対応していればModの設定画面に素早く簡単にアクセスできます。
Mod Menuはさらに高度な機能もいくつかサポートしています。たとえば、翻訳可能なMod名と説明、PatboxのText Placeholder APIによるMod説明内でのQuickText書式のサポート、通常のModからライブラリModを除外するフィルター、ModrinthでホストされているModや独自の更新ソースを提供するMod向けのMod更新チェッカー、そして提供するすべての機能に対する詳細な設定などです。

対応プラットフォーム
Mod Menuは現在、Minecraft: Java Edition 1.14以降のFabricまたはQuiltで利用できます。

開発者向け
Mod Menuには、開発者がMod MenuでのModの表示を改善するためのAPIがいくつか含まれています。これらは言語キー、JSONメタデータ、さらにはJava APIという形で提供されています。
翻訳API
Javaコードに一切触れることなく、Modの名前、概要、説明を翻訳できます。対応形式の翻訳キーを、好きな言語に追加するだけです。
翻訳APIのドキュメント
以下はMod MenuのPirate Speakへの翻訳例です。自分で作成するには、翻訳キーの末尾(最初のものではありません)のmodmenuを自分のMod IDに置き換えるだけです。たとえばmodmenu.descriptionTranslation.traverseのようにします。
enpt.json
"modmenu.nameTranslation.modmenu": "Menu o' mods!", "modmenu.descriptionTranslation.modmenu": "Menu o' mods ye installed matey!", "modmenu.summaryTranslation.modmenu": "Menu o' mods ye installed matey!"
ここでは概要の翻訳は説明と同じなので冗長であり、含める必要はありませんが、概要(Modの短い一文の説明)を説明とは別に、英語であっても翻訳できることを示すために含めています。
FabricメタデータAPI
fabric.mod.json内のメタデータだけで追加できるものがいくつかあります。
これらはすべて、Mod Menuのメタデータ用にfabric.mod.json内のカスタムブロックに追加されます。このAPIが提供する多くの機能の使用例を以下に示します。
fabric.mod.json
{ ... "custom": { "modmenu": { "links": { "modmenu.discord": "https://discord.gg/jEGF5fb" }, "badges": [ "library", "deprecated" ], "parent": { "id": "example-api", "name": "Example API", "description": "Modular example library", "icon": "assets/example-api-module-v1/parenticon.png", "badges": [ "library" ] }, "updatechecker": true } } }
FabricメタデータAPIのドキュメント
バッジ("badges": [ ])
Clientバッジはクライアント専用に設定されたMod(これを行うにはfabric.mod.jsonで"environment": "client"を設定します)に自動的に追加されますが、LibraryやDeprecatedなどの他のバッジはここで定義する必要があります。
対応する値:
- library - 他のModの純粋な依存関係であり、ユーザーが明示的にオンにしない限りデフォルトで表示されるべきではないModに割り当てる必要があります。
- deprecated - 古いAPIモジュールなど、レガシーな理由だけで存在するModに割り当てる必要があります。
その他の値は無視され、Mod Menuは独自のバッジの追加をサポートしていません。新しいバッジの説得力のあるユースケースがある場合は、ここでissueを開くことができます。
リンク("links": { })
linksオブジェクトを使用すると、Mod作者は説明の末尾にカスタムハイパーリンクを追加できます。公式のfabric.mod.jsonメタデータでsources連絡先を指定すると、それもリンクセクションに含まれます。
linksオブジェクト内の任意のキーがリンクセクションに含まれ、そのキーは翻訳キーとして使用されます。たとえば、これ:
fabric.mod.json
"custom": { "modmenu": { "links": { "modmenu.discord": "https://discord.gg/jEGF5fb" } } }
は、"Discord"というテキストのリンクとして表示されます。"Discord"はMod Menuが提供する"modmenu.discord"の英語訳だからです。
Mod Menuはリンクに使用できるいくつかのデフォルト翻訳を提供しています。完全なリストはこちらのMod Menuの言語ファイルで確認できます。すべてのデフォルトのリンク翻訳キーはmodmenu.という形式を取ります。
カスタムリンクを追加したい場合は、独自の翻訳を提供することもできます。カスタムキーには必ず独自の名前空間(modmenuではなく)を使用してください。
親("parent": "modid" または { })
親は、あるModを別のModの子として表示するために使用されます。これは、異なるモジュールに分割されたModに使用することを意図しています。fabric.mod.json内の以下の要素は、そのModをMod「flamingo」の子として定義します:
fabric.mod.json
"custom": { "modmenu": { "parent": "flamingo" } }
ただし、親の下にModをグループ化したいが、親が実際のModではない場合も、それが可能です。以下の例では、あるModが親のメタデータを定義しています。このメタデータが、偽の/ダミーの親を使用するすべての子に含まれていることを確認してください。これはオプションの親のフォールバックとしても使用でき、存在する場合はModの実際のメタデータに置き換えられます。
fabric.mod.json
"custom": { "modmenu": { "parent": { "id": "this-mod-isnt-real", "name": "Fake Mod", "description": "Do cool stuff with this fake mod", "icon": "assets/real-mod/fake-mod-icon.png", "badges": [ "library" ] } } }
ダミーの親Modは以下のメタデータのみをサポートしています:
- id(String)
- name(String)
- description(String)
- icon(String)
- badges(Stringの配列)
更新チェッカーを無効にする("updatechecker": false)
デフォルトでは、Mod Menuの更新チェッカーはModのjarのハッシュを使用してModrinthで最新バージョンを検索します。一致するプロジェクトが見つかると、ModローダーとMinecraftのバージョンをサポートする最新バージョンを確認し、既存のファイルと異なるハッシュであれば、更新が利用可能であることをユーザーに通知します。
更新チェッカーを無効にするには、以下のようにMod Menuのメタデータでupdatecheckerをfalseに設定します:
fabric.mod.json
"custom": { "modmenu": { "updatechecker": false } }
QuiltメタデータAPI
Mod MenuはQuiltもサポートしているため、FabricメタデータAPIセクションと同じAPIがQuiltのModでも利用できますが、カスタムメタデータの形式が少し異なります。
"custom"ブロック内の"modmenu"ブロックの代わりに、"modmenu"ブロックをルートオブジェクトの要素として配置します。したがって、次のようになります:
quilt.mod.json
{ ... "modmenu": { // ここにリンク、バッジなどの情報を記述します } }
Java API
Java APIを使用するには、gradleプロジェクトにMod Menuをコンパイル時の依存関係として追加する必要があります。これによりModがMod Menuを必須にするわけではありませんが、テスト用に環境内に存在するようになります。
build.gradle
// Terraformersのmavenリポジトリをrepositoriesブロックに追加します repositories { maven { name = "Terraformers" url = "https://maven.terraformersmc.com/" } }
// Mod Menuを環境内の依存関係として追加します dependencies { // Minecraft 26.xより前は、代わりに"modImplementation"を使用してください implementation("com.terraformersmc:modmenu:${project.modmenuversion}") }
次に、使用しているMod Menuのバージョンをgradle.propertiesで定義します。最新のバージョン番号はこちらで取得できますが、最新のMinecraftバージョンを使用していない場合は別のバージョンが必要になることがあります。バージョンの完全なリストはバージョンページを参照してください。
gradle.properties
modmenuversion=VERSIONNUMBERHERE
テスト用に環境内に置きたくないが、Java APIを使用するためにMod Menuに対してコンパイルしたい場合は、modImplementationの代わりにmodCompileOnlyを使用できます(これはMod Menuが実行中のMinecraftのバージョンに更新されていなくても機能します)。
Java APIのドキュメント
はじめに
APIを使用するには、クラスにModMenuApiインターフェースを実装し、それをfabric.mod.json内で次のように"modmenu"タイプのエントリポイントとして追加します:
fabric.mod.json
"entrypoints": { "modmenu": [ "com.example.mod.ExampleModMenuApiImpl" ] }
Mod設定画面
Modは、設定ボタンで開くカスタム設定画面を提供するためにScreenファクトリを提供できます。これを行うには、API実装でgetModConfigScreenFactoryメソッドを実装します。
これの想定されるユースケースは、Modが独自の設定画面を提供することです。設定画面のMod IDは、エントリポイントの発生元であるソースModコンテナによって自動的に決定されます。
提供される設定画面
Modは、他のModの設定ボタンで開くカスタム設定画面を提供するためにScreenファクトリを提供することもできます。これを行うには、API実装でgetProvidedConfigScreenFactoriesメソッドを実装します。
これの想定されるユースケースは、Cloth ConfigのようなModが、そのAPIを使用するModに設定画面を提供することです。
Modpackバッジ
Modは、attachModpackBadgesメソッドを実装することで、他のModにModpackバッジを付与できます。たとえば次のようにします:
@Override public void attachModpackBadges(Consumer consumer) { consumer.accept("modmenu"); // 'modmenu'がModpackの一部であることを示します }
Minecraft自体やModローダーなどの「内部」Modには、通常のModpack内で配布されないため、Modpackバッジを付与できないことに注意してください。
静的ヘルパーメソッド
ModMenuApiは、独自のModsボタンを作成するなど、Mod Menuとうまく連携したいMod向けのヘルパーメソッドもいくつか提供しています。
Mods画面インスタンスの作成
このメソッドを呼び出すと、Mods画面のインスタンスを取得できます:
Screen createModsScreen(Screen previous)
ModsボタンのTextの作成
このメソッドを呼び出すと、Mod MenuのModsボタンに表示されるTextを取得できます:
Text createModsButtonText()
Mod Menuのインストール方法
With Millida Launcher
Install Millida Launcher
The launcher is free: download it at millida.net/launcher and sign in with any nickname.
Click “Install” on this page
The launcher opens and installs the mod for Minecraft 1.16–26.3 on Fabric or Quilt automatically, together with its dependencies: Fabric API, Text Placeholder API.
Launch the game
A profile with it appears in the launcher: click “Play”.
Manually
Install Fabric or Quilt
The loader must match the game version of the mod file, for example Minecraft 26.3. After installing it, a separate profile appears in your launcher.
Download the file for your version
In the version list above, pick the file modmenu-21.0.0.jar (837 KB) for your game version and loader.
Put it in the mods folder
The folder is inside .minecraft (Windows: %appdata%\.minecraft\mods). If it does not exist, create it. Required dependencies go there too: Fabric API, Text Placeholder API.
Launch the loader profile
Open “Mods” in the main menu: Mod Menu should be in the list.
Mod Menu works on the player’s side only: there is no need to install it on a server.
バージョン
依存関係あり
| Minecraft | ローダー | ファイル | 日付 | 操作 |
|---|---|---|---|---|
| 26.2 | Fabric, Quilt | 26.2602 KB 1,394 | ||
| 26.1.2 | Fabric, Quilt | 26.1.2840 KB 358 | ||
| 1.21.11 | Fabric, Quilt | 1.21.11938 KB 4,385 | ||
| 1.21.1 | Fabric, Quilt | 1.21.1953 KB 507 | ||
| 26.3 | Fabric, Quilt | 26.3837 KB 2,467 | ||
| 26.3 | Fabric, Quilt | 26.3837 KB 2 | ||
| 26.2 | Fabric, Quilt | 26.2602 KB | ||
| 26.1.2 | Fabric, Quilt | 26.1.2840 KB |
動作に必要なもの
レビュー
Mod Menuの最初の評価を書きませんか


