From 7bc2ee296c05dbfe9c31accee1a2a1479137fc76 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Tue, 7 Jan 2025 21:34:07 -0600 Subject: [PATCH] Improve auto updater logging and fix potential issues with updating --- coreSubProjects | 2 +- .../fabric/mixins/client/MixinMinecraft.java | 8 ++-- .../forge/mixins/client/MixinMinecraft.java | 6 ++- .../mixins/client/MixinMinecraft.java | 47 ++----------------- 4 files changed, 15 insertions(+), 48 deletions(-) diff --git a/coreSubProjects b/coreSubProjects index a49d74763..54cbead4e 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit a49d74763a1862df7c252980b5f89116333bfe45 +Subproject commit 54cbead4eb4c5bd73ac7a7bd4d953f66eb8e6ab7 diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java index bd1998d62..174b970d7 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinMinecraft.java @@ -95,14 +95,16 @@ public abstract class MixinMinecraft ) private void buildInitialScreens(Runnable runnable) { + boolean showUpdater = SelfUpdater.onStart(); // always needs to be called, otherwise auto update setup won't be completed + // TODO merge logic for forge, neo, and fabric if ( - DEBUG_ALWAYS_SHOW_UPDATER || ( // Don't do anything if the user doesn't want it - Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get() - && SelfUpdater.onStart() + showUpdater + && Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get() ) + || DEBUG_ALWAYS_SHOW_UPDATER ) { runnable = () -> diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinMinecraft.java b/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinMinecraft.java index 358c70df5..ed16faadc 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinMinecraft.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinMinecraft.java @@ -76,10 +76,12 @@ public class MixinMinecraft ) private void buildInitialScreens(Runnable runnable) { + boolean showUpdater = SelfUpdater.onStart(); // always needs to be called, otherwise auto update setup won't be completed + // TODO merge logic for forge, neo, and fabric if ( - Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get() // Don't do anything if the user doesn't want it - && SelfUpdater.onStart() + showUpdater + && Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get() // Don't do anything if the user doesn't want it ) { runnable = () -> diff --git a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinMinecraft.java b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinMinecraft.java index 6e2d45373..bde4eb7d8 100644 --- a/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinMinecraft.java +++ b/neoforge/src/main/java/com/seibel/distanthorizons/neoforge/mixins/client/MixinMinecraft.java @@ -40,45 +40,6 @@ public class MixinMinecraft - // commented out due to a bug with Manifold and having nested preprocessors - // and since neoforge doesn't work for anything before MC 1.20.6 anyway it doesn't need to be included - - //#if MC_VER < MC_1_20_2 - //#if MC_VER == MC_1_20_1 - //@Redirect( - // method = "Lnet/minecraft/client/Minecraft;setInitialScreen(Lcom/mojang/realmsclient/client/RealmsClient;Lnet/minecraft/server/packs/resources/ReloadInstance;Lnet/minecraft/client/main/GameConfig$QuickPlayData;)V", - // at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;setScreen(Lnet/minecraft/client/gui/screens/Screen;)V") - //) - //public void onOpenScreen(Minecraft instance, Screen guiScreen) - //{ - //#else - //@Redirect( - // method = "(Lnet/minecraft/client/main/GameConfig;)V", - // at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;setScreen(Lnet/minecraft/client/gui/screens/Screen;)V") - //) - //public void onOpenScreen(Minecraft instance, Screen guiScreen) - //{ - //#endif - // if (!Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get()) // Don't do anything if the user doesn't want it - // { - // instance.setScreen(guiScreen); // Sets the screen back to the vanilla screen as if nothing ever happened - // return; - // } - // - // if (SelfUpdater.onStart()) - // { - // instance.setScreen(new UpdateModScreen( - // new TitleScreen(false), // We don't want to use the vanilla title screen as it would fade the buttons - // (Config.Client.Advanced.AutoUpdater.updateBranch.get() == EUpdateBranch.STABLE ? ModrinthGetter.getLatestIDForVersion(SingletonInjector.INSTANCE.get(IVersionConstants.class).getMinecraftVersion()): GitlabGetter.INSTANCE.projectPipelines.get(0).get("sha")) - // )); - // } - // else - // { - // instance.setScreen(guiScreen); // Sets the screen back to the vanilla screen as if nothing ever happened - // } - //} - //#endif - #if MC_VER >= MC_1_20_2 @Redirect( method = "Lnet/minecraft/client/Minecraft;onGameLoadFinished(Lnet/minecraft/client/Minecraft$GameLoadCookie;)V", @@ -86,14 +47,16 @@ public class MixinMinecraft ) private void buildInitialScreens(Runnable runnable) { + boolean showUpdater = SelfUpdater.onStart(); // always needs to be called, otherwise auto update setup won't be completed + // TODO merge logic for forge, neo, and fabric if ( - DEBUG_ALWAYS_SHOW_UPDATER || ( // Don't do anything if the user doesn't want it - Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get() - && SelfUpdater.onStart() + showUpdater + && Config.Client.Advanced.AutoUpdater.enableAutoUpdater.get() ) + || DEBUG_ALWAYS_SHOW_UPDATER ) { runnable = () ->