forked from TuxCoding/FastLogin
Fix BungeeCord not setting an premium uuid (Fixes #35)
This commit is contained in:
@ -7,6 +7,7 @@
|
||||
* Fix player entry is not saved if namechangecheck is enabled
|
||||
* Fix skin applies for third-party plugins
|
||||
* Switch to mcapi.ca for uuid lookups
|
||||
* Fix BungeeCord not setting an premium uuid
|
||||
|
||||
######1.6.2
|
||||
|
||||
|
@ -57,8 +57,9 @@ public class NameCheckTask implements Runnable {
|
||||
|
||||
//user not exists in the db
|
||||
try {
|
||||
if (plugin.getConfig().getBoolean("nameChangeCheck") || (plugin.getConfig().getBoolean("autoRegister")
|
||||
&& plugin.getAuthPlugin().isRegistered(username))) {
|
||||
boolean isRegistered = plugin.getAuthPlugin().isRegistered(username);
|
||||
if (plugin.getConfig().getBoolean("nameChangeCheck")
|
||||
|| (plugin.getConfig().getBoolean("autoRegister") && isRegistered)) {
|
||||
premiumUUID = plugin.getCore().getMojangApiConnector().getPremiumUUID(username);
|
||||
}
|
||||
|
||||
@ -71,7 +72,7 @@ public class NameCheckTask implements Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
if (premiumUUID != null && plugin.getConfig().getBoolean("autoRegister")) {
|
||||
if (premiumUUID != null && plugin.getConfig().getBoolean("autoRegister") && !isRegistered) {
|
||||
plugin.getLogger().log(Level.FINER, "Player {0} uses a premium username", username);
|
||||
enablePremiumLogin(profile, false);
|
||||
return;
|
||||
|
@ -47,8 +47,9 @@ public class ProtocolSupportListener implements Listener {
|
||||
|
||||
//user not exists in the db
|
||||
try {
|
||||
if (plugin.getConfig().getBoolean("nameChangeCheck") || (plugin.getConfig().getBoolean("autoRegister")
|
||||
&& plugin.getAuthPlugin().isRegistered(username))) {
|
||||
boolean isRegistered = plugin.getAuthPlugin().isRegistered(username);
|
||||
if (plugin.getConfig().getBoolean("nameChangeCheck")
|
||||
|| (plugin.getConfig().getBoolean("autoRegister") && isRegistered)) {
|
||||
premiumUUID = plugin.getCore().getMojangApiConnector().getPremiumUUID(username);
|
||||
}
|
||||
|
||||
@ -61,8 +62,7 @@ public class ProtocolSupportListener implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
if (premiumUUID != null
|
||||
&& plugin.getConfig().getBoolean("autoRegister") && !authPlugin.isRegistered(username)) {
|
||||
if (premiumUUID != null && plugin.getConfig().getBoolean("autoRegister") && !isRegistered) {
|
||||
plugin.getLogger().log(Level.FINER, "Player {0} uses a premium username", username);
|
||||
startPremiumSession(username, loginStartEvent, false, profile);
|
||||
return;
|
||||
|
@ -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);
|
||||
|
Reference in New Issue
Block a user