jsplanet
Version:
A controller for Trackmania 2020 dedicated server.
38 lines (37 loc) • 968 B
TypeScript
import GbxRemote from "../gbx/remote.js";
import { TeamColor } from "./Teams.js";
declare enum PlayerStatus {
Player = "Player",
Spectator = "Spectator"
}
declare enum SpectatorStatus {
UserSelectable = 0,
Spectator = 1,
Player = 2,
SpectatorSelectable = 3
}
interface PlayerData {
isConnected: boolean | null;
login: string;
nickname: null | string;
status: null | PlayerStatus;
team: null | TeamColor;
}
declare class Player {
isConnected: boolean;
login: string;
nickname: string;
status: PlayerStatus;
team: TeamColor;
get uuid(): string;
private remote;
constructor(remote: GbxRemote, data: PlayerData);
fetch(): Promise<this>;
forcePlayer(): Promise<boolean>;
forceSpectator(): Promise<boolean>;
kick(): Promise<boolean>;
send(message: string): Promise<boolean>;
private patch;
}
export default Player;
export { type PlayerData, PlayerStatus, SpectatorStatus };