UNPKG

jsplanet

Version:

A controller for Trackmania 2020 dedicated server.

38 lines (37 loc) 1.75 kB
import { TypedEmitter } from "tiny-typed-emitter"; import { ChatManager, MapsManager, PlayersManager, ScoresManager, ServerManager, TeamsManager } from "./managers/index.js"; import { Checkpoint, EndRoundEnd, Message, Player, PlayerStatus, Round, Scores, TeamColor, WarmupRound } from "./structures/index.js"; interface JsPlanetEvents { checkpoint: (checkpoint: Checkpoint) => unknown; disconnect: (reason: null | string) => unknown; endRoundEnd: (round: EndRoundEnd) => unknown; endRoundStart: (round: Round) => unknown; message: (message: Message) => unknown; playerConnect: (player: Player) => unknown; playerDisconnect: (player: Player) => unknown; playerStatusChange: (player: Player, oldStatus: PlayerStatus, newStatus: PlayerStatus) => unknown; playerTeamChange: (player: Player, oldTeam: TeamColor, newTeam: TeamColor) => unknown; race: (checkpoint: Checkpoint) => unknown; ready: () => unknown; scores: (scores: Scores) => unknown; startRoundEnd: (round: Round) => unknown; startRoundStart: (round: Round) => unknown; warmupEnd: () => unknown; warmupRoundEnd: (warmupRound: WarmupRound) => unknown; warmupRoundStart: (warmupRound: WarmupRound) => unknown; warmupStart: () => unknown; } declare class JsPlanet extends TypedEmitter<JsPlanetEvents> { chatManager: ChatManager; mapsManager: MapsManager; playersManager: PlayersManager; scoresManager: ScoresManager; serverManager: ServerManager; teamsManager: TeamsManager; private remote; constructor(host: string, port: number, user: string, password: string); connect(): Promise<boolean>; disconnect(reason?: string): void; private forwardEvents; } export default JsPlanet;