@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
67 lines • 2.06 kB
TypeScript
import { default as Server } from '../Server';
import { default as PacketHandler } from './handler/PacketHandler';
import { default as PreLoginPacketHandler } from './handler/PreLoginPacketHandler';
import * as Packets from './Packets';
export default class PacketRegistry {
private server;
private readonly packets;
private readonly handlers;
constructor(server: Server);
/**
* On enable hook.
* @group Lifecycle
*/
enable(): Promise<void>;
/**
* On disable hook.
* @group Lifecycle
*/
disable(): Promise<void>;
/**
* Register a packet.
* @param packet - the packet.
*/
registerPacket(packet: typeof Packets.DataPacket): void;
/**
* Get a packet by it's network ID.
* @param id - the NetID.
*/
getPacket(id: number): any;
/**
* Remove a packet from the registry.
* @param id - the NetID.
*/
removePacket(id: number): void;
registerHandler(id: number, handler: PacketHandler<any>): void;
getHandler(id: number): PacketHandler<any> | PreLoginPacketHandler<any>;
/**
* Merge two handlers.
* This is useful if you want to extend a handler without actually replacing it.
*
* @param handler - the first handler, executed first.
* @param handler2 - the second handler.
*/
appendHandler(handler: PacketHandler<any>, handler2: PacketHandler<any>): PacketHandler<any>;
/**
* Remove a handler from the registry.
* @param id - the handler id.
*/
removeHandler(id: number): void;
/**
* Dynamically register all packets exported by './Protocol'.
*/
private registerPackets;
/**
* Dynamically register all handlers exported by './Handlers'.
*/
private registerHandlers;
/**
* Get all packets from the registry.
*/
getPackets(): Map<number, typeof Packets.DataPacket>;
/**
* Get all handlers from the registry.
*/
getHandlers(): Map<number, PacketHandler<any>>;
}
//# sourceMappingURL=PacketRegistry.d.ts.map