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