Expose original server in ServerPreConnectEvent

This commit is contained in:
Andrew Steinborn
2018-09-15 01:16:26 -04:00
parent e9568e1b6c
commit 2b1d55a0fc
2 changed files with 10 additions and 3 deletions

View File

@@ -14,11 +14,13 @@ import java.util.Optional;
*/ */
public class ServerPreConnectEvent implements ResultedEvent<ServerPreConnectEvent.ServerResult> { public class ServerPreConnectEvent implements ResultedEvent<ServerPreConnectEvent.ServerResult> {
private final Player player; private final Player player;
private final ServerInfo originalServer;
private ServerResult result; private ServerResult result;
public ServerPreConnectEvent(Player player, ServerResult result) { public ServerPreConnectEvent(Player player, ServerInfo originalServer) {
this.player = Preconditions.checkNotNull(player, "player"); this.player = Preconditions.checkNotNull(player, "player");
this.result = Preconditions.checkNotNull(result, "result"); this.originalServer = Preconditions.checkNotNull(originalServer, "originalServer");
this.result = ServerResult.allowed(originalServer);
} }
public Player getPlayer() { public Player getPlayer() {
@@ -35,10 +37,15 @@ public class ServerPreConnectEvent implements ResultedEvent<ServerPreConnectEven
this.result = Preconditions.checkNotNull(result, "result"); this.result = Preconditions.checkNotNull(result, "result");
} }
public ServerInfo getOriginalServer() {
return originalServer;
}
@Override @Override
public String toString() { public String toString() {
return "ServerPreConnectEvent{" + return "ServerPreConnectEvent{" +
"player=" + player + "player=" + player +
", originalServer=" + originalServer +
", result=" + result + ", result=" + result +
'}'; '}';
} }

View File

@@ -275,7 +275,7 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
} }
// Otherwise, initiate the connection. // Otherwise, initiate the connection.
ServerPreConnectEvent event = new ServerPreConnectEvent(this, ServerPreConnectEvent.ServerResult.allowed(request.getServer())); ServerPreConnectEvent event = new ServerPreConnectEvent(this, request.getServer());
return server.getEventManager().fire(event) return server.getEventManager().fire(event)
.thenCompose((newEvent) -> { .thenCompose((newEvent) -> {
if (!newEvent.getResult().isAllowed()) { if (!newEvent.getResult().isAllowed()) {