From 9e8a9508d7df512106c337fdc41e674ba4659df4 Mon Sep 17 00:00:00 2001 From: Smart123s <28480228+Smart123s@users.noreply.github.com> Date: Tue, 30 Mar 2021 20:03:09 +0200 Subject: [PATCH] Re-use FloodgatePlayer in FloodgateAuthTask --- .../fastlogin/bukkit/listener/ConnectionListener.java | 11 +++++++---- .../fastlogin/bukkit/task/FloodgateAuthTask.java | 6 +++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ConnectionListener.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ConnectionListener.java index cc333449..c1961af7 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ConnectionListener.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ConnectionListener.java @@ -14,6 +14,7 @@ import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerLoginEvent.Result; import org.geysermc.floodgate.api.FloodgateApi; +import org.geysermc.floodgate.api.player.FloodgatePlayer; import org.bukkit.event.player.PlayerQuitEvent; /** @@ -48,10 +49,12 @@ public class ConnectionListener implements Listener { // having the login session from the login process BukkitLoginSession session = plugin.getSession(player.getAddress()); - if (Bukkit.getServer().getPluginManager().isPluginEnabled("floodgate") && - FloodgateApi.getInstance().getPlayer(player.getUniqueId()) != null) { - Runnable floodgateAuthTask = new FloodgateAuthTask(plugin, player); - Bukkit.getScheduler().runTaskAsynchronously(plugin, floodgateAuthTask); + if (Bukkit.getServer().getPluginManager().isPluginEnabled("floodgate")) { + FloodgatePlayer floodgatePlayer = FloodgateApi.getInstance().getPlayer(player.getUniqueId()); + if (floodgatePlayer != null) { + Runnable floodgateAuthTask = new FloodgateAuthTask(plugin, player, floodgatePlayer); + Bukkit.getScheduler().runTaskAsynchronously(plugin, floodgateAuthTask); + } } else if (session == null) { String sessionId = plugin.getSessionId(player.getAddress()); plugin.getLog().info("No on-going login session for player: {} with ID {}", player, sessionId); diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java index 03031c0b..65296f63 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java @@ -2,7 +2,6 @@ package com.github.games647.fastlogin.bukkit.task; import org.bukkit.Bukkit; import org.bukkit.entity.Player; -import org.geysermc.floodgate.api.FloodgateApi; import org.geysermc.floodgate.api.player.FloodgatePlayer; import com.github.games647.fastlogin.bukkit.BukkitLoginSession; @@ -14,15 +13,16 @@ public class FloodgateAuthTask implements Runnable { private final FastLoginBukkit plugin; private final Player player; + private final FloodgatePlayer floodgatePlayer; - public FloodgateAuthTask(FastLoginBukkit plugin, Player player) { + public FloodgateAuthTask(FastLoginBukkit plugin, Player player, FloodgatePlayer floodgatePlayer) { this.plugin = plugin; this.player = player; + this.floodgatePlayer = floodgatePlayer; } @Override public void run() { - FloodgatePlayer floodgatePlayer = FloodgateApi.getInstance().getPlayer(player.getUniqueId()); plugin.getLog().info( "Player {} is connecting through Geyser Floodgate.", player.getName());