From 3c1914c30abac28a330ed58779152236fe379a0a Mon Sep 17 00:00:00 2001 From: RudideC Date: Mon, 23 Feb 2026 11:27:34 +0100 Subject: [PATCH] added ping mod wow --- .../org/saturnclient/modules/ModManager.java | 3 +- .../org/saturnclient/modules/mods/Ping.java | 60 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/saturnclient/modules/mods/Ping.java diff --git a/src/main/java/org/saturnclient/modules/ModManager.java b/src/main/java/org/saturnclient/modules/ModManager.java index ba44238..c948d74 100644 --- a/src/main/java/org/saturnclient/modules/ModManager.java +++ b/src/main/java/org/saturnclient/modules/ModManager.java @@ -23,7 +23,8 @@ public class ModManager { new Speedometer(), new Zoom(), new HealthDisplay(), - new Nametags() + new Nametags(), + new Ping() }; public static void init() { diff --git a/src/main/java/org/saturnclient/modules/mods/Ping.java b/src/main/java/org/saturnclient/modules/mods/Ping.java new file mode 100644 index 0000000..f1ef188 --- /dev/null +++ b/src/main/java/org/saturnclient/modules/mods/Ping.java @@ -0,0 +1,60 @@ +package org.saturnclient.modules.mods; + +import org.saturnclient.modules.HudMod; +import org.saturnclient.modules.ModDimensions; +import org.saturnclient.modules.Module; +import org.saturnclient.modules.ModuleDetails; +import org.saturnclient.saturnclient.config.Property; +import org.saturnclient.ui2.RenderScope; +import org.saturnclient.ui2.resources.Fonts; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.network.ClientPlayNetworkHandler; + +public class Ping extends Module implements HudMod { + private static Property enabled = Property.bool(false); + private static ModDimensions dimensions = new ModDimensions(60, Fonts.getHeight()); + + public Ping() { + super(new ModuleDetails("Ping Display", "fps") + .description("Displays ping") + .version("v0.1.0") + .tags("Utility"), + enabled.named("Enabled"), + dimensions.prop()); + } + + @Override + public void renderHud(RenderScope scope) { + MinecraftClient client = MinecraftClient.getInstance(); + ClientPlayNetworkHandler handler = client.getNetworkHandler(); + String text = "0 ms"; + if (handler != null) { + text = String.valueOf(handler.getPlayerListEntry(client.player.getUuid()).getLatency()) + " ms"; + } + scope.drawText(text, 0, 0, dimensions.font.value, dimensions.fgColor.value); + dimensions.width = Fonts.getWidth(text, dimensions.font.value); + } + + @Override + public void renderDummy(RenderScope scope) { + String text = "10 ms"; + scope.drawText(text, 0, 0, dimensions.font.value, dimensions.fgColor.value); + dimensions.width = Fonts.getWidth(text, dimensions.font.value); + } + + @Override + public boolean isEnabled() { + return enabled.value; + } + + @Override + public void onEnabled(boolean e) { + enabled.value = e; + } + + @Override + public ModDimensions getDimensions() { + return dimensions; + } +}