A mod that adds a radial menu system for triggering keybinds without needing a free key for each one. Designed for heavily modded packs (e.g. Create, Botania, etc.) where you run out of keyboard space.
Fabric support covers Minecraft 1.20.4 through 26.2, NeoForge support covers 1.21.1 through 26.2, and Forge support covers 1.8.9 through 1.20.6 (see Compatibility below).
This repo is a monorepo: Fabric lives in fabric/, NeoForge lives in neoforge/, Forge lives in forge/.
Press the open key (default: R) to bring up a radial wheel. Move your mouse into one of the four quadrants and release R (or left-click) to fire that slot's assigned action. The action is triggered directly — it does not simulate a keypress, so it works even if the underlying action has no key bound.
You can configure up to 3 wheels, each with 4 slots (top-right, bottom-right, bottom-left, top-left).
| Key | Action |
|---|---|
R |
Open / close the radial wheel |
| Move mouse | Highlight a quadrant |
Release R or left-click |
Fire the highlighted slot |
1 / 2 / 3 |
Switch between wheels while open |
C |
Open the config screen while the wheel is open |
ESC |
Close without firing |
- Press
Rto open the wheel, thenCto open the config screen (or bind a separate config key in Controls). - Click a slot (Top-Right, Bottom-Right, Bottom-Left, Top-Left) to select it.
- A list of all registered keybinds appears on the right — includes vanilla and all mod keybinds. Click one to assign it.
- Optionally type a custom display name in the text box that appears below the slot. If left blank the binding's own name is shown on the wheel.
- Press
Delto clear a slot's binding. - Press
ESCto go back to the wheel.
Changes save automatically to your config folder (radialkeybindmenu.json on Fabric, simplerkeybinds.json on NeoForge/Forge).
Works with any mod that registers standard KeyMapping bindings (Create, Botania, Applied Energistics, etc.), since actions are dispatched directly to the keybind rather than through simulated key input.
Built with Stonecutter — one source tree targeting Minecraft 1.20.4 through 26.2. Grab the jar matching your Minecraft version from Modrinth.
| Minecraft version | Fabric API | Fabric Loader |
|---|---|---|
| 1.20.4 | 0.97.3+ | 0.19.3+ |
| 1.21.5 | 0.128.2+ | 0.19.3+ |
| 1.21.6 | 0.128.2+ | 0.19.3+ |
| 1.21.8 | 0.136.1+ | 0.19.3+ |
| 1.21.9 | 0.134.1+ | 0.19.3+ |
| 1.21.11 | 0.141.5+ | 0.18.4+ |
| 26.1 / 26.1.1 / 26.1.2 | 0.155.2+ | 0.19.3+ |
| 26.2 | 0.155.2+ | 0.19.3+ |
Not supported: anything before 1.20.4, or 26.3+ (Mojang replaced GLFW with SDL3 that version, which needs its own rework).
Requires Java 21.
Also built with Stonecutter — one source tree targeting Minecraft 1.21.1 through 26.2.
| Minecraft version | NeoForge |
|---|---|
| 1.21.1 | 21.1.99 |
| 1.21.5 | 21.5.98 |
| 1.21.8 | 21.8.9 |
| 1.21.11 | 21.11.44 |
| 26.1 | 26.1.2.84 |
| 26.2 | 26.2.0.28-beta |
Not supported: 1.20.2–1.20.4 (NeoForge's earliest builds don't publish artifact metadata the current tooling can resolve), or 26.3+ (same SDL3 cutoff as Fabric).
Requires Java 21 for 1.21.x, Java 25 for 26.1+.
A distinct codebase from the Fabric/NeoForge one (see forge/), since Forge's API and tooling changed too much across 1.8.9–1.20.6 to share source. Split into 6 independent Gradle projects, one per anchor Minecraft version, grouped at the points where Forge's GUI rendering API changed generations. Each tier's build targets one specific Minecraft version, but the resulting jar is compatible with a wider range in practice — grab the jar matching your Minecraft version from Modrinth; Modrinth's own compatibility detection is the authority on exact supported ranges per file.
| Anchor version | Covers (approx.) | Forge | Java |
|---|---|---|---|
| 1.12.2 | 1.8.9–1.12.2 | 14.23.5.2847 | 8 |
| 1.14.4 | 1.13–1.14.4 | 28.2.26 | 8 |
| 1.16.5 | 1.15–1.16.5 | 36.2.42 | 8 |
| 1.18.2 | 1.17–1.18.2 | 40.2.21 | 17 |
| 1.20.1 | 1.19–1.20.1 | 47.4.0 | 17 |
| 1.20.4 | 1.20.2–1.20.6 | 49.2.0 | 17 |
Not supported: versions before 1.8.9, or versions after 1.20.6 (neoforge arrived)