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 93074e0..0000000 Binary files a/src/main/resources/assets/saturnclient/textures/gui/components/settings_tab.png and /dev/null differ