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); } }