From 47a452ec838c6cdd2709951420bd060ee3d6545f Mon Sep 17 00:00:00 2001 From: Leo dev Date: Wed, 26 Mar 2025 23:17:15 +0100 Subject: [PATCH] fps display --- .../saturnclient/SaturnClient.java | 3 +- .../org/saturnclient/saturnmods/HudMod.java | 2 - .../saturnclient/saturnmods/ModManager.java | 9 +- .../saturnmods/mods/ArmorDisplay.java | 4 - .../saturnmods/mods/Coordinates.java | 4 - .../saturnmods/mods/FpsDisplay.java | 93 ++++++++++++++++++ .../saturnclient/textures/gui/mod/fps.png | Bin 0 -> 478 bytes 7 files changed, 100 insertions(+), 15 deletions(-) create mode 100644 src/main/java/org/saturnclient/saturnmods/mods/FpsDisplay.java create mode 100644 src/main/resources/assets/saturnclient/textures/gui/mod/fps.png diff --git a/src/main/java/org/saturnclient/saturnclient/SaturnClient.java b/src/main/java/org/saturnclient/saturnclient/SaturnClient.java index 46ed962..83a0f5f 100644 --- a/src/main/java/org/saturnclient/saturnclient/SaturnClient.java +++ b/src/main/java/org/saturnclient/saturnclient/SaturnClient.java @@ -36,14 +36,13 @@ public class SaturnClient implements ModInitializer { ); public static Property NORMAL = config.property( - "Normal color", + "Default color", new Property( ColorHelper.getArgb(255, 182, 182, 182), Property.PropertyType.HEX ) ); - // public static int NORMAL = ColorHelper.getArgb(255, 182, 182, 182); public static int WHITE = ColorHelper.getArgb(255, 255, 255, 255); public static TextRenderer textRenderer = null; diff --git a/src/main/java/org/saturnclient/saturnmods/HudMod.java b/src/main/java/org/saturnclient/saturnmods/HudMod.java index ff84d88..93c4237 100644 --- a/src/main/java/org/saturnclient/saturnmods/HudMod.java +++ b/src/main/java/org/saturnclient/saturnmods/HudMod.java @@ -3,8 +3,6 @@ package org.saturnclient.saturnmods; import net.minecraft.client.gui.DrawContext; public interface HudMod { - public void setDimensions(ModDimensions dimensions); - public ModDimensions getDimensions(); public void renderDummy(DrawContext context); diff --git a/src/main/java/org/saturnclient/saturnmods/ModManager.java b/src/main/java/org/saturnclient/saturnmods/ModManager.java index 269e13e..d8fd88f 100644 --- a/src/main/java/org/saturnclient/saturnmods/ModManager.java +++ b/src/main/java/org/saturnclient/saturnmods/ModManager.java @@ -6,12 +6,15 @@ import net.minecraft.client.font.TextRenderer; import net.minecraft.client.util.math.MatrixStack; import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.menus.HudEditor; -import org.saturnclient.saturnmods.mods.ArmorDisplay; -import org.saturnclient.saturnmods.mods.Coordinates; +import org.saturnclient.saturnmods.mods.*; public class ModManager { - public static SaturnMod[] MODS = { new Coordinates(), new ArmorDisplay() }; + public static SaturnMod[] MODS = { + new Coordinates(), + new ArmorDisplay(), + new FpsDisplay(), + }; public static void init() { HudRenderCallback.EVENT.register((context, _o) -> { diff --git a/src/main/java/org/saturnclient/saturnmods/mods/ArmorDisplay.java b/src/main/java/org/saturnclient/saturnmods/mods/ArmorDisplay.java index 8099d23..7765c34 100644 --- a/src/main/java/org/saturnclient/saturnmods/mods/ArmorDisplay.java +++ b/src/main/java/org/saturnclient/saturnmods/mods/ArmorDisplay.java @@ -115,10 +115,6 @@ public class ArmorDisplay implements SaturnMod, HudMod { return Textures.getModIcon("armor"); } - public void setDimensions(ModDimensions d) { - dimensions = d; - } - public ModDimensions getDimensions() { return dimensions; } diff --git a/src/main/java/org/saturnclient/saturnmods/mods/Coordinates.java b/src/main/java/org/saturnclient/saturnmods/mods/Coordinates.java index be434ce..8cc3bad 100644 --- a/src/main/java/org/saturnclient/saturnmods/mods/Coordinates.java +++ b/src/main/java/org/saturnclient/saturnmods/mods/Coordinates.java @@ -73,10 +73,6 @@ public class Coordinates implements SaturnMod, HudMod { return Textures.getModIcon("coords"); } - public void setDimensions(ModDimensions d) { - dimensions = d; - } - public ModDimensions getDimensions() { return dimensions; } diff --git a/src/main/java/org/saturnclient/saturnmods/mods/FpsDisplay.java b/src/main/java/org/saturnclient/saturnmods/mods/FpsDisplay.java new file mode 100644 index 0000000..3614159 --- /dev/null +++ b/src/main/java/org/saturnclient/saturnmods/mods/FpsDisplay.java @@ -0,0 +1,93 @@ +package org.saturnclient.saturnmods.mods; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.util.Identifier; +import org.saturnclient.saturnclient.SaturnClient; +import org.saturnclient.saturnclient.config.ConfigManager; +import org.saturnclient.saturnclient.config.Property; +import org.saturnclient.saturnmods.HudMod; +import org.saturnclient.saturnmods.ModDimensions; +import org.saturnclient.saturnmods.SaturnMod; +import org.saturnclient.ui.Textures; + +public class FpsDisplay implements SaturnMod, HudMod { + + public static ConfigManager config = new ConfigManager("Fps Display"); + + public static Property enabled = config.property( + "Enabled", + new Property<>(false) + ); + + public static ModDimensions dimensions = new ModDimensions( + config, + 0, + 0, + 40, + 8 + ); + + public static Property fgColor = config.property( + "Foreground color", + new Property<>(SaturnClient.WHITE, Property.PropertyType.HEX) + ); + + @Override + public ModDimensions getDimensions() { + return dimensions; + } + + @Override + public void renderDummy(DrawContext context) { + int fps = 128; + + context.drawText( + SaturnClient.textRenderer, + String.valueOf(fps) + " FPS", + 0, + 0, + fgColor.value, + false + ); + } + + @Override + public void render(DrawContext context) { + int fps = MinecraftClient.getInstance().getCurrentFps(); + + context.drawText( + SaturnClient.textRenderer, + String.valueOf(fps) + " FPS", + 0, + 0, + fgColor.value, + false + ); + } + + @Override + public boolean isEnabled() { + return enabled.value; + } + + @Override + public void setEnabled(boolean e) { + enabled.value = e; + } + + @Override + public String getName() { + return "Fps Display"; + } + + @Override + public Identifier getIconTexture() { + return Textures.getModIcon("fps"); + } + + @Override + public ConfigManager getConfig() { + return config; + } +} diff --git a/src/main/resources/assets/saturnclient/textures/gui/mod/fps.png b/src/main/resources/assets/saturnclient/textures/gui/mod/fps.png new file mode 100644 index 0000000000000000000000000000000000000000..0daed1674648db12c476379da0550c463a13df75 GIT binary patch literal 478 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz07Sip>6gA}f5OZp5{=Hcn$7!twx zHq?-d$xz@-=Z%QSAI#j`@(;OlT9~;Heye*RT+_IAYg6yujKtix@;Wt*^ESJSiJd$; z;WXIUAN zN5Ko;eiqu#d`a%Ztoa+|S<0HGT1`+n>AazYwXAI_i^b*$q5shgX(?W5nGLHeAM#&EG4W=#^ zzT4j@68(^JtpC0J?!D#VjI#M{`ue-Legqw}|6|PL_p8VKaOBP7mUD_2cVsE&#Lsvq za!h+`dVBXN?TXG#m-O#ET=>U)Pv