UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

45 lines (40 loc) 6.01 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const brigadier = require('@jsprismarine/brigadier'); const chat_Chat = require('../../chat/Chat.cjs.cjs'); const events_chat_ChatEvent = require('../../events/chat/ChatEvent.cjs.cjs'); const command_Command = require('../Command.cjs.cjs'); const command_CommandArguments = require('../CommandArguments.cjs.cjs'); class DeopCommand extends command_Command.Command { constructor() { super({ id: "minecraft:deop", description: `Remove a player's op status.`, permission: "minecraft.command.deop" }); } async register(dispatcher) { dispatcher.register( brigadier.literal("deop").then( brigadier.argument("player", new command_CommandArguments.PlayerArgumentCommand({ name: "player" })).executes(async (context) => { const source = context.getSource(); const target = source.getServer().getSessionManager().getPlayerByExactName(context.getArgument("player")); await source.getServer().getPermissionManager().setOp(context.getArgument("player"), false); if (target) { const event = new events_chat_ChatEvent.default( new chat_Chat.Chat({ sender: source, message: "§eYou are no longer op!", channel: `*.player.${target.getName()}` }) ); await target.getServer().emit("chat", event); } return `Made ${context.getArgument("player")} no longer a server operator`; }) ) ); } } exports.default = DeopCommand; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVvcENvbW1hbmQuY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9EZW9wQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgYXJndW1lbnQsIGxpdGVyYWwgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBDaGF0IH0gZnJvbSAnLi4vLi4vY2hhdC9DaGF0JztcbmltcG9ydCBDaGF0RXZlbnQgZnJvbSAnLi4vLi4vZXZlbnRzL2NoYXQvQ2hhdEV2ZW50JztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi8uLi9QbGF5ZXInO1xuaW1wb3J0IHsgUGxheWVyQXJndW1lbnRDb21tYW5kIH0gZnJvbSAnLi4vQ29tbWFuZEFyZ3VtZW50cyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERlb3BDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ21pbmVjcmFmdDpkZW9wJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgUmVtb3ZlIGEgcGxheWVyJ3Mgb3Agc3RhdHVzLmAsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQuZGVvcCdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pIHtcbiAgICAgICAgZGlzcGF0Y2hlci5yZWdpc3RlcihcbiAgICAgICAgICAgIGxpdGVyYWwoJ2Rlb3AnKS50aGVuKFxuICAgICAgICAgICAgICAgIGFyZ3VtZW50KCdwbGF5ZXInLCBuZXcgUGxheWVyQXJndW1lbnRDb21tYW5kKHsgbmFtZTogJ3BsYXllcicgfSkpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBzb3VyY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRTZXJ2ZXIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmdldFNlc3Npb25NYW5hZ2VyKClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRQbGF5ZXJCeUV4YWN0TmFtZShjb250ZXh0LmdldEFyZ3VtZW50KCdwbGF5ZXInKSk7IC8vIFRPRE86IGJ5IG5hbWUgbm90IGV4YWN0XG5cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLmdldFNlcnZlcigpLmdldFBlcm1pc3Npb25NYW5hZ2VyKCkuc2V0T3AoY29udGV4dC5nZXRBcmd1bWVudCgncGxheWVyJyksIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDaGF0RXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENoYXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kZXI6IHNvdXJjZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ8KnZVlvdSBhcmUgbm8gbG9uZ2VyIG9wIScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWw6IGAqLnBsYXllci4ke3RhcmdldC5nZXROYW1lKCl9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGFyZ2V0LmdldFNlcnZlcigpLmVtaXQoJ2NoYXQnLCBldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYE1hZGUgJHtjb250ZXh0LmdldEFyZ3VtZW50KCdwbGF5ZXInKX0gbm8gbG9uZ2VyIGEgc2VydmVyIG9wZXJhdG9yYDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21tYW5kIiwibGl0ZXJhbCIsImFyZ3VtZW50IiwiUGxheWVyQXJndW1lbnRDb21tYW5kIiwiQ2hhdEV2ZW50IiwiQ2hhdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVFBLE1BQXFCLG9CQUFvQkEsdUJBQVEsQ0FBQTtBQUFBLEVBQ3RDLFdBQWMsR0FBQTtBQUNqQixJQUFNLEtBQUEsQ0FBQTtBQUFBLE1BQ0YsRUFBSSxFQUFBLGdCQUFBO0FBQUEsTUFDSixXQUFhLEVBQUEsQ0FBQSw0QkFBQSxDQUFBO0FBQUEsTUFDYixVQUFZLEVBQUE7QUFBQSxLQUNmLENBQUE7QUFBQTtBQUNMLEVBRUEsTUFBYSxTQUFTLFVBQW9DLEVBQUE7QUFDdEQsSUFBVyxVQUFBLENBQUEsUUFBQTtBQUFBLE1BQ1BDLGlCQUFBLENBQVEsTUFBTSxDQUFFLENBQUEsSUFBQTtBQUFBLFFBQ1pDLGtCQUFTLENBQUEsUUFBQSxFQUFVLElBQUlDLDhDQUFBLENBQXNCLEVBQUUsSUFBQSxFQUFNLFFBQVMsRUFBQyxDQUFDLENBQUEsQ0FBRSxRQUFTLENBQUEsT0FBTyxPQUFZLEtBQUE7QUFDMUYsVUFBTSxNQUFBLE1BQUEsR0FBUyxRQUFRLFNBQVUsRUFBQTtBQUNqQyxVQUFNLE1BQUEsTUFBQSxHQUFTLE1BQ1YsQ0FBQSxTQUFBLEVBQ0EsQ0FBQSxpQkFBQSxHQUNBLG9CQUFxQixDQUFBLE9BQUEsQ0FBUSxXQUFZLENBQUEsUUFBUSxDQUFDLENBQUE7QUFFdkQsVUFBTSxNQUFBLE1BQUEsQ0FBTyxTQUFVLEVBQUEsQ0FBRSxvQkFBcUIsRUFBQSxDQUFFLE1BQU0sT0FBUSxDQUFBLFdBQUEsQ0FBWSxRQUFRLENBQUEsRUFBRyxLQUFLLENBQUE7QUFFMUYsVUFBQSxJQUFJLE1BQVEsRUFBQTtBQUNSLFlBQUEsTUFBTSxRQUFRLElBQUlDLDZCQUFBO0FBQUEsY0FDZCxJQUFJQyxjQUFLLENBQUE7QUFBQSxnQkFDTCxNQUFRLEVBQUEsTUFBQTtBQUFBLGdCQUNSLE9BQVMsRUFBQSx5QkFBQTtBQUFBLGdCQUNULE9BQVMsRUFBQSxDQUFBLFNBQUEsRUFBWSxNQUFPLENBQUEsT0FBQSxFQUFTLENBQUE7QUFBQSxlQUN4QztBQUFBLGFBQ0w7QUFDQSxZQUFBLE1BQU0sTUFBTyxDQUFBLFNBQUEsRUFBWSxDQUFBLElBQUEsQ0FBSyxRQUFRLEtBQUssQ0FBQTtBQUFBO0FBRy9DLFVBQUEsT0FBTyxDQUFRLEtBQUEsRUFBQSxPQUFBLENBQVEsV0FBWSxDQUFBLFFBQVEsQ0FBQyxDQUFBLDRCQUFBLENBQUE7QUFBQSxTQUMvQztBQUFBO0FBQ0wsS0FDSjtBQUFBO0FBRVI7Ozs7In0=