Re-use FloodgatePlayer in FloodgateAuthTask

This commit is contained in:
Smart123s
2021-03-30 20:03:09 +02:00
parent 600f484963
commit 9e8a9508d7
2 changed files with 10 additions and 7 deletions

View File

@ -14,6 +14,7 @@ import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerLoginEvent.Result; import org.bukkit.event.player.PlayerLoginEvent.Result;
import org.geysermc.floodgate.api.FloodgateApi; import org.geysermc.floodgate.api.FloodgateApi;
import org.geysermc.floodgate.api.player.FloodgatePlayer;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
/** /**
@ -48,10 +49,12 @@ public class ConnectionListener implements Listener {
// having the login session from the login process // having the login session from the login process
BukkitLoginSession session = plugin.getSession(player.getAddress()); BukkitLoginSession session = plugin.getSession(player.getAddress());
if (Bukkit.getServer().getPluginManager().isPluginEnabled("floodgate") && if (Bukkit.getServer().getPluginManager().isPluginEnabled("floodgate")) {
FloodgateApi.getInstance().getPlayer(player.getUniqueId()) != null) { FloodgatePlayer floodgatePlayer = FloodgateApi.getInstance().getPlayer(player.getUniqueId());
Runnable floodgateAuthTask = new FloodgateAuthTask(plugin, player); if (floodgatePlayer != null) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, floodgateAuthTask); Runnable floodgateAuthTask = new FloodgateAuthTask(plugin, player, floodgatePlayer);
Bukkit.getScheduler().runTaskAsynchronously(plugin, floodgateAuthTask);
}
} else if (session == null) { } else if (session == null) {
String sessionId = plugin.getSessionId(player.getAddress()); String sessionId = plugin.getSessionId(player.getAddress());
plugin.getLog().info("No on-going login session for player: {} with ID {}", player, sessionId); plugin.getLog().info("No on-going login session for player: {} with ID {}", player, sessionId);

View File

@ -2,7 +2,6 @@ package com.github.games647.fastlogin.bukkit.task;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.geysermc.floodgate.api.FloodgateApi;
import org.geysermc.floodgate.api.player.FloodgatePlayer; import org.geysermc.floodgate.api.player.FloodgatePlayer;
import com.github.games647.fastlogin.bukkit.BukkitLoginSession; import com.github.games647.fastlogin.bukkit.BukkitLoginSession;
@ -14,15 +13,16 @@ public class FloodgateAuthTask implements Runnable {
private final FastLoginBukkit plugin; private final FastLoginBukkit plugin;
private final Player player; 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.plugin = plugin;
this.player = player; this.player = player;
this.floodgatePlayer = floodgatePlayer;
} }
@Override @Override
public void run() { public void run() {
FloodgatePlayer floodgatePlayer = FloodgateApi.getInstance().getPlayer(player.getUniqueId());
plugin.getLog().info( plugin.getLog().info(
"Player {} is connecting through Geyser Floodgate.", "Player {} is connecting through Geyser Floodgate.",
player.getName()); player.getName());