diff --git a/src/main/java/org/saturnclient/ui/SaturnUi.java b/src/main/java/org/saturnclient/ui/SaturnUi.java index 6e5f69d..287b799 100644 --- a/src/main/java/org/saturnclient/ui/SaturnUi.java +++ b/src/main/java/org/saturnclient/ui/SaturnUi.java @@ -44,12 +44,12 @@ public class SaturnUi extends Screen { public static MutableText text(String text) { return Text.literal(text).setStyle( - Style.EMPTY.withFont(Identifier.of("saturnclient:panton"))); + Style.EMPTY.withFont(Identifier.of("saturnclient:inter"))); } public static MutableText textBold(String text) { return Text.literal(text).setStyle( - Style.EMPTY.withFont(Identifier.of("saturnclient:panton_bold"))); + Style.EMPTY.withFont(Identifier.of("saturnclient:inter_bold"))); } public static void drawHighResTexture(DrawContext context, Identifier t, int x, int y, int w, int h) { diff --git a/src/main/java/org/saturnclient/ui2/RenderContext.java b/src/main/java/org/saturnclient/ui2/RenderContext.java index ce87b1e..ead3f30 100644 --- a/src/main/java/org/saturnclient/ui2/RenderContext.java +++ b/src/main/java/org/saturnclient/ui2/RenderContext.java @@ -14,6 +14,10 @@ public class RenderContext { } public boolean isHovering() { - return Utils.isHovering(mouseX , mouseY, elementWidth, elementHeight, elementScale); + return Utils.isHovering(mouseX, mouseY, elementWidth, elementHeight, elementScale); + } + + public boolean isHovering(int x, int y, int width, int height) { + return Utils.isHovering(mouseX - x, mouseY - y, width, height, elementScale); } } diff --git a/src/main/java/org/saturnclient/ui2/RenderScope.java b/src/main/java/org/saturnclient/ui2/RenderScope.java index 9dc3204..29c3d6a 100644 --- a/src/main/java/org/saturnclient/ui2/RenderScope.java +++ b/src/main/java/org/saturnclient/ui2/RenderScope.java @@ -82,7 +82,7 @@ public class RenderScope { public void drawText(String text, int x, int y, boolean bold, int color) { color = getColor(color); - Identifier font = bold ? Fonts.PANTON_BOLD : Fonts.PANTON; + Identifier font = bold ? Fonts.INTER_BOLD : Fonts.INTER; matrices.push(); matrices.translate(x, y, 0); diff --git a/src/main/java/org/saturnclient/ui2/components/SaturnModule.java b/src/main/java/org/saturnclient/ui2/components/SaturnModule.java index b4bee9c..872bb25 100644 --- a/src/main/java/org/saturnclient/ui2/components/SaturnModule.java +++ b/src/main/java/org/saturnclient/ui2/components/SaturnModule.java @@ -1,9 +1,13 @@ package org.saturnclient.ui2.components; import org.saturnclient.modules.Module; +import org.saturnclient.ui.Textures; import org.saturnclient.ui2.Element; import org.saturnclient.ui2.RenderContext; import org.saturnclient.ui2.RenderScope; +import org.saturnclient.ui2.resources.Fonts; + +import net.minecraft.client.render.RenderLayer; public class SaturnModule extends Element { private Module mod; @@ -31,7 +35,39 @@ public class SaturnModule extends Element { renderScope.matrices.push(); renderScope.matrices.translate(10 + 7, 30, 0); renderScope.matrices.scale(0.7f, 0.7f, 1.0f); - renderScope.drawText(mod.getDescription(), 0, 0, false, 0xFFAAAAAA); + renderScope.drawText(formatText(mod.getDescription(), width - 7 - 10), 0, 0, false, 0xFFAAAAAA); renderScope.matrices.pop(); + + if (ctx.isHovering(10 + 7, height - 10 - 10, 10, 10)) { + + } + + renderScope.setRenderLayer(RenderLayer::getGuiTextured); + renderScope.drawTexture(Textures.SETTINGS, 10 + 7, height - 10 - 10, 0, 0, 10, 10); } + + @Override + public void click(int mouseX, int mouseY) { + mod.setEnabled(!mod.isEnabled()); + } + + private static String formatText(String text, int width) { + width -= Fonts.getWidth("..", Fonts.INTER); + + StringBuilder trimmedText = new StringBuilder(); + + for (int i = 0; i < text.length(); i++) { + String current = trimmedText.toString() + text.charAt(i); + double currentWidth = Fonts.getWidth(current, Fonts.INTER) * 0.7; + + if (currentWidth > width) { + trimmedText.append(".."); + break; + } + + trimmedText.append(text.charAt(i)); + } + + return trimmedText.toString(); + } } diff --git a/src/main/java/org/saturnclient/ui2/resources/Fonts.java b/src/main/java/org/saturnclient/ui2/resources/Fonts.java index 7f656dd..4f91215 100644 --- a/src/main/java/org/saturnclient/ui2/resources/Fonts.java +++ b/src/main/java/org/saturnclient/ui2/resources/Fonts.java @@ -6,14 +6,14 @@ import net.minecraft.text.Text; import net.minecraft.util.Identifier; public class Fonts { - public static final Identifier PANTON = Identifier.of("saturnclient", "panton"); - public static final Identifier PANTON_BOLD = Identifier.of("saturnclient", "panton_bold"); + public static final Identifier INTER = Identifier.of("saturnclient", "inter"); + public static final Identifier INTER_BOLD = Identifier.of("saturnclient", "inter_bold"); public static Identifier getFont(boolean bold) { if (bold) { - return PANTON_BOLD; + return INTER_BOLD; } else { - return PANTON; + return INTER; } } diff --git a/src/main/resources/assets/minecraft/font/fonts.json b/src/main/resources/assets/minecraft/font/fonts.json index f6f22a0..7606077 100644 --- a/src/main/resources/assets/minecraft/font/fonts.json +++ b/src/main/resources/assets/minecraft/font/fonts.json @@ -2,11 +2,11 @@ "providers": [ { "type": "reference", - "id": "saturnclient:panton" + "id": "saturnclient:inter" }, { "type": "reference", - "id": "saturnclient:panton_bold" + "id": "saturnclient:inter_bold" } ] } diff --git a/src/main/resources/assets/saturnclient/font/Panton-Trial-Bold.ttf b/src/main/resources/assets/saturnclient/font/Panton-Trial-Bold.ttf deleted file mode 100644 index 19d9074..0000000 Binary files a/src/main/resources/assets/saturnclient/font/Panton-Trial-Bold.ttf and /dev/null differ diff --git a/src/main/resources/assets/saturnclient/font/README.md b/src/main/resources/assets/saturnclient/font/README.md index ed50ac4..4af02e8 100644 --- a/src/main/resources/assets/saturnclient/font/README.md +++ b/src/main/resources/assets/saturnclient/font/README.md @@ -1,3 +1 @@ -This font was designed by Ivan Petrov and published by Fontfabric. - -The panton font is the regular version of: https://www.dafont.com/panton.font +Here is the font download: https://fonts.google.com/specimen/Inter \ No newline at end of file diff --git a/src/main/resources/assets/saturnclient/font/panton.json b/src/main/resources/assets/saturnclient/font/panton.json deleted file mode 100644 index 8990556..0000000 --- a/src/main/resources/assets/saturnclient/font/panton.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "providers": [ - { - "type": "ttf", - "file": "saturnclient:panton.ttf", - "shift": [0, 0], - "size": 9, - "oversample": 5.0, - "skip_missing": true - } - ] -} diff --git a/src/main/resources/assets/saturnclient/font/panton.ttf b/src/main/resources/assets/saturnclient/font/panton.ttf deleted file mode 100644 index c76e356..0000000 Binary files a/src/main/resources/assets/saturnclient/font/panton.ttf and /dev/null differ diff --git a/src/main/resources/assets/saturnclient/font/panton_bold.json b/src/main/resources/assets/saturnclient/font/panton_bold.json deleted file mode 100644 index af08781..0000000 --- a/src/main/resources/assets/saturnclient/font/panton_bold.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "providers": [ - { - "type": "ttf", - "file": "saturnclient:panton_bold.ttf", - "shift": [0, 0], - "size": 9, - "oversample": 5.0, - "skip_missing": true - } - ] -} diff --git a/src/main/resources/assets/saturnclient/font/panton_bold.ttf b/src/main/resources/assets/saturnclient/font/panton_bold.ttf deleted file mode 100644 index b3bbda8..0000000 Binary files a/src/main/resources/assets/saturnclient/font/panton_bold.ttf and /dev/null differ