From 14892a2ece9de6bca6a3445878c82d1212acde77 Mon Sep 17 00:00:00 2001 From: Aurorawr Date: Fri, 3 Oct 2025 23:00:47 +0100 Subject: [PATCH] Add native Mojmaps to Compression and Login Finish packet (#5875) --- .../GeyserSpigotCompressionDisabler.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotCompressionDisabler.java b/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotCompressionDisabler.java index 2a6056df9..f0fa71ab2 100644 --- a/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotCompressionDisabler.java +++ b/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotCompressionDisabler.java @@ -96,19 +96,31 @@ public class GeyserSpigotCompressionDisabler extends ChannelOutboundHandlerAdapt private static Class findCompressionPacket() throws ClassNotFoundException { try { - return Class.forName("net.minecraft.network.protocol.login.PacketLoginOutSetCompression"); + // Mojmaps + return Class.forName("net.minecraft.network.protocol.login.ClientboundLoginCompressionPacket"); } catch (ClassNotFoundException e) { - String prefix = Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit", "net.minecraft.server"); - return Class.forName(prefix + ".PacketLoginOutSetCompression"); + try { + // Spigot mappings + return Class.forName("net.minecraft.network.protocol.login.PacketLoginOutSetCompression"); + } catch (ClassNotFoundException ex) { + String prefix = Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit", "net.minecraft.server"); + return Class.forName(prefix + ".PacketLoginOutSetCompression"); + } } } private static Class findLoginSuccessPacket() throws ClassNotFoundException { try { - return Class.forName("net.minecraft.network.protocol.login.PacketLoginOutSuccess"); + // Mojmaps + return Class.forName("net.minecraft.network.protocol.login.ClientboundLoginFinishedPacket"); } catch (ClassNotFoundException e) { - String prefix = Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit", "net.minecraft.server"); - return Class.forName(prefix + ".PacketLoginOutSuccess"); + try { + // Spigot mappings + return Class.forName("net.minecraft.network.protocol.login.PacketLoginOutSuccess"); + } catch (ClassNotFoundException ex) { + String prefix = Bukkit.getServer().getClass().getPackage().getName().replace("org.bukkit.craftbukkit", "net.minecraft.server"); + return Class.forName(prefix + ".PacketLoginOutSuccess"); + } } } }