Skip to main content

Player object

Player object represents player, connected to MCmdLogger.

Reference

Fields

NameTypeDescription
namestringPlayer name
uuidstringPlayer's UUID
versionstringMinecraft version
protocolnumberMinecraft protocol number
ipstringPlayer IP address
statusesstring[]Statuses list (for example, "mute", "deaf")

Methods

DefinitionDescription
on(event: string, callback)Add event listener
off(event: string, callback)Remove event listener
send(message: string)Send chat message to player
sendJSON(json: TextComponent)Send JSON (text component) chat message to player.
kick()Kick without message
kick(message: string)Kick with custom disconnected screen message
sudo(message: string)Send message (or command) as player
deaf(deaf: boolean)Deaf/undeaf player
mute(mute: boolean)Mute/unmute player
fakegm(gamemode: number)Set fake gamemode
getCoords()Get last known player coordinates

Events

NameCallbackDescription
player_message(event: EventPlayerMessage) => anyPlayer sent chat message or command to server
server_message(event: EventServerMessage) => anyServer sent chat message to player
player_packet(event: EventPacket) => anyPlayer sent packet to server
server_packet(event: EventPacket) => anyServer sent packet to player
message(message: string) => anyPlayer sent chat message or command (Deprecated)
leave() => anyPlayer disconnected

EventPlayerMessage

Allows to intercept and handle player's chat messages and commands.

You cannot modify message text, but you can cancel it (and send new one with sudo(...) if required).

interface EventPlayerMessage {
text: string
canceled: boolean
cancel(): void
}

EventServerMessage

Allows to intercept and handle server's chat messages.

You cannot modify message text, but you can cancel it (and send new one with send(...) or sendJSON(...) if required).

interface EventServerMessage {
json: TextComponent
legacy: string
text: string
click_actions: {
open_url?: string[]
open_file?: string[]
run_command?: string[]
suggest_command?: string[]
change_page?: string[]
copy_to_clipboard?: string[]
}
canceled: boolean
cancel(): void
}

This event provides additional fields. For example, json contains full text component, legacy contains it's legacy representation (string with style codes), text contains plain text, stripped from formatting and click_actions contains list of click actions, used in this message (this can be used to, for example, quickly extract all links from message).

EventPacket

Allows to intercept and handle packets, sent to/from player.

You cannot access packet data, but you can cancel it. This can be used to prevent player from sending or receiving certain packets.

interface EventPacket {
id: number
name: string
canceled: boolean
cancel(): void
}