@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
36 lines (31 loc) • 3.92 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 TpsCommand extends command_Command.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(
brigadier.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})`);
})
);
}
}
exports.default = TpsCommand;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHBzQ29tbWFuZC5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC9qc3ByaXNtYXJpbmUvVHBzQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmQnO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uLy4uL1BsYXllcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRwc0NvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnanNwcmlzbWFyaW5lOnRwcycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dldCBjdXJyZW50IFRQUy4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ2pzcHJpc21hcmluZS5jb21tYW5kLnRwcydcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRUUFModHBzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY29sb3IgPSAnwqc0JztcblxuICAgICAgICBpZiAodHBzID49IDE5KSBjb2xvciA9ICfCpzInO1xuICAgICAgICBlbHNlIGlmICh0cHMgPj0gMTUpIGNvbG9yID0gJ8KnZSc7XG5cbiAgICAgICAgcmV0dXJuIGAke2NvbG9yfSR7dHBzLnRvRml4ZWQoMil9wqdyYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgndHBzJykuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICBjb25zdCB0cHMgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0VFBTKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGljayA9IHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRUaWNrKCk7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UoYFRQUzogJHt0aGlzLmZvcm1hdFRQUyh0cHMpfSAoVGljazogJHt0aWNrfSlgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbW1hbmQiLCJsaXRlcmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUEsTUFBcUIsbUJBQW1CQSx1QkFBUSxDQUFBO0FBQUEsRUFDckMsV0FBYyxHQUFBO0FBQ2pCLElBQU0sS0FBQSxDQUFBO0FBQUEsTUFDRixFQUFJLEVBQUEsa0JBQUE7QUFBQSxNQUNKLFdBQWEsRUFBQSxrQkFBQTtBQUFBLE1BQ2IsVUFBWSxFQUFBO0FBQUEsS0FDZixDQUFBO0FBQUE7QUFDTCxFQUVRLFVBQVUsR0FBcUIsRUFBQTtBQUNuQyxJQUFBLElBQUksS0FBUSxHQUFBLElBQUE7QUFFWixJQUFJLElBQUEsR0FBQSxJQUFPLElBQVksS0FBQSxHQUFBLElBQUE7QUFBQSxTQUNkLElBQUEsR0FBQSxJQUFPLElBQVksS0FBQSxHQUFBLElBQUE7QUFFNUIsSUFBQSxPQUFPLEdBQUcsS0FBSyxDQUFBLEVBQUcsR0FBSSxDQUFBLE9BQUEsQ0FBUSxDQUFDLENBQUMsQ0FBQSxFQUFBLENBQUE7QUFBQTtBQUNwQyxFQUVBLE1BQWEsU0FBUyxVQUFvQyxFQUFBO0FBQ3RELElBQVcsVUFBQSxDQUFBLFFBQUE7QUFBQSxNQUNQQyxpQkFBUSxDQUFBLEtBQUssQ0FBRSxDQUFBLFFBQUEsQ0FBUyxPQUFPLE9BQVksS0FBQTtBQUN2QyxRQUFNLE1BQUEsTUFBQSxHQUFTLFFBQVEsU0FBVSxFQUFBO0FBQ2pDLFFBQUEsTUFBTSxHQUFNLEdBQUEsTUFBQSxDQUFPLFNBQVUsRUFBQSxDQUFFLE1BQU8sRUFBQTtBQUN0QyxRQUFBLE1BQU0sSUFBTyxHQUFBLE1BQUEsQ0FBTyxTQUFVLEVBQUEsQ0FBRSxPQUFRLEVBQUE7QUFFeEMsUUFBTSxNQUFBLE1BQUEsQ0FBTyxZQUFZLENBQVEsS0FBQSxFQUFBLElBQUEsQ0FBSyxVQUFVLEdBQUcsQ0FBQyxDQUFXLFFBQUEsRUFBQSxJQUFJLENBQUcsQ0FBQSxDQUFBLENBQUE7QUFBQSxPQUN6RTtBQUFBLEtBQ0w7QUFBQTtBQUVSOzs7OyJ9