UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

32 lines (29 loc) 3.72 kB
import { literal } from '@jsprismarine/brigadier'; import { Command } from '../Command.es.js'; class TpsCommand extends Command { constructor() { super({ id: "jsprismarine:tps", description: "Get current TPS.", permission: "jsprismarine.command.tps" }); } formatTPS(tps) { let color = "§4"; if (tps >= 19) color = "§2"; else if (tps >= 15) color = "§e"; return `${color}${tps.toFixed(2)}§r`; } async register(dispatcher) { dispatcher.register( literal("tps").executes(async (context) => { const source = context.getSource(); const tps = source.getServer().getTPS(); const tick = source.getServer().getTick(); await source.sendMessage(`TPS: ${this.formatTPS(tps)} (Tick: ${tick})`); }) ); } } export { TpsCommand as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHBzQ29tbWFuZC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvanNwcmlzbWFyaW5lL1Rwc0NvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tYW5kRGlzcGF0Y2hlciB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcbmltcG9ydCB7IGxpdGVyYWwgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5cbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi8uLi9QbGF5ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUcHNDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ2pzcHJpc21hcmluZTp0cHMnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdHZXQgY3VycmVudCBUUFMuJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb246ICdqc3ByaXNtYXJpbmUuY29tbWFuZC50cHMnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VFBTKHRwczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGNvbG9yID0gJ8KnNCc7XG5cbiAgICAgICAgaWYgKHRwcyA+PSAxOSkgY29sb3IgPSAnwqcyJztcbiAgICAgICAgZWxzZSBpZiAodHBzID49IDE1KSBjb2xvciA9ICfCp2UnO1xuXG4gICAgICAgIHJldHVybiBgJHtjb2xvcn0ke3Rwcy50b0ZpeGVkKDIpfcKncmA7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pIHtcbiAgICAgICAgZGlzcGF0Y2hlci5yZWdpc3RlcihcbiAgICAgICAgICAgIGxpdGVyYWwoJ3RwcycpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc291cmNlID0gY29udGV4dC5nZXRTb3VyY2UoKSBhcyBQbGF5ZXI7XG4gICAgICAgICAgICAgICAgY29uc3QgdHBzID0gc291cmNlLmdldFNlcnZlcigpLmdldFRQUygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpY2sgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0VGljaygpO1xuXG4gICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGBUUFM6ICR7dGhpcy5mb3JtYXRUUFModHBzKX0gKFRpY2s6ICR7dGlja30pYCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFxQixtQkFBbUIsT0FBUSxDQUFBO0FBQUEsRUFDckMsV0FBYyxHQUFBO0FBQ2pCLElBQU0sS0FBQSxDQUFBO0FBQUEsTUFDRixFQUFJLEVBQUEsa0JBQUE7QUFBQSxNQUNKLFdBQWEsRUFBQSxrQkFBQTtBQUFBLE1BQ2IsVUFBWSxFQUFBO0FBQUEsS0FDZixDQUFBO0FBQUE7QUFDTCxFQUVRLFVBQVUsR0FBcUIsRUFBQTtBQUNuQyxJQUFBLElBQUksS0FBUSxHQUFBLElBQUE7QUFFWixJQUFJLElBQUEsR0FBQSxJQUFPLElBQVksS0FBQSxHQUFBLElBQUE7QUFBQSxTQUNkLElBQUEsR0FBQSxJQUFPLElBQVksS0FBQSxHQUFBLElBQUE7QUFFNUIsSUFBQSxPQUFPLEdBQUcsS0FBSyxDQUFBLEVBQUcsR0FBSSxDQUFBLE9BQUEsQ0FBUSxDQUFDLENBQUMsQ0FBQSxFQUFBLENBQUE7QUFBQTtBQUNwQyxFQUVBLE1BQWEsU0FBUyxVQUFvQyxFQUFBO0FBQ3RELElBQVcsVUFBQSxDQUFBLFFBQUE7QUFBQSxNQUNQLE9BQVEsQ0FBQSxLQUFLLENBQUUsQ0FBQSxRQUFBLENBQVMsT0FBTyxPQUFZLEtBQUE7QUFDdkMsUUFBTSxNQUFBLE1BQUEsR0FBUyxRQUFRLFNBQVUsRUFBQTtBQUNqQyxRQUFBLE1BQU0sR0FBTSxHQUFBLE1BQUEsQ0FBTyxTQUFVLEVBQUEsQ0FBRSxNQUFPLEVBQUE7QUFDdEMsUUFBQSxNQUFNLElBQU8sR0FBQSxNQUFBLENBQU8sU0FBVSxFQUFBLENBQUUsT0FBUSxFQUFBO0FBRXhDLFFBQU0sTUFBQSxNQUFBLENBQU8sWUFBWSxDQUFRLEtBQUEsRUFBQSxJQUFBLENBQUssVUFBVSxHQUFHLENBQUMsQ0FBVyxRQUFBLEVBQUEsSUFBSSxDQUFHLENBQUEsQ0FBQSxDQUFBO0FBQUEsT0FDekU7QUFBQSxLQUNMO0FBQUE7QUFFUjs7OzsifQ==