Minecraft Versions
From 1.7.10 to 26.3, Control Flex covers 13 Minecraft versions. Features are the same across every line; what differs is the loader, the Java version, and the dependencies — get any of those wrong and the mod simply will not load.
Supported Versions
| Minecraft | Loaders | Java | Dependencies |
|---|---|---|---|
| 26.3 | Fabric · NeoForge | 25 | Fabric API 0.153.2+26.3 on Fabric |
| 26.2 | Fabric · NeoForge | 25 | Fabric API 0.145.6+26.2 on Fabric |
| 26.1.2 | Fabric · NeoForge | 25 | Fabric API 0.146.0+26.1.2 on Fabric |
| 1.21.11 | Fabric · NeoForge | 21 | Fabric API 0.135.1+1.21.11 on Fabric |
| 1.21.1 | Fabric · NeoForge | 21 | Fabric API 0.101.2+1.21.1 on Fabric |
| 1.20.1 | Forge · Fabric | 17 | Fabric API 0.83.0+1.20.1 on Fabric |
| 1.19.2 | Forge · Fabric | 17 | Fabric API 0.58.6+1.19.2 on Fabric |
| 1.18.2 | Forge · Fabric | 17 | Fabric API 0.47.8+1.18.2 on Fabric |
| 1.16.5 | Forge · Fabric | 8 | Fabric API 0.30.0+1.16 on Fabric |
| 1.12.2 | Forge | 8 | A Mixin provider in mods/ (MixinBooter 11.17 recommended) |
| 1.10.2 | Forge | 8 | MixinBooter ≥ 11.17 in mods/ |
| 1.8.9 | Forge | 8 | MixinBooter ≥ 11.17 in mods/ |
| 1.7.10 | Forge | 8 | UniMixins 0.3.1 in mods/ |
Every line ships the same mod version (0.8.9) and the same bundled controller bridge, cfx-gamepadjni 0.9.6.1. The Java version is dictated by that Minecraft version, not by your OS.
Three Generations
Forge era: 1.7.10 – 1.12.2
- Forge only. These four predate Fabric's adoption, so no Fabric build exists.
- Runs on Java 8; the mod bytecode targets Java 8 as well.
- Metadata uses the legacy
mcmod.info; Mixin configs differ from newer versions, but bindings, layers, radial menus, and the rest behave the same. - Forge ships no Mixin runtime, so all four lines need a Mixin provider in
mods/or the mod will not start: 1.8.9 / 1.10.2 hard-require MixinBooter ≥ 11.17 (bundles Mixin 0.8.7 + MixinExtras); 1.7.10 hard-requires UniMixins 0.3.1 (MixinBooter does not exist below 1.8.9; UniMixins bundles Mixin 0.8.7 + MixinExtras 0.5.0); 1.12.2 probes at runtime and accepts several provider generations — MixinBooter 11.17, MixinBootstrap 1.1.0 — with MixinBooter 11.17 recommended.
Dual-loader era: 1.16.5 – 1.20.1
- One JAR per loader (Forge and Fabric) — pick the file for your loader.
- Java jumps here: 1.16.5 is still Java 8, and Java 17 starts at 1.18.2. 1.16.5 does not need Java 17.
- Fabric builds require Fabric API at or above the version in the table; Forge builds have no extra dependencies.
NeoForge era: 1.21.1 and newer
- Loaders become NeoForge + Fabric: there is no Forge build past 1.20.1, and a Forge build will simply fail to load.
- Java 21 and up; the 26.x series requires Java 25.
- 26.1.2 / 26.2 / 26.3 share one line (stonecutter multi-target); the Fabric API floor is set by Fabric API itself.
Loader Versions
These are the loader versions each line was built against — treat them as “this version or newer”.
| Minecraft | Forge | NeoForge | Fabric API |
|---|---|---|---|
| 26.3 | — | 26.3.0.0-beta | 0.153.2+26.3 |
| 26.2 | — | 26.2.0.0-beta | 0.145.6+26.2 |
| 26.1.2 | — | 26.1.2.71 | 0.146.0+26.1.2 |
| 1.21.11 | — | 21.11.45 | 0.135.1+1.21.11 |
| 1.21.1 | — | 21.1.249 | 0.101.2+1.21.1 |
| 1.20.1 | 47.4.4 | — | 0.83.0+1.20.1 |
| 1.19.2 | 43.5.2 | — | 0.58.6+1.19.2 |
| 1.18.2 | 40.3.12 | — | 0.47.8+1.18.2 |
| 1.16.5 | 36.2.42 | — | 0.30.0+1.16 |
| 1.12.2 | 14.23.5.2859 | — | — |
| 1.10.2 | 12.18.3.2511 | — | — |
| 1.8.9 | 11.15.1.2318 | — | — |
| 1.7.10 | 10.13.4.1614 | — | — |
What to Install per Line
- Pin down three things first: MC version → loader (Forge / NeoForge / Fabric) → matching Java version.
- In CurseForge Files, choose the file matching both (filenames carry the MC version and the loader).
- On Fabric lines, add Fabric API; on Forge / NeoForge lines, do not.
- Forge lines 1.7.10 – 1.12.2 also need the Mixin runtime from the dependency table in
mods/(MixinBooter or UniMixins); without it the game will not start. - Drop the JAR into
mods/and launch; SDL3 needs no separate install (see Platform Support).
All lines compile from the same codebase: layers, trigger modes, combo keys, radial menus, mod adaptation, rumble, and split-screen on 1.7.10 behave the same as on 26.3. If a feature “looks different” on an older line, suspect UI adaptation differences rather than a missing feature.
Reusing Configs Across Lines
- Every line uses
config/controlflex/as its config root (templates/,profiles/,compat/,radial_menu/,guides/,keyboard/,backup/) with the same layout. - Copying configs between lines usually works, but fields grow over time; back up first, and let the game regenerate defaults if parsing fails.
- Upgrades from 0.8.6.x migrate automatically, with originals kept under
config/controlflex/backup/.
Common Mistakes
| Situation | Result and fix |
|---|---|
| Forge build on 1.21+ | Fails to load — only NeoForge builds exist from 1.21; switch files |
| Looking for a Fabric build on 1.12.2 | It does not exist; 1.7.10–1.12.2 are Forge only |
| Fabric build without Fabric API | Startup reports a missing dependency; install the version from the table |
| Java 17 on 26.x | 26.x needs Java 25; conversely 1.16.5 needs Java 8, not 17 |
| JAR missing on the server | No problem — it is client-side only and the server does not need it |
No Mixin runtime in mods/ on 1.7.10 – 1.12.2 |
Crash at startup (missing Mixin) — Forge 1.7.10–1.12.2 ships none; add MixinBooter 11.17 or UniMixins 0.3.1 per the dependency table |