@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
28 lines (27 loc) • 3.85 kB
JavaScript
import { Command } from "../Command.es.js";
import { literal } from "@jsprismarine/brigadier";
//#region src/command/vanilla/HelpCommand.ts
var HelpCommand = class extends 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(literal("help").executes(execute));
}
};
//#endregion
export { HelpCommand as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscENvbW1hbmQuZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9IZWxwQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmQnO1xuaW1wb3J0IHR5cGUgeyBQbGF5ZXIgfSBmcm9tICcuLi8uLi8nO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWxwQ29tbWFuZCBleHRlbmRzIENvbW1hbmQge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgaWQ6ICdtaW5lY3JhZnQ6aGVscCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dldCBoZWxwZnVsIGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLicsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQuaGVscCcsXG4gICAgICAgICAgICBhbGlhc2VzOiBbJz8nXVxuICAgICAgICB9IGFzIGFueSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pIHtcbiAgICAgICAgY29uc3QgZXhlY3V0ZSA9IGFzeW5jIChjb250ZXh0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuXG4gICAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICAgICAgICAuZ2V0U2VydmVyKClcbiAgICAgICAgICAgICAgICAuZ2V0Q29tbWFuZE1hbmFnZXIoKVxuICAgICAgICAgICAgICAgIC5nZXRDb21tYW5kcygpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goYXN5bmMgKGNvbW1hbmQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0UGVybWlzc2lvbk1hbmFnZXIoKS5jYW4oc291cmNlKS5leGVjdXRlKGNvbW1hbmQucGVybWlzc2lvbikpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2FnZSA9IGNvbW1hbmQudXNhZ2UoZGlzcGF0Y2hlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogZGVhbCB3aXRoIGNvbW1hbmRzIHNoYXJpbmcgdGhlIHNhbWUgbmFtZSBidXQgbm90IG5hbWVzcGFjZSAoYG1pbmVjcmFmdDpoZWxwYCArIGBzb21lLXBsdWdpbjpoZWxwYCkuXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGDCp2UvJHtjb21tYW5kLm5hbWV9wqdyJHsodXNhZ2UgJiYgYCDCp2Ike3VzYWdlfcKncmApIHx8ICcnfTogwqc3JHtjb21tYW5kLmRlc2NyaXB0aW9ufWBcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKGxpdGVyYWwoJ2hlbHAnKS5leGVjdXRlcyhleGVjdXRlIGFzIGFueSkpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsSUFBcUIsY0FBckIsY0FBeUMsUUFBUTtDQUM3QyxjQUFxQjtFQUNqQixNQUFNO0dBQ0YsSUFBSTtHQUNKLGFBQWE7R0FDYixZQUFZO0dBQ1osU0FBUyxDQUFDLEdBQUc7RUFDakIsQ0FBUTtDQUNaO0NBRUEsTUFBYSxTQUFTLFlBQW9DO0VBQ3RELE1BQU0sVUFBVSxPQUFPLFlBQWlCO0dBQ3BDLE1BQU0sU0FBUyxRQUFRLFVBQVU7R0FFakMsT0FDSyxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixRQUFRLE9BQU8sWUFBWTtJQUN4QixJQUFJLENBQUMsT0FBTyxVQUFVLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxNQUFNLEVBQUUsUUFBUSxRQUFRLFVBQVUsR0FBRztJQUV4RixNQUFNLFFBQVEsUUFBUSxNQUFNLFVBQVU7SUFHdEMsTUFBTSxPQUFPLFlBQ1QsTUFBTSxRQUFRLEtBQUssSUFBSyxTQUFTLE1BQU0sTUFBTSxPQUFRLEdBQUcsTUFBTSxRQUFRLGFBQzFFO0dBQ0osQ0FBQztFQUNUO0VBRUEsV0FBVyxTQUFTLFFBQVEsTUFBTSxFQUFFLFNBQVMsT0FBYyxDQUFDO0NBQ2hFO0FBQ0oifQ==