From 0e793806183fd74b6bac80c5ac71446946614406 Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sun, 31 May 2026 20:56:00 -0700 Subject: [PATCH] More class loading order fun with java 8... (#1804) --- dependencies.gradle | 2 +- .../angelica/loading/AngelicaClientTweaker.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index e2c49156e..f7f70d247 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -76,7 +76,7 @@ dependencies { // Iris Shaders compileOnly('org.jetbrains:annotations:26.0.2') - api("com.github.GTNewHorizons:GTNHLib:0.10.0:dev") + api("com.github.GTNewHorizons:GTNHLib:0.11.4:dev") shadowImplementation(project(":glsm")) { transitive = false } shadowImplementation(project(":lwjgl3-backend")) { transitive = false } diff --git a/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaClientTweaker.java b/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaClientTweaker.java index 9acf5084c..a7f452a6e 100644 --- a/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaClientTweaker.java +++ b/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaClientTweaker.java @@ -53,8 +53,15 @@ public final class AngelicaClientTweaker implements IFMLLoadingPlugin, IEarlyMix Launch.classLoader.addTransformerExclusion("com.gtnewhorizons.angelica.loading"); Launch.classLoader.addTransformerExclusion("com.gtnewhorizons.angelica.glsm.GLStateManager"); - if (Launch.blackboard.getOrDefault("angelica.rfbPluginLoaded", Boolean.FALSE) == Boolean.TRUE) { + final boolean rfbLoaded = Launch.blackboard.getOrDefault("angelica.rfbPluginLoaded", Boolean.FALSE) == Boolean.TRUE; + if (rfbLoaded) { addLwjgl3ifyExclusions(); + } else { + // Fucking java 8 and non RFB + try { + Class.forName("com.gtnewhorizon.gtnhlib.core.GTNHLibCore", true, Launch.classLoader); + } catch (ClassNotFoundException ignored) { + } } try { @@ -84,7 +91,6 @@ public final class AngelicaClientTweaker implements IFMLLoadingPlugin, IEarlyMix // packages to avoid interfering with mixin delegation on game classes. AngelicaLateTweaker removes this registration once // mixins are setup. if (FMLLaunchHandler.side().isClient()) { - final boolean rfbLoaded = Launch.blackboard.getOrDefault("angelica.rfbPluginLoaded", Boolean.FALSE) == Boolean.TRUE; if (!rfbLoaded) { final String transformer = "com.gtnewhorizons.angelica.loading.fml.transformers.EarlyRedirectorTransformer"; FMLRelaunchLog.finer("Registering transformer %s", transformer);