mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-06 20:08:13 +02:00
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Please note that this build includes changes to meet upstreams requirements for nullability annotations. While we aim for a level of accuracy, these might not be 100% correct, if there are any issues, please speak to us on discord, or open an issue on the tracker to discuss. Bukkit Changes: 9a6a1de3 Remove nullability annotations from enum constructors 3f0591ea SPIGOT-2540: Add nullability annotations to entire Bukkit API CraftBukkit Changes:8d8475fc
SPIGOT-4666: Force parameter in HumanEntity#sleep8b1588e2
Fix ExplosionPrimeEvent#setFire not working with EnderCrystals39a287b7
Don't ignore newlines in PlayerListHeader/Footer Spigot Changes: cf694d87 Add nullability annotations
75 lines
2.4 KiB
Diff
75 lines
2.4 KiB
Diff
From 288a297fa9c66575aca683e0f2cb693bc119a3c2 Mon Sep 17 00:00:00 2001
|
|
From: Minecrell <minecrell@minecrell.net>
|
|
Date: Tue, 10 Oct 2017 18:44:42 +0200
|
|
Subject: [PATCH] Expose client protocol version and virtual host
|
|
|
|
Add a NetworkClient interface that provides access to:
|
|
- The socket address
|
|
- The protocol version
|
|
- The virtual host (the hostname/port the client used to connect
|
|
to the server)
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/network/NetworkClient.java b/src/main/java/com/destroystokyo/paper/network/NetworkClient.java
|
|
new file mode 100644
|
|
index 000000000..7b2af1bd7
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/network/NetworkClient.java
|
|
@@ -0,0 +1,41 @@
|
|
+package com.destroystokyo.paper.network;
|
|
+
|
|
+import java.net.InetSocketAddress;
|
|
+
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+/**
|
|
+ * Represents a client connected to the server.
|
|
+ */
|
|
+public interface NetworkClient {
|
|
+
|
|
+ /**
|
|
+ * Returns the socket address of the client.
|
|
+ *
|
|
+ * @return The client's socket address
|
|
+ */
|
|
+ @NotNull
|
|
+ InetSocketAddress getAddress();
|
|
+
|
|
+ /**
|
|
+ * Returns the protocol version of the client.
|
|
+ *
|
|
+ * @return The client's protocol version, or {@code -1} if unknown
|
|
+ * @see <a href="http://wiki.vg/Protocol_version_numbers">List of protocol
|
|
+ * version numbers</a>
|
|
+ */
|
|
+ int getProtocolVersion();
|
|
+
|
|
+ /**
|
|
+ * Returns the virtual host the client is connected to.
|
|
+ *
|
|
+ * <p>The virtual host refers to the hostname/port the client used to
|
|
+ * connect to the server.</p>
|
|
+ *
|
|
+ * @return The client's virtual host, or {@code null} if unknown
|
|
+ */
|
|
+ @Nullable
|
|
+ InetSocketAddress getVirtualHost();
|
|
+
|
|
+}
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index 4b59f8feb..eeed2e796 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Represents a player, connected or not
|
|
*/
|
|
-public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient {
|
|
+public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, com.destroystokyo.paper.network.NetworkClient { // Paper - Extend NetworkClient
|
|
|
|
/**
|
|
* Gets the "friendly" name to display of this player. This may include
|
|
--
|
|
2.21.0
|
|
|