Interface Player
- All Superinterfaces:
Audience, BossBarViewer, CommandSender, CommandSource, Entity, HoverEventSource<HoverEvent.ShowEntity>, Identified, LivingEntity, ObjectContentsLike, PermissionHolder, Pointered, SchedulerSource, Sound.Emitter, Sound.Source.Provider
A Player reference is not stable across the server lifecycle, as entering the
CONFIGURATION phase (see enterConfigurationPhase()) discards the
underlying player and recreates it, which invalidates every reference held
before that point.
Player references should not be cached, as a reference obtained from an event or lookup is only
guaranteed valid for the duration of that call. Instead, re-fetch by UUID or name via
Server.player(UUID) or Server.player(String).
- Since:
- 0.1.0
-
Method Summary
Modifier and TypeMethodDescriptionaddress()Gets the address this player is connected from.voidSwitches this player's connection status from PLAY to CONFIGURATION.gameMode()default ItemStackheldItem()default Identityidentity()booleanvoiddefault Stringname()default OfflinePlayeroffline()Gets the offline handle for this player's identity.intping()Gets the round-trip time between the server and this player's client.profile()voidbooleanrespawn()Respawns this player, exactly as if they had clicked the button on the death screen.intvoidsetGameMode(GameMode gameMode) default voidsetHeldItem(@Nullable ItemStack stack) Replaces the stack in the currently selected hotbar slot.voidsetRespawnPoint(@Nullable RespawnPoint point) Sets where this player respawns.default voidsetRespawnPoint(Location location) default voidsetRespawnPoint(World world, Location location) voidsetSelectedSlot(int slot) voidUpdates the player's inventory on the client side.default UUIDuuid()Methods inherited from interface Audience
clearResourcePacks, clearTitle, closeDialog, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, openBook, playSound, playSound, playSound, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, removeResourcePacks, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendResourcePacks, sendResourcePacks, sendResourcePacks, sendTitlePart, showBossBar, showDialog, showTitle, stopSound, stopSoundMethods inherited from interface BossBarViewer
activeBossBarsMethods inherited from interface CommandSource
executor, sender, serverMethods inherited from interface Entity
chunk, displayName, entityId, isRemoved, location, remove, teleport, teleport, teleport, teleport, type, worldMethods inherited from interface HoverEventSource
asHoverEvent, asHoverEventMethods inherited from interface LivingEntity
absorptionAmount, armor, armorToughness, damage, fireTicks, headYaw, heal, health, isAlive, isDead, kill, knockbackResistance, maxHealth, setAbsorptionAmount, setFireTicks, setHeadYaw, setHealthMethods inherited from interface ObjectContentsLike
asObjectContentsMethods inherited from interface PermissionHolder
activeOverrides, hasPermission, hasPermission, invalidatePermissions, isOperator, isPermissionDecided, newGrant, permissionState, permissionState, setOperatorMethods inherited from interface Pointered
get, getOrDefault, getOrDefaultFrom, pointersMethods inherited from interface SchedulerSource
execute, executeDelayed, isOwnedByCurrentThreadMethods inherited from interface Sound.Source.Provider
soundSource
-
Method Details
-
refreshCommands
void refreshCommands() -
profile
PlayerProfile profile() -
offline
Gets the offline handle for this player's identity.- Returns:
- the handle for this player's identity
- Since:
- 0.1.0
-
identity
- Specified by:
identityin interfaceIdentified
-
uuid
-
name
- Specified by:
namein interfaceCommandSender
-
address
InetAddress address()Gets the address this player is connected from.- Returns:
- the client address
- Throws:
IllegalStateException- if the connection has no resolvable IP address- Since:
- 0.1.0
-
ping
int ping()Gets the round-trip time between the server and this player's client.- Returns:
- the round-trip time in milliseconds
- Since:
- 0.1.0
-
kick
-
inventory
PlayerInventory inventory() -
enderChest
EnderChestInventory enderChest() -
selectedSlot
int selectedSlot()- Returns:
- the hotbar slot (
0-8) currently selected by this player - Since:
- 0.1.0
-
setSelectedSlot
void setSelectedSlot(int slot) - Parameters:
slot- the hotbar slot to select,0-8- Throws:
IllegalArgumentException- ifslotis out of[0, 8]- Since:
- 0.1.0
-
heldItem
- Returns:
- the stack in the currently selected hotbar slot,
never
null(ItemStack.EMPTYwhen nothing is held) - Since:
- 0.1.0
-
setHeldItem
Replaces the stack in the currently selected hotbar slot.- Parameters:
stack- the new stack,nullis normalized toItemStack.EMPTY- Since:
- 0.1.0
-
gameMode
GameMode gameMode() -
setGameMode
-
isAwaitingRespawn
boolean isAwaitingRespawn()- Returns:
truewhile this player is dead and still on the respawn screen- Since:
- 0.1.0
-
respawn
boolean respawn()Respawns this player, exactly as if they had clicked the button on the death screen.The respawn is queued on the region owning the player and happens on the next tick, so it is safe to call from a
PlayerDeathEventlistener to skip the death screen entirely. The player comes back at their respawn point, or at the world spawn when they have none, and aPlayerRespawnEventis fired as usual.- Returns:
trueif the respawn was queued,falsewhen the player is not waiting to respawn or has left the server- Since:
- 0.1.0
-
respawnPoint
@Nullable RespawnPoint respawnPoint()- Returns:
- where this player respawns, or
nullwhen they use the world spawn - Since:
- 0.1.0
-
setRespawnPoint
Sets where this player respawns. The point is saved with the rest of their data and restored on their next login.- Parameters:
point- the point to respawn at, ornullto fall back to the world spawn- Since:
- 0.1.0
-
setRespawnPoint
-
setRespawnPoint
- Parameters:
location- the position to respawn at, in the player's current world- Since:
- 0.1.0
-
enterConfigurationPhase
void enterConfigurationPhase()Switches this player's connection status from PLAY to CONFIGURATION. Useful for resending data synced during the CONFIGURATION phase.- Since:
- 0.1.0
- API Note:
- This removes the player from the world fully and creates them anew,
firing
PlayerQuitEvent,PlayerJoinEvent, and saving their data to disk. Any reference to thisPlayerheld before this call should be considered stale.
-
updateInventory
void updateInventory()Updates the player's inventory on the client side.This is useful when the server has changed the inventory contents, and the client needs to be informed of those changes. This method should be called after any modifications to the player's inventory, such as adding or removing items, to ensure that the client sees the correct state.
- Since:
- 0.1.0
-