104 lines
3.8 KiB
Diff
104 lines
3.8 KiB
Diff
From ec36673732a8222bd6fdd768caa5cd10af0c9a8d Mon Sep 17 00:00:00 2001
|
|
From: md_5 <md_5@live.com.au>
|
|
Date: Sun, 2 Jun 2013 15:20:49 +1000
|
|
Subject: [PATCH] BungeeCord Support
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index fe8a0bd..e851b98 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -1035,4 +1035,23 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
|
* @see Player#setHealthScaled(boolean)
|
|
*/
|
|
public double getHealthScale();
|
|
+
|
|
+ // Spigot start
|
|
+ public class Spigot extends Entity.Spigot
|
|
+ {
|
|
+
|
|
+ /**
|
|
+ * Gets the connection address of this player, regardless of whether it
|
|
+ * has been spoofed or not.
|
|
+ *
|
|
+ * @return the player's connection address
|
|
+ */
|
|
+ public InetSocketAddress getRawAddress()
|
|
+ {
|
|
+ throw new UnsupportedOperationException( "Not supported yet." );
|
|
+ }
|
|
+ }
|
|
+
|
|
+ Spigot spigot();
|
|
+ // Spigot end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
|
|
index b74b7b8..081e994 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
|
|
@@ -14,6 +14,7 @@ public class PlayerLoginEvent extends PlayerEvent {
|
|
private final String hostname;
|
|
private Result result = Result.ALLOWED;
|
|
private String message = "";
|
|
+ private final InetAddress realAddress; // Spigot
|
|
|
|
/**
|
|
* @deprecated Address should be provided in other constructor
|
|
@@ -40,10 +41,17 @@ public class PlayerLoginEvent extends PlayerEvent {
|
|
* @param address The address the player used to connect, provided for
|
|
* timing issues
|
|
*/
|
|
- public PlayerLoginEvent(final Player player, final String hostname, final InetAddress address) {
|
|
+ public PlayerLoginEvent(final Player player, final String hostname, final InetAddress address, final InetAddress realAddress) { // Spigot
|
|
super(player);
|
|
this.hostname = hostname;
|
|
this.address = address;
|
|
+ // Spigot start
|
|
+ this.realAddress = realAddress;
|
|
+ }
|
|
+
|
|
+ public PlayerLoginEvent(final Player player, final String hostname, final InetAddress address) {
|
|
+ this(player, hostname, address, address);
|
|
+ // Spigot end
|
|
}
|
|
|
|
/**
|
|
@@ -52,7 +60,7 @@ public class PlayerLoginEvent extends PlayerEvent {
|
|
*/
|
|
@Deprecated
|
|
public PlayerLoginEvent(final Player player, final Result result, final String message) {
|
|
- this(player, "", null, result, message);
|
|
+ this(player, "", null, result, message, null); // Spigot
|
|
}
|
|
|
|
/**
|
|
@@ -65,12 +73,23 @@ public class PlayerLoginEvent extends PlayerEvent {
|
|
* @param result The result status for this event
|
|
* @param message The message to be displayed if result denies login
|
|
*/
|
|
- public PlayerLoginEvent(final Player player, String hostname, final InetAddress address, final Result result, final String message) {
|
|
- this(player, hostname, address);
|
|
+ public PlayerLoginEvent(final Player player, String hostname, final InetAddress address, final Result result, final String message, final InetAddress realAddress) { // Spigot
|
|
+ this(player, hostname, address, realAddress); // Spigot
|
|
this.result = result;
|
|
this.message = message;
|
|
}
|
|
|
|
+ // Spigot start
|
|
+ /**
|
|
+ * Gets the connection address of this player, regardless of whether it has been spoofed or not.
|
|
+ *
|
|
+ * @return the player's connection address
|
|
+ */
|
|
+ public InetAddress getRealAddress() {
|
|
+ return realAddress;
|
|
+ }
|
|
+ // Spigot end
|
|
+
|
|
/**
|
|
* Gets the current result of the login, as an enum
|
|
*
|
|
--
|
|
2.1.0
|
|
|