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