Додає меню модів для перегляду списку встановлених модифікацій.
Mod Menu дозволяє переглядати встановлені моди та, якщо мод це підтримує, забезпечує швидкий і легкий доступ до екранів конфігурації моду.
Mod Menu також підтримує деякі розширені функції, такі як назви та описи модів, що перекладаються, підтримка форматування QuickText в описах модів завдяки від , фільтрування бібліотечних модів від звичайних, перевірка оновлень модів, розміщених на Modrinth або тих, що надають власні джерела оновлень, і глибоке налаштування всіх наданих нами функцій.
Mod Menu наразі доступний для Fabric або Quilt на Minecraft: Java Edition 1.14 або новішої версії.
Mod Menu містить кілька API для розробників, щоб покращити вигляд їхнього моду в Mod Menu. Вони представлені у вигляді мовних ключів, метаданих JSON і навіть Java API.
Ви можете перекласти назву, короткий опис і опис вашого моду, не торкаючись коду Java. Просто додайте ключі перекладу у підтримуваному форматі до будь-якої мови, яку ви хочете.
Ось приклад перекладів Mod Menu піратською мовою. Щоб створити свій власний, просто замініть `modmenu` в кінці (НЕ той, що на початку) ключа перекладу на ідентифікатор вашого моду, наприклад `modmenu.descriptionTranslation.traverse`.
`en_pt.json`
```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!"
```
> Переклад короткого опису тут зайвий і не потребує включення, оскільки він такий самий, як і опис, але він був включений, щоб показати, що ви можете перекладати короткий опис (короткий опис моду в одному реченні) окремо від опису, навіть англійською!
Є кілька речей, які ви можете додати лише за допомогою метаданих у вашому `fabric.mod.json`.
Усі вони додаються до спеціального блоку у вашому `fabric.mod.json` для метаданих Mod Menu. Ось приклад використання багатьох функцій, які надає цей API:
`fabric.mod.json`
```json5
{
...
"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/parent_icon.png",
"badges": [ "library" ]
},
"update_checker": true
}
}
}
```
#### Badges (`"badges": [ ]`)
Хоча значок `Client` додається автоматично до модів, встановлених лише на стороні клієнта (встановіть `"environment": "client"` у `fabric.mod.json`, щоб зробити це.), інші значки, такі як `Library` і `Deprecated`, потребують визначення тут.
Підтримувані значення:
Будь-які інші будуть ігноруватися, і Mod Menu не підтримує додавання власних значків. Ви можете відкрити проблему тут, якщо у вас є вагомий випадок використання нового значка.
#### Links (`"links": { }`)
Об'єкт `links` дозволяє авторам модів додавати власні гіперпосилання в кінець свого опису. Якщо ви вкажете контакт `sources` в офіційних метаданих `fabric.mod.json`, він також буде включений до розділу посилань.
Будь-який ключ в об'єкті `links` буде включений до розділу посилань, причому ключ буде використовуватися як ключ перекладу. Наприклад, це:
`fabric.mod.json`
```json
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://discord.gg/jEGF5fb"
}
}
}
```
буде показано як посилання з текстом "Discord", оскільки "Discord" є англійським перекладом "modmenu.discord", наданим Mod Menu.
Mod Menu надає кілька стандартних перекладів, які можна використовувати для посилань. Повний список можна переглянути у мовному файлі Mod Menu тут. Усі ключі перекладу посилань за замовчуванням мають вигляд `modmenu.<тип>`.
Ви також можете надати власні переклади, якщо хочете додати власні посилання. Обов'язково використовуйте власний простір імен (на відміну від `modmenu`) для будь-яких власних ключів.
#### Parents (`"parent": "mod_id" or { }`)
Батьки використовуються для відображення моду як дочірнього по відношенню до іншого. Це призначено для модів, розділених на різні модулі. Наступний елемент у `fabric.mod.json` визначить мод як дочірній по відношенню до моду «flamingo»:
`fabric.mod.json`
```json
"custom": {
"modmenu": {
"parent": "flamingo"
}
}
```
Однак, якщо ви хочете згрупувати моди під батьківським, але батьківський не є фактичним модом, ви також можете це зробити. У прикладі нижче мод визначає метадані для батьківського. Переконайтеся, що ці метадані включені у всіх дочірніх елементах, які використовують підробленого/фіктивного батьківського. Це також можна використовувати як резервний варіант для необов'язкового батьківського, його буде замінено реальними метаданими моду, якщо вони є.
`fabric.mod.json`
```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" ]
}
}
}
```
Підроблені батьківські моди підтримують лише такі метадані:
#### Disable update checker (`"update_checker": false`)
За замовчуванням перевірка оновлень Mod Menu використовуватиме хеш jar-файлу вашого моду, щоб знайти останню версію на Modrinth. Якщо він знайде відповідний проект, він перевірить останню версію, яка підтримує ваш завантажувач модів і версію Minecraft, і якщо вона має інший хеш, ніж ваш існуючий файл, він повідомить користувачеві, що є доступне оновлення.
Ви можете вимкнути перевірку оновлень, встановивши для `update_checker` значення false у метаданих Mod Menu, як показано нижче:
`fabric.mod.json`
```json
"custom": {
"modmenu": {
"update_checker": false
}
}
```
Оскільки Mod Menu також підтримує Quilt, ті самі API у розділі Fabric Metadata API також доступні для модів Quilt, але формат для власних метаданих дещо інший.
Замість блоку `"modmenu"` всередині блоку `"custom"`, ви розміщуєте блок `"modmenu"` як елемент в кореневому об'єкті. Отже, це має виглядати так:
`quilt.mod.json`
```json5
{
...
"modmenu": {
// Тут розміщуються ваші посилання, значки тощо
}
}
```
Щоб використовувати Java API, вам потрібно додати Mod Menu як залежність часу компіляції у ваш проект gradle. Це не змусить ваш мод вимагати Mod Menu, але він буде присутній у вашому середовищі для тестування.
`build.gradle`
```gradle
// Add the Terraformers maven repo to your repositories block
repositories {
maven {
name = "Terraformers"
url = "https://maven.terraformersmc.com/"
}
}
// Add Mod Menu as a dependency in your environment
dependencies {
// Prior to Minecraft 26.x, use "modImplementation" instead
implementation("com.terraformersmc:modmenu:${project.modmenu_version}")
}
```
Потім визначте версію Mod Menu, яку ви використовуєте, у вашому `gradle.properties`. Ви можете отримати останній номер версії , але вам може знадобитися інша версія, якщо ви не використовуєте останню версію Minecraft. Перегляньте для повного списку версій.
`gradle.properties`
```properties
modmenuversion=VERSIONNUMBER_HERE
```
> Якщо ви не хочете, щоб він був у вашому середовищі для тестування, але все одно хочете компілювати з Mod Menu для використання Java API, ви можете використовувати `modCompileOnly` замість `modImplementation` (це працюватиме, навіть якщо Mod Menu не оновлено до версії Minecraft, яку ви використовуєте).
Щоб використовувати API, реалізуйте інтерфейс ModMenuApi в класі та додайте його як точку входу типу "modmenu" у вашому `fabric.mod.json` так:
`fabric.mod.json`
```json
"entrypoints": {
"modmenu": [ "com.example.mod.ExampleModMenuApiImpl" ]
}
```
Моди можуть надавати фабрику Screen, щоб надати власний екран конфігурації для відкриття за допомогою кнопки конфігурації. Реалізуйте метод `getModConfigScreenFactory` у вашій реалізації API, щоб зробити це.
Передбачуваний варіант використання цього - надання модами власних екранів конфігурації. Ідентифікатор моду екрана конфігурації автоматично визначається вихідним контейнером моду, з якого походить точка входу.
Моди також можуть надавати фабрики Screen, щоб надавати власні екрани конфігурації для відкриття за допомогою кнопок конфігурації для інших модів. Реалізуйте метод `getProvidedConfigScreenFactories` у вашій реалізації API для цього.
Передбачуваний варіант використання ... (обрізано)
| Версія | Завантажувач | Minecraft | Дія |
|---|---|---|---|
| 16.0.0 11.01.2026 | fabric quilt | 1.21.9 +1 | |
| 15.0.1 11.01.2026 | fabric quilt | 1.21.6 +2 | |
| 14.0.1 10.01.2026 | fabric quilt | 1.21.5 | |
| 17.0.0-beta.2 10.01.2026 | fabric quilt | 1.21.11 | |
| 18.0.0-alpha.4 10.01.2026 | fabric quilt | 26.1-snapshot-2 | |
| 18.0.0-alpha.3 24.12.2025 | fabric quilt | 26.1-snapshot-1 | |
| 18.0.0-alpha.2 24.12.2025 | fabric quilt | 26.1-snapshot-1 | |
| 16.0.0-rc.2 23.12.2025 | fabric quilt | 1.21.9 +1 | |
| 17.0.0-beta.1 22.12.2025 | fabric quilt | 1.21.11 | |
| 14.0.0 13.11.2025 | fabric quilt | 1.21.5 |
Підпишіться на нас у соцмережах!
Будьте в курсі новин про українську спільноту Minecraft.