- 1.12.2 on Java 21
- LWJGL3
- A working mod development template/kit
- Patches for loading incompatible mods
- Built-in Mixin
- CleanroomGradle to replace ForgeGradle
- No more Late and Early mixin
- Classfile API
- Scala 3 + Kotlin 2
- Actually useful APIs (See here)
- Optimized
- Compatibility
- Minecraft Coder Pack
- CleanroomLoader (Continuation + Revamp of ForgeModLoader)
- Cleanroom Minecraft (Continuation + Revamp of MinecraftForge)
- Mixin (Coming Soon)
- Bytecode Patcher (Coming Soon) [Inspired by Bansoukou and Bytecode Patcher]
- Fugue, a mod patches many incompatibilities. (temporary)
- For MultiMC-based launchers (PolyMC, PrismLauncher), go to CleanroomMMC's action page, download the latest build and import it in your launcher(alternatively unzip patches and json inside to your 1.12 instance).
- For regular launcher (official launcher, AT launcher, FTB, HMCL), go to Cleanroom's action page, click the latest action marked as Build and Upload Test Artifact and download the installer artifact. You could use the installer like the Forge one.
- Clone this repository
- Import the
build.gradle
into your IDE (most preferably IntelliJ IDEA) - Once the import has finished, run
gradlew setup
- Build with
gradlew build
- Only modify
projects/cleanroom/src/
directory if you want to change vanilla - Run
gradlew genPatches
before commit, or the changes won't exist - Modifications on
src/
doesn't need generating patches - Tips from Forge are still apply, keep the patches clean!
- The current patches is full of useless hunks after we switched to VineFlower, we encourage contributors to manual clean up their patches
There's an unofficial template exist. Note: You need to build before run.
A porting guide is available in Cleanroom wiki.
graph TD;
A(Mixin integration)-->D(Bouncepad overhaul - we are here);
B(LWJGL compat)-->D;
C(Newer Java compat)-->D;
D-->E(Config any time);
D-->G(Minor improvement and fixes)
E-->F(Greater improvement needs configs)
X(Cleanroom Gradle)-->D
D-->X
D-->Y(Better Mixin Integration)
Y-->D