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)
This commit is contained in:
@@ -0,0 +1,39 @@
|
|||||||
|
package com.destroystokyo.paper.network;
|
||||||
|
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
import org.jspecify.annotations.NullMarked;
|
||||||
|
import org.jspecify.annotations.Nullable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a client connected to the server.
|
||||||
|
*/
|
||||||
|
@NullMarked
|
||||||
|
public interface NetworkClient {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the socket address of the client.
|
||||||
|
*
|
||||||
|
* @return The client's socket address
|
||||||
|
*/
|
||||||
|
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();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -58,7 +58,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
/**
|
/**
|
||||||
* Represents a player, connected or not
|
* 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
|
// Paper start
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user