Mod Menu

Mod Menu allows you to view installed game modifications and, when supported by the mod, provides quick access to its configuration screens.
Features
Additional functions include support for translatable mod names and descriptions, text formatting via Text Placeholder API, automatic filtering of library mods from the main list, update checking through Modrinth or custom sources, as well as advanced settings for all available options.
Compatibility
Mod Menu works on Fabric and Quilt platforms for Minecraft: Java Edition versions 1.14 and newer.
For Developers
Mod Menu offers various ways to improve mod display in the menu: language keys, JSON metadata, and Java API.
Translations
You can localize the mod name, short and full description without editing Java code, using standard translation keys.
Pirate English translation example:
"modmenu.nameTranslation.modmenu": "Menu o' mods!",
"modmenu.descriptionTranslation.modmenu": "Menu o' mods ye installed matey!"
Fabric Metadata
In the custom section of fabric.mod.json you can specify various parameters:
{
"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:
library- for dependencies hidden by defaultdeprecated- for deprecated mods
Links: In the links object, you can add custom links with translated keys.
Parent mods: Defines a modification as child to another, with the ability to specify a dummy parent.
Update checking: To disable, specify "update_checker": false.
Quilt Metadata
For Quilt, the structure is slightly different - the modmenu block is placed in the JSON root:
{
"modmenu": {
// Settings similar to Fabric
}
}
Java API
To use Java API, add Mod Menu to Gradle dependencies:
build.gradle
repositories {
maven {
name = "Terraformers"
url = "https://maven.terraformersmc.com/"
}
}
dependencies {
modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
}
gradle.properties
modmenu_version=VERSION_NUMBER_HERE
Configure the entry point in the mod configuration file:
fabric.mod.json
"entrypoints": {
"modmenu": [ "com.example.mod.ExampleModMenuApiImpl" ]
}
Config screen: Implement getModConfigScreenFactory to create a configuration interface.
External config screens: Use getProvidedConfigScreenFactories to provide configuration screens for other mods.
Modpack badges: Assign mods the Modpack label through the attachModpackBadges method.
Helper methods: ModMenuApi contains methods for creating the mods screen and Mod Menu button text.