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 0000000..0daed16 Binary files /dev/null and b/src/main/resources/assets/saturnclient/textures/gui/mod/fps.png differ