@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
34 lines (33 loc) • 4.14 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
require("../../_virtual/_rolldown/runtime.cjs.cjs");
const require_command_Command = require("../Command.cjs.cjs");
let _jsprismarine_brigadier = require("@jsprismarine/brigadier");
//#region src/command/vanilla/HelpCommand.ts
var HelpCommand = class extends require_command_Command.Command {
constructor() {
super({
id: "minecraft:help",
description: "Get helpful information about commands.",
permission: "minecraft.command.help",
aliases: ["?"]
});
}
async register(dispatcher) {
const execute = async (context) => {
const source = context.getSource();
source.getServer().getCommandManager().getCommands().forEach(async (command) => {
if (!source.getServer().getPermissionManager().can(source).execute(command.permission)) return;
const usage = command.usage(dispatcher);
await source.sendMessage(`§e/${command.name}§r${usage && ` §b${usage}§r` || ""}: §7${command.description}`);
});
};
dispatcher.register((0, _jsprismarine_brigadier.literal)("help").executes(execute));
}
};
//#endregion
exports.default = HelpCommand;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscENvbW1hbmQuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC92YW5pbGxhL0hlbHBDb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBsaXRlcmFsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi4vQ29tbWFuZCc7XG5pbXBvcnQgdHlwZSB7IFBsYXllciB9IGZyb20gJy4uLy4uLyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEhlbHBDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ21pbmVjcmFmdDpoZWxwJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnR2V0IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb246ICdtaW5lY3JhZnQuY29tbWFuZC5oZWxwJyxcbiAgICAgICAgICAgIGFsaWFzZXM6IFsnPyddXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBjb25zdCBleGVjdXRlID0gYXN5bmMgKGNvbnRleHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gY29udGV4dC5nZXRTb3VyY2UoKSBhcyBQbGF5ZXI7XG5cbiAgICAgICAgICAgIHNvdXJjZVxuICAgICAgICAgICAgICAgIC5nZXRTZXJ2ZXIoKVxuICAgICAgICAgICAgICAgIC5nZXRDb21tYW5kTWFuYWdlcigpXG4gICAgICAgICAgICAgICAgLmdldENvbW1hbmRzKClcbiAgICAgICAgICAgICAgICAuZm9yRWFjaChhc3luYyAoY29tbWFuZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRQZXJtaXNzaW9uTWFuYWdlcigpLmNhbihzb3VyY2UpLmV4ZWN1dGUoY29tbWFuZC5wZXJtaXNzaW9uKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVzYWdlID0gY29tbWFuZC51c2FnZShkaXNwYXRjaGVyKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkZWFsIHdpdGggY29tbWFuZHMgc2hhcmluZyB0aGUgc2FtZSBuYW1lIGJ1dCBub3QgbmFtZXNwYWNlIChgbWluZWNyYWZ0OmhlbHBgICsgYHNvbWUtcGx1Z2luOmhlbHBgKS5cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgYMKnZS8ke2NvbW1hbmQubmFtZX3Cp3Ikeyh1c2FnZSAmJiBgIMKnYiR7dXNhZ2V9wqdyYCkgfHwgJyd9OiDCpzcke2NvbW1hbmQuZGVzY3JpcHRpb259YFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGRpc3BhdGNoZXIucmVnaXN0ZXIobGl0ZXJhbCgnaGVscCcpLmV4ZWN1dGVzKGV4ZWN1dGUgYXMgYW55KSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFNQSxJQUFxQixjQUFyQixjQUF5Qyx3QkFBQSxRQUFRO0NBQzdDLGNBQXFCO0VBQ2pCLE1BQU07R0FDRixJQUFJO0dBQ0osYUFBYTtHQUNiLFlBQVk7R0FDWixTQUFTLENBQUMsR0FBRztFQUNqQixDQUFRO0NBQ1o7Q0FFQSxNQUFhLFNBQVMsWUFBb0M7RUFDdEQsTUFBTSxVQUFVLE9BQU8sWUFBaUI7R0FDcEMsTUFBTSxTQUFTLFFBQVEsVUFBVTtHQUVqQyxPQUNLLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFFBQVEsT0FBTyxZQUFZO0lBQ3hCLElBQUksQ0FBQyxPQUFPLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLE1BQU0sRUFBRSxRQUFRLFFBQVEsVUFBVSxHQUFHO0lBRXhGLE1BQU0sUUFBUSxRQUFRLE1BQU0sVUFBVTtJQUd0QyxNQUFNLE9BQU8sWUFDVCxNQUFNLFFBQVEsS0FBSyxJQUFLLFNBQVMsTUFBTSxNQUFNLE9BQVEsR0FBRyxNQUFNLFFBQVEsYUFDMUU7R0FDSixDQUFDO0VBQ1Q7RUFFQSxXQUFXLFVBQUEsR0FBQSx3QkFBQSxTQUFpQixNQUFNLEVBQUUsU0FBUyxPQUFjLENBQUM7Q0FDaEU7QUFDSiJ9