Tags
Creators
Details
1.0.0
Compatibility
Required content
Changes
MenuKit 1.0.0
First stable release. MenuKit splits into two artifacts:
- MenuKit (this mod) is the client-only UI library: HUD panels, widgets, layouts, modal overlays on vanilla menus, and region anchoring.
- MenuKit: Containers is the slot extension and depends on MenuKit: custom container menus, per-slot state, and slot-group regions.
Upgrading from 0.1.x
If your mod uses MenuKit 0.1.x:
- For HUD panels, widgets, layouts, modal overlays and region anchoring, MenuKit 1.0.0 alone is enough.
- For custom container menus, per-slot state and slot-handler machinery, also depend on MenuKit: Containers 1.0.0. It pulls in MenuKit, so that one dependency covers both.
The two artifacts split by side. MenuKit is environment: "client", and MenuKit: Containers is universal, running on both client and server. The dependency goes one way, and Gradle enforces it.
Since 0.1.x
- The two-artifact split above.
- Multi-key keybind combos, up to 3 keys, on every
KeyMappingthrough theMKKeybindExtduck interface. - Cursor capture that compensates for vanilla moving the cursor to the window center on screen transitions.
- Region anchoring: eight edge regions plus CENTER, with deterministic stacking across mods.
- Element library:
Button,Toggle,Checkbox,Radio,RadioGroup,Icon,Divider,ItemDisplay,ProgressBar,Slider,TextField,TextLabel,Tooltip,ScrollContainer,Dropdown. - HUD panels (
MKHudPanel.builder(...)) with content supplied by aSupplier. - Text labels that wrap and containers that scroll on their own.
- Layout that accounts for the recipe book.
- The internal API is marked
@ApiStatus.Internal. Everything not marked is the public surface.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:3vGajyPr:D5ikz1Hr"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:3vGajyPr:D5ikz1Hr"
}

