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"));