UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

29 lines (28 loc) 3.57 kB
import ChatEvent from "../../events/chat/ChatEvent.es.js"; import { Command } from "../Command.es.js"; import { Chat } from "../../chat/Chat.es.js"; import { argument, greedyString, literal } from "@jsprismarine/brigadier"; //#region src/command/vanilla/MeCommand.ts var MeCommand = class extends Command { constructor() { super({ id: "minecraft:me", description: "Displays custom message in chat.", permission: "minecraft.command.me" }); } async register(dispatcher) { dispatcher.register(literal("me").then(argument("message", greedyString()).executes(async (context) => { const source = context.getSource(); const message = context.getArgument("message"); const event = new ChatEvent(new Chat({ sender: source, message: `*${source.getName()}: ${message}` })); await source.getServer().emit("chat", event); }))); } }; //#endregion export { MeCommand as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVDb21tYW5kLmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kL3ZhbmlsbGEvTWVDb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBhcmd1bWVudCwgZ3JlZWR5U3RyaW5nLCBsaXRlcmFsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vY2hhdC9DaGF0JztcbmltcG9ydCBDaGF0RXZlbnQgZnJvbSAnLi4vLi4vZXZlbnRzL2NoYXQvQ2hhdEV2ZW50JztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi8uLi9QbGF5ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZUNvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnbWluZWNyYWZ0Om1lJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGlzcGxheXMgY3VzdG9tIG1lc3NhZ2UgaW4gY2hhdC4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ21pbmVjcmFmdC5jb21tYW5kLm1lJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgnbWUnKS50aGVuKFxuICAgICAgICAgICAgICAgIGFyZ3VtZW50KCdtZXNzYWdlJywgZ3JlZWR5U3RyaW5nKCkpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gY29udGV4dC5nZXRBcmd1bWVudCgnbWVzc2FnZScpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZVRvU2VuZCA9IGAqJHtzb3VyY2UuZ2V0TmFtZSgpfTogJHttZXNzYWdlfWA7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQ2hhdEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENoYXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRlcjogc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VUb1NlbmRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5nZXRTZXJ2ZXIoKS5lbWl0KCdjaGF0JywgZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQVFBLElBQXFCLFlBQXJCLGNBQXVDLFFBQVE7Q0FDM0MsY0FBcUI7RUFDakIsTUFBTTtHQUNGLElBQUk7R0FDSixhQUFhO0dBQ2IsWUFBWTtFQUNoQixDQUFDO0NBQ0w7Q0FFQSxNQUFhLFNBQVMsWUFBb0M7RUFDdEQsV0FBVyxTQUNQLFFBQVEsSUFBSSxFQUFFLEtBQ1YsU0FBUyxXQUFXLGFBQWEsQ0FBQyxFQUFFLFNBQVMsT0FBTyxZQUFZO0dBQzVELE1BQU0sU0FBUyxRQUFRLFVBQVU7R0FDakMsTUFBTSxVQUFVLFFBQVEsWUFBWSxTQUFTO0dBRzdDLE1BQU0sUUFBUSxJQUFJLFVBQ2QsSUFBSSxLQUFLO0lBQ0wsUUFBUTtJQUNSLFNBQVMsSUFMUyxPQUFPLFFBQVEsRUFBRSxJQUFJO0dBTTNDLENBQUMsQ0FDTDtHQUNBLE1BQU0sT0FBTyxVQUFVLEVBQUUsS0FBSyxRQUFRLEtBQUs7RUFDL0MsQ0FBQyxDQUNMLENBQ0o7Q0FDSjtBQUNKIn0=