classicborne
    Preparing search index...

    Class BaseUniverse

    I'm a Minecraft Classic game server, responsible for managing the server lifecycle, connected players and loaded levels.

    I coordinate the following core objects:

    • BasePlayer: Each player is instantiated and registered into my universe. I assign network IDs, manage player lists and emit player lifecycle events.
    • BaseLevel: I maintain a map of loaded levels, which represent the worlds available on the server. Levels are managed and referenced by name.
    • BaseHeartbeat: If enabled, I instantiate a heartbeat for server list announcements.
    import { BaseUniverse } from "classicborne/class/server/BaseUniverse.mjs"
    import { CustomPlayer } from "./CustomPlayer.mjs" // Your custom player class

    class MyUniverse extends BaseUniverse {
    static playerClass = CustomPlayer
    // Add custom logic.
    }

    const universe = new MyUniverse({ port: 25565 })
    universe.on("playerAdded", (player) => {
    console.log(`Player joined: ${player.username}`)
    })

    Hierarchy

    • TypedEmitter
      • BaseUniverse
    Index

    Constructors

    Properties

    heartbeat: BaseHeartbeat

    The heartbeat used for announcing the server to a server list. By default, I load BaseHeartbeat asynchronously if serverConfiguration.postToMainServer is true.

    levels: Map<string, BaseLevel<any>>

    The currently loaded levels. Indexed by BaseLevel.name.

    Use BaseLevel.loadIntoUniverse or BaseLevel.teleportPlayer to load levels into this map.

    server: Server

    A classicborne-server-protocol Server instance.

    serverConfiguration: any
    defaultMaxListeners: number
    heartbeatClass: Promise<typeof BaseHeartbeat> = ...

    The BaseHeartbeat class used for announcing my presence. This is promise as the constructor asynchronously imports the module for the class and assigns it to BaseUniverse.heartbeat.

    playerClass: typeof BasePlayer = BasePlayer

    The BasePlayer class to instantiate when clients connect to the server.

    Methods

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • ...args: Parameters<
            {
                playerAdded: (player: BasePlayer) => void;
                playerRemoved: (player: BasePlayer) => void;
            }[U],
        >

      Returns boolean

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Returns U[]

    • Returns number

    • Parameters

      • type: "playerAdded" | "playerRemoved"

      Returns number

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • type: U

      Returns {
          playerAdded: (player: BasePlayer) => void;
          playerRemoved: (player: BasePlayer) => void;
      }[U][]

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • type: U

      Returns {
          playerAdded: (player: BasePlayer) => void;
          playerRemoved: (player: BasePlayer) => void;
      }[U][]

    • Parameters

      • Optionalevent: "playerAdded" | "playerRemoved"

      Returns this

    • Type Parameters

      • U extends "playerAdded" | "playerRemoved"

      Parameters

      • event: U
      • listener: {
            playerAdded: (player: BasePlayer) => void;
            playerRemoved: (player: BasePlayer) => void;
        }[U]

      Returns this

    • Parameters

      • n: number

      Returns this