geforkt von Mirrors/Paper
96d5e6ca48
Currently includes generated key holder classes for types used in the Registry Modification API
72 Zeilen
2.7 KiB
Diff
72 Zeilen
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 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 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b851aa04f
|
|
--- /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 264c6bdeb2f1f0d937e4356d761a3264a1c4d58a..f9239eae50b86f54f0cd8c604d2ba9468fc5f33b 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -51,7 +51,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Represents a player, connected or not
|
|
*/
|
|
-public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, net.kyori.adventure.bossbar.BossBarViewer { // Paper
|
|
+public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, net.kyori.adventure.bossbar.BossBarViewer, com.destroystokyo.paper.network.NetworkClient { // Paper
|
|
|
|
// Paper start
|
|
@Override
|