make bungee events non-blocking

This commit is contained in:
ajgeiss0702
2022-04-21 11:16:01 -07:00
parent e0fbe81eda
commit 0c4911eb60
@@ -124,18 +124,24 @@ public class BungeeQueue extends Plugin implements Listener, Implementation {
@EventHandler
public void onServerSwitch(ServerSwitchEvent e) {
main.getEventHandler().onPlayerJoinServer(new BungeePlayer(e.getPlayer()));
ProxyServer.getInstance().getScheduler().runAsync(this, () ->
main.getEventHandler().onPlayerJoinServer(new BungeePlayer(e.getPlayer()))
);
}
@EventHandler
public void onLeave(PlayerDisconnectEvent e) {
main.getEventHandler().onPlayerLeave(new BungeePlayer(e.getPlayer()));
ProxyServer.getInstance().getScheduler().runAsync(this, () ->
main.getEventHandler().onPlayerLeave(new BungeePlayer(e.getPlayer()))
);
}
@EventHandler
public void onKick(ServerKickEvent e) {
if(!e.getPlayer().isConnected()) return;
if(e.getPlayer().getServer() == null) return; // if the player is kicked on initial join, we dont care
ProxyServer.getInstance().getScheduler().runAsync(this, () -> {
Component reason = BungeeComponentSerializer.get().deserialize(e.getKickReasonComponent());
main.getEventHandler().onServerKick(
new BungeePlayer(e.getPlayer()),
@@ -143,6 +149,7 @@ public class BungeeQueue extends Plugin implements Listener, Implementation {
reason,
false
);
});
}
@Override