v0.10.0

Class: Player

Represents a connected client in the game.

✅ Attribute Support

The Player class handles communication with the client and keeps track of the player’s current table and custom attributes.

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new Player(socket, eventBus, id?): Player

Parameters

Name Type
socket WebSocket
eventBus EventBus
id? string

Returns

Player

Properties

id

Readonly id: string

Methods

disconnect

disconnect(): void

Disconnect the player from the server.

Returns

void


getAttribute

getAttribute(key): unknown

Get a single attribute from the player.

Parameters

Name Type Description
key Object The key of the attribute to get
key.key string -

Returns

unknown

The value of the attribute, or undefined if it doesn’t exist


getAttributes

getAttributes(): Record<string, unknown>

Get all attributes from the player.

Returns

Record<string, unknown>

An object containing all player attributes


getTable

getTable(): null | Table

Returns

null | Table


hasAttribute

hasAttribute(key): boolean

Check if the player has an attribute.

Parameters

Name Type Description
key Object The key of the attribute to check
key.key string -

Returns

boolean

True if the attribute exists, false otherwise


onDisconnect

onDisconnect(callback): void

Register a callback to be called when the player disconnects

Parameters

Name Type Description
callback Object The function to call when the player disconnects
callback.callback () => void -

Returns

void


sendMessage

sendMessage(«destructured»): void

Parameters

Name Type
«destructured» Object
› message unknown

Returns

void


setAttribute

setAttribute(«destructured»): void

Set a single attribute on the player and emit an event for the change.

Parameters

Name Type Default value
«destructured» Object undefined
› key string undefined
› notify? boolean true
› value unknown undefined

Returns

void


setAttributes

setAttributes(attributes): void

Set multiple attributes at once and emit a single event. This is more efficient than calling setAttribute multiple times.

Parameters

Name Type Description
attributes Object Object containing attribute key-value pairs
attributes.attributes Record<string, unknown> -

Returns

void


setSocket

setSocket(socket): void

Updates the socket connection for this player. Useful for handling reconnections without losing player state.

Parameters

Name Type Description
socket Object The new WebSocket connection
socket.socket WebSocket -

Returns

void


setTable

setTable(«destructured»): void

Parameters

Name Type
«destructured» Object
› table null | Table

Returns

void