make bungee events non-blocking
This commit is contained in:
+9
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user