@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
30 lines (29 loc) • 3.27 kB
JavaScript
import { Command } from "../Command.es.js";
import { literal } from "@jsprismarine/brigadier";
//#region src/command/jsprismarine/TpsCommand.ts
var TpsCommand = class 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})`);
}));
}
};
//#endregion
export { TpsCommand as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHBzQ29tbWFuZC5lcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC9qc3ByaXNtYXJpbmUvVHBzQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgbGl0ZXJhbCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmQnO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uLy4uL1BsYXllcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRwc0NvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnanNwcmlzbWFyaW5lOnRwcycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dldCBjdXJyZW50IFRQUy4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ2pzcHJpc21hcmluZS5jb21tYW5kLnRwcydcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRUUFModHBzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY29sb3IgPSAnwqc0JztcblxuICAgICAgICBpZiAodHBzID49IDE5KSBjb2xvciA9ICfCpzInO1xuICAgICAgICBlbHNlIGlmICh0cHMgPj0gMTUpIGNvbG9yID0gJ8KnZSc7XG5cbiAgICAgICAgcmV0dXJuIGAke2NvbG9yfSR7dHBzLnRvRml4ZWQoMil9wqdyYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgndHBzJykuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICBjb25zdCB0cHMgPSBzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0VFBTKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGljayA9IHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRUaWNrKCk7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UoYFRQUzogJHt0aGlzLmZvcm1hdFRQUyh0cHMpfSAoVGljazogJHt0aWNrfSlgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFNQSxJQUFxQixhQUFyQixjQUF3QyxRQUFRO0NBQzVDLGNBQXFCO0VBQ2pCLE1BQU07R0FDRixJQUFJO0dBQ0osYUFBYTtHQUNiLFlBQVk7RUFDaEIsQ0FBQztDQUNMO0NBRUEsVUFBa0IsS0FBcUI7RUFDbkMsSUFBSSxRQUFRO0VBRVosSUFBSSxPQUFPLElBQUksUUFBUTtPQUNsQixJQUFJLE9BQU8sSUFBSSxRQUFRO0VBRTVCLE9BQU8sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLEVBQUU7Q0FDckM7Q0FFQSxNQUFhLFNBQVMsWUFBb0M7RUFDdEQsV0FBVyxTQUNQLFFBQVEsS0FBSyxFQUFFLFNBQVMsT0FBTyxZQUFZO0dBQ3ZDLE1BQU0sU0FBUyxRQUFRLFVBQVU7R0FDakMsTUFBTSxNQUFNLE9BQU8sVUFBVSxFQUFFLE9BQU87R0FDdEMsTUFBTSxPQUFPLE9BQU8sVUFBVSxFQUFFLFFBQVE7R0FFeEMsTUFBTSxPQUFPLFlBQVksUUFBUSxLQUFLLFVBQVUsR0FBRyxFQUFFLFVBQVUsS0FBSyxFQUFFO0VBQzFFLENBQUMsQ0FDTDtDQUNKO0FBQ0oifQ==