mirror of
https://github.com/TuxCoding/FastLogin.git
synced 2025-07-31 19:24:47 +02:00
Use intends to run BungeeCord tasks on a event in background
This commit is contained in:
@@ -33,15 +33,18 @@ public class PlayerConnectionListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPreLogin(PreLoginEvent preLoginEvent) {
|
public void onPreLogin(final PreLoginEvent preLoginEvent) {
|
||||||
if (preLoginEvent.isCancelled()) {
|
if (preLoginEvent.isCancelled()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
preLoginEvent.registerIntent(plugin);
|
||||||
|
ProxyServer.getInstance().getScheduler().runAsync(plugin, new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
PendingConnection connection = preLoginEvent.getConnection();
|
PendingConnection connection = preLoginEvent.getConnection();
|
||||||
String username = connection.getName();
|
String username = connection.getName();
|
||||||
//just enable it for activated users
|
try {
|
||||||
|
|
||||||
PlayerProfile playerProfile = plugin.getStorage().getProfile(username, true);
|
PlayerProfile playerProfile = plugin.getStorage().getProfile(username, true);
|
||||||
if (playerProfile != null) {
|
if (playerProfile != null) {
|
||||||
if (playerProfile.isPremium()) {
|
if (playerProfile.isPremium()) {
|
||||||
@@ -62,6 +65,11 @@ public class PlayerConnectionListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
preLoginEvent.completeIntent(plugin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@@ -9,7 +9,6 @@ import me.vik1395.BungeeAuth.ListenerClass;
|
|||||||
import me.vik1395.BungeeAuth.Main;
|
import me.vik1395.BungeeAuth.Main;
|
||||||
import me.vik1395.BungeeAuth.Password.PasswordHandler;
|
import me.vik1395.BungeeAuth.Password.PasswordHandler;
|
||||||
import me.vik1395.BungeeAuth.Tables;
|
import me.vik1395.BungeeAuth.Tables;
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
|
||||||
|
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
|
|
||||||
@@ -35,9 +34,6 @@ public class BungeeAuthHook implements BungeeAuthPlugin {
|
|||||||
final Class<?>[] parameterTypes = new Class<?>[]{String.class, String.class};
|
final Class<?>[] parameterTypes = new Class<?>[]{String.class, String.class};
|
||||||
final Object[] arguments = new Object[]{player.getName(), "online"};
|
final Object[] arguments = new Object[]{player.getName(), "online"};
|
||||||
|
|
||||||
ProxyServer.getInstance().getScheduler().runAsync(Main.plugin, new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
try {
|
||||||
callProtected("setStatus", parameterTypes, arguments);
|
callProtected("setStatus", parameterTypes, arguments);
|
||||||
ListenerClass.movePlayer(player, false);
|
ListenerClass.movePlayer(player, false);
|
||||||
@@ -48,8 +44,6 @@ public class BungeeAuthHook implements BungeeAuthPlugin {
|
|||||||
Main.plugin.getLogger().severe("[BungeeAuth] Error force loging in player");
|
Main.plugin.getLogger().severe("[BungeeAuth] Error force loging in player");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isRegistered(String playerName) {
|
public boolean isRegistered(String playerName) {
|
||||||
@@ -84,9 +78,6 @@ public class BungeeAuthHook implements BungeeAuthPlugin {
|
|||||||
, String.class, String.class, String.class, String.class};
|
, String.class, String.class, String.class, String.class};
|
||||||
final Object[] arguments = new Object[] {player.getName(), hash, pType, "", lastip, regdate, lastip, lastseen};
|
final Object[] arguments = new Object[] {player.getName(), hash, pType, "", lastip, regdate, lastip, lastseen};
|
||||||
|
|
||||||
ProxyServer.getInstance().getScheduler().runAsync(Main.plugin, new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
try {
|
||||||
callProtected("newPlayerEntry", parameterTypes, arguments);
|
callProtected("newPlayerEntry", parameterTypes, arguments);
|
||||||
//proparly not thread-safe
|
//proparly not thread-safe
|
||||||
@@ -95,8 +86,6 @@ public class BungeeAuthHook implements BungeeAuthPlugin {
|
|||||||
Main.plugin.getLogger().severe("[BungeeAuth] Error when creating a new player in the Database");
|
Main.plugin.getLogger().severe("[BungeeAuth] Error when creating a new player in the Database");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//pail ;(
|
//pail ;(
|
||||||
private void callProtected(String methodName, Class<?>[] parameterTypes, Object[] arguments) throws Exception {
|
private void callProtected(String methodName, Class<?>[] parameterTypes, Object[] arguments) throws Exception {
|
||||||
|
Reference in New Issue
Block a user