@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
54 lines • 1.81 kB
TypeScript
import { CommandDispatcher } from '../../../brigadier/src/index.ts';
import { Command, CommandArgument, Entity, Player, Server, Service } from '../';
export declare class CommandManager implements Service {
private readonly commands;
private readonly server;
private dispatcher;
constructor(server: Server);
/**
* On enable hook.
* @group Lifecycle
*/
enable(): Promise<void>;
/**
* On disable hook.
* @group Lifecycle
*/
disable(): Promise<void>;
/**
* Register a command into command manager by class.
* @param {Command} [command] - The command class to register
*/
registerCommand(command?: Command): Promise<void>;
/**
* Get a registered command by ID.
* @remarks This is case-insensitive, works with or without namespace, and also with aliases.
* @param {string} id - The command ID.
* @returns {Command} The command if found, otherwise undefined.
*/
getCommand(id: string): Command;
/**
* Get all enabled commands.
*/
getCommands(): Map<string, Command>;
/**
* Get a list of all command variants.
*
* @remarks
* This is EXCLUDING legacy commands.
*/
getCommandsList(): Array<[string, /* CommandNode<Player> */ any, CommandArgument[][]]>;
/**
* Get dispatcher
*/
getDispatcher(): CommandDispatcher<Player>;
/**
* Dispatches a command and executes them.
*
* @param sender - the player/console who executed the command
* @param target - the Player/entity/console who should execute the command
* @param input - the command input including arguments
*/
dispatchCommand(sender: Player, target: Entity | Player, input?: string): Promise<void>;
}
//# sourceMappingURL=CommandManager.d.ts.map