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 @EventHandler
public void onServerSwitch(ServerSwitchEvent e) { 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 @EventHandler
public void onLeave(PlayerDisconnectEvent e) { 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 @EventHandler
public void onKick(ServerKickEvent e) { public void onKick(ServerKickEvent e) {
if(!e.getPlayer().isConnected()) return; if(!e.getPlayer().isConnected()) return;
if(e.getPlayer().getServer() == null) return; // if the player is kicked on initial join, we dont care 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()); Component reason = BungeeComponentSerializer.get().deserialize(e.getKickReasonComponent());
main.getEventHandler().onServerKick( main.getEventHandler().onServerKick(
new BungeePlayer(e.getPlayer()), new BungeePlayer(e.getPlayer()),
@@ -143,6 +149,7 @@ public class BungeeQueue extends Plugin implements Listener, Implementation {
reason, reason,
false false
); );
});
} }
@Override @Override