UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

34 lines (29 loc) 4.24 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'); class ListCommand extends command_Command.Command { constructor() { super({ id: "minecraft:list", description: "Lists players on the server.", permission: "minecraft.command.list" }); } async register(dispatcher) { dispatcher.register( brigadier.literal("list").executes(async (context) => { const source = context.getSource(); const players = source.getServer().getSessionManager().getAllPlayers(); const playerArray = Array.from(players); const maxPlayers = source.getServer().getConfig().getMaxPlayers(); const counter = playerArray.length; const answer = playerArray.map((player) => player.getName()).join(", "); await source.sendMessage(`There are ${counter}/${maxPlayers} players online:`); if (answer) await source.sendMessage(answer); }) ); } } exports.default = ListCommand; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdENvbW1hbmQuY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9MaXN0Q29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmQnO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uLy4uL1BsYXllcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpc3RDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ21pbmVjcmFmdDpsaXN0JyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTGlzdHMgcGxheWVycyBvbiB0aGUgc2VydmVyLicsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQubGlzdCdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pIHtcbiAgICAgICAgZGlzcGF0Y2hlci5yZWdpc3RlcihcbiAgICAgICAgICAgIGxpdGVyYWwoJ2xpc3QnKS5leGVjdXRlcyhhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYXllcnMgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0U2Vzc2lvbk1hbmFnZXIoKS5nZXRBbGxQbGF5ZXJzKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxheWVyQXJyYXkgPSBBcnJheS5mcm9tKHBsYXllcnMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFBsYXllcnMgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0Q29uZmlnKCkuZ2V0TWF4UGxheWVycygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBwbGF5ZXJBcnJheS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5zd2VyID0gcGxheWVyQXJyYXkubWFwKChwbGF5ZXIpID0+IHBsYXllci5nZXROYW1lKCkpLmpvaW4oJywgJyk7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UoYFRoZXJlIGFyZSAke2NvdW50ZXJ9LyR7bWF4UGxheWVyc30gcGxheWVycyBvbmxpbmU6YCk7XG4gICAgICAgICAgICAgICAgaWYgKGFuc3dlcikgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGFuc3dlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21tYW5kIiwibGl0ZXJhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU1BLE1BQXFCLG9CQUFvQkEsdUJBQVEsQ0FBQTtBQUFBLEVBQ3RDLFdBQWMsR0FBQTtBQUNqQixJQUFNLEtBQUEsQ0FBQTtBQUFBLE1BQ0YsRUFBSSxFQUFBLGdCQUFBO0FBQUEsTUFDSixXQUFhLEVBQUEsOEJBQUE7QUFBQSxNQUNiLFVBQVksRUFBQTtBQUFBLEtBQ2YsQ0FBQTtBQUFBO0FBQ0wsRUFFQSxNQUFhLFNBQVMsVUFBb0MsRUFBQTtBQUN0RCxJQUFXLFVBQUEsQ0FBQSxRQUFBO0FBQUEsTUFDUEMsaUJBQVEsQ0FBQSxNQUFNLENBQUUsQ0FBQSxRQUFBLENBQVMsT0FBTyxPQUFZLEtBQUE7QUFDeEMsUUFBTSxNQUFBLE1BQUEsR0FBUyxRQUFRLFNBQVUsRUFBQTtBQUNqQyxRQUFBLE1BQU0sVUFBVSxNQUFPLENBQUEsU0FBQSxFQUFZLENBQUEsaUJBQUEsR0FBb0IsYUFBYyxFQUFBO0FBQ3JFLFFBQU0sTUFBQSxXQUFBLEdBQWMsS0FBTSxDQUFBLElBQUEsQ0FBSyxPQUFPLENBQUE7QUFDdEMsUUFBQSxNQUFNLGFBQWEsTUFBTyxDQUFBLFNBQUEsRUFBWSxDQUFBLFNBQUEsR0FBWSxhQUFjLEVBQUE7QUFDaEUsUUFBQSxNQUFNLFVBQVUsV0FBWSxDQUFBLE1BQUE7QUFDNUIsUUFBTSxNQUFBLE1BQUEsR0FBUyxXQUFZLENBQUEsR0FBQSxDQUFJLENBQUMsTUFBQSxLQUFXLE9BQU8sT0FBUSxFQUFDLENBQUUsQ0FBQSxJQUFBLENBQUssSUFBSSxDQUFBO0FBRXRFLFFBQUEsTUFBTSxPQUFPLFdBQVksQ0FBQSxDQUFBLFVBQUEsRUFBYSxPQUFPLENBQUEsQ0FBQSxFQUFJLFVBQVUsQ0FBa0IsZ0JBQUEsQ0FBQSxDQUFBO0FBQzdFLFFBQUEsSUFBSSxNQUFRLEVBQUEsTUFBTSxNQUFPLENBQUEsV0FBQSxDQUFZLE1BQU0sQ0FBQTtBQUFBLE9BQzlDO0FBQUEsS0FDTDtBQUFBO0FBRVI7Ozs7In0=