From 5a1e6a6d08fc10afb6de3d32f512f6218f99f7bb Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+Camotoy@users.noreply.github.com> Date: Tue, 7 Jun 2022 14:46:59 -0400 Subject: [PATCH] Fix Geyser booting on Spigot 1.19 --- bootstrap/spigot/pom.xml | 7 ++++++- .../geyser/platform/spigot/GeyserSpigotPlugin.java | 9 ++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/bootstrap/spigot/pom.xml b/bootstrap/spigot/pom.xml index 5f33e313e..72b812234 100644 --- a/bootstrap/spigot/pom.xml +++ b/bootstrap/spigot/pom.xml @@ -116,6 +116,12 @@ me.lucko.commodore org.geysermc.geyser.platform.spigot.shaded.commodore + + + io.netty.channel.kqueue + org.geysermc.geyser.platform.spigot.shaded.io.netty.channel.kqueue + @@ -129,7 +135,6 @@ io.netty:netty-transport-native-epoll:* io.netty:netty-transport-native-unix-common:* - io.netty:netty-transport-native-kqueue:* io.netty:netty-handler:* io.netty:netty-common:* io.netty:netty-buffer:* diff --git a/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java b/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java index 4ece501c4..4b41ad569 100644 --- a/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java +++ b/bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java @@ -29,6 +29,7 @@ import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.data.MappingData; import com.viaversion.viaversion.api.protocol.ProtocolPathEntry; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; +import io.netty.buffer.ByteBuf; import me.lucko.commodore.CommodoreProvider; import org.bukkit.Bukkit; import org.bukkit.command.PluginCommand; @@ -108,11 +109,9 @@ public class GeyserSpigotPlugin extends JavaPlugin implements GeyserBootstrap { } try { - // Required for the Cloudburst Network dependency to initialize. - Class.forName("io.netty.channel.kqueue.KQueue"); - } catch (ClassNotFoundException e) { - // While we could support these older versions, the downside is not having KQueue working at all - // And since there are alternative ways to get Geyser working for these aging platforms, it's not worth it. + // AvailableCommandsSerializer_v291 complains otherwise + ByteBuf.class.getMethod("writeShortLE", int.class); + } catch (NoSuchMethodException e) { getLogger().severe("*********************************************"); getLogger().severe(""); getLogger().severe(GeyserLocale.getLocaleStringLog("geyser.bootstrap.unsupported_server.header"));