From aa185f11d7bf419716e9f955b95692110c6dfb2b Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Fri, 22 Aug 2025 16:50:31 +1000 Subject: [PATCH] Add extra protections against shutdown and startup events firing incorrectly, version bump --- gradle.properties | 2 +- .../client/mixin/minecraft/MixinClientLoginNetworkHandler.java | 3 ++- .../voxy/client/mixin/minecraft/MixinMinecraftClient.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index c87cbdc8..8ef6d33e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,6 +15,6 @@ loom_version=1.11-SNAPSHOT fabric_version=0.129.0+1.21.8 # Mod Properties -mod_version = 0.2.3-alpha +mod_version = 0.2.4-alpha maven_group = me.cortex archives_base_name = voxy \ No newline at end of file diff --git a/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinClientLoginNetworkHandler.java b/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinClientLoginNetworkHandler.java index bf4a0f01..79a38319 100644 --- a/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinClientLoginNetworkHandler.java +++ b/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinClientLoginNetworkHandler.java @@ -1,5 +1,6 @@ package me.cortex.voxy.client.mixin.minecraft; +import me.cortex.voxy.client.VoxyClient; import me.cortex.voxy.client.VoxyClientInstance; import me.cortex.voxy.client.config.VoxyConfig; import me.cortex.voxy.commonImpl.VoxyCommon; @@ -14,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; public class MixinClientLoginNetworkHandler { @Inject(method = "onGameJoin", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/packet/s2c/play/GameJoinS2CPacket;commonPlayerSpawnInfo()Lnet/minecraft/network/packet/s2c/play/CommonPlayerSpawnInfo;")) private void voxy$init(GameJoinS2CPacket packet, CallbackInfo ci) { - if (VoxyCommon.isAvailable()) { + if (VoxyCommon.isAvailable() && !VoxyClientInstance.isInGame) { VoxyClientInstance.isInGame = true; if (VoxyConfig.CONFIG.enabled) { if (VoxyCommon.getInstance() != null) { diff --git a/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinMinecraftClient.java b/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinMinecraftClient.java index 455922d3..16317f71 100644 --- a/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinMinecraftClient.java +++ b/src/main/java/me/cortex/voxy/client/mixin/minecraft/MixinMinecraftClient.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; public class MixinMinecraftClient { @Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;Z)V", at = @At("TAIL")) private void voxy$injectWorldClose(CallbackInfo ci) { - if (VoxyCommon.isAvailable()) { + if (VoxyCommon.isAvailable() && VoxyClientInstance.isInGame) { VoxyCommon.shutdownInstance(); VoxyClientInstance.isInGame = false; }