diff --git a/.gitignore b/.gitignore index 7032bab06..3b3291930 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/buildSrc/src/main/groovy/com/cleanroommc/gradle/helpers/tasks/GenVersionTask.groovy b/buildSrc/src/main/groovy/com/cleanroommc/gradle/helpers/tasks/GenVersionTask.groovy index 564574a17..a8d2c80c7 100644 --- a/buildSrc/src/main/groovy/com/cleanroommc/gradle/helpers/tasks/GenVersionTask.groovy +++ b/buildSrc/src/main/groovy/com/cleanroommc/gradle/helpers/tasks/GenVersionTask.groovy @@ -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 -> diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c61a118f7..1a704683a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -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 diff --git a/patches/minecraft/net/minecraft/client/Minecraft.java.patch b/patches/minecraft/net/minecraft/client/Minecraft.java.patch index 96dc61961..3db745e11 100644 --- a/patches/minecraft/net/minecraft/client/Minecraft.java.patch +++ b/patches/minecraft/net/minecraft/client/Minecraft.java.patch @@ -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) { diff --git a/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch b/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch index 09f3bb756..43ad4d2a2 100644 --- a/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/FontRenderer.java.patch @@ -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 list = new java.util.ArrayList<>(); + StringBuilder line = new StringBuilder(); + StringBuilder seg = new StringBuilder(); diff --git a/patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch new file mode 100644 index 000000000..15a3811b8 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiChat.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy.java.patch new file mode 100644 index 000000000..e2621a5a0 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiClickableScrolledSelectionListProxy.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiCommandBlock.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiCommandBlock.java.patch new file mode 100644 index 000000000..b73bb8d14 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiCommandBlock.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch index 29f9068b5..49564cf80 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiCreateWorld.java.patch @@ -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 @@ } } diff --git a/patches/minecraft/net/minecraft/client/gui/GuiEnchantment.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiEnchantment.java.patch index 4ce1bcc20..b8340144a 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiEnchantment.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiEnchantment.java.patch @@ -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; diff --git a/patches/minecraft/net/minecraft/client/gui/GuiFlatPresets.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiFlatPresets.java.patch new file mode 100644 index 000000000..a19c81420 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiFlatPresets.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch index e75af2010..d4f852cf3 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiMainMenu.java.patch @@ -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; diff --git a/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch index 376374714..f39c363cc 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiMultiplayer.java.patch @@ -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) { diff --git a/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch index 29155c0b9..d66aa5eec 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiOverlayDebug.java.patch @@ -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 list = Lists.newArrayList( diff --git a/patches/minecraft/net/minecraft/client/gui/GuiRepair.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiRepair.java.patch new file mode 100644 index 000000000..8ca33e9d8 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiRepair.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiScreen.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiScreen.java.patch index 99927254b..312201c02 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiScreen.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiScreen.java.patch @@ -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; diff --git a/patches/minecraft/net/minecraft/client/gui/GuiScreenAddServer.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiScreenAddServer.java.patch new file mode 100644 index 000000000..520c8ffc1 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiScreenAddServer.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiScreenBook.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiScreenBook.java.patch index cf4739514..d542a5501 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiScreenBook.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiScreenBook.java.patch @@ -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) diff --git a/patches/minecraft/net/minecraft/client/gui/GuiScreenCustomizePresets.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiScreenCustomizePresets.java.patch new file mode 100644 index 000000000..2d8cbec33 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiScreenCustomizePresets.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiScreenServerList.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiScreenServerList.java.patch new file mode 100644 index 000000000..f409a72b2 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiScreenServerList.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/GuiSlot.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiSlot.java.patch index 711e0af1c..8c6b421e9 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiSlot.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiSlot.java.patch @@ -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(); diff --git a/patches/minecraft/net/minecraft/client/gui/GuiTextField.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiTextField.java.patch index bdb0e09bd..328369c10 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiTextField.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiTextField.java.patch @@ -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; diff --git a/patches/minecraft/net/minecraft/client/gui/GuiUtilRenderComponents.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiUtilRenderComponents.java.patch index d06777f47..01bf90885 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiUtilRenderComponents.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/GuiUtilRenderComponents.java.patch @@ -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) { @@ -17,7 +24,7 @@ { l++; } -@@ -74,6 +75,8 @@ +@@ -74,6 +76,8 @@ s2 = ""; s3 = s4; } diff --git a/patches/minecraft/net/minecraft/client/gui/GuiWorldEdit.java.patch b/patches/minecraft/net/minecraft/client/gui/GuiWorldEdit.java.patch new file mode 100644 index 000000000..7db7031bc --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/GuiWorldEdit.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/achievement/GuiStats.java.patch b/patches/minecraft/net/minecraft/client/gui/achievement/GuiStats.java.patch new file mode 100644 index 000000000..5ff040a47 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/achievement/GuiStats.java.patch @@ -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 diff --git a/patches/minecraft/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java.patch b/patches/minecraft/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java.patch index 37d169a53..b1fd5ff48 100644 --- a/patches/minecraft/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/advancements/GuiScreenAdvancements.java.patch @@ -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; diff --git a/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainer.java.patch b/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainer.java.patch index a380caf72..36e9c1415 100644 --- a/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainer.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainer.java.patch @@ -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); diff --git a/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch b/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch index ff08abb6c..ea6ae2d8e 100644 --- a/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/inventory/GuiContainerCreative.java.patch @@ -1,5 +1,16 @@ --- before/net/minecraft/client/gui/inventory/GuiContainerCreative.java +++ after/net/minecraft/client/gui/inventory/GuiContainerCreative.java +@@ -40,8 +40,8 @@ + 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.lwjgl.input.Mouse; ++import org.lwjglx.input.Keyboard; ++import org.lwjglx.input.Mouse; + + @SideOnly(Side.CLIENT) + public class GuiContainerCreative extends InventoryEffectRenderer @@ -57,6 +57,8 @@ private Slot destroyItemSlot; private boolean clearSearch; diff --git a/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditCommandBlockMinecart.java.patch b/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditCommandBlockMinecart.java.patch new file mode 100644 index 000000000..ebd9bd047 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditCommandBlockMinecart.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/gui/inventory/GuiEditCommandBlockMinecart.java ++++ after/net/minecraft/client/gui/inventory/GuiEditCommandBlockMinecart.java +@@ -15,7 +15,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 GuiEditCommandBlockMinecart extends GuiScreen implements ITabCompleter diff --git a/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditSign.java.patch b/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditSign.java.patch new file mode 100644 index 000000000..76b304099 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditSign.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/gui/inventory/GuiEditSign.java ++++ after/net/minecraft/client/gui/inventory/GuiEditSign.java +@@ -15,7 +15,7 @@ + import net.minecraft.util.text.TextComponentString; + 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 GuiEditSign extends GuiScreen diff --git a/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditStructure.java.patch b/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditStructure.java.patch new file mode 100644 index 000000000..b506cc245 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/gui/inventory/GuiEditStructure.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/gui/inventory/GuiEditStructure.java ++++ after/net/minecraft/client/gui/inventory/GuiEditStructure.java +@@ -22,7 +22,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 GuiEditStructure extends GuiScreen diff --git a/patches/minecraft/net/minecraft/client/gui/recipebook/GuiRecipeBook.java.patch b/patches/minecraft/net/minecraft/client/gui/recipebook/GuiRecipeBook.java.patch index 88e1d710c..32d0bd90b 100644 --- a/patches/minecraft/net/minecraft/client/gui/recipebook/GuiRecipeBook.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/recipebook/GuiRecipeBook.java.patch @@ -1,5 +1,14 @@ --- before/net/minecraft/client/gui/recipebook/GuiRecipeBook.java +++ after/net/minecraft/client/gui/recipebook/GuiRecipeBook.java +@@ -33,7 +33,7 @@ + import net.minecraft.util.ResourceLocation; + 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 GuiRecipeBook extends Gui implements IRecipeUpdateListener @@ -450,7 +450,7 @@ languagemanager.setCurrentLanguage(language); diff --git a/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch b/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch index b62c5b6ab..edb6c10f6 100644 --- a/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/ActiveRenderInfo.java.patch @@ -1,5 +1,14 @@ --- before/net/minecraft/client/renderer/ActiveRenderInfo.java +++ after/net/minecraft/client/renderer/ActiveRenderInfo.java +@@ -12,7 +12,7 @@ + import net.minecraft.world.World; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.glu.GLU; ++import org.lwjglx.util.glu.GLU; + + @SideOnly(Side.CLIENT) + public class ActiveRenderInfo @@ -30,6 +30,11 @@ public static void updateRenderInfo(EntityPlayer entityplayerIn, boolean p_74583_1_) diff --git a/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch b/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch index 3fbb2b78e..dee501cb1 100644 --- a/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.java.patch @@ -1,5 +1,20 @@ --- before/net/minecraft/client/renderer/EntityRenderer.java +++ after/net/minecraft/client/renderer/EntityRenderer.java +@@ -70,10 +70,10 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +-import org.lwjgl.input.Mouse; +-import org.lwjgl.opengl.Display; +-import org.lwjgl.opengl.GLContext; +-import org.lwjgl.util.glu.Project; ++import org.lwjglx.input.Mouse; ++import org.lwjglx.opengl.Display; ++import org.lwjglx.opengl.GLContext; ++import org.lwjglx.util.glu.Project; + + @SideOnly(Side.CLIENT) + public class EntityRenderer implements IResourceManagerReloadListener @@ -235,6 +235,7 @@ { this.loadShader(new ResourceLocation("shaders/post/invert.json")); diff --git a/patches/minecraft/net/minecraft/client/renderer/GLAllocation.java.patch b/patches/minecraft/net/minecraft/client/renderer/GLAllocation.java.patch new file mode 100644 index 000000000..6c3284f85 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/GLAllocation.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/renderer/GLAllocation.java ++++ after/net/minecraft/client/renderer/GLAllocation.java +@@ -6,7 +6,7 @@ + import java.nio.IntBuffer; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.glu.GLU; ++import org.lwjglx.util.glu.GLU; + + @SideOnly(Side.CLIENT) + public class GLAllocation diff --git a/patches/minecraft/net/minecraft/client/renderer/GlStateManager.java.patch b/patches/minecraft/net/minecraft/client/renderer/GlStateManager.java.patch new file mode 100644 index 000000000..8bd8c91c5 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/GlStateManager.java.patch @@ -0,0 +1,19 @@ +--- before/net/minecraft/client/renderer/GlStateManager.java ++++ after/net/minecraft/client/renderer/GlStateManager.java +@@ -7,11 +7,11 @@ + import javax.annotation.Nullable; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.BufferUtils; +-import org.lwjgl.opengl.GL11; +-import org.lwjgl.opengl.GL14; +-import org.lwjgl.opengl.GLContext; +-import org.lwjgl.util.vector.Quaternion; ++import org.lwjglx.BufferUtils; ++import org.lwjglx.opengl.GL11; ++import org.lwjglx.opengl.GL14; ++import org.lwjglx.opengl.GLContext; ++import org.lwjglx.util.vector.Quaternion; + + @SideOnly(Side.CLIENT) + public class GlStateManager diff --git a/patches/minecraft/net/minecraft/client/renderer/Matrix4f.java.patch b/patches/minecraft/net/minecraft/client/renderer/Matrix4f.java.patch new file mode 100644 index 000000000..b723fe5cb --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/Matrix4f.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/renderer/Matrix4f.java ++++ after/net/minecraft/client/renderer/Matrix4f.java +@@ -4,7 +4,7 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + + @SideOnly(Side.CLIENT) +-public class Matrix4f extends org.lwjgl.util.vector.Matrix4f ++public class Matrix4f extends org.lwjglx.util.vector.Matrix4f + { + public Matrix4f(float[] matrix) + { diff --git a/patches/minecraft/net/minecraft/client/renderer/OpenGlHelper.java.patch b/patches/minecraft/net/minecraft/client/renderer/OpenGlHelper.java.patch index 1c2745c34..aa6db6207 100644 --- a/patches/minecraft/net/minecraft/client/renderer/OpenGlHelper.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/OpenGlHelper.java.patch @@ -1,7 +1,41 @@ --- before/net/minecraft/client/renderer/OpenGlHelper.java +++ after/net/minecraft/client/renderer/OpenGlHelper.java -@@ -33,6 +33,7 @@ - import org.lwjgl.opengl.GLContext; +@@ -15,24 +15,25 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +-import org.lwjgl.Sys; +-import org.lwjgl.opengl.ARBFramebufferObject; +-import org.lwjgl.opengl.ARBMultitexture; +-import org.lwjgl.opengl.ARBShaderObjects; +-import org.lwjgl.opengl.ARBVertexBufferObject; +-import org.lwjgl.opengl.ARBVertexShader; +-import org.lwjgl.opengl.ContextCapabilities; +-import org.lwjgl.opengl.EXTBlendFuncSeparate; +-import org.lwjgl.opengl.EXTFramebufferObject; +-import org.lwjgl.opengl.GL11; +-import org.lwjgl.opengl.GL13; +-import org.lwjgl.opengl.GL14; +-import org.lwjgl.opengl.GL15; +-import org.lwjgl.opengl.GL20; +-import org.lwjgl.opengl.GL30; +-import org.lwjgl.opengl.GLContext; ++import org.lwjglx.Sys; ++import org.lwjglx.opengl.ARBFramebufferObject; ++import org.lwjglx.opengl.ARBMultitexture; ++import org.lwjglx.opengl.ARBShaderObjects; ++import org.lwjglx.opengl.ARBVertexBufferObject; ++import org.lwjglx.opengl.ARBVertexShader; ++import org.lwjglx.opengl.ContextCapabilities; ++import org.lwjglx.opengl.EXTBlendFuncSeparate; ++import org.lwjglx.opengl.EXTFramebufferObject; ++import org.lwjglx.opengl.GL11; ++import org.lwjglx.opengl.GL13; ++import org.lwjglx.opengl.GL14; ++import org.lwjglx.opengl.GL15; ++import org.lwjglx.opengl.GL20; ++import org.lwjglx.opengl.GL30; ++import org.lwjglx.opengl.GLContext; import oshi.SystemInfo; import oshi.hardware.Processor; +import oshi.hardware.CentralProcessor; diff --git a/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch b/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch index 6dccddcb6..cdbfbaa13 100644 --- a/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/RenderGlobal.java.patch @@ -1,5 +1,16 @@ --- before/net/minecraft/client/renderer/RenderGlobal.java +++ after/net/minecraft/client/renderer/RenderGlobal.java +@@ -87,8 +87,8 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +-import org.lwjgl.util.vector.Vector3f; +-import org.lwjgl.util.vector.Vector4f; ++import org.lwjglx.util.vector.Vector3f; ++import org.lwjglx.util.vector.Vector4f; + + @SideOnly(Side.CLIENT) + public class RenderGlobal implements IWorldEventListener, IResourceManagerReloadListener @@ -560,8 +560,10 @@ public void renderEntities(Entity renderViewEntity, ICamera camera, float partialTicks) diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/BlockPart.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/BlockPart.java.patch new file mode 100644 index 000000000..93962ba48 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/BlockPart.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/renderer/block/model/BlockPart.java ++++ after/net/minecraft/client/renderer/block/model/BlockPart.java +@@ -17,7 +17,7 @@ + import net.minecraft.util.math.MathHelper; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Vector3f; ++import org.lwjglx.util.vector.Vector3f; + + @SideOnly(Side.CLIENT) + public class BlockPart diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/BlockPartRotation.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/BlockPartRotation.java.patch new file mode 100644 index 000000000..bc6ad3ed3 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/BlockPartRotation.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/renderer/block/model/BlockPartRotation.java ++++ after/net/minecraft/client/renderer/block/model/BlockPartRotation.java +@@ -3,7 +3,7 @@ + import net.minecraft.util.EnumFacing; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Vector3f; ++import org.lwjglx.util.vector.Vector3f; + + @SideOnly(Side.CLIENT) + public class BlockPartRotation diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch index 789ad935e..c54748c56 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/FaceBakery.java.patch @@ -1,5 +1,18 @@ --- before/net/minecraft/client/renderer/block/model/FaceBakery.java +++ after/net/minecraft/client/renderer/block/model/FaceBakery.java +@@ -8,9 +8,9 @@ + import net.minecraft.util.math.Vec3i; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Matrix4f; +-import org.lwjgl.util.vector.Vector3f; +-import org.lwjgl.util.vector.Vector4f; ++import org.lwjglx.util.vector.Matrix4f; ++import org.lwjglx.util.vector.Vector3f; ++import org.lwjglx.util.vector.Vector4f; + + @SideOnly(Side.CLIENT) + public class FaceBakery @@ -63,15 +63,40 @@ boolean shade ) diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemCameraTransforms.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemCameraTransforms.java.patch index 81aad548e..82e3e30c8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemCameraTransforms.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemCameraTransforms.java.patch @@ -1,8 +1,11 @@ --- before/net/minecraft/client/renderer/block/model/ItemCameraTransforms.java +++ after/net/minecraft/client/renderer/block/model/ItemCameraTransforms.java -@@ -12,6 +12,9 @@ +@@ -10,8 +10,11 @@ + import net.minecraft.util.math.MathHelper; + import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; - import org.lwjgl.util.vector.Quaternion; +-import org.lwjgl.util.vector.Quaternion; ++import org.lwjglx.util.vector.Quaternion; +/* + * @deprecated use {@link net.minecraftforge.client.model.IPerspectiveAwareModel} instead diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemModelGenerator.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemModelGenerator.java.patch new file mode 100644 index 000000000..6d3278134 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemModelGenerator.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/renderer/block/model/ItemModelGenerator.java ++++ after/net/minecraft/client/renderer/block/model/ItemModelGenerator.java +@@ -11,7 +11,7 @@ + import net.minecraft.util.ResourceLocation; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Vector3f; ++import org.lwjglx.util.vector.Vector3f; + + @SideOnly(Side.CLIENT) + public class ItemModelGenerator diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java.patch index bca1eb3de..812350a64 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java.patch @@ -1,8 +1,11 @@ --- before/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java +++ after/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java -@@ -13,9 +13,14 @@ +@@ -11,11 +11,16 @@ + import net.minecraft.util.math.MathHelper; + import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; - import org.lwjgl.util.vector.Vector3f; +-import org.lwjgl.util.vector.Vector3f; ++import org.lwjglx.util.vector.Vector3f; +/* + * @deprecated use {@link net.minecraftforge.client.model.IModelState} and {@link net.minecraftforge.client.model.TRSRTransformation} diff --git a/patches/minecraft/net/minecraft/client/renderer/block/model/ModelRotation.java.patch b/patches/minecraft/net/minecraft/client/renderer/block/model/ModelRotation.java.patch index 36599d4b4..55327d9e2 100644 --- a/patches/minecraft/net/minecraft/client/renderer/block/model/ModelRotation.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/block/model/ModelRotation.java.patch @@ -1,7 +1,13 @@ --- before/net/minecraft/client/renderer/block/model/ModelRotation.java +++ after/net/minecraft/client/renderer/block/model/ModelRotation.java -@@ -10,7 +10,7 @@ - import org.lwjgl.util.vector.Vector3f; +@@ -6,11 +6,11 @@ + import net.minecraft.util.math.MathHelper; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Matrix4f; +-import org.lwjgl.util.vector.Vector3f; ++import org.lwjglx.util.vector.Matrix4f; ++import org.lwjglx.util.vector.Vector3f; @SideOnly(Side.CLIENT) -public enum ModelRotation diff --git a/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch b/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch index cf7b44062..f89e11ec1 100644 --- a/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/tileentity/TileEntityRendererDispatcher.java.patch @@ -56,7 +56,7 @@ + */ + public void preDrawBatch() + { -+ batchBuffer.getBuffer().begin(org.lwjgl.opengl.GL11.GL_QUADS, net.minecraft.client.renderer.vertex.DefaultVertexFormats.BLOCK); ++ batchBuffer.getBuffer().begin(org.lwjglx.opengl.GL11.GL_QUADS, net.minecraft.client.renderer.vertex.DefaultVertexFormats.BLOCK); + drawingBatch = true; + } + @@ -68,17 +68,17 @@ + { + renderEngine.bindTexture(net.minecraft.client.renderer.texture.TextureMap.LOCATION_BLOCKS_TEXTURE); + net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); -+ GlStateManager.blendFunc(org.lwjgl.opengl.GL11.GL_SRC_ALPHA, org.lwjgl.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA); ++ GlStateManager.blendFunc(org.lwjglx.opengl.GL11.GL_SRC_ALPHA, org.lwjglx.opengl.GL11.GL_ONE_MINUS_SRC_ALPHA); + GlStateManager.enableBlend(); + GlStateManager.disableCull(); + + if (net.minecraft.client.Minecraft.isAmbientOcclusionEnabled()) + { -+ GlStateManager.shadeModel(org.lwjgl.opengl.GL11.GL_SMOOTH); ++ GlStateManager.shadeModel(org.lwjglx.opengl.GL11.GL_SMOOTH); + } + else + { -+ GlStateManager.shadeModel(org.lwjgl.opengl.GL11.GL_FLAT); ++ GlStateManager.shadeModel(org.lwjglx.opengl.GL11.GL_FLAT); + } + + if(pass > 0) diff --git a/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch b/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch index bf9b9ebb2..e9f1d8054 100644 --- a/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch +++ b/patches/minecraft/net/minecraft/client/settings/GameSettings.java.patch @@ -1,5 +1,18 @@ --- before/net/minecraft/client/settings/GameSettings.java +++ after/net/minecraft/client/settings/GameSettings.java +@@ -41,9 +41,9 @@ + import org.apache.commons.lang3.ArrayUtils; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +-import org.lwjgl.input.Keyboard; +-import org.lwjgl.input.Mouse; +-import org.lwjgl.opengl.Display; ++import org.lwjglx.input.Keyboard; ++import org.lwjglx.input.Mouse; ++import org.lwjglx.opengl.Display; + + @SideOnly(Side.CLIENT) + public class GameSettings @@ -69,6 +69,7 @@ } }; diff --git a/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch b/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch index 8da83aa2a..8b3a3f86e 100644 --- a/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch +++ b/patches/minecraft/net/minecraft/client/settings/KeyBinding.java.patch @@ -1,6 +1,13 @@ --- before/net/minecraft/client/settings/KeyBinding.java +++ after/net/minecraft/client/settings/KeyBinding.java -@@ -15,7 +15,7 @@ +@@ -9,13 +9,13 @@ + import net.minecraft.util.IntHashMap; + 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 KeyBinding implements Comparable { private static final Map KEYBIND_ARRAY = Maps.newHashMap(); diff --git a/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch b/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch index db762620e..ac133938a 100644 --- a/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch +++ b/patches/minecraft/net/minecraft/client/shader/Framebuffer.java.patch @@ -11,9 +11,9 @@ + } + else + { -+ OpenGlHelper.glRenderbufferStorage(OpenGlHelper.GL_RENDERBUFFER, org.lwjgl.opengl.EXTPackedDepthStencil.GL_DEPTH24_STENCIL8_EXT, this.framebufferTextureWidth, this.framebufferTextureHeight); -+ OpenGlHelper.glFramebufferRenderbuffer(OpenGlHelper.GL_FRAMEBUFFER, org.lwjgl.opengl.EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, OpenGlHelper.GL_RENDERBUFFER, this.depthBuffer); -+ OpenGlHelper.glFramebufferRenderbuffer(OpenGlHelper.GL_FRAMEBUFFER, org.lwjgl.opengl.EXTFramebufferObject.GL_STENCIL_ATTACHMENT_EXT, OpenGlHelper.GL_RENDERBUFFER, this.depthBuffer); ++ OpenGlHelper.glRenderbufferStorage(OpenGlHelper.GL_RENDERBUFFER, org.lwjglx.opengl.EXTPackedDepthStencil.GL_DEPTH24_STENCIL8_EXT, this.framebufferTextureWidth, this.framebufferTextureHeight); ++ OpenGlHelper.glFramebufferRenderbuffer(OpenGlHelper.GL_FRAMEBUFFER, org.lwjglx.opengl.EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, OpenGlHelper.GL_RENDERBUFFER, this.depthBuffer); ++ OpenGlHelper.glFramebufferRenderbuffer(OpenGlHelper.GL_FRAMEBUFFER, org.lwjglx.opengl.EXTFramebufferObject.GL_STENCIL_ATTACHMENT_EXT, OpenGlHelper.GL_RENDERBUFFER, this.depthBuffer); + } } diff --git a/patches/minecraft/net/minecraft/client/shader/Shader.java.patch b/patches/minecraft/net/minecraft/client/shader/Shader.java.patch new file mode 100644 index 000000000..71b512915 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/shader/Shader.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/shader/Shader.java ++++ after/net/minecraft/client/shader/Shader.java +@@ -12,7 +12,7 @@ + import net.minecraft.client.util.JsonException; + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Matrix4f; ++import org.lwjglx.util.vector.Matrix4f; + + @SideOnly(Side.CLIENT) + public class Shader diff --git a/patches/minecraft/net/minecraft/client/shader/ShaderDefault.java.patch b/patches/minecraft/net/minecraft/client/shader/ShaderDefault.java.patch new file mode 100644 index 000000000..ff8056a59 --- /dev/null +++ b/patches/minecraft/net/minecraft/client/shader/ShaderDefault.java.patch @@ -0,0 +1,11 @@ +--- before/net/minecraft/client/shader/ShaderDefault.java ++++ after/net/minecraft/client/shader/ShaderDefault.java +@@ -2,7 +2,7 @@ + + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.util.vector.Matrix4f; ++import org.lwjglx.util.vector.Matrix4f; + + @SideOnly(Side.CLIENT) + public class ShaderDefault extends ShaderUniform diff --git a/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch b/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch index 91b71a54e..cd3e6aafd 100644 --- a/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch +++ b/patches/minecraft/net/minecraft/client/shader/ShaderGroup.java.patch @@ -1,5 +1,14 @@ --- before/net/minecraft/client/shader/ShaderGroup.java +++ after/net/minecraft/client/shader/ShaderGroup.java +@@ -23,7 +23,7 @@ + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.commons.io.IOUtils; +-import org.lwjgl.util.vector.Matrix4f; ++import org.lwjglx.util.vector.Matrix4f; + + @SideOnly(Side.CLIENT) + public class ShaderGroup @@ -55,13 +55,12 @@ public void parseGroup(TextureManager p_152765_1_, ResourceLocation p_152765_2_) throws JsonException, IOException, JsonSyntaxException diff --git a/patches/minecraft/net/minecraft/client/shader/ShaderLoader.java.patch b/patches/minecraft/net/minecraft/client/shader/ShaderLoader.java.patch index 6515b923a..00e84fb7d 100644 --- a/patches/minecraft/net/minecraft/client/shader/ShaderLoader.java.patch +++ b/patches/minecraft/net/minecraft/client/shader/ShaderLoader.java.patch @@ -1,5 +1,14 @@ --- before/net/minecraft/client/shader/ShaderLoader.java +++ after/net/minecraft/client/shader/ShaderLoader.java +@@ -15,7 +15,7 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.commons.io.IOUtils; + import org.apache.commons.lang3.StringUtils; +-import org.lwjgl.BufferUtils; ++import org.lwjglx.BufferUtils; + + @SideOnly(Side.CLIENT) + public class ShaderLoader @@ -60,7 +60,8 @@ if (shaderloader == null) diff --git a/patches/minecraft/net/minecraft/client/shader/ShaderUniform.java.patch b/patches/minecraft/net/minecraft/client/shader/ShaderUniform.java.patch new file mode 100644 index 000000000..30a91591b --- /dev/null +++ b/patches/minecraft/net/minecraft/client/shader/ShaderUniform.java.patch @@ -0,0 +1,13 @@ +--- before/net/minecraft/client/shader/ShaderUniform.java ++++ after/net/minecraft/client/shader/ShaderUniform.java +@@ -8,8 +8,8 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +-import org.lwjgl.BufferUtils; +-import org.lwjgl.util.vector.Matrix4f; ++import org.lwjglx.BufferUtils; ++import org.lwjglx.util.vector.Matrix4f; + + @SideOnly(Side.CLIENT) + public class ShaderUniform diff --git a/patches/minecraft/net/minecraft/util/MouseHelper.java.patch b/patches/minecraft/net/minecraft/util/MouseHelper.java.patch index 8fbcf56fb..27a3d537c 100644 --- a/patches/minecraft/net/minecraft/util/MouseHelper.java.patch +++ b/patches/minecraft/net/minecraft/util/MouseHelper.java.patch @@ -1,5 +1,16 @@ --- before/net/minecraft/util/MouseHelper.java +++ after/net/minecraft/util/MouseHelper.java +@@ -2,8 +2,8 @@ + + import net.minecraftforge.fml.relauncher.Side; + import net.minecraftforge.fml.relauncher.SideOnly; +-import org.lwjgl.input.Mouse; +-import org.lwjgl.opengl.Display; ++import org.lwjglx.input.Mouse; ++import org.lwjglx.opengl.Display; + + @SideOnly(Side.CLIENT) + public class MouseHelper @@ -13,6 +13,7 @@ public void grabMouseCursor() diff --git a/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch b/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch index 181fba5f6..1cb069c1f 100644 --- a/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch +++ b/patches/minecraft/net/minecraft/util/ScreenShotHelper.java.patch @@ -1,5 +1,14 @@ --- before/net/minecraft/util/ScreenShotHelper.java +++ after/net/minecraft/util/ScreenShotHelper.java +@@ -21,7 +21,7 @@ + import net.minecraftforge.fml.relauncher.SideOnly; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +-import org.lwjgl.BufferUtils; ++import org.lwjglx.BufferUtils; + + @SideOnly(Side.CLIENT) + public class ScreenShotHelper @@ -54,10 +54,14 @@ file2 = new File(file1, screenshotName); } diff --git a/projects/cleanroom/build.gradle b/projects/cleanroom/build.gradle index aa5b8e88a..2309d29b2 100644 --- a/projects/cleanroom/build.gradle +++ b/projects/cleanroom/build.gradle @@ -95,7 +95,7 @@ ext { lwjglLibraries = [ [ 'lwjgl-glfw', 'lwjgl-jemalloc', 'lwjgl-openal', - 'lwjgl-opengl', 'lwjgl-stb', 'lwjgl-tinyfd', 'lwjgl' + 'lwjgl-opengl', 'lwjgl-stb', 'lwjgl-tinyfd', 'lwjgl-freetype', 'lwjgl' ], [ @@ -123,7 +123,7 @@ patcher { client = true taskName 'cleanroomClient' ideaModule "${rootProject.name}.${project.name}.main" - main 'com.cleanroommc.boot.MainClient' + main 'com.cleanroommc.cleanroom.boot.MainClient' workingDirectory project.file('run') environment 'target', 'fmldevclient' @@ -176,7 +176,7 @@ patcher { client false taskName 'cleanroomServer' ideaModule "${rootProject.name}.${project.name}.main" - main 'com.cleanroommc.boot.MainServer' + main 'com.cleanroommc.cleanroom.boot.MainServer' workingDirectory project.file('run') environment 'target', 'fmldevserver' @@ -256,8 +256,7 @@ configurations { dependencies { // LWJGL - compileOnly "com.cleanroommc:lwjglx:1.0.0" - installer "com.cleanroommc:lwjglxx:1.1.17" + installer "com.cleanroommc:lwjglxx:1.1.18" lwjglLibraries[0].each { installer "org.lwjgl:$it:$props.lwjgl_version" runtimeOnly "org.lwjgl:$it::$lwjglArch" @@ -277,7 +276,7 @@ dependencies { installer "org.ow2.asm:asm-deprecated:$props.asm_deprecated" // Hacks - installer "top.outlands:foundation:0.19.7" + installer "top.outlands:foundation:0.20.10" installer 'net.lenni0451:Reflect:1.6.3' installer 'net.lenni0451.commons:unchecked:1.9.2' installer 'org.javassist:javassist:3.30.2-GA' @@ -368,7 +367,7 @@ dependencies { installer 'io.github.classgraph:classgraph:4.8.184' // Mixin - installer 'com.cleanroommc:sponge-mixin:0.20.12+mixin.0.8.7' + installer 'com.cleanroommc:sponge-mixin:0.20.13+mixin.0.8.7' installer annotationProcessor('io.github.llamalad7:mixinextras-common:0.5.4') testImplementation platform('org.junit:junit-bom:6.0.2') @@ -771,10 +770,11 @@ universalJar { } classpath += "minecraft_server.${props.minecraft_version}.jar" manifest.attributes([ - 'Timestamp' : new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), - 'Main-Class' : 'net.minecraftforge.fml.relauncher.ServerLaunchWrapper', - 'Class-Path' : classpath.toString(), - 'Tweak-Class': 'net.minecraftforge.fml.common.launcher.FMLTweaker' + 'Timestamp' : new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), + 'Main-Class' : 'net.minecraftforge.fml.relauncher.ServerLaunchWrapper', + 'Class-Path' : classpath.toString(), + 'Tweak-Class' : 'net.minecraftforge.fml.common.launcher.FMLTweaker', + 'Lwjgl3-Aware' : 'true' ]) manifest.attributes([ 'Specification-Title' : props.title, diff --git a/projects/kirino b/projects/kirino index aaa52d148..057b45b3a 160000 --- a/projects/kirino +++ b/projects/kirino @@ -1 +1 @@ -Subproject commit aaa52d148213e72571b48acf8a145d1d798e79c7 +Subproject commit 057b45b3a69a3c40216454b80bae939a4640310d diff --git a/src/main/java/com/cleanroommc/boot/Main.java b/src/main/java/com/cleanroommc/cleanroom/boot/Main.java similarity index 99% rename from src/main/java/com/cleanroommc/boot/Main.java rename to src/main/java/com/cleanroommc/cleanroom/boot/Main.java index dec00b733..34e81e75f 100644 --- a/src/main/java/com/cleanroommc/boot/Main.java +++ b/src/main/java/com/cleanroommc/cleanroom/boot/Main.java @@ -1,4 +1,4 @@ -package com.cleanroommc.boot; +package com.cleanroommc.cleanroom.boot; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/com/cleanroommc/boot/MainClient.java b/src/main/java/com/cleanroommc/cleanroom/boot/MainClient.java similarity index 94% rename from src/main/java/com/cleanroommc/boot/MainClient.java rename to src/main/java/com/cleanroommc/cleanroom/boot/MainClient.java index 300028508..57d88f4b2 100644 --- a/src/main/java/com/cleanroommc/boot/MainClient.java +++ b/src/main/java/com/cleanroommc/cleanroom/boot/MainClient.java @@ -1,4 +1,4 @@ -package com.cleanroommc.boot; +package com.cleanroommc.cleanroom.boot; import java.util.LinkedHashMap; import java.util.Map; diff --git a/src/main/java/com/cleanroommc/boot/MainServer.java b/src/main/java/com/cleanroommc/cleanroom/boot/MainServer.java similarity index 78% rename from src/main/java/com/cleanroommc/boot/MainServer.java rename to src/main/java/com/cleanroommc/cleanroom/boot/MainServer.java index f781f817c..60e933e53 100644 --- a/src/main/java/com/cleanroommc/boot/MainServer.java +++ b/src/main/java/com/cleanroommc/cleanroom/boot/MainServer.java @@ -1,4 +1,4 @@ -package com.cleanroommc.boot; +package com.cleanroommc.cleanroom.boot; public class MainServer extends Main { diff --git a/src/main/java/com/cleanroommc/client/ICU4JInstances.java b/src/main/java/com/cleanroommc/cleanroom/client/ICU4JInstances.java similarity index 92% rename from src/main/java/com/cleanroommc/client/ICU4JInstances.java rename to src/main/java/com/cleanroommc/cleanroom/client/ICU4JInstances.java index 6acdf16a0..912b9c383 100644 --- a/src/main/java/com/cleanroommc/client/ICU4JInstances.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/ICU4JInstances.java @@ -1,4 +1,4 @@ -package com.cleanroommc.client; +package com.cleanroommc.cleanroom.client; import com.ibm.icu.segmenter.LocalizedSegmenter; import com.ibm.icu.segmenter.Segmenter; diff --git a/src/main/java/com/cleanroommc/client/IMEHandler.java b/src/main/java/com/cleanroommc/cleanroom/client/IMEHandler.java similarity index 77% rename from src/main/java/com/cleanroommc/client/IMEHandler.java rename to src/main/java/com/cleanroommc/cleanroom/client/IMEHandler.java index d3dca95d2..49ee6a1e5 100644 --- a/src/main/java/com/cleanroommc/client/IMEHandler.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/IMEHandler.java @@ -1,6 +1,9 @@ -package com.cleanroommc.client; +package com.cleanroommc.cleanroom.client; -import com.cleanroommc.client.ime.*; +import com.cleanroommc.cleanroom.client.ime.DummyIMEHandler; +import com.cleanroommc.cleanroom.client.ime.WaylandIMEhandler; +import com.cleanroommc.cleanroom.client.ime.WindowsIMEHandler; +import com.cleanroommc.cleanroom.client.ime.X11IMEHandler; import net.minecraftforge.common.ForgeModContainer; import net.minecraftforge.fml.common.FMLLog; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/com/cleanroommc/client/LoadingTracker.java b/src/main/java/com/cleanroommc/cleanroom/client/LoadingTracker.java similarity index 98% rename from src/main/java/com/cleanroommc/client/LoadingTracker.java rename to src/main/java/com/cleanroommc/cleanroom/client/LoadingTracker.java index 737cb2435..e488aab2e 100644 --- a/src/main/java/com/cleanroommc/client/LoadingTracker.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/LoadingTracker.java @@ -1,10 +1,10 @@ -package com.cleanroommc.client; +package com.cleanroommc.cleanroom.client; import java.io.*; import java.util.*; -import com.cleanroommc.client.windows.TaskbarApi; -import com.cleanroommc.client.windows.WindowsProperties; +import com.cleanroommc.cleanroom.client.windows.TaskbarApi; +import com.cleanroommc.cleanroom.client.windows.WindowsProperties; import com.sun.jna.platform.win32.WinDef.HWND; import net.minecraft.launchwrapper.Launch; diff --git a/src/main/java/com/cleanroommc/client/ime/DummyIMEHandler.java b/src/main/java/com/cleanroommc/cleanroom/client/ime/DummyIMEHandler.java similarity index 78% rename from src/main/java/com/cleanroommc/client/ime/DummyIMEHandler.java rename to src/main/java/com/cleanroommc/cleanroom/client/ime/DummyIMEHandler.java index fcefe048e..f37173af4 100644 --- a/src/main/java/com/cleanroommc/client/ime/DummyIMEHandler.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/ime/DummyIMEHandler.java @@ -1,4 +1,4 @@ -package com.cleanroommc.client.ime; +package com.cleanroommc.cleanroom.client.ime; import java.util.function.Consumer; diff --git a/src/main/java/com/cleanroommc/client/ime/WaylandIMEhandler.java b/src/main/java/com/cleanroommc/cleanroom/client/ime/WaylandIMEhandler.java similarity index 81% rename from src/main/java/com/cleanroommc/client/ime/WaylandIMEhandler.java rename to src/main/java/com/cleanroommc/cleanroom/client/ime/WaylandIMEhandler.java index c1b1fd193..3fb2eac76 100644 --- a/src/main/java/com/cleanroommc/client/ime/WaylandIMEhandler.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/ime/WaylandIMEhandler.java @@ -1,7 +1,7 @@ -package com.cleanroommc.client.ime; +package com.cleanroommc.cleanroom.client.ime; import org.lwjgl.glfw.GLFW; -import org.lwjgl.opengl.Display; +import org.lwjglx.opengl.Display; import java.util.function.Consumer; diff --git a/src/main/java/com/cleanroommc/client/ime/WindowsIMEHandler.java b/src/main/java/com/cleanroommc/cleanroom/client/ime/WindowsIMEHandler.java similarity index 96% rename from src/main/java/com/cleanroommc/client/ime/WindowsIMEHandler.java rename to src/main/java/com/cleanroommc/cleanroom/client/ime/WindowsIMEHandler.java index bcc232584..63c700405 100644 --- a/src/main/java/com/cleanroommc/client/ime/WindowsIMEHandler.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/ime/WindowsIMEHandler.java @@ -1,4 +1,4 @@ -package com.cleanroommc.client.ime; +package com.cleanroommc.cleanroom.client.ime; import com.sun.jna.Native; import com.sun.jna.platform.win32.User32; diff --git a/src/main/java/com/cleanroommc/client/ime/X11IMEHandler.java b/src/main/java/com/cleanroommc/cleanroom/client/ime/X11IMEHandler.java similarity index 81% rename from src/main/java/com/cleanroommc/client/ime/X11IMEHandler.java rename to src/main/java/com/cleanroommc/cleanroom/client/ime/X11IMEHandler.java index dffa14f83..6cb657c44 100644 --- a/src/main/java/com/cleanroommc/client/ime/X11IMEHandler.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/ime/X11IMEHandler.java @@ -1,7 +1,7 @@ -package com.cleanroommc.client.ime; +package com.cleanroommc.cleanroom.client.ime; import org.lwjgl.glfw.GLFW; -import org.lwjgl.opengl.Display; +import org.lwjglx.opengl.Display; import java.util.function.Consumer; diff --git a/src/main/java/com/cleanroommc/client/windows/DwmApi.java b/src/main/java/com/cleanroommc/cleanroom/client/windows/DwmApi.java similarity index 98% rename from src/main/java/com/cleanroommc/client/windows/DwmApi.java rename to src/main/java/com/cleanroommc/cleanroom/client/windows/DwmApi.java index bd57b3bf2..aa5871071 100644 --- a/src/main/java/com/cleanroommc/client/windows/DwmApi.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/windows/DwmApi.java @@ -1,7 +1,6 @@ /// Copyright under MIT https://github.com/LemonCaramel/Mica -package com.cleanroommc.client.windows; +package com.cleanroommc.cleanroom.client.windows; -import com.cleanroommc.client.windows.WindowsProperties; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Pointer; diff --git a/src/main/java/com/cleanroommc/client/windows/NtDll.java b/src/main/java/com/cleanroommc/cleanroom/client/windows/NtDll.java similarity index 95% rename from src/main/java/com/cleanroommc/client/windows/NtDll.java rename to src/main/java/com/cleanroommc/cleanroom/client/windows/NtDll.java index 121df64d2..8a1156cef 100644 --- a/src/main/java/com/cleanroommc/client/windows/NtDll.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/windows/NtDll.java @@ -1,5 +1,5 @@ /// Copyright under MIT https://github.com/LemonCaramel/Mica -package com.cleanroommc.client.windows; +package com.cleanroommc.cleanroom.client.windows; import com.sun.jna.Library; import com.sun.jna.Native; diff --git a/src/main/java/com/cleanroommc/client/windows/TaskbarApi.java b/src/main/java/com/cleanroommc/cleanroom/client/windows/TaskbarApi.java similarity index 99% rename from src/main/java/com/cleanroommc/client/windows/TaskbarApi.java rename to src/main/java/com/cleanroommc/cleanroom/client/windows/TaskbarApi.java index 60ffdc8e4..0626fef7d 100644 --- a/src/main/java/com/cleanroommc/client/windows/TaskbarApi.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/windows/TaskbarApi.java @@ -1,4 +1,4 @@ -package com.cleanroommc.client.windows; +package com.cleanroommc.cleanroom.client.windows; import com.sun.jna.Function; import com.sun.jna.Native; diff --git a/src/main/java/com/cleanroommc/client/windows/WindowsProperties.java b/src/main/java/com/cleanroommc/cleanroom/client/windows/WindowsProperties.java similarity index 92% rename from src/main/java/com/cleanroommc/client/windows/WindowsProperties.java rename to src/main/java/com/cleanroommc/cleanroom/client/windows/WindowsProperties.java index ef03781ce..7a6772658 100644 --- a/src/main/java/com/cleanroommc/client/windows/WindowsProperties.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/windows/WindowsProperties.java @@ -1,5 +1,5 @@ /// Copyright under MIT https://github.com/LemonCaramel/Mica -package com.cleanroommc.client.windows; +package com.cleanroommc.cleanroom.client.windows; public class WindowsProperties { public static final int MINIMUM_BUILD_NUM = 22000; diff --git a/src/main/java/com/cleanroommc/client/windows/WindowsTheme.java b/src/main/java/com/cleanroommc/cleanroom/client/windows/WindowsTheme.java similarity index 95% rename from src/main/java/com/cleanroommc/client/windows/WindowsTheme.java rename to src/main/java/com/cleanroommc/cleanroom/client/windows/WindowsTheme.java index bf3ffd62e..a9785731a 100644 --- a/src/main/java/com/cleanroommc/client/windows/WindowsTheme.java +++ b/src/main/java/com/cleanroommc/cleanroom/client/windows/WindowsTheme.java @@ -1,4 +1,4 @@ -package com.cleanroommc.client.windows; +package com.cleanroommc.cleanroom.client.windows; import com.sun.jna.platform.win32.Advapi32Util; import com.sun.jna.platform.win32.WinReg; diff --git a/src/main/java/com/cleanroommc/common/CleanroomContainer.java b/src/main/java/com/cleanroommc/cleanroom/common/CleanroomContainer.java similarity index 97% rename from src/main/java/com/cleanroommc/common/CleanroomContainer.java rename to src/main/java/com/cleanroommc/cleanroom/common/CleanroomContainer.java index 7e11a29f3..413d51b0f 100644 --- a/src/main/java/com/cleanroommc/common/CleanroomContainer.java +++ b/src/main/java/com/cleanroommc/cleanroom/common/CleanroomContainer.java @@ -1,4 +1,4 @@ -package com.cleanroommc.common; +package com.cleanroommc.cleanroom.common; import com.google.common.eventbus.EventBus; import net.minecraftforge.fml.common.DummyModContainer; diff --git a/src/main/java/com/cleanroommc/common/ConfigAnytimeContainer.java b/src/main/java/com/cleanroommc/cleanroom/common/ConfigAnytimeContainer.java similarity index 95% rename from src/main/java/com/cleanroommc/common/ConfigAnytimeContainer.java rename to src/main/java/com/cleanroommc/cleanroom/common/ConfigAnytimeContainer.java index eda4f2bdc..b1a8fae12 100644 --- a/src/main/java/com/cleanroommc/common/ConfigAnytimeContainer.java +++ b/src/main/java/com/cleanroommc/cleanroom/common/ConfigAnytimeContainer.java @@ -1,4 +1,4 @@ -package com.cleanroommc.common; +package com.cleanroommc.cleanroom.common; import com.google.common.eventbus.EventBus; import net.minecraftforge.common.ForgeEarlyConfig; diff --git a/src/main/java/com/cleanroommc/common/MixinContainer.java b/src/main/java/com/cleanroommc/cleanroom/common/MixinContainer.java similarity index 95% rename from src/main/java/com/cleanroommc/common/MixinContainer.java rename to src/main/java/com/cleanroommc/cleanroom/common/MixinContainer.java index 870d2cb8f..a62a31cce 100644 --- a/src/main/java/com/cleanroommc/common/MixinContainer.java +++ b/src/main/java/com/cleanroommc/cleanroom/common/MixinContainer.java @@ -1,4 +1,4 @@ -package com.cleanroommc.common; +package com.cleanroommc.cleanroom.common; import com.google.common.eventbus.EventBus; import net.minecraftforge.common.ForgeEarlyConfig; diff --git a/src/main/java/com/cleanroommc/hackery/Reflection.java b/src/main/java/com/cleanroommc/cleanroom/hackery/Reflection.java similarity index 97% rename from src/main/java/com/cleanroommc/hackery/Reflection.java rename to src/main/java/com/cleanroommc/cleanroom/hackery/Reflection.java index 3d0e5633c..fef6b52ad 100644 --- a/src/main/java/com/cleanroommc/hackery/Reflection.java +++ b/src/main/java/com/cleanroommc/cleanroom/hackery/Reflection.java @@ -1,4 +1,4 @@ -package com.cleanroommc.hackery; +package com.cleanroommc.cleanroom.hackery; import java.lang.reflect.Field; diff --git a/src/main/java/com/cleanroommc/hackery/ReflectionHackery.java b/src/main/java/com/cleanroommc/cleanroom/hackery/ReflectionHackery.java similarity index 99% rename from src/main/java/com/cleanroommc/hackery/ReflectionHackery.java rename to src/main/java/com/cleanroommc/cleanroom/hackery/ReflectionHackery.java index 3f3f55557..a4b0703e4 100644 --- a/src/main/java/com/cleanroommc/hackery/ReflectionHackery.java +++ b/src/main/java/com/cleanroommc/cleanroom/hackery/ReflectionHackery.java @@ -1,4 +1,4 @@ -package com.cleanroommc.hackery; +package com.cleanroommc.cleanroom.hackery; import net.lenni0451.reflect.Classes; import net.lenni0451.reflect.Fields; diff --git a/src/main/java/com/cleanroommc/hackery/enums/EnumHackery.java b/src/main/java/com/cleanroommc/cleanroom/hackery/enums/EnumHackery.java similarity index 92% rename from src/main/java/com/cleanroommc/hackery/enums/EnumHackery.java rename to src/main/java/com/cleanroommc/cleanroom/hackery/enums/EnumHackery.java index 2ed244ff3..3a94a2b47 100644 --- a/src/main/java/com/cleanroommc/hackery/enums/EnumHackery.java +++ b/src/main/java/com/cleanroommc/cleanroom/hackery/enums/EnumHackery.java @@ -1,4 +1,4 @@ -package com.cleanroommc.hackery.enums; +package com.cleanroommc.cleanroom.hackery.enums; import net.lenni0451.reflect.Enums; diff --git a/src/main/java/com/cleanroommc/loader/LanguageAdapterRegistry.java b/src/main/java/com/cleanroommc/cleanroom/loader/LanguageAdapterRegistry.java similarity index 96% rename from src/main/java/com/cleanroommc/loader/LanguageAdapterRegistry.java rename to src/main/java/com/cleanroommc/cleanroom/loader/LanguageAdapterRegistry.java index 816a8aecb..977b615dc 100644 --- a/src/main/java/com/cleanroommc/loader/LanguageAdapterRegistry.java +++ b/src/main/java/com/cleanroommc/cleanroom/loader/LanguageAdapterRegistry.java @@ -1,4 +1,4 @@ -package com.cleanroommc.loader; +package com.cleanroommc.cleanroom.loader; import com.google.common.collect.Maps; import net.minecraftforge.fml.common.FMLLog; diff --git a/src/main/java/com/cleanroommc/loader/javafix/UUIDFix.java b/src/main/java/com/cleanroommc/cleanroom/loader/javafix/UUIDFix.java similarity index 96% rename from src/main/java/com/cleanroommc/loader/javafix/UUIDFix.java rename to src/main/java/com/cleanroommc/cleanroom/loader/javafix/UUIDFix.java index 67adac91d..d7b27d82b 100644 --- a/src/main/java/com/cleanroommc/loader/javafix/UUIDFix.java +++ b/src/main/java/com/cleanroommc/cleanroom/loader/javafix/UUIDFix.java @@ -1,4 +1,4 @@ -package com.cleanroommc.loader.javafix; +package com.cleanroommc.cleanroom.loader.javafix; import net.minecraftforge.fml.common.FMLLog; diff --git a/src/main/java/com/cleanroommc/loader/scripting/CleanroomScriptEngineManager.java b/src/main/java/com/cleanroommc/cleanroom/loader/scripting/CleanroomScriptEngineManager.java similarity index 94% rename from src/main/java/com/cleanroommc/loader/scripting/CleanroomScriptEngineManager.java rename to src/main/java/com/cleanroommc/cleanroom/loader/scripting/CleanroomScriptEngineManager.java index fd823e7a9..8cba6d6c3 100644 --- a/src/main/java/com/cleanroommc/loader/scripting/CleanroomScriptEngineManager.java +++ b/src/main/java/com/cleanroommc/cleanroom/loader/scripting/CleanroomScriptEngineManager.java @@ -1,4 +1,4 @@ -package com.cleanroommc.loader.scripting; +package com.cleanroommc.cleanroom.loader.scripting; import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory; diff --git a/src/main/java/net/minecraftforge/client/CloudRenderer.java b/src/main/java/net/minecraftforge/client/CloudRenderer.java index 8f8911920..01bb8005f 100644 --- a/src/main/java/net/minecraftforge/client/CloudRenderer.java +++ b/src/main/java/net/minecraftforge/client/CloudRenderer.java @@ -25,7 +25,7 @@ import net.minecraftforge.client.resource.IResourceType; import net.minecraftforge.client.resource.VanillaResourceType; -import org.lwjgl.opengl.GL11; +import org.lwjglx.opengl.GL11; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BufferBuilder; diff --git a/src/main/java/net/minecraftforge/client/EnumHelperClient.java b/src/main/java/net/minecraftforge/client/EnumHelperClient.java index 4117cc0d7..2e1091634 100644 --- a/src/main/java/net/minecraftforge/client/EnumHelperClient.java +++ b/src/main/java/net/minecraftforge/client/EnumHelperClient.java @@ -19,7 +19,7 @@ package net.minecraftforge.client; -import com.cleanroommc.hackery.enums.EnumHackery; +import com.cleanroommc.cleanroom.hackery.enums.EnumHackery; import net.minecraft.client.audio.MusicTicker; import net.minecraft.util.SoundEvent; import net.minecraft.util.Util.EnumOS; diff --git a/src/main/java/net/minecraftforge/client/ForgeClientHandler.java b/src/main/java/net/minecraftforge/client/ForgeClientHandler.java index 8be594616..3aaeea07d 100644 --- a/src/main/java/net/minecraftforge/client/ForgeClientHandler.java +++ b/src/main/java/net/minecraftforge/client/ForgeClientHandler.java @@ -19,11 +19,9 @@ package net.minecraftforge.client; -import com.cleanroommc.client.IMEHandler; -import com.cleanroommc.client.windows.TaskbarApi; -import com.cleanroommc.client.windows.WindowsProperties; -import com.sun.jna.Pointer; -import com.sun.jna.platform.win32.WinDef; +import com.cleanroommc.cleanroom.client.IMEHandler; +import com.cleanroommc.cleanroom.client.windows.TaskbarApi; +import com.cleanroommc.cleanroom.client.windows.WindowsProperties; import net.minecraft.client.gui.GuiChat; import net.minecraft.client.gui.GuiMainMenu; import net.minecraft.client.gui.GuiScreen; @@ -44,7 +42,6 @@ import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.oredict.OreDictionary; -import org.lwjgl.glfw.GLFWNativeWin32; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java index 53d844edb..a70b0e61e 100644 --- a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java +++ b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java @@ -37,11 +37,11 @@ import javax.vecmath.Vector3f; import javax.vecmath.Vector4f; -import com.cleanroommc.client.LoadingTracker; -import com.cleanroommc.client.windows.DwmApi; -import com.cleanroommc.client.windows.NtDll; -import com.cleanroommc.client.windows.TaskbarApi; -import com.cleanroommc.client.windows.WindowsProperties; +import com.cleanroommc.cleanroom.client.LoadingTracker; +import com.cleanroommc.cleanroom.client.windows.DwmApi; +import com.cleanroommc.cleanroom.client.windows.NtDll; +import com.cleanroommc.cleanroom.client.windows.TaskbarApi; +import com.cleanroommc.cleanroom.client.windows.WindowsProperties; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; @@ -147,10 +147,10 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.core.async.ThreadNameCachingStrategy; import org.apache.logging.log4j.core.impl.ReusableLogEventFactory; -import org.lwjgl.BufferUtils; -import org.lwjgl.opengl.Display; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL20; +import org.lwjglx.BufferUtils; +import org.lwjglx.opengl.Display; +import org.lwjglx.opengl.GL11; +import org.lwjglx.opengl.GL20; import java.util.function.Predicate; @@ -531,7 +531,7 @@ public static void postDraw(EnumUsage attrType, VertexFormat format, int element } } - public static void transform(org.lwjgl.util.vector.Vector3f vec, Matrix4f m) + public static void transform(org.lwjglx.util.vector.Vector3f vec, Matrix4f m) { Vector4f tmp = new Vector4f(vec.x, vec.y, vec.z, 1f); m.transform(tmp); diff --git a/src/main/java/net/minecraftforge/client/GuiIngameForge.java b/src/main/java/net/minecraftforge/client/GuiIngameForge.java index aa6269199..e4092d765 100644 --- a/src/main/java/net/minecraftforge/client/GuiIngameForge.java +++ b/src/main/java/net/minecraftforge/client/GuiIngameForge.java @@ -59,7 +59,7 @@ import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.common.MinecraftForge; -import org.lwjgl.opengl.GL11; +import org.lwjglx.opengl.GL11; /** * a REPLACEMENT of {@link net.minecraft.client.gui.GuiIngame}, there should be no need of using the original {@code GuiIngame} diff --git a/src/main/java/net/minecraftforge/client/event/GuiScreenEvent.java b/src/main/java/net/minecraftforge/client/event/GuiScreenEvent.java index 359395319..ce798b31a 100644 --- a/src/main/java/net/minecraftforge/client/event/GuiScreenEvent.java +++ b/src/main/java/net/minecraftforge/client/event/GuiScreenEvent.java @@ -24,7 +24,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.InventoryEffectRenderer; -import org.lwjgl.input.Mouse; +import org.lwjglx.input.Mouse; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; diff --git a/src/main/java/net/minecraftforge/client/event/MouseEvent.java b/src/main/java/net/minecraftforge/client/event/MouseEvent.java index 8c6ee0fa8..41688a039 100644 --- a/src/main/java/net/minecraftforge/client/event/MouseEvent.java +++ b/src/main/java/net/minecraftforge/client/event/MouseEvent.java @@ -19,7 +19,7 @@ package net.minecraftforge.client.event; -import org.lwjgl.input.Mouse; +import org.lwjglx.input.Mouse; import net.minecraftforge.fml.common.eventhandler.Cancelable; import net.minecraftforge.fml.common.eventhandler.Event; diff --git a/src/main/java/net/minecraftforge/client/model/ModelLoader.java b/src/main/java/net/minecraftforge/client/model/ModelLoader.java index 605ea4146..e144a174c 100644 --- a/src/main/java/net/minecraftforge/client/model/ModelLoader.java +++ b/src/main/java/net/minecraftforge/client/model/ModelLoader.java @@ -31,6 +31,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; +import com.cleanroommc.cleanroom.client.LoadingTracker; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; @@ -108,7 +109,7 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import com.google.common.collect.Sets; -import org.lwjgl.util.vector.Vector3f; +import org.lwjglx.util.vector.Vector3f; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -164,7 +165,7 @@ public IRegistry setupModelRegistry() HashMultimap models = HashMultimap.create(); Multimaps.invertFrom(Multimaps.forMap(stateModels), models); - ProgressBar bakeBar = ProgressManager.push("ModelLoader: baking", models.keySet().size(), false, com.cleanroommc.client.LoadingTracker.Phase.RELOAD_BAKING); + ProgressBar bakeBar = ProgressManager.push("ModelLoader: baking", models.keySet().size(), false, LoadingTracker.Phase.RELOAD_BAKING); for(IModel model : models.keySet()) { @@ -211,8 +212,8 @@ protected void loadBlocks() List blocks = StreamSupport.stream(Block.REGISTRY.spliterator(), false) .filter(block -> block.getRegistryName() != null) .sorted(Comparator.comparing(b -> b.getRegistryName().toString())) - .collect(Collectors.toList()); - ProgressBar blockBar = ProgressManager.push("ModelLoader: blocks", blocks.size(), false, com.cleanroommc.client.LoadingTracker.Phase.RELOAD_BLOCKS); + .toList(); + ProgressBar blockBar = ProgressManager.push("ModelLoader: blocks", blocks.size(), false, LoadingTracker.Phase.RELOAD_BLOCKS); BlockStateMapper mapper = this.blockModelShapes.getBlockStateMapper(); @@ -280,9 +281,9 @@ protected void loadItemModels() List items = StreamSupport.stream(Item.REGISTRY.spliterator(), false) .filter(item -> item.getRegistryName() != null) .sorted(Comparator.comparing(i -> i.getRegistryName().toString())) - .collect(Collectors.toList()); + .toList(); - ProgressBar itemBar = ProgressManager.push("ModelLoader: items", items.size(), false, com.cleanroommc.client.LoadingTracker.Phase.RELOAD_ITEMS); + ProgressBar itemBar = ProgressManager.push("ModelLoader: items", items.size(), false, LoadingTracker.Phase.RELOAD_ITEMS); for(Item item : items) { itemBar.step(item.getRegistryName().toString()); @@ -492,9 +493,8 @@ private IBakedModel bakeNormal(ModelBlock model, IModelState perState, final IMo @Override public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { - if(state instanceof IExtendedBlockState) + if(state instanceof IExtendedBlockState exState) { - IExtendedBlockState exState = (IExtendedBlockState)state; if(exState.getUnlistedNames().contains(Properties.AnimationProperty)) { IModelState newState = exState.getValue(Properties.AnimationProperty); @@ -675,7 +675,7 @@ public WeightedRandomModel(ResourceLocation parent, VariantList variants) throws builder.add(Pair.of(model, new ModelStateComposition(v.getState(), modelDefaultState))); } - if (models.size() == 0) //If all variants are missing, add one with the missing model and default rotation. + if (models.isEmpty()) //If all variants are missing, add one with the missing model and default rotation. { // FIXME: log this? IModel missing = ModelLoaderRegistry.getMissingModel(); @@ -716,7 +716,7 @@ public IBakedModel bake(IModelState state, VertexFormat format, Function textures) } } - protected IModel getMissingModel() + IModel getMissingModel() { if (missingModel == null) { @@ -961,9 +961,8 @@ public void onPostBakeEvent(IRegistry modelR for(Map.Entry entry : loadingExceptions.entrySet()) { // ignoring pure ResourceLocation arguments, all things we care about pass ModelResourceLocation - if(entry.getKey() instanceof ModelResourceLocation) + if(entry.getKey() instanceof ModelResourceLocation location) { - ModelResourceLocation location = (ModelResourceLocation)entry.getKey(); IBakedModel model = modelRegistry.getObject(location); if(model == null || model == missingModel || model instanceof FancyMissingModel.BakedModel) { @@ -1002,9 +1001,8 @@ public void onPostBakeEvent(IRegistry modelR } } } - if(entry.getValue() instanceof ItemLoadingException) + if(entry.getValue() instanceof ItemLoadingException ex) { - ItemLoadingException ex = (ItemLoadingException)entry.getValue(); FMLLog.log.error("{}, normal location exception: ", errorMsg, ex.normalException); FMLLog.log.error("{}, blockstate location exception: ", errorMsg, ex.blockstateException); } @@ -1236,8 +1234,7 @@ public IBakedModel bake(IModelState state, VertexFormat format, Function i = ProgressManager.barIterator(); while(i.hasNext()) diff --git a/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java b/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java index c225331bd..7316c44c3 100644 --- a/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java +++ b/src/main/java/net/minecraftforge/fml/client/config/GuiConfig.java @@ -44,7 +44,7 @@ import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.eventhandler.Event.Result; -import org.lwjgl.input.Keyboard; +import org.lwjglx.input.Keyboard; import javax.annotation.Nullable; diff --git a/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java b/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java index a9a705c7f..f213e53e6 100644 --- a/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java +++ b/src/main/java/net/minecraftforge/fml/client/config/GuiConfigEntries.java @@ -39,7 +39,7 @@ import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.ModContainer; -import org.lwjgl.input.Keyboard; +import org.lwjglx.input.Keyboard; /** * This class implements the scrolling list functionality of the config GUI screens. It also provides all the default control handlers diff --git a/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java b/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java index f6bc67b0c..c012be70c 100644 --- a/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java +++ b/src/main/java/net/minecraftforge/fml/client/config/GuiEditArray.java @@ -34,7 +34,7 @@ import static net.minecraftforge.fml.client.config.GuiUtils.UNDO_CHAR; import net.minecraftforge.fml.common.FMLLog; -import org.lwjgl.input.Keyboard; +import org.lwjglx.input.Keyboard; /** * This class is the base screen used for editing an array-type property. It provides a list of array entries for the user to edit. diff --git a/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java b/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java index 14d2346e2..40ba89c40 100644 --- a/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java +++ b/src/main/java/net/minecraftforge/fml/client/config/GuiEditArrayEntries.java @@ -31,7 +31,7 @@ import net.minecraftforge.fml.client.config.GuiConfigEntries.ArrayEntry; import net.minecraftforge.fml.common.FMLLog; -import org.lwjgl.input.Keyboard; +import org.lwjglx.input.Keyboard; import static net.minecraftforge.fml.client.config.GuiUtils.INVALID; import static net.minecraftforge.fml.client.config.GuiUtils.VALID; diff --git a/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java b/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java index bfeea94c2..7bf4e137e 100644 --- a/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java +++ b/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java @@ -31,7 +31,7 @@ import net.minecraftforge.client.event.RenderTooltipEvent; import net.minecraftforge.common.MinecraftForge; -import org.lwjgl.opengl.GL11; +import org.lwjglx.opengl.GL11; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java b/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java index 1701ac9cf..f38545c61 100644 --- a/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java +++ b/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java @@ -38,7 +38,7 @@ import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; -import com.cleanroommc.common.CleanroomVersion; +import com.cleanroommc.cleanroom.common.CleanroomVersion; import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReportCategory; import net.minecraft.entity.item.EntityItem; @@ -124,7 +124,7 @@ private FMLCommonHandler() registerCrashCallable(new ICrashCallable() { @Override public String call() { - return com.cleanroommc.common.CleanroomVersion.BUILD_VERSION; + return CleanroomVersion.BUILD_VERSION; } @Override diff --git a/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java b/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java index dccb788d9..564e8dc89 100644 --- a/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java +++ b/src/main/java/net/minecraftforge/fml/common/FMLModContainer.java @@ -37,7 +37,7 @@ import java.util.Properties; import java.util.Set; -import com.cleanroommc.loader.LanguageAdapterRegistry; +import com.cleanroommc.cleanroom.loader.LanguageAdapterRegistry; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Config; import net.minecraftforge.common.config.ConfigManager; diff --git a/src/main/java/net/minecraftforge/fml/common/LoadController.java b/src/main/java/net/minecraftforge/fml/common/LoadController.java index e1bfeeff2..83f62f96a 100644 --- a/src/main/java/net/minecraftforge/fml/common/LoadController.java +++ b/src/main/java/net/minecraftforge/fml/common/LoadController.java @@ -19,6 +19,7 @@ package net.minecraftforge.fml.common; +import com.cleanroommc.cleanroom.client.LoadingTracker; import com.google.common.base.Strings; import com.google.common.base.Throwables; import com.google.common.collect.*; @@ -289,7 +290,7 @@ public void propogateStateMessage(FMLEvent stateEvent) { modObjectList = buildModObjectList(); } - ProgressBar bar = ProgressManager.push(stateEvent.description(), activeModList.size(), true, com.cleanroommc.client.LoadingTracker.phaseForEventDescription(stateEvent.description())); + ProgressBar bar = ProgressManager.push(stateEvent.description(), activeModList.size(), true, LoadingTracker.phaseForEventDescription(stateEvent.description())); for (ModContainer mc : activeModList) { bar.step(mc.getName()); diff --git a/src/main/java/net/minecraftforge/fml/common/Loader.java b/src/main/java/net/minecraftforge/fml/common/Loader.java index 4126ffc5d..efe91898e 100644 --- a/src/main/java/net/minecraftforge/fml/common/Loader.java +++ b/src/main/java/net/minecraftforge/fml/common/Loader.java @@ -37,10 +37,10 @@ import java.util.Properties; import java.util.Set; -import com.cleanroommc.client.LoadingTracker; -import com.cleanroommc.common.CleanroomContainer; -import com.cleanroommc.common.MixinContainer; -import com.cleanroommc.common.ConfigAnytimeContainer; +import com.cleanroommc.cleanroom.client.LoadingTracker; +import com.cleanroommc.cleanroom.common.CleanroomContainer; +import com.cleanroommc.cleanroom.common.MixinContainer; +import com.cleanroommc.cleanroom.common.ConfigAnytimeContainer; import com.cleanroommc.kirino.KirinoCommonCore; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.ForgeVersion; diff --git a/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java b/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java index ef04ffd2d..ec1dac372 100644 --- a/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java +++ b/src/main/java/net/minecraftforge/fml/common/asm/ASMTransformerWrapper.java @@ -23,15 +23,20 @@ import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; +import java.util.Arrays; import java.util.Map; +import java.util.jar.Manifest; import net.minecraft.launchwrapper.IClassTransformer; import net.minecraft.launchwrapper.Launch; import net.minecraft.launchwrapper.LaunchClassLoader; +import net.minecraftforge.fml.common.FMLLog; +import org.jspecify.annotations.NonNull; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.FieldVisitor; @@ -58,8 +63,7 @@ public class ASMTransformerWrapper .build(new CacheLoader<>() { @Override - public byte[] load(String file) throws Exception - { + public byte @NonNull [] load(@NonNull String file) { return makeWrapper(file); } }); @@ -240,10 +244,11 @@ public TransformerWrapper() throw new RuntimeException(e); } } - + @Override public byte[] transform(String name, String transformedName, byte[] basicClass) { + try { return parent.transform(name, transformedName, basicClass); @@ -254,6 +259,19 @@ public byte[] transform(String name, String transformedName, byte[] basicClass) } } + @Override + public byte[] transform(String name, String transformedName, byte[] basicClass, Package pkg, Manifest manifest) + { + try + { + return parent.transform(name, transformedName, basicClass, pkg, manifest); + } + catch(Throwable e) + { + throw new TransformerException("Exception in class transformer " + parent + " from coremod " + getCoreMod(), e); + } + } + @Override public String toString() { diff --git a/src/main/java/net/minecraftforge/fml/common/asm/transformers/LWJGLTransformer.java b/src/main/java/net/minecraftforge/fml/common/asm/transformers/LWJGLTransformer.java index 803e13759..1bed2c972 100644 --- a/src/main/java/net/minecraftforge/fml/common/asm/transformers/LWJGLTransformer.java +++ b/src/main/java/net/minecraftforge/fml/common/asm/transformers/LWJGLTransformer.java @@ -1,86 +1,108 @@ package net.minecraftforge.fml.common.asm.transformers; import net.minecraft.launchwrapper.IClassTransformer; -import net.minecraft.launchwrapper.Launch; +import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; import org.objectweb.asm.commons.ClassRemapper; import org.objectweb.asm.commons.Remapper; -import org.objectweb.asm.tree.ClassNode; +import org.spongepowered.asm.mixin.Mixin; -import java.io.IOException; -import java.util.Set; -import java.util.stream.Collectors; +import java.util.jar.Manifest; public class LWJGLTransformer implements IClassTransformer { + private static final LWJGLXRemapper INSTANCE = new LWJGLXRemapper(); + @Override - public byte[] transform(String s, String s1, byte[] bytes) { - if (!s1.startsWith("org.lwjgl.")) { - return bytes; - } - String lwjglxName = s.replace("org.lwjgl.", "org.lwjglx."); - byte[] lwjglxBytes; - try { - lwjglxBytes = Launch.classLoader.testGetClassBytes(lwjglxName); - } catch (IOException e) { - return bytes; - } - if (lwjglxBytes == null) { - return bytes; + public byte[] transform(String name, String remappedName, byte[] bytes) { + return transform(name, remappedName, bytes, null, null); + } + + @Override + public byte[] transform(String s, String s1, byte[] bytes, Package pkg, Manifest manifest) { + if (bytes == null) return null; + if (s1.startsWith("net.minecraft.") + || s1.startsWith("org.lwjgl.")) return bytes; + if (manifest != null) { + var attributes = manifest.getMainAttributes(); + if ("true".equals(attributes.getValue("Lwjgl3-Aware"))) return bytes; } - ClassReader lwjglxReader = new ClassReader(lwjglxBytes); + ClassReader reader = new ClassReader(bytes); ClassWriter writer = new ClassWriter(0); - ClassVisitor classVisitor = new ClassRemapper(writer, INSTANCE); - lwjglxReader.accept(classVisitor, 0); - lwjglxBytes = writer.toByteArray(); - if (bytes == null) { - return lwjglxBytes; - } + ClassVisitor cv = new ClassRemapperWithMixinHandle(writer, INSTANCE); + reader.accept(cv, 0); + return writer.toByteArray(); + } + + private static class ClassRemapperWithMixinHandle extends ClassRemapper { + private boolean isMixin = false; - ClassNode lwjglNode = new ClassNode(); - ClassReader lwjglReader = new ClassReader(bytes); - lwjglReader.accept(lwjglNode, 0); + public ClassRemapperWithMixinHandle(ClassVisitor classVisitor, Remapper remapper) { + super(classVisitor, remapper); + } - lwjglxReader = new ClassReader(lwjglxBytes); - ClassNode lwjglxNode = new ClassNode(); - lwjglxReader.accept(lwjglxNode, 0); - Set methods = lwjglNode.methods.stream().map(m -> m.name + m.desc).collect(Collectors.toSet()); - lwjglxNode.methods.forEach(m -> { - if (!methods.contains(m.name + m.desc)) { - lwjglNode.methods.add(m); + @Override + public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) { + if (descriptor != null && descriptor.equals(Type.getDescriptor(Mixin.class))) { + INSTANCE.setIsMixin(true); + isMixin = true; } - }); - Set fields = lwjglNode.fields.stream().map(f -> f.name + f.desc).collect(Collectors.toSet()); - lwjglxNode.fields.forEach(f -> { - if (!fields.contains(f.name + f.desc)) { - lwjglNode.fields.add(f); + return super.visitAnnotation(descriptor, visible); + } + + @Override + public void visitEnd() { + if (isMixin) { + INSTANCE.setIsMixin(false); } - }); - if (s1.equals("org.lwjgl.openal.AL")) { - lwjglNode.methods.removeIf(m -> m.name.equals("destroy")); - lwjglxNode.methods.stream().filter(m -> m.name.equals("destroy")).forEach(m -> lwjglNode.methods.add(m)); + super.visitEnd(); } - ClassWriter out = new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS); - lwjglNode.accept(out); - return out.toByteArray(); } - static class LWJGLXRemapper extends Remapper { + private static class LWJGLXRemapper extends Remapper { + + private boolean isMixin; + + public LWJGLXRemapper() { + super(Opcodes.ASM9); + } @Override public String map(String typeName) { if (typeName == null) { return null; } - if (typeName.startsWith("org/lwjglx/")) { - return "org/lwjgl/" + typeName.substring(11); + + if (isMixin) { + return typeName.replace("org/lwjgl/", "org/lwjglx/"); + } else if (typeName.startsWith("org/lwjgl/")) { + return "org/lwjglx/" + typeName.substring(10); } return typeName; } - + + @Override + public Object mapValue(final Object value) { + if (value == null) { + return null; + } + + if (value instanceof String str) { + if (isMixin) { + return str.replace("org/lwjgl/", "org/lwjglx/"); + } + } + + return super.mapValue(value); + } + + public void setIsMixin(boolean value) { + isMixin = value; + } } - } diff --git a/src/main/java/net/minecraftforge/fml/common/registry/ItemStackHolderRef.java b/src/main/java/net/minecraftforge/fml/common/registry/ItemStackHolderRef.java index 568a0f2af..7243abc47 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/ItemStackHolderRef.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/ItemStackHolderRef.java @@ -21,7 +21,7 @@ import java.lang.reflect.Field; -import com.cleanroommc.hackery.ReflectionHackery; +import com.cleanroommc.cleanroom.hackery.ReflectionHackery; import net.lenni0451.reflect.Classes; import net.lenni0451.reflect.Fields; import net.minecraft.item.ItemStack; diff --git a/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java b/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java index f0268a974..b014818d7 100644 --- a/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java +++ b/src/main/java/net/minecraftforge/fml/relauncher/FMLLaunchHandler.java @@ -23,8 +23,7 @@ import java.util.Arrays; import java.util.stream.Collectors; -import com.cleanroommc.common.CleanroomVersion; -import net.minecraft.launchwrapper.Launch; +import com.cleanroommc.cleanroom.common.CleanroomVersion; import net.minecraft.launchwrapper.LaunchClassLoader; import net.minecraftforge.fml.common.FMLLog; import net.minecraftforge.fml.common.TracingPrintStream; diff --git a/src/main/java/net/minecraftforge/registries/ObjectHolderRef.java b/src/main/java/net/minecraftforge/registries/ObjectHolderRef.java index 194c71b61..f4f03561b 100644 --- a/src/main/java/net/minecraftforge/registries/ObjectHolderRef.java +++ b/src/main/java/net/minecraftforge/registries/ObjectHolderRef.java @@ -24,7 +24,7 @@ import java.util.LinkedList; import java.util.Queue; -import com.cleanroommc.hackery.ReflectionHackery; +import com.cleanroommc.cleanroom.hackery.ReflectionHackery; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.common.FMLLog; diff --git a/src/test/java/com/cleanroommc/hackery/EnumHackeryTest.java b/src/test/java/com/cleanroommc/hackery/EnumHackeryTest.java index 6f7239172..cc14398dd 100644 --- a/src/test/java/com/cleanroommc/hackery/EnumHackeryTest.java +++ b/src/test/java/com/cleanroommc/hackery/EnumHackeryTest.java @@ -1,6 +1,6 @@ package com.cleanroommc.hackery; -import com.cleanroommc.hackery.enums.EnumHackery; +import com.cleanroommc.cleanroom.hackery.enums.EnumHackery; import net.lenni0451.reflect.Constructors; import net.minecraft.item.ItemStack; import org.junit.jupiter.api.Test; diff --git a/templates/CleanroomVersion.java b/templates/CleanroomVersion.java index cad33fa65..b2ef89d91 100644 --- a/templates/CleanroomVersion.java +++ b/templates/CleanroomVersion.java @@ -1,4 +1,4 @@ -package com.cleanroommc.common; +package com.cleanroommc.cleanroom.common; /** * Use methods to avoid final field references being fixed in bytecode