From 7733135ce43943f0dc316cbe7339960cf49a1ca7 Mon Sep 17 00:00:00 2001 From: games647 Date: Fri, 10 Jun 2016 08:57:08 +0200 Subject: [PATCH] Fixed NPE in BungeeCord on cracked login for existing players (#22) --- CHANGELOG.md | 1 + .../fastlogin/bukkit/listener/ProtocolSupportListener.java | 3 +++ .../fastlogin/bukkit/listener/packet/StartPacketListener.java | 3 +++ .../games647/fastlogin/bungee/tasks/AsyncPremiumCheck.java | 2 ++ 4 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 693f2239..7e682c61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * Added localization * Fixed NPE on premium name check if it's pure cracked player +* Fixed NPE in BungeeCord on cracked login for existing players ######1.4 diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ProtocolSupportListener.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ProtocolSupportListener.java index 1335a57d..f2727d7b 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ProtocolSupportListener.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/ProtocolSupportListener.java @@ -74,6 +74,9 @@ public class ProtocolSupportListener implements Listener { } } else if (profile.isPremium()) { startPremiumSession(username, loginStartEvent, true, profile); + } else { + BukkitLoginSession loginSession = new BukkitLoginSession(username, profile); + plugin.getSessions().put(loginStartEvent.getAddress().toString(), loginSession); } } } diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/packet/StartPacketListener.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/packet/StartPacketListener.java index b59a78e4..073f1032 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/packet/StartPacketListener.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/listener/packet/StartPacketListener.java @@ -117,6 +117,9 @@ public class StartPacketListener extends PacketAdapter { } } else if (profile.isPremium()) { enablePremiumLogin(username, profile, sessionKey, player, packetEvent, true); + } else { + BukkitLoginSession loginSession = new BukkitLoginSession(username, profile); + plugin.getSessions().put(sessionKey, loginSession); } } } diff --git a/bungee/src/main/java/com/github/games647/fastlogin/bungee/tasks/AsyncPremiumCheck.java b/bungee/src/main/java/com/github/games647/fastlogin/bungee/tasks/AsyncPremiumCheck.java index 853a6bb7..66036563 100644 --- a/bungee/src/main/java/com/github/games647/fastlogin/bungee/tasks/AsyncPremiumCheck.java +++ b/bungee/src/main/java/com/github/games647/fastlogin/bungee/tasks/AsyncPremiumCheck.java @@ -47,6 +47,8 @@ public class AsyncPremiumCheck implements Runnable { } } else if (profile.isPremium()) { requestPremiumLogin(connection, profile, username, true); + } else { + plugin.getSession().put(connection, new LoginSession(username, false, profile)); } } catch (Exception ex) { plugin.getLogger().log(Level.SEVERE, "Failed to check premium state", ex);