diff --git a/src/main/java/dev/dfonline/codeclient/CodeClient.java b/src/main/java/dev/dfonline/codeclient/CodeClient.java index 869a2e1d..72653296 100644 --- a/src/main/java/dev/dfonline/codeclient/CodeClient.java +++ b/src/main/java/dev/dfonline/codeclient/CodeClient.java @@ -16,11 +16,14 @@ import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.ChatScreen; +import net.minecraft.client.gui.screen.GameMenuScreen; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.util.InputUtil; import net.minecraft.network.packet.Packet; import net.minecraft.network.listener.PacketListener; +import net.minecraft.network.packet.s2c.play.CloseScreenS2CPacket; import net.minecraft.text.Text; import org.jetbrains.annotations.NotNull; import org.lwjgl.glfw.GLFW; @@ -49,6 +52,10 @@ public class CodeClient implements ModInitializer { public static boolean handlePacket(Packet packet) { String name = packet.getClass().getName().replace("net.minecraft.network.packet.s2c.play.",""); // if(!List.of("PlayerListS2CPacket","WorldTimeUpdateS2CPacket","GameMessageS2CPacket","KeepAliveS2CPacket", "ChunkDataS2CPacket", "UnloadChunkS2CPacket","TeamS2CPacket", "ChunkRenderDistanceCenterS2CPacket", "MessageHeaderS2CPacket", "LightUpdateS2CPacket", "OverlayMessageS2CPacket").contains(name)) LOGGER.info(name); + if((MC.currentScreen instanceof GameMenuScreen || MC.currentScreen instanceof ChatScreen) && packet instanceof CloseScreenS2CPacket) { + return true; + } + return false; } public static boolean onSendPacket(Packet packet) {