From 4d1f0cbb26b89849524ad979513d3d073231a77c Mon Sep 17 00:00:00 2001 From: maciekmm Date: Sun, 22 Jun 2014 17:11:27 +1000 Subject: [PATCH] Added getKickedFrom() to ServerKickEvent. --- .../net/md_5/bungee/api/event/ServerKickEvent.java | 13 +++++++++++++ .../main/java/net/md_5/bungee/ServerConnector.java | 2 +- .../md_5/bungee/connection/DownstreamBridge.java | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/net/md_5/bungee/api/event/ServerKickEvent.java b/api/src/main/java/net/md_5/bungee/api/event/ServerKickEvent.java index aea827b2..0e1ef5c4 100644 --- a/api/src/main/java/net/md_5/bungee/api/event/ServerKickEvent.java +++ b/api/src/main/java/net/md_5/bungee/api/event/ServerKickEvent.java @@ -27,6 +27,11 @@ public class ServerKickEvent extends Event implements Cancellable * Player being kicked. */ private final ProxiedPlayer player; + /** + * The server the player was kicked from, should be used in preference to + * {@link ProxiedPlayer#getServer()}. + */ + private final ServerInfo kickedFrom; /** * Kick reason. */ @@ -46,14 +51,22 @@ public class ServerKickEvent extends Event implements Cancellable CONNECTING, CONNECTED, UNKNOWN; } + @Deprecated public ServerKickEvent(ProxiedPlayer player, BaseComponent[] kickReasonComponent, ServerInfo cancelServer) { this( player, kickReasonComponent, cancelServer, State.UNKNOWN ); } + @Deprecated public ServerKickEvent(ProxiedPlayer player, BaseComponent[] kickReasonComponent, ServerInfo cancelServer, State state) + { + this( player, player.getServer().getInfo(), kickReasonComponent, cancelServer, state ); + } + + public ServerKickEvent(ProxiedPlayer player, ServerInfo kickedFrom, BaseComponent[] kickReasonComponent, ServerInfo cancelServer, State state) { this.player = player; + this.kickedFrom = kickedFrom; this.kickReasonComponent = kickReasonComponent; this.cancelServer = cancelServer; this.state = state; diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java index 8162d2f4..3d342f84 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java @@ -210,7 +210,7 @@ public class ServerConnector extends PacketHandler { def = null; } - ServerKickEvent event = bungee.getPluginManager().callEvent( new ServerKickEvent( user, ComponentSerializer.parse( kick.getMessage() ), def, ServerKickEvent.State.CONNECTING ) ); + ServerKickEvent event = bungee.getPluginManager().callEvent( new ServerKickEvent( user, target, ComponentSerializer.parse( kick.getMessage() ), def, ServerKickEvent.State.CONNECTING ) ); if ( event.isCancelled() && event.getCancelServer() != null ) { user.connect( event.getCancelServer() ); diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java index b78eae73..fcd6c4eb 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java @@ -383,7 +383,7 @@ public class DownstreamBridge extends PacketHandler { def = null; } - ServerKickEvent event = bungee.getPluginManager().callEvent( new ServerKickEvent( con, ComponentSerializer.parse( kick.getMessage() ), def, ServerKickEvent.State.CONNECTED ) ); + ServerKickEvent event = bungee.getPluginManager().callEvent( new ServerKickEvent( con, server.getInfo(), ComponentSerializer.parse( kick.getMessage() ), def, ServerKickEvent.State.CONNECTED ) ); if ( event.isCancelled() && event.getCancelServer() != null ) { con.connectNow( event.getCancelServer() );