From bf240840331b3ff0b7894dcde83aa01c98e50790 Mon Sep 17 00:00:00 2001 From: danyadev Date: Fri, 29 May 2026 09:35:31 -0700 Subject: [PATCH] switch to new RFB transform signature (#1421) --- dependencies.gradle | 2 +- .../rfb/transformers/RFBAngelicaRedirector.java | 12 ++++++++++-- .../transformers/RFBCeleritasBlockTransformer.java | 12 ++++++++++-- .../RFBIsbrhTessellatorAbuseTransformer.java | 12 ++++++++++-- .../loading/rfb/transformers/RFBUmbraRedirector.java | 9 ++++++++- 5 files changed, 39 insertions(+), 8 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 3bfd2ff2f..e2c49156e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -68,7 +68,7 @@ configurations.all { dependencies { compileOnly("com.github.GTNewHorizons:Hodgepodge:2.7.14:dev") - compileOnly("com.gtnewhorizons.retrofuturabootstrap:RetroFuturaBootstrap:1.0.7") { transitive = false } + compileOnly("com.gtnewhorizons.retrofuturabootstrap:RetroFuturaBootstrap:1.1.0") { transitive = false } // runtimeOnlyNonPublishable("com.github.GTNewHorizons:lwjgl3ify:3.0.99") compileOnly("org.projectlombok:lombok:1.18.42") { transitive = false } diff --git a/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBAngelicaRedirector.java b/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBAngelicaRedirector.java index 437b208af..ca06665bc 100644 --- a/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBAngelicaRedirector.java +++ b/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBAngelicaRedirector.java @@ -52,12 +52,20 @@ public class RFBAngelicaRedirector implements RfbClassTransformer { } @Override - public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, - @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { + public boolean transformClassIfNeeded(@NotNull ExtensibleClassLoader classLoader, + @NotNull RfbClassTransformer.Context context, @Nullable Manifest manifest, + @NotNull String className, @NotNull ClassNodeHandle classNode) { final boolean changed = inner.transformClassNode(className, classNode.getNode()); if (changed) { classNode.computeMaxs(); AngelicaClassDump.dumpRFBClass(className, classNode, this); } + return changed; + } + + @Override + public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, + @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { + transformClassIfNeeded(classLoader, context, manifest, className, classNode); } } diff --git a/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBCeleritasBlockTransformer.java b/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBCeleritasBlockTransformer.java index bfc63357e..eff33fe73 100644 --- a/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBCeleritasBlockTransformer.java +++ b/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBCeleritasBlockTransformer.java @@ -59,12 +59,20 @@ public class RFBCeleritasBlockTransformer implements RfbClassTransformer { } @Override - public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, - @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { + public boolean transformClassIfNeeded(@NotNull ExtensibleClassLoader classLoader, + @NotNull RfbClassTransformer.Context context, @Nullable Manifest manifest, + @NotNull String className, @NotNull ClassNodeHandle classNode) { final boolean changed = inner.transformClassNode(className, classNode.getNode()); if (changed) { classNode.computeMaxs(); AngelicaClassDump.dumpRFBClass(className, classNode, this); } + return changed; + } + + @Override + public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, + @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { + transformClassIfNeeded(classLoader, context, manifest, className, classNode); } } diff --git a/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBIsbrhTessellatorAbuseTransformer.java b/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBIsbrhTessellatorAbuseTransformer.java index d21c40fe3..37178da30 100644 --- a/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBIsbrhTessellatorAbuseTransformer.java +++ b/src/main/java/com/gtnewhorizons/angelica/loading/rfb/transformers/RFBIsbrhTessellatorAbuseTransformer.java @@ -49,11 +49,19 @@ public class RFBIsbrhTessellatorAbuseTransformer implements RfbClassTransformer } @Override - public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, + public boolean transformClassIfNeeded(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { - if (inner.transformClassNode(classNode.getNode(), this.isObf)) { + final boolean changed = inner.transformClassNode(classNode.getNode(), this.isObf); + if (changed) { classNode.computeMaxs(); AngelicaClassDump.dumpRFBClass(className, classNode, this); } + return changed; + } + + @Override + public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, + @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { + transformClassIfNeeded(classLoader, context, manifest, className, classNode); } } diff --git a/umbra/src/main/java/com/gtnewhorizons/umbra/loading/rfb/transformers/RFBUmbraRedirector.java b/umbra/src/main/java/com/gtnewhorizons/umbra/loading/rfb/transformers/RFBUmbraRedirector.java index bc68c73b1..42aabf6a1 100644 --- a/umbra/src/main/java/com/gtnewhorizons/umbra/loading/rfb/transformers/RFBUmbraRedirector.java +++ b/umbra/src/main/java/com/gtnewhorizons/umbra/loading/rfb/transformers/RFBUmbraRedirector.java @@ -52,12 +52,19 @@ public class RFBUmbraRedirector implements RfbClassTransformer { } @Override - public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, + public boolean transformClassIfNeeded(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { final boolean changed = inner.transformClassNode(className, classNode.getNode()); if (changed) { classNode.computeMaxs(); UmbraClassDump.dumpRFBClass(className, classNode, this); } + return changed; + } + + @Override + public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull RfbClassTransformer.Context context, + @Nullable Manifest manifest, @NotNull String className, @NotNull ClassNodeHandle classNode) { + transformClassIfNeeded(classLoader, context, manifest, className, classNode); } }