Fix BungeeCord not setting an premium uuid (Fixes #35)

This commit is contained in:
games647
2016-07-09 13:30:43 +02:00
parent bb2e60f6e1
commit 0745957e79
5 changed files with 17 additions and 14 deletions
@@ -68,13 +68,12 @@ public class PluginMessageListener implements Listener {
if (forPlayer.getPendingConnection().isOnlineMode()) {
//bukkit module successfully received and force logged in the user
//update only on success to prevent corrupt data
PlayerProfile playerProfile = plugin.getCore().getStorage().loadProfile(forPlayer.getName());
BungeeLoginSession loginSession = plugin.getSession().get(forPlayer.getPendingConnection());
PlayerProfile playerProfile = loginSession.getProfile();
loginSession.setRegistered(true);
if (!loginSession.isAlreadySaved()) {
playerProfile.setPremium(true);
//we override this in the loginevent
plugin.getCore().getStorage().save(playerProfile);
loginSession.setAlreadySaved(true);
}
@@ -57,11 +57,13 @@ public class ForceLoginTask implements Runnable {
//save will happen on success message from bukkit
sendBukkitLoginNotification(autoRegister);
}
} else //cracked player
if (!session.isAlreadySaved()) {
playerProfile.setPremium(false);
plugin.getCore().getStorage().save(playerProfile);
session.setAlreadySaved(true);
} else {
//cracked player
if (!session.isAlreadySaved()) {
playerProfile.setPremium(false);
plugin.getCore().getStorage().save(playerProfile);
session.setAlreadySaved(true);
}
}
} catch (Exception ex) {
plugin.getLogger().log(Level.INFO, "ERROR ON FORCE LOGIN", ex);