@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
29 lines (26 loc) • 3.52 kB
JavaScript
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==