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