diff --git a/src/main/java/org/saturnclient/modules/ModManager.java b/src/main/java/org/saturnclient/modules/ModManager.java index 816b5e9..2eba97f 100644 --- a/src/main/java/org/saturnclient/modules/ModManager.java +++ b/src/main/java/org/saturnclient/modules/ModManager.java @@ -15,7 +15,6 @@ public class ModManager { public static Module[] MODS = { new Crosshair(), new AutoSprint(), - new AutoSprint(), }; public static void init() { diff --git a/src/main/java/org/saturnclient/modules/mods/Crosshair.java b/src/main/java/org/saturnclient/modules/mods/Crosshair.java index 94d5c54..9dca470 100644 --- a/src/main/java/org/saturnclient/modules/mods/Crosshair.java +++ b/src/main/java/org/saturnclient/modules/mods/Crosshair.java @@ -12,11 +12,9 @@ import net.minecraft.client.render.RenderLayer; public class Crosshair extends Module { public static Property enabled = new Property<>(false); public static Property range_indicator = new Property<>(false); - public static Property idk = new Property<>(-1, Property.PropertyType.HEX); - public static Property idk2 = new Property<>(-1, Property.PropertyType.INTEGER); public Crosshair() { - super(new ModuleDetails("Crosshair", "crosshair").description("Changes the crosshair if you're aiming at a entity").tags("Visuals", "Utility"), enabled.named("Enabled"), range_indicator.named("Range Indicator"), idk.named("Color"), idk2.named("Integer")); + super(new ModuleDetails("Crosshair", "crosshair").description("Changes the crosshair if you're aiming at a entity").tags("Visuals", "Utility"), enabled.named("Enabled"), range_indicator.named("Range Indicator")); } @Override diff --git a/src/main/java/org/saturnclient/ui2/components/SaturnModule.java b/src/main/java/org/saturnclient/ui2/components/SaturnModule.java index 109bfe6..6bc159f 100644 --- a/src/main/java/org/saturnclient/ui2/components/SaturnModule.java +++ b/src/main/java/org/saturnclient/ui2/components/SaturnModule.java @@ -47,7 +47,7 @@ public class SaturnModule extends Element { theme.setState("enabled"); } - if (ctx.isHovering(width - s - p, height - s - p, s, s)) { + if (ctx.isHovering(width - s - p - 5, height - s - p - 5, s + 10, s + 10)) { settingsHover = true; } else if (ctx.isHovering()) { theme.applyState("hovering"); @@ -77,7 +77,7 @@ public class SaturnModule extends Element { int p = 10; int s = 14; - if (Utils.isHovering(mouseX - (width - s - p), mouseY - (height - s - p), s, s, 1.0f)) { + if (Utils.isHovering(mouseX - (width - s - p - 5), mouseY - (height - s - p - 5), s + 10, s + 10, 1.0f)) { SaturnClient.client.setScreen(new ConfigEditor(mod.getConfig())); } else { mod.setEnabled(!mod.isEnabled()); diff --git a/src/main/java/org/saturnclient/ui2/components/dialog/ColorDialog.java b/src/main/java/org/saturnclient/ui2/components/dialog/ColorDialog.java index f478943..0031626 100644 --- a/src/main/java/org/saturnclient/ui2/components/dialog/ColorDialog.java +++ b/src/main/java/org/saturnclient/ui2/components/dialog/ColorDialog.java @@ -4,13 +4,13 @@ import java.awt.Color; import org.saturnclient.saturnclient.SaturnClient; import org.saturnclient.saturnclient.config.Property; +import org.saturnclient.saturnclient.mixin.DrawContextAccessor; +import org.saturnclient.ui2.RenderScope; import org.saturnclient.ui2.SaturnScreen; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.Text; -public class ColorDialog extends Screen { +public class ColorDialog extends SaturnScreen { private Property prop; private SaturnScreen parent; private static final int PICKER_WIDTH = 200; @@ -25,7 +25,7 @@ public class ColorDialog extends Screen { private boolean dragging = false; public ColorDialog(Property prop , SaturnScreen parent) { - super(Text.literal("Color Dialog")); + super("Color Dialog"); this.prop = prop; this.parent = parent; @@ -34,6 +34,9 @@ public class ColorDialog extends Screen { this.opacity = alpha / 255.0f; } + @Override + public void ui() {} + @Override public void close() { SaturnClient.client.setScreen(parent); @@ -41,7 +44,13 @@ public class ColorDialog extends Screen { @Override public void render(DrawContext context, int mouseX, int mouseY, float delta) { - renderBackground(context, mouseX, mouseY, delta); + super.render(context, mouseX, mouseY, delta); + RenderScope renderScope = new RenderScope(context.getMatrices(), + ((DrawContextAccessor) context).getVertexConsumers()); + + renderScope.matrices.push(); + + renderScope.matrices.scale(0.5f, 0.5f, 0.5f); int xStart = (width - PICKER_WIDTH) / 2; int yStart = (height - PICKER_HEIGHT) / 2; @@ -62,6 +71,8 @@ public class ColorDialog extends Screen { context.drawBorder(x, y, 8, 8, 0xFFffffff); renderSlider(context, mouseX, mouseY, delta); + + renderScope.matrices.pop(); } public void renderSlider(DrawContext context, int mouseX, int mouseY, float delta) { @@ -86,6 +97,9 @@ public class ColorDialog extends Screen { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { + mouseX *= 2; + mouseY *= 2; + int xStart = (width - PICKER_WIDTH) / 2; int yStart = (height - PICKER_HEIGHT) / 2; @@ -121,6 +135,9 @@ public class ColorDialog extends Screen { @Override public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) { + mouseX *= 2; + mouseY *= 2; + if (dragging) { updateOpacity(mouseX); return true; diff --git a/src/main/java/org/saturnclient/ui2/components/inputs/FloatInput.java b/src/main/java/org/saturnclient/ui2/components/inputs/FloatInput.java index 7023172..e3d365f 100644 --- a/src/main/java/org/saturnclient/ui2/components/inputs/FloatInput.java +++ b/src/main/java/org/saturnclient/ui2/components/inputs/FloatInput.java @@ -16,7 +16,7 @@ public class FloatInput extends Input { @Override public void charTyped(char chr) { - if ((Character.isDigit(chr) || chr == '.') && text.length() < 10) { + if ((Character.isDigit(chr) || chr == '.' || (chr == '-' && cursorPosition == 0)) && text.length() < 10) { if (text.equals("0") && cursorPosition == 1) { text = "" + chr; } else { @@ -24,22 +24,28 @@ public class FloatInput extends Input { chr + text.substring(cursorPosition); - prop.value = text.isEmpty() ? 0 : Float.parseFloat(text); - ConfigManager.save(); - - cursorPosition++; + try { + prop.value = text.isEmpty() ? 0 : Float.parseFloat(text); + cursorPosition++; + } catch (Exception e) { + e.printStackTrace(); + } } } } @Override public void backspace() { - if (text.length() == 0) { - text = "0"; - cursorPosition = 1; + try { + if (text.length() == 0) { + text = "0"; + cursorPosition = 1; + } + prop.value = Float.parseFloat(text); + ConfigManager.save(); + } catch (Exception e) { + e.printStackTrace(); } - prop.value = Float.parseFloat(text); - ConfigManager.save(); } @Override diff --git a/src/main/java/org/saturnclient/ui2/components/inputs/IntInput.java b/src/main/java/org/saturnclient/ui2/components/inputs/IntInput.java index da2ba10..9a8d741 100644 --- a/src/main/java/org/saturnclient/ui2/components/inputs/IntInput.java +++ b/src/main/java/org/saturnclient/ui2/components/inputs/IntInput.java @@ -16,7 +16,7 @@ public class IntInput extends Input { @Override public void charTyped(char chr) { - if ((Character.isDigit(chr) || chr == '.') && text.length() < 10) { + if ((Character.isDigit(chr) || chr == '.' || (chr == '-' && cursorPosition == 0)) && text.length() < 10) { if (text.equals("0") && cursorPosition == 1) { text = "" + chr; } else { @@ -24,22 +24,28 @@ public class IntInput extends Input { chr + text.substring(cursorPosition); - prop.value = text.isEmpty() ? 0 : Integer.parseInt(text); - ConfigManager.save(); - - cursorPosition++; + try { + prop.value = text.isEmpty() ? 0 : Integer.parseInt(text); + cursorPosition++; + } catch (Exception e) { + e.printStackTrace(); + } } } } @Override public void backspace() { - if (text.length() == 0) { - text = "0"; - cursorPosition = 1; + try { + if (text.length() == 0) { + text = "0"; + cursorPosition = 1; + } + prop.value = Integer.parseInt(text); + ConfigManager.save(); + } catch (Exception e) { + e.printStackTrace(); } - prop.value = Integer.parseInt(text); - ConfigManager.save(); } @Override