UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

29 lines (26 loc) 3.52 kB
import { literal, argument, greedyString } from '@jsprismarine/brigadier'; import { Chat } from '../../chat/Chat.es.js'; import { Command } from '../Command.es.js'; class SayCommand extends Command { constructor() { super({ id: "minecraft:say", description: "Say something to all players.", permission: "minecraft.command.say" }); } async register(dispatcher) { dispatcher.register( literal("say").then( argument("message", greedyString()).executes(async (context) => { const source = context.getSource(); const message = context.getArgument("message"); const chat = new Chat({ sender: source, message: `§5[${source.getName()}] ${message}` }); await source.getServer().getChatManager().send(chat); }) ) ); } } export { SayCommand as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2F5Q29tbWFuZC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9TYXlDb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBhcmd1bWVudCwgZ3JlZWR5U3RyaW5nLCBsaXRlcmFsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vY2hhdC9DaGF0JztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi8uLi9QbGF5ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTYXlDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ21pbmVjcmFmdDpzYXknLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTYXkgc29tZXRoaW5nIHRvIGFsbCBwbGF5ZXJzLicsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQuc2F5J1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgnc2F5JykudGhlbihcbiAgICAgICAgICAgICAgICBhcmd1bWVudCgnbWVzc2FnZScsIGdyZWVkeVN0cmluZygpKS5leGVjdXRlcyhhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ21lc3NhZ2UnKSBhcyBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhdCA9IG5ldyBDaGF0KHsgc2VuZGVyOiBzb3VyY2UsIG1lc3NhZ2U6IGDCpzVbJHtzb3VyY2UuZ2V0TmFtZSgpfV0gJHttZXNzYWdlfWAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRDaGF0TWFuYWdlcigpLnNlbmQoY2hhdCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE1BQXFCLG1CQUFtQixPQUFRLENBQUE7QUFBQSxFQUNyQyxXQUFjLEdBQUE7QUFDakIsSUFBTSxLQUFBLENBQUE7QUFBQSxNQUNGLEVBQUksRUFBQSxlQUFBO0FBQUEsTUFDSixXQUFhLEVBQUEsK0JBQUE7QUFBQSxNQUNiLFVBQVksRUFBQTtBQUFBLEtBQ2YsQ0FBQTtBQUFBO0FBQ0wsRUFFQSxNQUFhLFNBQVMsVUFBb0MsRUFBQTtBQUN0RCxJQUFXLFVBQUEsQ0FBQSxRQUFBO0FBQUEsTUFDUCxPQUFBLENBQVEsS0FBSyxDQUFFLENBQUEsSUFBQTtBQUFBLFFBQ1gsU0FBUyxTQUFXLEVBQUEsWUFBQSxFQUFjLENBQUUsQ0FBQSxRQUFBLENBQVMsT0FBTyxPQUFZLEtBQUE7QUFDNUQsVUFBTSxNQUFBLE1BQUEsR0FBUyxRQUFRLFNBQVUsRUFBQTtBQUNqQyxVQUFNLE1BQUEsT0FBQSxHQUFVLE9BQVEsQ0FBQSxXQUFBLENBQVksU0FBUyxDQUFBO0FBRTdDLFVBQUEsTUFBTSxJQUFPLEdBQUEsSUFBSSxJQUFLLENBQUEsRUFBRSxRQUFRLE1BQVEsRUFBQSxPQUFBLEVBQVMsQ0FBTSxHQUFBLEVBQUEsTUFBQSxDQUFPLE9BQVEsRUFBQyxDQUFLLEVBQUEsRUFBQSxPQUFPLElBQUksQ0FBQTtBQUN2RixVQUFBLE1BQU0sT0FBTyxTQUFVLEVBQUEsQ0FBRSxjQUFlLEVBQUEsQ0FBRSxLQUFLLElBQUksQ0FBQTtBQUFBLFNBQ3REO0FBQUE7QUFDTCxLQUNKO0FBQUE7QUFFUjs7OzsifQ==