From 3d9d01a28f6c49df20e8f333edeecfc0cb861c82 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Sat, 14 Jun 2025 14:09:27 -0500 Subject: [PATCH] fps display --- .../org/saturnclient/modules/ModManager.java | 3 +- .../modules/mods/ArmorDisplay.java | 3 +- .../org/saturnclient/modules/mods/Fps.java | 54 +++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/saturnclient/modules/mods/Fps.java diff --git a/src/main/java/org/saturnclient/modules/ModManager.java b/src/main/java/org/saturnclient/modules/ModManager.java index 12f5b46..7627308 100644 --- a/src/main/java/org/saturnclient/modules/ModManager.java +++ b/src/main/java/org/saturnclient/modules/ModManager.java @@ -14,7 +14,8 @@ public class ModManager { public static Module[] MODS = { new Crosshair(), new AutoSprint(), - new ArmorDisplay() + new ArmorDisplay(), + new Fps(), }; public static void init() { diff --git a/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java b/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java index 80d7621..192fbcc 100644 --- a/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java +++ b/src/main/java/org/saturnclient/modules/mods/ArmorDisplay.java @@ -17,7 +17,8 @@ public class ArmorDisplay extends Module implements HudMod { private static ModDimensions dimensions = new ModDimensions(40, 60); public ArmorDisplay() { - super(new ModuleDetails("Armor Display", "armor").description("Displays armor durability") + super(new ModuleDetails("Armor Display", "armor") + .description("Displays armor durability") .version("v0.1.0") .tags("Utility"), enabled.named("Enabled"), diff --git a/src/main/java/org/saturnclient/modules/mods/Fps.java b/src/main/java/org/saturnclient/modules/mods/Fps.java new file mode 100644 index 0000000..8f48852 --- /dev/null +++ b/src/main/java/org/saturnclient/modules/mods/Fps.java @@ -0,0 +1,54 @@ +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.SaturnClient; +import org.saturnclient.saturnclient.config.Property; +import org.saturnclient.ui2.RenderScope; +import org.saturnclient.ui2.resources.Fonts; + +public class Fps extends Module implements HudMod { + private static Property enabled = new Property<>(false); + private static Property fgColor = new Property<>(-1, Property.PropertyType.HEX); + private static ModDimensions dimensions = new ModDimensions(60, Fonts.getHeight()); + + public Fps() { + super(new ModuleDetails("FPS Display", "fps") + .description("Displays current FPS") + .version("v0.1.0") + .tags("Utility"), + enabled.named("Enabled"), + dimensions.prop()); + } + + @Override + public void renderHud(RenderScope scope) { + String text = String.valueOf(SaturnClient.client.getCurrentFps()) + " FPS"; + scope.drawText(text, 0, 0, false, fgColor.value); + dimensions.width = Fonts.getWidth(text, isEnabled()); + } + + @Override + public void renderDummy(RenderScope scope) { + String text = "369 FPS"; + scope.drawText(text, 0, 0, false, fgColor.value); + dimensions.width = Fonts.getWidth(text, isEnabled()); + } + + @Override + public boolean isEnabled() { + return enabled.value; + } + + @Override + public void setEnabled(boolean e) { + enabled.value = e; + } + + @Override + public ModDimensions getDimensions() { + return dimensions; + } +}