From e55e741f341f1ec13ca44a8fbd13653316eff711 Mon Sep 17 00:00:00 2001 From: Bella Date: Fri, 3 Apr 2020 20:14:38 -0400 Subject: [PATCH] added server not responding to close #126 --- .../modules/utils/ServerNotRespond.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/main/java/me/zeroeightsix/kami/module/modules/utils/ServerNotRespond.java diff --git a/src/main/java/me/zeroeightsix/kami/module/modules/utils/ServerNotRespond.java b/src/main/java/me/zeroeightsix/kami/module/modules/utils/ServerNotRespond.java new file mode 100644 index 000000000..5212b9d91 --- /dev/null +++ b/src/main/java/me/zeroeightsix/kami/module/modules/utils/ServerNotRespond.java @@ -0,0 +1,40 @@ +package me.zeroeightsix.kami.module.modules.utils; + +import me.zero.alpine.listener.EventHandler; +import me.zero.alpine.listener.Listener; +import me.zeroeightsix.kami.event.events.PacketEvent; +import me.zeroeightsix.kami.gui.rgui.render.font.FontRenderer; +import me.zeroeightsix.kami.module.Module; +import me.zeroeightsix.kami.setting.Setting; +import me.zeroeightsix.kami.setting.Settings; +import me.zeroeightsix.kami.util.Wrapper; + +import static me.zeroeightsix.kami.util.InfoCalculator.round; + +/** + * @author S-B99 + * Thanks Brady and cooker and leij for helping me not be completely retarded + */ +@Module.Info(name = "ServerNotRespond", description = "Displays a warning when the server is lagging", category = Module.Category.UTILS) +public class ServerNotRespond extends Module { + private Setting timeout = register(Settings.doubleBuilder().withName("Timeout").withValue(1.0).withMinimum(0.0).withMaximum(10.0).build()); + private long serverLastUpdated; + + @Override + public void onRender() { + if (!(timeout.getValue() * 1000L <= System.currentTimeMillis() - serverLastUpdated)) return; + String text = "Server Not Responding! " + timeDifference() + "s"; + FontRenderer renderer = Wrapper.getFontRenderer(); + + int divider = mc.gameSettings.guiScale; + if (divider == 0) divider = 3; /* 217 is the offset to make it go high, bigger = higher, with 0 being center */ + renderer.drawStringWithShadow(mc.displayWidth / divider / 2 - renderer.getStringWidth(text) / 2, mc.displayHeight / divider / 2 - 217, 255, 85, 85, text); + } + + @EventHandler + private Listener receiveListener = new Listener<>(event -> serverLastUpdated = System.currentTimeMillis()); + + private double timeDifference() { + return round((System.currentTimeMillis() - serverLastUpdated) / 1000d, 1); + } +}