MC 版本支持
从 1.7.10 到 26.3,Control Flex 覆盖 13 个 MC 版本。功能在各版本线上保持一致,差别在加载器、Java 版本与前置依赖 —— 装错这三样里的任何一样,模组都不会被加载。
版本总表
| Minecraft | 加载器 | Java | 前置依赖 |
|---|---|---|---|
| 26.3 | Fabric · NeoForge | 25 | Fabric 版需 Fabric API 0.153.2+26.3 |
| 26.2 | Fabric · NeoForge | 25 | Fabric 版需 Fabric API 0.145.6+26.2 |
| 26.1.2 | Fabric · NeoForge | 25 | Fabric 版需 Fabric API 0.146.0+26.1.2 |
| 1.21.11 | Fabric · NeoForge | 21 | Fabric 版需 Fabric API 0.135.1+1.21.11 |
| 1.21.1 | Fabric · NeoForge | 21 | Fabric 版需 Fabric API 0.101.2+1.21.1 |
| 1.20.1 | Forge · Fabric | 17 | Fabric 版需 Fabric API 0.83.0+1.20.1 |
| 1.19.2 | Forge · Fabric | 17 | Fabric 版需 Fabric API 0.58.6+1.19.2 |
| 1.18.2 | Forge · Fabric | 17 | Fabric 版需 Fabric API 0.47.8+1.18.2 |
| 1.16.5 | Forge · Fabric | 8 | Fabric 版需 Fabric API 0.30.0+1.16 |
| 1.12.2 | Forge | 8 | 需在 mods/ 另放 Mixin provider(推荐 MixinBooter 11.17) |
| 1.10.2 | Forge | 8 | 需在 mods/ 另放 MixinBooter ≥ 11.17 |
| 1.8.9 | Forge | 8 | 需在 mods/ 另放 MixinBooter ≥ 11.17 |
| 1.7.10 | Forge | 8 | 需在 mods/ 另放 UniMixins 0.3.1 |
所有版本线使用同一个模组版本号(0.8.9),并内置同一份手柄桥 cfx-gamepadjni 0.9.6.1。Java 版本由该 MC 版本本身决定,不是由平台决定。
三代的差别
Forge 时代:1.7.10 – 1.12.2
- 只有 Forge 版。这四个版本的年代早于 Fabric 的普及,不存在 Fabric 构建。
- Java 8 运行;模组字节码同样针对 Java 8。
- 元数据走旧式
mcmod.info;Mixin 配置与新版不同,但键位、层、径向菜单等行为与新版一致。 - Forge 自身不内置 Mixin,这四条线都需要在
mods/里另放一个 Mixin 运行时,缺了模组无法启动:1.8.9 / 1.10.2 硬依赖 MixinBooter ≥ 11.17(内含 Mixin 0.8.7 + MixinExtras);1.7.10 硬依赖 UniMixins 0.3.1(MixinBooter 不支持 1.7.10,UniMixins 内含 Mixin 0.8.7 + MixinExtras 0.5.0);1.12.2 走运行时探测,MixinBooter 11.17、MixinBootstrap 1.1.0 等多代 provider 均可用,推荐 MixinBooter 11.17。
双加载器时代:1.16.5 – 1.20.1
- Forge 与 Fabric 各出一份 JAR,按加载器选文件。
- Java 版本在这里跳了一档:1.16.5 仍是 Java 8,1.18.2 起是 Java 17。1.16.5 不需要 Java 17。
- Fabric 版必须另装 Fabric API,且版本要跟上表对上;Forge 版无需额外前置。
NeoForge 时代:1.21.1 起
- 加载器换成 NeoForge + Fabric:1.21 之后不再有 Forge 版,拿 Forge 版去装会直接加载失败。
- Java 21 起步;26.x 系列要求 Java 25。
- 26.1.2 / 26.2 / 26.3 共用一条版本线(stonecutter 多目标),Fabric API 的下限由 Fabric API 自身决定。
加载器版本对照
下表是各版本线构建时使用的加载器版本,可视为“不低于此版本”的参考值。
| 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 | — | — |
每个版本线要装什么
- 先确定三件事:MC 版本 → 加载器(Forge / NeoForge / Fabric)→ 对应版本的 Java。
- 在 CurseForge Files 里选与这两项都一致的文件(文件名带 MC 版本与加载器标识)。
- Fabric 版本线额外装 Fabric API;Forge / NeoForge 版本线不要装 Fabric API。
- 1.7.10 – 1.12.2 的 Forge 线还要按依赖表在
mods/里补 Mixin 运行时(MixinBooter 或 UniMixins),缺了会直接启动失败。 - 把 JAR 放进
mods/,启动游戏;SDL3 无需单独安装(详见 平台支持)。
版本线的功能是同一份代码库编译出来的:1.7.10 上的层、触发模式、组合键、径向菜单、模组适配、震动、分屏等,与 26.3 上一致。遇到某个功能在旧版本上“看起来不一样”,先怀疑界面适配差异,而不是功能缺失。
配置在版本之间的复用
- 所有版本线的配置根目录都是
config/controlflex/(templates/、profiles/、compat/、radial_menu/、guides/、keyboard/、backup/),目录结构一致。 - 跨版本线复制配置通常可用,但字段会随版本演进增加;复制前先备份,遇到解析失败就让游戏重新生成默认。
- 从 0.8.6.x 升级会自动迁移,原文件备份在
config/controlflex/backup/。
常见错误
| 情况 | 结果与处理 |
|---|---|
| 1.21+ 装了 Forge 版 | 加载失败 —— 1.21 起只有 NeoForge 版,换文件 |
| 在 1.12.2 找 Fabric 版 | 不存在;1.7.10–1.12.2 只有 Forge 版 |
| Fabric 版没装 Fabric API | 启动即报缺少依赖;按上表补上对应版本 |
| 用 Java 17 跑 26.x | 26.x 需要 Java 25;1.16.5 则需要 Java 8(不是 17) |
| JAR 放在客户端但服务器没装 | 无所谓 —— 这是纯客户端模组,服务器不需要安装 |
1.7.10 – 1.12.2 的 mods/ 里没放 Mixin 运行时 |
启动即崩溃(找不到 Mixin)—— Forge 1.7.10–1.12.2 不自带 Mixin,按依赖表放入 MixinBooter 11.17 或 UniMixins 0.3.1 |