Package com.velocitypowered.api.proxy
Interface Player
-
- All Superinterfaces:
Audience
,ChannelMessageSink
,ChannelMessageSource
,CommandSource
,HoverEventSource<HoverEvent.ShowEntity>
,Identified
,InboundConnection
,net.kyori.adventure.key.Keyed
,PermissionSubject
,net.kyori.adventure.pointer.Pointered
public interface Player extends CommandSource, Identified, InboundConnection, ChannelMessageSource, ChannelMessageSink, HoverEventSource<HoverEvent.ShowEntity>, net.kyori.adventure.key.Keyed
Represents a player who is connected to the proxy.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default @NotNull HoverEvent<HoverEvent.ShowEntity>
asHoverEvent(@NotNull UnaryOperator<HoverEvent.ShowEntity> op)
void
clearHeaderAndFooter()
Deprecated.ConnectionRequestBuilder
createConnectionRequest(RegisteredServer server)
Creates a new connection request so that the player can connect to another server.void
disconnect(Component reason)
Disconnects the player with the specified reason.void
disconnect(net.kyori.text.Component reason)
Deprecated.Usedisconnect(Component)
instead@Nullable ResourcePackInfo
getAppliedResourcePack()
Gets theResourcePackInfo
of the currently applied resource-pack or null if none.Optional<ServerConnection>
getCurrentServer()
Returns the server that the player is currently connected to.GameProfile
getGameProfile()
Returns the player's game profile.List<GameProfile.Property>
getGameProfileProperties()
Gets the player's profile properties.Optional<ModInfo>
getModInfo()
Returns the player's mod info if they have a modded client.@Nullable ResourcePackInfo
getPendingResourcePack()
Gets theResourcePackInfo
of the resource pack the user is currently downloading or is currently prompted to install or null if none.long
getPing()
Returns the current player's ping.Component
getPlayerListFooter()
Returns the player's player list footer.Component
getPlayerListHeader()
Returns the player's player list header.PlayerSettings
getPlayerSettings()
Returns the player's client settings.TabList
getTabList()
Returns the player's tab list.UUID
getUniqueId()
Returns the player's UUID.String
getUsername()
Returns the player's current username.boolean
isOnlineMode()
Returns the player's connection status.default @NotNull net.kyori.adventure.key.Key
key()
default void
sendMessage(net.kyori.text.Component component)
Deprecated.void
sendMessage(net.kyori.text.Component component, MessagePosition position)
Deprecated.Use @deprecated UseAudience.sendMessage(Identified, Component)
orAudience.sendMessage(Identity, Component)
for chat messages, orAudience.sendActionBar(net.kyori.adventure.text.Component)
for action bar messagesboolean
sendPluginMessage(ChannelIdentifier identifier, byte[] data)
Note that this method does not send a plugin message to the server the player is connected to. You should only use this method if you are trying to communicate with a mod that is installed on the player's client.void
sendResourcePack(String url)
Deprecated.UsesendResourcePackOffer(ResourcePackInfo)
insteadvoid
sendResourcePack(String url, byte[] hash)
Deprecated.UsesendResourcePackOffer(ResourcePackInfo)
insteadvoid
sendResourcePackOffer(ResourcePackInfo packInfo)
Queues and sends a new Resource-pack offer to the player.void
sendTitle(Title title)
Deprecated.void
setGameProfileProperties(List<GameProfile.Property> properties)
Sets the player's profile properties.void
setHeaderAndFooter(net.kyori.text.Component header, net.kyori.text.Component footer)
Deprecated.void
spoofChatInput(String input)
Sends chat input onto the players current server as if they typed it into the client chat box.-
Methods inherited from interface net.kyori.adventure.audience.Audience
clearTitle, hideBossBar, openBook, openBook, playSound, playSound, playSound, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, showBossBar, showTitle, stopSound, stopSound
-
Methods inherited from interface com.velocitypowered.api.command.CommandSource
sendMessage
-
Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource
asHoverEvent
-
Methods inherited from interface net.kyori.adventure.identity.Identified
identity
-
Methods inherited from interface com.velocitypowered.api.proxy.InboundConnection
getProtocolVersion, getRemoteAddress, getVirtualHost, isActive
-
Methods inherited from interface com.velocitypowered.api.permission.PermissionSubject
getPermissionChecker, getPermissionValue, hasPermission
-
-
-
-
Method Detail
-
getUsername
String getUsername()
Returns the player's current username.- Returns:
- the username
-
getUniqueId
UUID getUniqueId()
Returns the player's UUID.- Returns:
- the UUID
-
getCurrentServer
Optional<ServerConnection> getCurrentServer()
Returns the server that the player is currently connected to.- Returns:
- an
Optional
the server that the player is connected to, which may be empty
-
getPlayerSettings
PlayerSettings getPlayerSettings()
Returns the player's client settings.- Returns:
- the settings
-
getModInfo
Optional<ModInfo> getModInfo()
Returns the player's mod info if they have a modded client.- Returns:
- an
Optional
the mod info. which may be empty
-
getPing
long getPing()
Returns the current player's ping.- Returns:
- the player's ping or -1 if ping information is currently unknown
-
isOnlineMode
boolean isOnlineMode()
Returns the player's connection status.- Returns:
- true if the player is authenticated with Mojang servers
-
sendMessage
@Deprecated default void sendMessage(net.kyori.text.Component component)
Deprecated.Sends a chat message to the player's client.- Specified by:
sendMessage
in interfaceCommandSource
- Parameters:
component
- the chat message to send
-
sendMessage
@Deprecated void sendMessage(net.kyori.text.Component component, MessagePosition position)
Deprecated.Use @deprecated UseAudience.sendMessage(Identified, Component)
orAudience.sendMessage(Identity, Component)
for chat messages, orAudience.sendActionBar(net.kyori.adventure.text.Component)
for action bar messagesSends a chat message to the player's client in the specified position.- Parameters:
component
- the chat message to sendposition
- the position for the message
-
createConnectionRequest
ConnectionRequestBuilder createConnectionRequest(RegisteredServer server)
Creates a new connection request so that the player can connect to another server.- Parameters:
server
- the server to connect to- Returns:
- a new connection request
-
getGameProfileProperties
List<GameProfile.Property> getGameProfileProperties()
Gets the player's profile properties.The returned list may be unmodifiable.
- Returns:
- the player's profile properties
-
setGameProfileProperties
void setGameProfileProperties(List<GameProfile.Property> properties)
Sets the player's profile properties.- Parameters:
properties
- the properties
-
getGameProfile
GameProfile getGameProfile()
Returns the player's game profile.
-
setHeaderAndFooter
@Deprecated void setHeaderAndFooter(net.kyori.text.Component header, net.kyori.text.Component footer)
Deprecated.Sets the tab list header and footer for the player.- Parameters:
header
- the header componentfooter
- the footer component
-
clearHeaderAndFooter
@Deprecated void clearHeaderAndFooter()
Deprecated.Clears the tab list header and footer for the player.
-
getPlayerListHeader
Component getPlayerListHeader()
Returns the player's player list header.- Returns:
- this player's player list header
-
getPlayerListFooter
Component getPlayerListFooter()
Returns the player's player list footer.- Returns:
- this player's tab list
-
getTabList
TabList getTabList()
Returns the player's tab list.- Returns:
- this player's tab list
-
disconnect
@Deprecated void disconnect(net.kyori.text.Component reason)
Deprecated.Usedisconnect(Component)
insteadDisconnects the player with the specified reason. Once this method is called, further calls to otherPlayer
methods will become undefined.- Parameters:
reason
- component with the reason
-
disconnect
void disconnect(Component reason)
Disconnects the player with the specified reason. Once this method is called, further calls to otherPlayer
methods will become undefined.- Parameters:
reason
- component with the reason
-
sendTitle
@Deprecated void sendTitle(Title title)
Deprecated.Sends the specified title to the client.- Parameters:
title
- the title to send
-
spoofChatInput
void spoofChatInput(String input)
Sends chat input onto the players current server as if they typed it into the client chat box.- Parameters:
input
- the chat input to send
-
sendResourcePack
@Deprecated void sendResourcePack(String url)
Deprecated.UsesendResourcePackOffer(ResourcePackInfo)
insteadSends the specified resource pack fromurl
to the user. If at all possible, send the resource pack usingsendResourcePack(String, byte[])
. To monitor the status of the sent resource pack, subscribe toPlayerResourcePackStatusEvent
.- Parameters:
url
- the URL for the resource pack
-
sendResourcePack
@Deprecated void sendResourcePack(String url, byte[] hash)
Deprecated.UsesendResourcePackOffer(ResourcePackInfo)
insteadSends the specified resource pack fromurl
to the user, using the specified 20-byte SHA-1 hash. To monitor the status of the sent resource pack, subscribe toPlayerResourcePackStatusEvent
.- Parameters:
url
- the URL for the resource packhash
- the SHA-1 hash value for the resource pack
-
sendResourcePackOffer
void sendResourcePackOffer(ResourcePackInfo packInfo)
Queues and sends a new Resource-pack offer to the player. To monitor the status of the sent resource pack, subscribe toPlayerResourcePackStatusEvent
. To create aResourcePackInfo
use theProxyServer.createResourcePackBuilder(String)
builder.- Parameters:
packInfo
- the resource-pack in question
-
getAppliedResourcePack
@Nullable ResourcePackInfo getAppliedResourcePack()
Gets theResourcePackInfo
of the currently applied resource-pack or null if none.- Returns:
- the applied resource pack or null if none.
-
getPendingResourcePack
@Nullable ResourcePackInfo getPendingResourcePack()
Gets theResourcePackInfo
of the resource pack the user is currently downloading or is currently prompted to install or null if none.- Returns:
- the pending resource pack or null if none
-
sendPluginMessage
boolean sendPluginMessage(ChannelIdentifier identifier, byte[] data)
Note that this method does not send a plugin message to the server the player is connected to. You should only use this method if you are trying to communicate with a mod that is installed on the player's client. To send a plugin message to the server from the player, you should use the equivalent method on the instance returned bygetCurrentServer()
.- Specified by:
sendPluginMessage
in interfaceChannelMessageSink
- Parameters:
identifier
- the channel identifier to send the message ondata
- the data to send- Returns:
- whether or not the message could be sent
-
key
@NotNull default @NotNull net.kyori.adventure.key.Key key()
- Specified by:
key
in interfacenet.kyori.adventure.key.Keyed
-
asHoverEvent
@NotNull default @NotNull HoverEvent<HoverEvent.ShowEntity> asHoverEvent(@NotNull @NotNull UnaryOperator<HoverEvent.ShowEntity> op)
- Specified by:
asHoverEvent
in interfaceHoverEventSource<HoverEvent.ShowEntity>
-
-