Fix bungeecord support (Fixes #26)

This commit is contained in:
games647
2016-06-13 08:51:37 +02:00
parent f04a44b1d2
commit 8abbb8f07c
3 changed files with 12 additions and 5 deletions

View File

@ -134,14 +134,14 @@ public class FastLoginBukkit extends JavaPlugin {
//clean up //clean up
session.clear(); session.clear();
if (core != null) {
core.close();
}
//remove old blacklists //remove old blacklists
for (Player player : getServer().getOnlinePlayers()) { for (Player player : getServer().getOnlinePlayers()) {
player.removeMetadata(getName(), this); player.removeMetadata(getName(), this);
} }
if (core != null) {
core.close();
}
} }
public FastLoginCore getCore() { public FastLoginCore getCore() {

View File

@ -11,6 +11,7 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent; 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.bukkit.event.player.PlayerQuitEvent;
/** /**
* This listener tells authentication plugins if the player has a premium account and we checked it successfully. So the * This listener tells authentication plugins if the player has a premium account and we checked it successfully. So the
@ -42,4 +43,10 @@ public class BukkitJoinListener implements Listener {
Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new ForceLoginTask(plugin, player), DELAY_LOGIN); Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new ForceLoginTask(plugin, player), DELAY_LOGIN);
} }
} }
@EventHandler(ignoreCancelled = true)
public void onPlayerQuit(PlayerQuitEvent quitEvent) {
Player player = quitEvent.getPlayer();
player.removeMetadata(plugin.getName(), plugin);
}
} }

View File

@ -31,7 +31,7 @@ public class ForceLoginTask implements Runnable {
BungeeLoginSession session = plugin.getSession().get(pendingConnection); BungeeLoginSession session = plugin.getSession().get(pendingConnection);
PlayerProfile playerProfile = session.getProfile(); PlayerProfile playerProfile = session.getProfile();
if (player.isConnected()) { if (!player.isConnected()) {
return; return;
} }