From 9eb2df04e7075c3725130cbee4c91ec7ef161635 Mon Sep 17 00:00:00 2001 From: EarthCow <56940983+EarthCow@users.noreply.github.com> Date: Fri, 29 May 2026 22:21:47 -0400 Subject: [PATCH] Ensure limbo plugin exists for fromLimbo --- .../xyz/earthcow/networkjoinmessages/bungee/BungeeMain.java | 5 +++++ .../networkjoinmessages/common/abstraction/CorePlugin.java | 1 + .../common/listeners/CorePlayerListener.java | 2 +- .../earthcow/networkjoinmessages/velocity/VelocityMain.java | 5 +++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/xyz/earthcow/networkjoinmessages/bungee/BungeeMain.java b/src/main/java/xyz/earthcow/networkjoinmessages/bungee/BungeeMain.java index 9371155..2398af8 100644 --- a/src/main/java/xyz/earthcow/networkjoinmessages/bungee/BungeeMain.java +++ b/src/main/java/xyz/earthcow/networkjoinmessages/bungee/BungeeMain.java @@ -210,4 +210,9 @@ public int runTaskAsyncLater(Runnable task, int timeInMillisecondsLater) { public boolean isPluginLoaded(String pluginName) { return getProxy().getPluginManager().getPlugin(pluginName) != null; } + + @Override + public boolean hasLimbo() { + return false; + } } diff --git a/src/main/java/xyz/earthcow/networkjoinmessages/common/abstraction/CorePlugin.java b/src/main/java/xyz/earthcow/networkjoinmessages/common/abstraction/CorePlugin.java index bd90338..cafe863 100644 --- a/src/main/java/xyz/earthcow/networkjoinmessages/common/abstraction/CorePlugin.java +++ b/src/main/java/xyz/earthcow/networkjoinmessages/common/abstraction/CorePlugin.java @@ -32,6 +32,7 @@ public interface CorePlugin { int runTaskAsyncLater(Runnable task, int timeInMillisecondsLater); boolean isPluginLoaded(String pluginName); + boolean hasLimbo(); CoreCommandSender getConsole(); diff --git a/src/main/java/xyz/earthcow/networkjoinmessages/common/listeners/CorePlayerListener.java b/src/main/java/xyz/earthcow/networkjoinmessages/common/listeners/CorePlayerListener.java index 4e2864f..f9c1040 100644 --- a/src/main/java/xyz/earthcow/networkjoinmessages/common/listeners/CorePlayerListener.java +++ b/src/main/java/xyz/earthcow/networkjoinmessages/common/listeners/CorePlayerListener.java @@ -90,7 +90,7 @@ public void onServerConnected(@NotNull CorePlayer player, @NotNull CoreBackendSe if (!stateStore.isConnected(player)) { handleJoin(player, server); } else { - boolean fromLimbo = plugin.getServerType() == ServerType.VELOCITY && previousServer == null; + boolean fromLimbo = plugin.hasLimbo() && previousServer == null; handleSwap(player, server, fromLimbo); } }); diff --git a/src/main/java/xyz/earthcow/networkjoinmessages/velocity/VelocityMain.java b/src/main/java/xyz/earthcow/networkjoinmessages/velocity/VelocityMain.java index cad5529..3ea6adb 100644 --- a/src/main/java/xyz/earthcow/networkjoinmessages/velocity/VelocityMain.java +++ b/src/main/java/xyz/earthcow/networkjoinmessages/velocity/VelocityMain.java @@ -224,6 +224,11 @@ public boolean isPluginLoaded(String pluginName) { return proxy.getPluginManager().isLoaded(pluginName.toLowerCase()); } + @Override + public boolean hasLimbo() { + return isLimboAPIAvailable; + } + @Override public CorePlayer createPlayer(UUID uuid) { Optional player = proxy.getPlayer(uuid);