Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e4b493e
Transform mod classes instead of lwjgl itself
kappa-maintainer Apr 23, 2026
284fb10
Fix broken version path
kappa-maintainer Apr 23, 2026
7d86648
Update Foundation for new loading rule about lwjgl
kappa-maintainer Apr 23, 2026
c29c439
Remove version file in wrong path
kappa-maintainer Apr 25, 2026
5192683
Improve Lwjgl3Aware
kappa-maintainer Apr 25, 2026
8b091c0
Update Foundation
kappa-maintainer Apr 25, 2026
7c11bf0
Make Lwjgl3Aware annotation for package
kappa-maintainer Apr 26, 2026
b9e90a8
Fix fqcn matching in Foundation
kappa-maintainer Apr 28, 2026
c8058f3
Update kirino to fix lwjgl usage + add lwjgl-freetype
tttsaurus Apr 28, 2026
245ee92
Fix lwjgl transformer not working
kappa-maintainer Apr 28, 2026
7699089
Fix lwjglx being transfirmed
kappa-maintainer Apr 28, 2026
e2694fa
Fix lwjgl transformer exclude prefix
kappa-maintainer Apr 28, 2026
35e5667
Update Gradle
kappa-maintainer Apr 28, 2026
9c77fcd
Move cat to proper path
kappa-maintainer Apr 28, 2026
81256dd
Update foundation
kappa-maintainer Apr 28, 2026
6852f77
Fix LWJGL transformer handling mixin classes
kappa-maintainer Apr 29, 2026
da9edb5
Fix TransformerWrapper
kappa-maintainer Apr 29, 2026
338229e
Update Foundation
kappa-maintainer Apr 29, 2026
8cf466f
Extra null check in LWJGLTransformer
kappa-maintainer Apr 29, 2026
8479713
Add logging for inner exception
kappa-maintainer Apr 29, 2026
51315a1
Byte null check in LWJGL transformer
kappa-maintainer Apr 30, 2026
eb379f0
We don't need annotation
kappa-maintainer Apr 30, 2026
2a6af84
Improve lwjgl transformer to ma value by default
kappa-maintainer May 2, 2026
ebfcd36
Not remap string value by default
kappa-maintainer May 6, 2026
f1f2766
Merge branch 'main' into fix/lwjgl
kappa-maintainer May 6, 2026
92085a9
Trim FontRenderer patch
kappa-maintainer May 6, 2026
09bd16e
Fix LoadingTracker package change
kappa-maintainer May 6, 2026
a3c15ec
Random Cleanup
kappa-maintainer May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
/logs/
build/
version.txt
src/main/java/com/cleanroommc/common/CleanroomVersion.java
src/main/java/com/cleanroommc/cleanroom/common/CleanroomVersion.java

