CatRoom is a Cleanroom+Bukkit+Spigot server software forked from CatServer.
- Replaced Forge with Cleanroom
- Enhanced mod compatibility
- Built-in Forge-Bukkit permission bridge
- Make use of modern Java features
- Optimized plugin performance
For all fixes, see fixed upstream issues
- Minecraft Coder Pack
- CleanroomLoader (Continuation + Revamp of ForgeModLoader)
- Cleanroom Minecraft (Continuation + Revamp of MinecraftForge)
- Customized Mixin
- Bytecode Patcher (Coming Soon) [Inspired by Bansoukou and Bytecode Patcher]
- Fugue, a mod patches many incompatibilities.
- Javassist
- Scalar, a Scala provider. We made Scala libraries become a standalone mod so it can be updated.
- 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