UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

47 lines (41 loc) 6.56 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const brigadier = require('@jsprismarine/brigadier'); const command_Command = require('../Command.cjs.cjs'); const command_CommandArguments = require('../CommandArguments.cjs.cjs'); class KickCommand extends command_Command.Command { constructor() { super({ id: "minecraft:kick", description: "Kicks a player off the server.", permission: "minecraft.command.kick" }); } async register(dispatcher) { dispatcher.register( brigadier.literal("kick").then( brigadier.argument("player", new command_CommandArguments.PlayerArgumentCommand({ name: "player" })).then( brigadier.argument("reason", brigadier.greedyString()).executes(async (context) => { const targets = context.getArgument("player"); const reason = context.getArgument("reason"); await Promise.all( targets.map( async (target) => await target.kick(`You have been kicked from the server due to: ${reason}!`) ) ); return `Kicked ${targets.map((target) => target.getFormattedUsername()).join(", ")} due to: ${reason}!`; }) ).executes(async (context) => { const targets = context.getArgument("player"); await Promise.all( targets.map(async (target) => await target.kick(`You have been kicked from the server!`)) ); return `Kicked ${targets.map((target) => target.getFormattedUsername()).join(", ")}`; }) ) ); } } exports.default = KickCommand; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2lja0NvbW1hbmQuY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9LaWNrQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgYXJndW1lbnQsIGdyZWVkeVN0cmluZywgbGl0ZXJhbCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uLy4uL1BsYXllcic7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi4vQ29tbWFuZCc7XG5pbXBvcnQgeyBQbGF5ZXJBcmd1bWVudENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kQXJndW1lbnRzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgS2lja0NvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnbWluZWNyYWZ0OmtpY2snLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdLaWNrcyBhIHBsYXllciBvZmYgdGhlIHNlcnZlci4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ21pbmVjcmFmdC5jb21tYW5kLmtpY2snXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZWdpc3RlcihkaXNwYXRjaGVyOiBDb21tYW5kRGlzcGF0Y2hlcjxhbnk+KSB7XG4gICAgICAgIGRpc3BhdGNoZXIucmVnaXN0ZXIoXG4gICAgICAgICAgICBsaXRlcmFsKCdraWNrJykudGhlbihcbiAgICAgICAgICAgICAgICBhcmd1bWVudCgncGxheWVyJywgbmV3IFBsYXllckFyZ3VtZW50Q29tbWFuZCh7IG5hbWU6ICdwbGF5ZXInIH0pKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50KCdyZWFzb24nLCBncmVlZHlTdHJpbmcoKSkuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRzID0gY29udGV4dC5nZXRBcmd1bWVudCgncGxheWVyJykgYXMgUGxheWVyW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVhc29uID0gY29udGV4dC5nZXRBcmd1bWVudCgncmVhc29uJykgYXMgc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldHMubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN5bmMgKHRhcmdldCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0YXJnZXQua2ljayhgWW91IGhhdmUgYmVlbiBraWNrZWQgZnJvbSB0aGUgc2VydmVyIGR1ZSB0bzogXFxuXFxuJHtyZWFzb259IWApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgS2lja2VkICR7dGFyZ2V0c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKCh0YXJnZXQpID0+IHRhcmdldC5nZXRGb3JtYXR0ZWRVc2VybmFtZSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbignLCAnKX0gZHVlIHRvOiAke3JlYXNvbn0hYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRzID0gY29udGV4dC5nZXRBcmd1bWVudCgncGxheWVyJykgYXMgUGxheWVyW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldHMubWFwKGFzeW5jICh0YXJnZXQpID0+IGF3YWl0IHRhcmdldC5raWNrKGBZb3UgaGF2ZSBiZWVuIGtpY2tlZCBmcm9tIHRoZSBzZXJ2ZXIhYCkpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBLaWNrZWQgJHt0YXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB0YXJnZXQuZ2V0Rm9ybWF0dGVkVXNlcm5hbWUoKSkuam9pbignLCAnKX1gO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21tYW5kIiwibGl0ZXJhbCIsImFyZ3VtZW50IiwiUGxheWVyQXJndW1lbnRDb21tYW5kIiwiZ3JlZWR5U3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQU9BLE1BQXFCLG9CQUFvQkEsdUJBQVEsQ0FBQTtBQUFBLEVBQ3RDLFdBQWMsR0FBQTtBQUNqQixJQUFNLEtBQUEsQ0FBQTtBQUFBLE1BQ0YsRUFBSSxFQUFBLGdCQUFBO0FBQUEsTUFDSixXQUFhLEVBQUEsZ0NBQUE7QUFBQSxNQUNiLFVBQVksRUFBQTtBQUFBLEtBQ2YsQ0FBQTtBQUFBO0FBQ0wsRUFFQSxNQUFhLFNBQVMsVUFBb0MsRUFBQTtBQUN0RCxJQUFXLFVBQUEsQ0FBQSxRQUFBO0FBQUEsTUFDUEMsaUJBQUEsQ0FBUSxNQUFNLENBQUUsQ0FBQSxJQUFBO0FBQUEsUUFDWkMsa0JBQUEsQ0FBUyxVQUFVLElBQUlDLDhDQUFBLENBQXNCLEVBQUUsSUFBTSxFQUFBLFFBQUEsRUFBVSxDQUFDLENBQzNELENBQUEsSUFBQTtBQUFBLFVBQ0dELG1CQUFTLFFBQVUsRUFBQUUsc0JBQUEsRUFBYyxDQUFFLENBQUEsUUFBQSxDQUFTLE9BQU8sT0FBWSxLQUFBO0FBQzNELFlBQU0sTUFBQSxPQUFBLEdBQVUsT0FBUSxDQUFBLFdBQUEsQ0FBWSxRQUFRLENBQUE7QUFDNUMsWUFBTSxNQUFBLE1BQUEsR0FBUyxPQUFRLENBQUEsV0FBQSxDQUFZLFFBQVEsQ0FBQTtBQUUzQyxZQUFBLE1BQU0sT0FBUSxDQUFBLEdBQUE7QUFBQSxjQUNWLE9BQVEsQ0FBQSxHQUFBO0FBQUEsZ0JBQ0osT0FBTyxNQUFBLEtBQ0gsTUFBTSxNQUFBLENBQU8sSUFBSyxDQUFBLENBQUE7O0FBQUEsRUFBb0QsTUFBTSxDQUFHLENBQUEsQ0FBQTtBQUFBO0FBQ3ZGLGFBQ0o7QUFDQSxZQUFBLE9BQU8sQ0FBVSxPQUFBLEVBQUEsT0FBQSxDQUNaLEdBQUksQ0FBQSxDQUFDLE1BQVcsS0FBQSxNQUFBLENBQU8sb0JBQXFCLEVBQUMsQ0FDN0MsQ0FBQSxJQUFBLENBQUssSUFBSSxDQUFDLFlBQVksTUFBTSxDQUFBLENBQUEsQ0FBQTtBQUFBLFdBQ3BDO0FBQUEsU0FDTCxDQUNDLFFBQVMsQ0FBQSxPQUFPLE9BQVksS0FBQTtBQUN6QixVQUFNLE1BQUEsT0FBQSxHQUFVLE9BQVEsQ0FBQSxXQUFBLENBQVksUUFBUSxDQUFBO0FBRTVDLFVBQUEsTUFBTSxPQUFRLENBQUEsR0FBQTtBQUFBLFlBQ1YsT0FBQSxDQUFRLElBQUksT0FBTyxNQUFBLEtBQVcsTUFBTSxNQUFPLENBQUEsSUFBQSxDQUFLLHVDQUF1QyxDQUFDO0FBQUEsV0FDNUY7QUFDQSxVQUFPLE9BQUEsQ0FBQSxPQUFBLEVBQVUsT0FBUSxDQUFBLEdBQUEsQ0FBSSxDQUFDLE1BQUEsS0FBVyxNQUFPLENBQUEsb0JBQUEsRUFBc0IsQ0FBQSxDQUFFLElBQUssQ0FBQSxJQUFJLENBQUMsQ0FBQSxDQUFBO0FBQUEsU0FDckY7QUFBQTtBQUNULEtBQ0o7QUFBQTtBQUVSOzs7OyJ9