UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

42 lines (41 loc) 5.44 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); require("../../_virtual/_rolldown/runtime.cjs.cjs"); const require_events_chat_ChatEvent = require("../../events/chat/ChatEvent.cjs.cjs"); const require_command_Command = require("../Command.cjs.cjs"); const require_command_CommandArguments = require("../CommandArguments.cjs.cjs"); const require_chat_Chat = require("../../chat/Chat.cjs.cjs"); let _jsprismarine_errors = require("@jsprismarine/errors"); let _jsprismarine_brigadier = require("@jsprismarine/brigadier"); //#region src/command/vanilla/OpCommand.ts var OpCommand = class extends require_command_Command.Command { constructor() { super({ id: "minecraft:op", description: "Grant player op status.", permission: "minecraft.command.op" }); } async register(dispatcher) { dispatcher.register((0, _jsprismarine_brigadier.literal)("op").then((0, _jsprismarine_brigadier.argument)("player", new require_command_CommandArguments.PlayerArgumentCommand({ name: "player" })).executes(async (context) => { const source = context.getSource(); const username = context.getArgument("player"); const target = source.getServer().getSessionManager().getPlayerByExactName(username); if (!target) throw new _jsprismarine_errors.PlayerNotFoundError(username); await source.getServer().getPermissionManager().setOp(username, true); const event = new require_events_chat_ChatEvent.default(new require_chat_Chat.Chat({ sender: source, message: "§eYou are now op!", channel: `*.player.${target.getName()}` })); await target.getServer().emit("chat", event); return `Made ${username} a server operator`; }))); } }; //#endregion exports.default = OpCommand; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BDb21tYW5kLmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9PcENvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tYW5kRGlzcGF0Y2hlciB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcbmltcG9ydCB7IGFyZ3VtZW50LCBsaXRlcmFsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgeyBQbGF5ZXJOb3RGb3VuZEVycm9yIH0gZnJvbSAnQGpzcHJpc21hcmluZS9lcnJvcnMnO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uLy4uL1BsYXllcic7XG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vY2hhdC9DaGF0JztcbmltcG9ydCBDaGF0RXZlbnQgZnJvbSAnLi4vLi4vZXZlbnRzL2NoYXQvQ2hhdEV2ZW50JztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCB7IFBsYXllckFyZ3VtZW50Q29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmRBcmd1bWVudHMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPcENvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnbWluZWNyYWZ0Om9wJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnR3JhbnQgcGxheWVyIG9wIHN0YXR1cy4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ21pbmVjcmFmdC5jb21tYW5kLm9wJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgnb3AnKS50aGVuKFxuICAgICAgICAgICAgICAgIGFyZ3VtZW50KCdwbGF5ZXInLCBuZXcgUGxheWVyQXJndW1lbnRDb21tYW5kKHsgbmFtZTogJ3BsYXllcicgfSkpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2VybmFtZSA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ3BsYXllcicpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRTZXNzaW9uTWFuYWdlcigpLmdldFBsYXllckJ5RXhhY3ROYW1lKHVzZXJuYW1lKTsgLy8gVE9ETzogYnkgbmFtZSBub3QgZXhhY3RcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQpIHRocm93IG5ldyBQbGF5ZXJOb3RGb3VuZEVycm9yKHVzZXJuYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0UGVybWlzc2lvbk1hbmFnZXIoKS5zZXRPcCh1c2VybmFtZSwgdHJ1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQ2hhdEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENoYXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRlcjogc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfCp2VZb3UgYXJlIG5vdyBvcCEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWw6IGAqLnBsYXllci4ke3RhcmdldC5nZXROYW1lKCl9YFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGFyZ2V0LmdldFNlcnZlcigpLmVtaXQoJ2NoYXQnLCBldmVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBNYWRlICR7dXNlcm5hbWV9IGEgc2VydmVyIG9wZXJhdG9yYDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQVVBLElBQXFCLFlBQXJCLGNBQXVDLHdCQUFBLFFBQVE7Q0FDM0MsY0FBcUI7RUFDakIsTUFBTTtHQUNGLElBQUk7R0FDSixhQUFhO0dBQ2IsWUFBWTtFQUNoQixDQUFDO0NBQ0w7Q0FFQSxNQUFhLFNBQVMsWUFBb0M7RUFDdEQsV0FBVyxVQUFBLEdBQUEsd0JBQUEsU0FDQyxJQUFJLEVBQUUsTUFBQSxHQUFBLHdCQUFBLFVBQ0QsVUFBVSxJQUFJLGlDQUFBLHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLE9BQU8sWUFBWTtHQUMxRixNQUFNLFNBQVMsUUFBUSxVQUFVO0dBQ2pDLE1BQU0sV0FBVyxRQUFRLFlBQVksUUFBUTtHQUU3QyxNQUFNLFNBQVMsT0FBTyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLFFBQVE7R0FDbkYsSUFBSSxDQUFDLFFBQVEsTUFBTSxJQUFJLHFCQUFBLG9CQUFvQixRQUFRO0dBRW5ELE1BQU0sT0FBTyxVQUFVLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLElBQUk7R0FFcEUsTUFBTSxRQUFRLElBQUksOEJBQUEsUUFDZCxJQUFJLGtCQUFBLEtBQUs7SUFDTCxRQUFRO0lBQ1IsU0FBUztJQUNULFNBQVMsWUFBWSxPQUFPLFFBQVE7R0FDeEMsQ0FBQyxDQUNMO0dBQ0EsTUFBTSxPQUFPLFVBQVUsRUFBRSxLQUFLLFFBQVEsS0FBSztHQUUzQyxPQUFPLFFBQVEsU0FBUztFQUM1QixDQUFDLENBQ0wsQ0FDSjtDQUNKO0FBQ0oifQ==