UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

28 lines (27 loc) 3.58 kB
import { Command } from "../Command.es.js"; import { literal } from "@jsprismarine/brigadier"; //#region src/command/vanilla/ListCommand.ts var ListCommand = class extends Command { constructor() { super({ id: "minecraft:list", description: "Lists players on the server.", permission: "minecraft.command.list" }); } async register(dispatcher) { dispatcher.register(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); })); } }; //#endregion export { ListCommand as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdENvbW1hbmQuZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9MaXN0Q29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmQnO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uLy4uL1BsYXllcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpc3RDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ21pbmVjcmFmdDpsaXN0JyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnTGlzdHMgcGxheWVycyBvbiB0aGUgc2VydmVyLicsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQubGlzdCdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pIHtcbiAgICAgICAgZGlzcGF0Y2hlci5yZWdpc3RlcihcbiAgICAgICAgICAgIGxpdGVyYWwoJ2xpc3QnKS5leGVjdXRlcyhhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYXllcnMgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0U2Vzc2lvbk1hbmFnZXIoKS5nZXRBbGxQbGF5ZXJzKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxheWVyQXJyYXkgPSBBcnJheS5mcm9tKHBsYXllcnMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFBsYXllcnMgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0Q29uZmlnKCkuZ2V0TWF4UGxheWVycygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBwbGF5ZXJBcnJheS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5zd2VyID0gcGxheWVyQXJyYXkubWFwKChwbGF5ZXIpID0+IHBsYXllci5nZXROYW1lKCkpLmpvaW4oJywgJyk7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UoYFRoZXJlIGFyZSAke2NvdW50ZXJ9LyR7bWF4UGxheWVyc30gcGxheWVycyBvbmxpbmU6YCk7XG4gICAgICAgICAgICAgICAgaWYgKGFuc3dlcikgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGFuc3dlcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsSUFBcUIsY0FBckIsY0FBeUMsUUFBUTtDQUM3QyxjQUFxQjtFQUNqQixNQUFNO0dBQ0YsSUFBSTtHQUNKLGFBQWE7R0FDYixZQUFZO0VBQ2hCLENBQUM7Q0FDTDtDQUVBLE1BQWEsU0FBUyxZQUFvQztFQUN0RCxXQUFXLFNBQ1AsUUFBUSxNQUFNLEVBQUUsU0FBUyxPQUFPLFlBQVk7R0FDeEMsTUFBTSxTQUFTLFFBQVEsVUFBVTtHQUNqQyxNQUFNLFVBQVUsT0FBTyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsY0FBYztHQUNyRSxNQUFNLGNBQWMsTUFBTSxLQUFLLE9BQU87R0FDdEMsTUFBTSxhQUFhLE9BQU8sVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjO0dBQ2hFLE1BQU0sVUFBVSxZQUFZO0dBQzVCLE1BQU0sU0FBUyxZQUFZLEtBQUssV0FBVyxPQUFPLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSTtHQUV0RSxNQUFNLE9BQU8sWUFBWSxhQUFhLFFBQVEsR0FBRyxXQUFXLGlCQUFpQjtHQUM3RSxJQUFJLFFBQVEsTUFBTSxPQUFPLFlBQVksTUFBTTtFQUMvQyxDQUFDLENBQ0w7Q0FDSjtBQUNKIn0=