!/.idea/icon.svg
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ abstract class GenVersionTask extends DefaultTask {
@InputFile
final File template = new File("${getProject().rootProject.projectDir}/templates/CleanroomVersion.java")
@OutputFile
final File versionClass = new File("${getProject().rootProject.projectDir}/src/main/java/com/cleanroommc/common/CleanroomVersion.java")
final File versionClass = new File("${getProject().rootProject.projectDir}/src/main/java/com/cleanroommc/cleanroom/common/CleanroomVersion.java")
@TaskAction
void action() {
versionClass.withWriter { def writer ->
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
29 changes: 29 additions & 0 deletions patches/minecraft/net/minecraft/client/Minecraft.java.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
--- before/net/minecraft/client/Minecraft.java
+++ after/net/minecraft/client/Minecraft.java
@@ -204,17 +204,17 @@
import org.apache.commons.lang3.Validate;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.lwjgl.LWJGLException;
-import org.lwjgl.Sys;
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.ContextCapabilities;
-import org.lwjgl.opengl.Display;
-import org.lwjgl.opengl.DisplayMode;
-import org.lwjgl.opengl.GLContext;
-import org.lwjgl.opengl.OpenGLException;
-import org.lwjgl.opengl.PixelFormat;
-import org.lwjgl.util.glu.GLU;
+import org.lwjglx.LWJGLException;
+import org.lwjglx.Sys;
+import org.lwjglx.input.Keyboard;
+import org.lwjglx.input.Mouse;
+import org.lwjglx.opengl.ContextCapabilities;
+import org.lwjglx.opengl.Display;
+import org.lwjglx.opengl.DisplayMode;
+import org.lwjglx.opengl.GLContext;
+import org.lwjglx.opengl.OpenGLException;
+import org.lwjglx.opengl.PixelFormat;
+import org.lwjglx.util.glu.GLU;

@SideOnly(Side.CLIENT)
public class Minecraft implements IThreadListener, ISnooperInfo
@@ -328,6 +328,7 @@
public Minecraft(GameConfiguration gameConfig)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
+ {
+ return java.util.Collections.singletonList("");
+ }
+ com.ibm.icu.segmenter.Segments segments = com.cleanroommc.client.ICU4JInstances.SEGMENTER.segment(str);
+ com.ibm.icu.segmenter.Segments segments = com.cleanroommc.cleanroom.client.ICU4JInstances.SEGMENTER.segment(str);
+ List<String> list = new java.util.ArrayList<>();
+ StringBuilder line = new StringBuilder();
+ StringBuilder seg = new StringBuilder();
Expand Down
13 changes: 13 additions & 0 deletions patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--- before/net/minecraft/client/gui/GuiChat.java
+++ after/net/minecraft/client/gui/GuiChat.java
@@ -14,8 +14,8 @@
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
+import org.lwjglx.input.Keyboard;
+import org.lwjglx.input.Mouse;

@SideOnly(Side.CLIENT)
public class GuiChat extends GuiScreen implements ITabCompleter
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy.java
+++ after/net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy.java
@@ -5,7 +5,7 @@
import net.minecraft.realms.Tezzelator;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Mouse;
+import org.lwjglx.input.Mouse;

@SideOnly(Side.CLIENT)
public class GuiClickableScrolledSelectionListProxy extends GuiSlot
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiCommandBlock.java
+++ after/net/minecraft/client/gui/GuiCommandBlock.java
@@ -13,7 +13,7 @@
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiCommandBlock extends GuiScreen implements ITabCompleter
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/GuiCreateWorld.java
+++ after/net/minecraft/client/gui/GuiCreateWorld.java
@@ -12,7 +12,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.StringUtils;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiCreateWorld extends GuiScreen
@@ -240,6 +240,8 @@
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/GuiEnchantment.java
+++ after/net/minecraft/client/gui/GuiEnchantment.java
@@ -21,7 +21,7 @@
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.util.glu.Project;
+import org.lwjglx.util.glu.Project;

@SideOnly(Side.CLIENT)
public class GuiEnchantment extends GuiContainer
@@ -179,7 +179,7 @@
FontRenderer fontrenderer = this.mc.standardGalacticFontRenderer;
int i2 = 6839882;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiFlatPresets.java
+++ after/net/minecraft/client/gui/GuiFlatPresets.java
@@ -23,7 +23,7 @@
import net.minecraft.world.gen.FlatLayerInfo;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiFlatPresets extends GuiScreen
13 changes: 13 additions & 0 deletions patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
--- before/net/minecraft/client/gui/GuiMainMenu.java
+++ after/net/minecraft/client/gui/GuiMainMenu.java
@@ -34,9 +34,9 @@
import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.GLContext;
-import org.lwjgl.util.glu.Project;
+import org.lwjglx.input.Mouse;
+import org.lwjglx.opengl.GLContext;
+import org.lwjglx.util.glu.Project;

@SideOnly(Side.CLIENT)
public class GuiMainMenu extends GuiScreen
@@ -77,6 +77,8 @@
private GuiScreen realmsNotification;
private int widthCopyright;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/GuiMultiplayer.java
+++ after/net/minecraft/client/gui/GuiMultiplayer.java
@@ -15,7 +15,7 @@
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiMultiplayer extends GuiScreen
@@ -41,6 +41,7 @@
public GuiMultiplayer(GuiScreen parentScreen)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
import java.util.List;
import java.util.Map.Entry;
import net.minecraft.block.Block;
@@ -25,6 +26,7 @@
@@ -25,7 +26,8 @@
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
+import org.lwjgl.Sys;
import org.lwjgl.opengl.Display;
-import org.lwjgl.opengl.Display;
+import org.lwjglx.Sys;
+import org.lwjglx.opengl.Display;

@SideOnly(Side.CLIENT)
public class GuiOverlayDebug extends Gui
@@ -254,6 +256,7 @@
long l = j - k;
List<String> list = Lists.newArrayList(
Expand Down
11 changes: 11 additions & 0 deletions patches/minecraft/net/minecraft/client/gui/GuiRepair.java.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiRepair.java
+++ after/net/minecraft/client/gui/GuiRepair.java
@@ -20,7 +20,7 @@
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiRepair extends GuiContainer implements IContainerListener
11 changes: 11 additions & 0 deletions patches/minecraft/net/minecraft/client/gui/GuiScreen.java.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
--- before/net/minecraft/client/gui/GuiScreen.java
+++ after/net/minecraft/client/gui/GuiScreen.java
@@ -37,8 +37,8 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
+import org.lwjglx.input.Keyboard;
+import org.lwjglx.input.Mouse;

@SideOnly(Side.CLIENT)
public abstract class GuiScreen extends Gui implements GuiYesNoCallback
@@ -60,6 +60,7 @@
private int touchValue;
private URI clickedLinkURI;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiScreenAddServer.java
+++ after/net/minecraft/client/gui/GuiScreenAddServer.java
@@ -9,7 +9,7 @@
import net.minecraft.util.StringUtils;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiScreenAddServer extends GuiScreen
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/GuiScreenBook.java
+++ after/net/minecraft/client/gui/GuiScreenBook.java
@@ -27,7 +27,7 @@
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiScreenBook extends GuiScreen
@@ -69,6 +69,7 @@

if (this.bookTotalPages < 1)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiScreenCustomizePresets.java
+++ after/net/minecraft/client/gui/GuiScreenCustomizePresets.java
@@ -12,7 +12,7 @@
import net.minecraft.world.gen.ChunkGeneratorSettings;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiScreenCustomizePresets extends GuiScreen
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiScreenServerList.java
+++ after/net/minecraft/client/gui/GuiScreenServerList.java
@@ -5,7 +5,7 @@
import net.minecraft.client.resources.I18n;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiScreenServerList extends GuiScreen
9 changes: 9 additions & 0 deletions patches/minecraft/net/minecraft/client/gui/GuiSlot.java.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/GuiSlot.java
+++ after/net/minecraft/client/gui/GuiSlot.java
@@ -8,7 +8,7 @@
import net.minecraft.util.math.MathHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Mouse;
+import org.lwjglx.input.Mouse;

@SideOnly(Side.CLIENT)
public abstract class GuiSlot
@@ -186,27 +186,8 @@
GlStateManager.disableFog();
Tessellator tessellator = Tessellator.getInstance();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
@@ -1,5 +1,6 @@
package net.minecraft.client.gui;

+import com.cleanroommc.client.IMEHandler;
+import com.cleanroommc.cleanroom.client.IMEHandler;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import net.minecraft.client.Minecraft;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
--- before/net/minecraft/client/gui/GuiUtilRenderComponents.java
+++ after/net/minecraft/client/gui/GuiUtilRenderComponents.java
@@ -56,13 +56,14 @@
@@ -1,5 +1,6 @@
package net.minecraft.client.gui;

+import com.cleanroommc.cleanroom.client.ICU4JInstances;
import com.google.common.collect.Lists;
import java.util.List;
import net.minecraft.client.Minecraft;
@@ -56,13 +57,14 @@

if (s3 != null && !s3.isEmpty())
{
- int l = s2.lastIndexOf(32);
+ com.cleanroommc.client.ICU4JInstances.BREAK_ITERATOR.setText(s4);
+ int l = com.cleanroommc.client.ICU4JInstances.BREAK_ITERATOR.preceding(s2.length());
+ ICU4JInstances.BREAK_ITERATOR.setText(s4);
+ int l = ICU4JInstances.BREAK_ITERATOR.preceding(s2.length());

if (l >= 0 && fontRendererIn.getStringWidth(s4.substring(0, l)) > 0)
{
Expand All @@ -17,7 +24,7 @@
{
l++;
}
@@ -74,6 +75,8 @@
@@ -74,6 +76,8 @@
s2 = "";
s3 = s4;
}
Expand Down
11 changes: 11 additions & 0 deletions patches/minecraft/net/minecraft/client/gui/GuiWorldEdit.java.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/GuiWorldEdit.java
+++ after/net/minecraft/client/gui/GuiWorldEdit.java
@@ -8,7 +8,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.io.FileUtils;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public class GuiWorldEdit extends GuiScreen
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- before/net/minecraft/client/gui/achievement/GuiStats.java
+++ after/net/minecraft/client/gui/achievement/GuiStats.java
@@ -29,7 +29,7 @@
import net.minecraft.stats.StatisticsManager;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Mouse;
+import org.lwjglx.input.Mouse;

@SideOnly(Side.CLIENT)
public class GuiStats extends GuiScreen implements IProgressMeter
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java
+++ after/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java
@@ -16,7 +16,7 @@
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Mouse;
+import org.lwjglx.input.Mouse;

@SideOnly(Side.CLIENT)
public class GuiScreenAdvancements extends GuiScreen implements ClientAdvancementManager.IListener
@@ -29,6 +29,7 @@
private int scrollMouseX;
private int scrollMouseY;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- before/net/minecraft/client/gui/inventory/GuiContainer.java
+++ after/net/minecraft/client/gui/inventory/GuiContainer.java
@@ -20,7 +20,7 @@
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-import org.lwjgl.input.Keyboard;
+import org.lwjglx.input.Keyboard;

@SideOnly(Side.CLIENT)
public abstract class GuiContainer extends GuiScreen
@@ -118,6 +118,7 @@
RenderHelper.disableStandardItemLighting();
this.drawGuiContainerForegroundLayer(mouseX, mouseY);
Expand Down
Loading