mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-15 14:13:56 +01:00
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:
parent
7132df4810
commit
5de53af38b
2 changed files with 40 additions and 1 deletions
|
@ -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
|
||||
*/
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue