diff options
author | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-06-05 10:39:49 +0100 |
---|---|---|
committer | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-06-05 10:39:49 +0100 |
commit | 17826161c67f6adf5976d7993ac0a229193e2eb6 (patch) | |
tree | f4172013d2db0986f0bb123040be1dc5b5823b3d /src/main/java/cc/polyfrost/oneconfig/gui | |
parent | 087f5404658a1543834f16a89e3436f8399297f6 (diff) | |
parent | 72c024213e7c61411ce12f6032f8ef0659408c3a (diff) | |
download | OneConfig-17826161c67f6adf5976d7993ac0a229193e2eb6.tar.gz OneConfig-17826161c67f6adf5976d7993ac0a229193e2eb6.tar.bz2 OneConfig-17826161c67f6adf5976d7993ac0a229193e2eb6.zip |
Merge remote-tracking branch 'origin/master'
# Conflicts:
# src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
# src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java
# src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicButton.java
# src/main/java/cc/polyfrost/oneconfig/gui/elements/BasicElement.java
# src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
# src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java
# src/main/java/cc/polyfrost/oneconfig/lwjgl/image/ImageLoader.java
# src/main/java/cc/polyfrost/oneconfig/utils/GuiUtils.java
# src/main/java/cc/polyfrost/oneconfig/utils/commands/annotations/Command.java
# src/main/java/cc/polyfrost/oneconfig/utils/commands/arguments/ArgumentParser.java
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/gui')
14 files changed, 61 insertions, 67 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java index 72e8e58..52030fc 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/HudGui.java @@ -3,10 +3,10 @@ package cc.polyfrost.oneconfig.gui; import cc.polyfrost.oneconfig.config.core.ConfigCore; import cc.polyfrost.oneconfig.hud.BasicHud; import cc.polyfrost.oneconfig.hud.HudCore; -import cc.polyfrost.oneconfig.libs.universal.UKeyboard; -import cc.polyfrost.oneconfig.libs.universal.UMatrixStack; -import cc.polyfrost.oneconfig.libs.universal.UScreen; import cc.polyfrost.oneconfig.lwjgl.RenderManager; +import gg.essential.universal.UKeyboard; +import gg.essential.universal.UMatrixStack; +import gg.essential.universal.UScreen; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java index 8db7640..a9da8c2 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java @@ -9,10 +9,6 @@ import cc.polyfrost.oneconfig.gui.elements.ColorSelector; import cc.polyfrost.oneconfig.gui.elements.text.TextInputField; import cc.polyfrost.oneconfig.gui.pages.ModsPage; import cc.polyfrost.oneconfig.gui.pages.Page; -import cc.polyfrost.oneconfig.libs.universal.UKeyboard; -import cc.polyfrost.oneconfig.libs.universal.UMatrixStack; -import cc.polyfrost.oneconfig.libs.universal.UResolution; -import cc.polyfrost.oneconfig.libs.universal.UScreen; import cc.polyfrost.oneconfig.lwjgl.RenderManager; import cc.polyfrost.oneconfig.lwjgl.font.Fonts; import cc.polyfrost.oneconfig.lwjgl.image.SVGs; @@ -20,6 +16,10 @@ import cc.polyfrost.oneconfig.lwjgl.scissor.ScissorManager; import cc.polyfrost.oneconfig.utils.GuiUtils; import cc.polyfrost.oneconfig.utils.InputUtils; import cc.polyfrost.oneconfig.utils.color.ColorPalette; +import gg.essential.universal.UKeyboard; +import gg.essential.universal.UMatrixStack; +import gg.essential.universal.UResolution; +import gg.essential.universal.UScreen; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.lwjgl.input.Mouse; @@ -28,9 +28,8 @@ import java.util.ArrayList; public class OneConfigGui extends UScreen { public static OneConfigGui INSTANCE; + public static OneConfigGui instanceToRestore = null; private final SideBar sideBar = new SideBar(); - protected Page currentPage; - protected Page prevPage; private final TextInputField textInputField = new TextInputField(248, 40, "Search...", false, false, SVGs.MAGNIFYING_GLASS_BOLD); private final ArrayList<Page> previousPages = new ArrayList<>(); private final ArrayList<Page> nextPages = new ArrayList<>(); @@ -39,9 +38,10 @@ public class OneConfigGui extends UScreen { private final ArrayList<Page> parents = new ArrayList<>(); public ColorSelector currentColorSelector; public boolean mouseDown; - private float scale = 1f; - public static OneConfigGui instanceToRestore = null; public boolean allowClose = true; + protected Page currentPage; + protected Page prevPage; + private float scale = 1f; private Animation animation; public OneConfigGui() { @@ -67,7 +67,6 @@ public class OneConfigGui extends UScreen { public void onDrawScreen(@NotNull UMatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) { super.onDrawScreen(matrixStack, mouseX, mouseY, partialTicks); long start = System.nanoTime(); - RenderManager.drawScaledString("HELLO", 10, 10, -1, false, 1.5f); int x2 = 0; int y2 = 0; RenderManager.setupAndDraw((vg) -> { diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java index 069a807..3f2a552 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/Animation.java @@ -3,11 +3,11 @@ package cc.polyfrost.oneconfig.gui.animations; import cc.polyfrost.oneconfig.utils.GuiUtils; public abstract class Animation { + protected final boolean reverse; private final float duration; private final float start; private final float change; private float timePassed = 0; - protected final boolean reverse; /** * @param duration The duration of the animation diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java index 7b4ba7f..f43c75d 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/animations/EaseInOutQuad.java @@ -18,7 +18,6 @@ public class EaseInOutQuad extends Animation { @Override protected float animate(float timePassed, float duration, float start, float change) { if ((timePassed /= duration / 2) < 1) return change / 2 * timePassed * timePassed + start; - ; return -change / 2 * ((--timePassed) * (timePassed - 2) - 1) + start; } } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java index e16b83e..683be1e 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ColorSelector.java @@ -26,21 +26,14 @@ import java.awt.datatransfer.StringSelection; import java.util.ArrayList; public class ColorSelector { - private int x; - private int y; private final OneColor color; - private Animation barMoveAnimation = new DummyAnimation(18); - private Animation moveAnimation = new DummyAnimation(1); - private int mouseX, mouseY; private final ArrayList<BasicElement> buttons = new ArrayList<>(); private final BasicElement closeBtn = new BasicElement(32, 32, false); - private final BasicButton copyBtn = new BasicButton(32, 32, SVGs.COPY, BasicButton.ALIGNMENT_CENTER, ColorPalette.SECONDARY); private final BasicButton pasteBtn = new BasicButton(32, 32, SVGs.PASTE, BasicButton.ALIGNMENT_CENTER, ColorPalette.SECONDARY); private final BasicButton guideBtn = new BasicButton(112, 32, "Guide", SVGs.HELP_CIRCLE, SVGs.POP_OUT, BasicButton.ALIGNMENT_CENTER, ColorPalette.SECONDARY); private final BasicButton faveBtn = new BasicButton(32, 32, SVGs.HEART_OUTLINE, BasicButton.ALIGNMENT_CENTER, ColorPalette.SECONDARY); private final BasicButton recentBtn = new BasicButton(32, 32, SVGs.HISTORY, BasicButton.ALIGNMENT_CENTER, ColorPalette.SECONDARY); - private final NumberInputField hueInput = new NumberInputField(90, 32, 0, 0, 360, 1); private final NumberInputField saturationInput = new NumberInputField(90, 32, 100, 0, 100, 1); private final NumberInputField brightnessInput = new NumberInputField(90, 32, 100, 0, 100, 1); @@ -49,10 +42,14 @@ public class ColorSelector { private final TextInputField hexInput = new TextInputField(88, 32, true, ""); private final ArrayList<ColorBox> favoriteColors = new ArrayList<>(); private final ArrayList<ColorBox> recentColors = new ArrayList<>(); - private final ColorSlider topSlider = new ColorSlider(384, 0, 360, 127); private final ColorSlider bottomSlider = new ColorSlider(384, 0, 255, 100); private final Slider speedSlider = new Slider(296, 1, 32, 0); + private int x; + private int y; + private Animation barMoveAnimation = new DummyAnimation(18); + private Animation moveAnimation = new DummyAnimation(1); + private int mouseX, mouseY; private int mode = 0, prevMode = 0; private boolean dragging, mouseWasDown; @@ -465,13 +462,13 @@ public class ColorSelector { update(x, y); } - public void setColor(OneColor color) { - this.color = color; - } - public OneColor getColor() { return color; } + + public void setColor(OneColor color) { + this.color = color; + } } } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java index b7fbe9a..863a72d 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java @@ -6,12 +6,12 @@ import cc.polyfrost.oneconfig.config.data.Mod; import cc.polyfrost.oneconfig.gui.OneConfigGui; import cc.polyfrost.oneconfig.gui.animations.ColorAnimation; import cc.polyfrost.oneconfig.gui.pages.ModConfigPage; -import cc.polyfrost.oneconfig.libs.universal.wrappers.UPlayer; import cc.polyfrost.oneconfig.lwjgl.RenderManager; import cc.polyfrost.oneconfig.lwjgl.font.Fonts; import cc.polyfrost.oneconfig.lwjgl.image.SVGs; import cc.polyfrost.oneconfig.utils.InputUtils; import cc.polyfrost.oneconfig.utils.color.ColorPalette; +import gg.essential.universal.wrappers.UPlayer; import net.minecraftforge.client.ClientCommandHandler; import net.minecraftforge.fml.common.ModMetadata; import org.jetbrains.annotations.NotNull; @@ -22,9 +22,9 @@ import java.util.ArrayList; public class ModCard extends BasicElement { private final Mod modData; private final BasicButton favoriteButton = new BasicButton(32, 32, SVGs.HEART_OUTLINE, BasicButton.ALIGNMENT_CENTER, ColorPalette.TERTIARY); - private boolean active, disabled, favorite; private final ColorAnimation colorFrame = new ColorAnimation(ColorPalette.SECONDARY); private final ColorAnimation colorToggle = new ColorAnimation(ColorPalette.PRIMARY); + private boolean active, disabled, favorite; private boolean isHoveredMain = false; public ModCard(@NotNull Mod mod, boolean active, boolean disabled, boolean favorite) { @@ -120,14 +120,14 @@ public class ModCard extends BasicElement { return disabled; } - public boolean isActive() { - return active; - } - public void setDisabled(boolean disabled) { this.disabled = disabled; } + public boolean isActive() { + return active; + } + public boolean isFavorite() { return favorite; } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigButton.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigButton.java index d58852f..19bf058 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigButton.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigButton.java @@ -24,6 +24,17 @@ public class ConfigButton extends BasicOption { this.button.setClickAction(getRunnableFromField(field, parent)); } + private static Runnable getRunnableFromField(Field field, Object parent) { + Runnable runnable = () -> { + }; + try { + runnable = (Runnable) field.get(parent); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return runnable; + } + @Override public void draw(long vg, int x, int y) { button.disable(!isEnabled()); @@ -37,15 +48,4 @@ public class ConfigButton extends BasicOption { public int getHeight() { return 32; } - - private static Runnable getRunnableFromField(Field field, Object parent) { - Runnable runnable = () -> { - }; - try { - runnable = (Runnable) field.get(parent); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - return runnable; - } } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDualOption.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDualOption.java index 700d3dd..e7b1083 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDualOption.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigDualOption.java @@ -12,8 +12,8 @@ import cc.polyfrost.oneconfig.utils.InputUtils; import java.lang.reflect.Field; public class ConfigDualOption extends BasicOption { - private Animation posAnimation; private final String left, right; + private Animation posAnimation; public ConfigDualOption(Field field, Object parent, String name, int size, String[] options) { super(field, parent, name, size); diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java index d873006..a448b14 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java @@ -5,11 +5,11 @@ import cc.polyfrost.oneconfig.config.core.OneKeyBind; import cc.polyfrost.oneconfig.config.interfaces.BasicOption; import cc.polyfrost.oneconfig.gui.OneConfigGui; import cc.polyfrost.oneconfig.gui.elements.BasicButton; -import cc.polyfrost.oneconfig.libs.universal.UKeyboard; import cc.polyfrost.oneconfig.lwjgl.RenderManager; import cc.polyfrost.oneconfig.lwjgl.font.Fonts; import cc.polyfrost.oneconfig.lwjgl.image.SVGs; import cc.polyfrost.oneconfig.utils.color.ColorPalette; +import gg.essential.universal.UKeyboard; import java.lang.reflect.Field; diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java index 24a512c..8b47045 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigPageButton.java @@ -18,7 +18,7 @@ import java.lang.reflect.Field; public class ConfigPageButton extends BasicOption { public final OptionPage page; public final String description; - private ColorAnimation backgroundColor = new ColorAnimation(ColorPalette.SECONDARY); + private final ColorAnimation backgroundColor = new ColorAnimation(ColorPalette.SECONDARY); public ConfigPageButton(Field field, Object parent, String name, String description, OptionPage page) { super(field, parent, name, 2); diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java index 9a38b98..45217c0 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigSlider.java @@ -14,8 +14,8 @@ import java.lang.reflect.Field; public class ConfigSlider extends BasicOption { private final NumberInputField inputField; private final float min, max; - private boolean isFloat = true; private final int step; + private boolean isFloat = true; private boolean dragging = false; private boolean mouseWasDown = false; diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java index c3edb62..ed05760 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/NumberInputField.java @@ -10,11 +10,11 @@ import cc.polyfrost.oneconfig.utils.color.ColorPalette; public class NumberInputField extends TextInputField { private final BasicElement upArrow = new BasicElement(12, 14, false); private final BasicElement downArrow = new BasicElement(12, 14, false); + private final ColorAnimation colorTop = new ColorAnimation(ColorPalette.SECONDARY); + private final ColorAnimation colorBottom = new ColorAnimation(ColorPalette.SECONDARY); private float min; private float max; private float step; - private final ColorAnimation colorTop = new ColorAnimation(ColorPalette.SECONDARY); - private final ColorAnimation colorBottom = new ColorAnimation(ColorPalette.SECONDARY); private float current; public NumberInputField(int width, int height, float defaultValue, float min, float max, float step) { diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/TextInputField.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/TextInputField.java index 91a8ff2..b16472d 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/TextInputField.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/text/TextInputField.java @@ -2,7 +2,6 @@ package cc.polyfrost.oneconfig.gui.elements.text; import cc.polyfrost.oneconfig.config.OneConfigConfig; import cc.polyfrost.oneconfig.gui.elements.BasicElement; -import cc.polyfrost.oneconfig.libs.universal.UKeyboard; import cc.polyfrost.oneconfig.lwjgl.RenderManager; import cc.polyfrost.oneconfig.lwjgl.font.Fonts; import cc.polyfrost.oneconfig.lwjgl.image.SVGs; @@ -11,6 +10,7 @@ import cc.polyfrost.oneconfig.lwjgl.scissor.ScissorManager; import cc.polyfrost.oneconfig.utils.InputUtils; import cc.polyfrost.oneconfig.utils.MathUtils; import cc.polyfrost.oneconfig.utils.TextUtils; +import gg.essential.universal.UKeyboard; import org.jetbrains.annotations.NotNull; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; @@ -23,24 +23,24 @@ import java.util.ArrayList; public class TextInputField extends BasicElement { protected final String defaultText; - protected String input, selectedText; protected final boolean multiLine; + protected String input, selectedText; protected boolean password; protected int caretPos; protected int x, y; protected float start, end; protected int startLine, endLine; - private long clickTimeD1; protected long vg; protected int prevCaret = 0; protected boolean isDoubleClick = false; protected boolean onlyNums = false; protected boolean errored = false; protected boolean centered = false; - private int lines = 1; protected SVGs icon; protected ArrayList<String> wrappedText = null; + private long clickTimeD1; + private int lines = 1; public TextInputField(int width, int height, String defaultText, boolean multiLine, boolean password, SVGs icon) { super(width, height, false); @@ -60,28 +60,28 @@ public class TextInputField extends BasicElement { this.centered = centered; } - public void onlyAcceptNumbers(boolean state) { - onlyNums = state; + public static boolean isAllowedCharacter(char character) { + return character != 167 && character >= ' ' && character != 127; } - public void setInput(String input) { - this.input = input; + public void onlyAcceptNumbers(boolean state) { + onlyNums = state; } public String getInput() { return input; } - public void setPassword(boolean password) { - this.password = password; + public void setInput(String input) { + this.input = input; } public boolean getPassword() { return password; } - public void setErrored(boolean errored) { - this.errored = errored; + public void setPassword(boolean password) { + this.password = password; } public void setCentered(boolean centered) { @@ -92,6 +92,10 @@ public class TextInputField extends BasicElement { return errored; } + public void setErrored(boolean errored) { + this.errored = errored; + } + @Override public void draw(long vg, int x, int y) { this.x = x; @@ -529,10 +533,6 @@ public class TextInputField extends BasicElement { return 0; } - public static boolean isAllowedCharacter(char character) { - return character != 167 && character >= ' ' && character != 127; - } - public int getLines() { return lines; } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java index 9c10841..fda6ea2 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java @@ -10,11 +10,10 @@ import org.lwjgl.input.Mouse; * A page is a 1056x728 rectangle of the GUI. It is the main content of the gui, and can be switched back and forwards easily. All the content of OneConfig is in a page. */ public abstract class Page { + protected final String title; private Animation scrollAnimation; private float scrollTarget; - protected final String title; - protected Page(String title) { this.title = title; } |