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 player entry is not saved if namechangecheck is enabled
|
||||||
* Fix skin applies for third-party plugins
|
* Fix skin applies for third-party plugins
|
||||||
* Switch to mcapi.ca for uuid lookups
|
* Switch to mcapi.ca for uuid lookups
|
||||||
|
* Fix BungeeCord not setting an premium uuid
|
||||||
|
|
||||||
######1.6.2
|
######1.6.2
|
||||||
|
|
||||||
|
@ -57,8 +57,9 @@ public class NameCheckTask implements Runnable {
|
|||||||
|
|
||||||
//user not exists in the db
|
//user not exists in the db
|
||||||
try {
|
try {
|
||||||
if (plugin.getConfig().getBoolean("nameChangeCheck") || (plugin.getConfig().getBoolean("autoRegister")
|
boolean isRegistered = plugin.getAuthPlugin().isRegistered(username);
|
||||||
&& plugin.getAuthPlugin().isRegistered(username))) {
|
if (plugin.getConfig().getBoolean("nameChangeCheck")
|
||||||
|
|| (plugin.getConfig().getBoolean("autoRegister") && isRegistered)) {
|
||||||
premiumUUID = plugin.getCore().getMojangApiConnector().getPremiumUUID(username);
|
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);
|
plugin.getLogger().log(Level.FINER, "Player {0} uses a premium username", username);
|
||||||
enablePremiumLogin(profile, false);
|
enablePremiumLogin(profile, false);
|
||||||
return;
|
return;
|
||||||
|
@ -47,8 +47,9 @@ public class ProtocolSupportListener implements Listener {
|
|||||||
|
|
||||||
//user not exists in the db
|
//user not exists in the db
|
||||||
try {
|
try {
|
||||||
if (plugin.getConfig().getBoolean("nameChangeCheck") || (plugin.getConfig().getBoolean("autoRegister")
|
boolean isRegistered = plugin.getAuthPlugin().isRegistered(username);
|
||||||
&& plugin.getAuthPlugin().isRegistered(username))) {
|
if (plugin.getConfig().getBoolean("nameChangeCheck")
|
||||||
|
|| (plugin.getConfig().getBoolean("autoRegister") && isRegistered)) {
|
||||||
premiumUUID = plugin.getCore().getMojangApiConnector().getPremiumUUID(username);
|
premiumUUID = plugin.getCore().getMojangApiConnector().getPremiumUUID(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,8 +62,7 @@ public class ProtocolSupportListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (premiumUUID != null
|
if (premiumUUID != null && plugin.getConfig().getBoolean("autoRegister") && !isRegistered) {
|
||||||
&& plugin.getConfig().getBoolean("autoRegister") && !authPlugin.isRegistered(username)) {
|
|
||||||
plugin.getLogger().log(Level.FINER, "Player {0} uses a premium username", username);
|
plugin.getLogger().log(Level.FINER, "Player {0} uses a premium username", username);
|
||||||
startPremiumSession(username, loginStartEvent, false, profile);
|
startPremiumSession(username, loginStartEvent, false, profile);
|
||||||
return;
|
return;
|
||||||
|
@ -68,13 +68,12 @@ public class PluginMessageListener implements Listener {
|
|||||||
if (forPlayer.getPendingConnection().isOnlineMode()) {
|
if (forPlayer.getPendingConnection().isOnlineMode()) {
|
||||||
//bukkit module successfully received and force logged in the user
|
//bukkit module successfully received and force logged in the user
|
||||||
//update only on success to prevent corrupt data
|
//update only on success to prevent corrupt data
|
||||||
PlayerProfile playerProfile = plugin.getCore().getStorage().loadProfile(forPlayer.getName());
|
|
||||||
BungeeLoginSession loginSession = plugin.getSession().get(forPlayer.getPendingConnection());
|
BungeeLoginSession loginSession = plugin.getSession().get(forPlayer.getPendingConnection());
|
||||||
|
PlayerProfile playerProfile = loginSession.getProfile();
|
||||||
loginSession.setRegistered(true);
|
loginSession.setRegistered(true);
|
||||||
|
|
||||||
if (!loginSession.isAlreadySaved()) {
|
if (!loginSession.isAlreadySaved()) {
|
||||||
playerProfile.setPremium(true);
|
playerProfile.setPremium(true);
|
||||||
//we override this in the loginevent
|
|
||||||
plugin.getCore().getStorage().save(playerProfile);
|
plugin.getCore().getStorage().save(playerProfile);
|
||||||
loginSession.setAlreadySaved(true);
|
loginSession.setAlreadySaved(true);
|
||||||
}
|
}
|
||||||
|
@ -57,11 +57,13 @@ public class ForceLoginTask implements Runnable {
|
|||||||
//save will happen on success message from bukkit
|
//save will happen on success message from bukkit
|
||||||
sendBukkitLoginNotification(autoRegister);
|
sendBukkitLoginNotification(autoRegister);
|
||||||
}
|
}
|
||||||
} else //cracked player
|
} else {
|
||||||
if (!session.isAlreadySaved()) {
|
//cracked player
|
||||||
playerProfile.setPremium(false);
|
if (!session.isAlreadySaved()) {
|
||||||
plugin.getCore().getStorage().save(playerProfile);
|
playerProfile.setPremium(false);
|
||||||
session.setAlreadySaved(true);
|
plugin.getCore().getStorage().save(playerProfile);
|
||||||
|
session.setAlreadySaved(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
plugin.getLogger().log(Level.INFO, "ERROR ON FORCE LOGIN", ex);
|
plugin.getLogger().log(Level.INFO, "ERROR ON FORCE LOGIN", ex);
|
||||||
|
Reference in New Issue
Block a user