From 130560d5c125e5b11629f1b1c03a61bd5bf5c57e Mon Sep 17 00:00:00 2001 From: Leo dev Date: Wed, 19 Mar 2025 16:08:35 +0100 Subject: [PATCH] settings icon in the mods menu (not functional) --- .../saturnclient/menus/MainMenu.java | 4 +- .../saturnclient/menus/SettingsMenu.java | 105 ------------------ .../java/org/saturnclient/ui/Textures.java | 5 +- .../ui/components/SaturnModComp.java | 22 +++- .../textures/gui/components/settings_tab.png | Bin 2121 -> 0 bytes 5 files changed, 24 insertions(+), 112 deletions(-) delete mode 100644 src/main/java/org/saturnclient/saturnclient/menus/SettingsMenu.java delete mode 100644 src/main/resources/assets/saturnclient/textures/gui/components/settings_tab.png diff --git a/src/main/java/org/saturnclient/saturnclient/menus/MainMenu.java b/src/main/java/org/saturnclient/saturnclient/menus/MainMenu.java index fdaed83..7837954 100644 --- a/src/main/java/org/saturnclient/saturnclient/menus/MainMenu.java +++ b/src/main/java/org/saturnclient/saturnclient/menus/MainMenu.java @@ -24,8 +24,8 @@ public class MainMenu extends SaturnUi { int buttonHeight = 25; draw( - new SaturnButton("Settings", () -> { - client.setScreen(new SettingsMenu()); + new SaturnButton("Mods", () -> { + client.setScreen(new ModMenu()); }).setX((width - buttonWidth) / 2).setY((height - buttonHeight) / 2).setWidth(buttonWidth) .setHeight(buttonHeight) diff --git a/src/main/java/org/saturnclient/saturnclient/menus/SettingsMenu.java b/src/main/java/org/saturnclient/saturnclient/menus/SettingsMenu.java deleted file mode 100644 index c3b9bcc..0000000 --- a/src/main/java/org/saturnclient/saturnclient/menus/SettingsMenu.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.saturnclient.saturnclient.menus; - -import org.saturnclient.saturnmods.ModManager; -import org.saturnclient.saturnmods.SaturnMod; -import org.saturnclient.ui.SaturnUi; -import org.saturnclient.ui.Textures; -import org.saturnclient.ui.animations.FadeIn; -import org.saturnclient.ui.animations.Slide; -import org.saturnclient.ui.components.SaturnModComp; -import org.saturnclient.ui.widgets.SaturnClickableImage; -import org.saturnclient.ui.widgets.SaturnScroll; -import org.saturnclient.ui.widgets.SaturnSprite; -import net.minecraft.text.Text; - -public class SettingsMenu extends SaturnUi { - public SettingsMenu() { - super(Text.literal("Settings")); - } - - @Override - protected void init() { - int rectWidth = 330; - int rectHeight = 228; - int modsX = (width - rectWidth) / 2; - int modsY = (height - rectHeight + 15) / 2; - - draw(new SaturnSprite(Textures.SETTINGS_BG) - .setX(modsX) - .setY(modsY) - .setWidth(rectWidth) - .setHeight(rectHeight) - .setAnimations(new Slide(1, 10))); - - int tabsX = (width - 43) / 2; - int tabsY = modsY - 17; - - draw(new SaturnSprite(Textures.TABS) - .setX(tabsX) - .setY(tabsY) - .setWidth(43) - .setHeight(15) - .setAnimations(new Slide(1, 10))); - - int tabSize = 9; - tabsX = (width - tabSize) / 2; - draw(new SaturnClickableImage(Textures.SETTINGS_TAB, () -> { - System.out.println("Pressed"); - }) - .setX(tabsX) - .setY(tabsY + 3) - .setWidth(tabSize) - .setHeight(tabSize) - .setAnimations(new FadeIn(2)) - .setAnimations(new Slide(1, 10))); - - draw(new SaturnClickableImage(Textures.MODS_TAB, () -> { - System.out.println("Pressed"); - }) - .setX(tabsX - 12) - .setY(tabsY + 3) - .setWidth(tabSize) - .setHeight(tabSize) - .setAnimations(new FadeIn(2)) - .setAnimations(new Slide(1, 10))); - - draw(new SaturnClickableImage(Textures.SEARCH, () -> { - System.out.println("Pressed"); - }) - .setX(tabsX + 12) - .setY(tabsY + 3) - .setWidth(tabSize) - .setHeight(tabSize) - .setAnimations(new FadeIn(2)) - .setAnimations(new Slide(1, 10))); - - int modX = 0; - int modY = 0; - int col = 0; - - SaturnScroll modsScroll = new SaturnScroll(); - - for (SaturnMod mod : ModManager.MODS) { - modsScroll.draw(new SaturnModComp(mod) - .setX(modX) - .setY(modY) - .setWidth(86) - .setHeight(20)); - - col++; - - if (col < 3) { - modX += 86 + 18; - } else { - modX = 0; - modY += 20 + 20; - col = 0; - } - } - - draw(modsScroll.setX(modsX + 17).setY(modsY + 10).setWidth(rectWidth - 17).setHeight(rectHeight - 10) - .setAnimations(new Slide(1, 10))); - - super.init(); - } -} \ No newline at end of file diff --git a/src/main/java/org/saturnclient/ui/Textures.java b/src/main/java/org/saturnclient/ui/Textures.java index 98c7afa..8404023 100644 --- a/src/main/java/org/saturnclient/ui/Textures.java +++ b/src/main/java/org/saturnclient/ui/Textures.java @@ -3,14 +3,13 @@ package org.saturnclient.ui; import net.minecraft.util.Identifier; public class Textures { - public static final Identifier SETTINGS = Identifier.of("saturnclient", "textures/gui/components/settings.png"); public static final Identifier COSMETICS = Identifier.of("saturnclient", "textures/gui/components/cosmetics.png"); public static final Identifier HUD_ICON = Identifier.of("saturnclient", "textures/gui/components/hud.png"); public static final Identifier SEARCH = Identifier.of("saturnclient", "textures/gui/components/search.png"); public static final Identifier CLOSE = Identifier.of("saturnclient", "textures/gui/components/close.png"); public static final Identifier MODS_TAB = Identifier.of("saturnclient", "textures/gui/components/mods_tab.png"); - public static final Identifier SETTINGS_TAB = Identifier.of("saturnclient", - "textures/gui/components/settings_tab.png"); + public static final Identifier SETTINGS = Identifier.of("saturnclient", + "textures/gui/components/settings.png"); public static final Identifier LOGO = Identifier.of("saturnclient", "textures/logo/logo.png"); public static final Identifier LOGO_TEXT = Identifier.of("saturnclient", "textures/logo/text.png"); diff --git a/src/main/java/org/saturnclient/ui/components/SaturnModComp.java b/src/main/java/org/saturnclient/ui/components/SaturnModComp.java index e620e48..67924d8 100644 --- a/src/main/java/org/saturnclient/ui/components/SaturnModComp.java +++ b/src/main/java/org/saturnclient/ui/components/SaturnModComp.java @@ -21,7 +21,9 @@ public class SaturnModComp extends SaturnWidget { public void render(DrawContext context, boolean hovering, int mouseX, int mouseY) { boolean enabled = mod.isEnabled(); - int color = enabled || hovering ? SaturnClient.COLOR : ColorHelper.getWhite(alpha); + boolean hovering_settings = settingsHovering(mouseX, mouseY); + + int color = !hovering_settings && (enabled || hovering) ? SaturnClient.COLOR : ColorHelper.getWhite(alpha); int size = 12; @@ -40,10 +42,26 @@ public class SaturnModComp extends SaturnWidget { context.drawText(SaturnClient.textRenderer, SaturnUi.text(mod.getName()), x + 20, y + (21 - SaturnClient.textRenderer.fontHeight) / 2, color, false); + + context.drawTexture(RenderLayer::getGuiTextured, Textures.SETTINGS, x + 77, + y + 11, 0, 0, 7, 7, 7, 7, hovering_settings ? SaturnClient.COLOR : ColorHelper.getWhite(alpha)); } @Override public void click(int mouseX, int mouseY) { - mod.setEnabled(!mod.isEnabled()); + if (settingsHovering(mouseX, mouseY)) { + // TODO: make a config thingy, and implement it on the mods + } else { + mod.setEnabled(!mod.isEnabled()); + } + } + + public boolean settingsHovering(int mouseX, int mouseY) { + int sX = x + 77; + int sY = y + 11; + int size = 7; + + return sX < mouseX && sX + size > mouseX + && sY < mouseY && sY + size > mouseY; } } diff --git a/src/main/resources/assets/saturnclient/textures/gui/components/settings_tab.png b/src/main/resources/assets/saturnclient/textures/gui/components/settings_tab.png deleted file mode 100644 index 93074e02b0a391ecb6df8694cbcf85f646ad40df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2121 zcmV-P2)6f$P)V!8n2^?|f_n?_Rlw zH$Yc)_spna!97O@F+KfJO?_@v_lVr!1~-@^7UT-?@#Dv$-|xRTIXQWbe+zsDwdTWx zg@yg&vJr? zAFb1eNhV|y(C5#et4MVT5ZpE*+3?Y$M+^M$J1)Obh8q0%@uRU8rlK#IK=Z)U_ca|p ze*E~HX1TCFf=T|(eiu7n91441G9a4<;YWGR0s?qrbn~{s(chO$$R5QmEuh!S&TUeV zQ$SCB7r~TEtpl`cs$9RmK8O+I=g*(Zaz0!i!m%D|DZ$sTU)RxIC_|RYb>W!MFkjOm z$9(YM!G5>M`V%Z>7aFlq3CgkN zO?-W>3|k^<4aEQ)^?{}_zWHw5y0znT>{_1?q6CCRE@D!$*dpeBCYiXOLNrYQ!hVT` z?ppVN9*ps4T{@Vrh7x^NA3l6|7`ibiAg2WfqG(ME1huDvr9~|;g^*T4LNc8+%?iSK zCvy-Ev}YyuW|+jP7{00@2DFM0D>ns1pCgfGm4KOWQffTB*9kPbPb3Ni95ekYd?cYTqiJA`Q$)9+wkB0T$eOn> z_?oW`6Te1!uvPu}-=UCz5)nlc~meWy@>LkMWe*GCl)!t1H;Iy3F7tP!_?qbmo#HdYaQ*OQra zm%^#YC!Z==ul#Q=48dgQd$>O7YEFi9JouzO$r=QQ_E+1wa17(EBbEJH^J;-d(;zF% zm%fY0aW-nd+A^g+Ll{g+T(*t7JJ5`_LS=*Xx9;+h9rUsCZm}&Bc20j z(k91{M9}xpL5q?T(ww!vmVmZI$4pfrs2KiJEs}}uSXzQ(q-YZ7rDL`7a37<=5Y8y@pl9`P%eR@S#@)Mj$Cmmz?1b_eIAofIb`Oc& z22+WuXb+H+Sf$tjoxIUrJ(Q3+UaE&*L@=9o1u`zi(iD}622vI?FLQnAI|^UB6;Yu* zjFKZ!z!C|zvsXhAIaqS#0Qm8%tli*WZLl@b7orL_l(g28RPVf2q6y(>^D^~$4NkNY zLsz0}(kyJTexfuF7%99H^m@;H*U4>Sc#XSfTN%S!=SHMk7R96?@TGbl8A4Lgo=lXg zsWf{9WE8qW0pJYyQTxi+MdJ0nRI-`8tARzwgCvA<-HDdUzT{RDPwD9>b*`j zZ3x?oXaQA8rqVps`~(*DUg@(I!-gH<8~NH;4)I-g{!QDJeM^Qdkq8QiMA22^)Fcy6 za-#JInbSh*Y{$eBQjI8j!CH~%(4r&-zQf-X^MHZ^0vUT3C{2`BvPUvzP=guEChM)M zK6wnYcBiq0uVaWuxd)^ADE=lM2Mnc2W~zZjZ-!2V#q5sGVe^ss+fshDSx5PeS*^STabvhAa89MY*NX2z`(_2>$CMS;!0g5P<@aNfd9nU8@7_xPIBKB|D+ zw$GyH`Z9MjAn`Y~MV=kc1F<~Eb#QO#UTbQ-@mIlZJaV^U6g!{W-54oD?rC$WCgy6< zR7WknAjkOT4oQwAf&}tJM!(;B@=QAXrf%_Ue!*WI5Gis^>A-ZDyNBMbJC&QE&>=fBFsDkl2Kn&DZ2IhtAQH;mlq*($?Hoq#FkzGJEHB$W)Q{lbnv(i<;Ed|+4 ztPWSS=lfqzFGQ@VE84Ttw|f(1N5DV>00000NkvXXu0mjfte@(%