aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/polyfrost/oneconfig/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/polyfrost/oneconfig/utils')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/ColorUtils.java86
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/InputUtils.java34
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/MathUtils.java30
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/TickDelay.java40
4 files changed, 0 insertions, 190 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/utils/ColorUtils.java b/src/main/java/io/polyfrost/oneconfig/utils/ColorUtils.java
deleted file mode 100644
index 499e59b..0000000
--- a/src/main/java/io/polyfrost/oneconfig/utils/ColorUtils.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.polyfrost.oneconfig.utils;
-
-import io.polyfrost.oneconfig.config.OneConfigConfig;
-import org.jetbrains.annotations.Contract;
-import org.jetbrains.annotations.NotNull;
-
-import java.awt.*;
-
-public class ColorUtils {
-
- public static int getColor(int currentColor, int colorPalette, boolean hover, boolean click) {
- float[] color = splitColor(currentColor);
- if (click) {
- switch (colorPalette) {
- case -2:
- return new Color(0.9f, 0.9f, 0.9f, 0.2f).getRGB();
- case -1:
- return OneConfigConfig.GRAY_500_80;
- default:
- case 2:
- case 0:
- return OneConfigConfig.GRAY_400_80;
- case 1:
- return OneConfigConfig.BLUE_600_80;
- }
- }
-
- switch (colorPalette) {
- case -2:
- return getColorComponents(color, splitColor(OneConfigConfig.TRANSPARENT), new float[]{0.9f, 0.9f, 0.9f, 0.3f}, hover, 20f);
- case -1:
- return getColorComponents(color, splitColor(OneConfigConfig.TRANSPARENT), splitColor(OneConfigConfig.GRAY_500), hover, 10f);
- default:
- case 0:
- return getColorComponents(color, splitColor(OneConfigConfig.GRAY_600), splitColor(OneConfigConfig.GRAY_300), hover, 25f);
- case 1:
- return getColorComponents(color, splitColor(OneConfigConfig.BLUE_600), splitColor(OneConfigConfig.BLUE_500), hover, 150f);
- case 2:
- return getColorComponents(color, splitColor(OneConfigConfig.GRAY_500), splitColor(OneConfigConfig.GRAY_300), hover, 50f);
-
- }
-
- }
-
- /**
- * Smooths the transition of a color between two colors.
- *
- * @param currentColor the current color (also the one you want to change)
- * @param direction false to move towards initColor, true to move towards finalColor
- * @param speed speed of the transition
- * @return currentColor but with the new color
- */
- public static int smoothColor(int currentColor, int initColor, int finalColor, boolean direction, float speed) {
- float[] init = splitColor(initColor);
- float[] finalC = splitColor(finalColor);
- float[] current = splitColor(currentColor);
- return getColorComponents(current, init, finalC, direction, speed);
- }
-
- @Contract(value = "_ -> new", pure = true)
- private static float @NotNull [] splitColor(int color) {
- return new float[]{(color >> 16 & 255) / 255f, (color >> 8 & 255) / 255f, (color & 255) / 255f, (color >> 24 & 255) / 255f};
- }
-
- private static int getColorComponents(float[] currentColor, float[] initColor, float[] finalColor, boolean hover, float speed) {
- currentColor[0] = smooth(currentColor[0], initColor[0], finalColor[0], hover, speed);
- currentColor[1] = smooth(currentColor[1], initColor[1], finalColor[1], hover, speed);
- currentColor[2] = smooth(currentColor[2], initColor[2], finalColor[2], hover, speed);
- currentColor[3] = smooth(currentColor[3], initColor[3], finalColor[3], hover, speed);
-
- return new Color(currentColor[0], currentColor[1], currentColor[2], currentColor[3]).getRGB();
-
- }
-
- private static float smooth(float current, float min, float max, boolean moveToFinal, float speed) {
- current = MathUtils.easeOut(current, moveToFinal ? 1f : 0f, speed);
- if (current <= min) {
- current = min;
- }
-
- if (current >= max) {
- current = max;
- }
- return current;
- }
-}
diff --git a/src/main/java/io/polyfrost/oneconfig/utils/InputUtils.java b/src/main/java/io/polyfrost/oneconfig/utils/InputUtils.java
deleted file mode 100644
index 054da16..0000000
--- a/src/main/java/io/polyfrost/oneconfig/utils/InputUtils.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package io.polyfrost.oneconfig.utils;
-
-import io.polyfrost.oneconfig.gui.OneConfigGui;
-import net.minecraft.client.Minecraft;
-import org.lwjgl.input.Mouse;
-
-public class InputUtils {
- /**
- * function to determine weather the mouse is currently over a specific region. Uses the current nvgScale to fix to any scale.
- *
- * @return true if mouse is over region, false if not.
- */
- public static boolean isAreaHovered(int x, int y, int width, int height) {
- int mouseX = Mouse.getX();
- int mouseY = Minecraft.getMinecraft().displayHeight - Math.abs(Mouse.getY());
- return mouseX > x && mouseY > y && mouseX < x + width && mouseY < y + height; // TODO add scaling info
- }
-
- public static boolean isAreaClicked(int x, int y, int width, int height) {
- return isAreaHovered(x, y, width, height) && isClicked();
- }
-
- public static boolean isClicked() {
- return OneConfigGui.INSTANCE != null && OneConfigGui.INSTANCE.mouseDown && !Mouse.isButtonDown(0);
- }
-
- public static int mouseX() {
- return Mouse.getX();
- }
-
- public static int mouseY() {
- return Minecraft.getMinecraft().displayHeight - Math.abs(Mouse.getY());
- }
-}
diff --git a/src/main/java/io/polyfrost/oneconfig/utils/MathUtils.java b/src/main/java/io/polyfrost/oneconfig/utils/MathUtils.java
deleted file mode 100644
index 1e4857f..0000000
--- a/src/main/java/io/polyfrost/oneconfig/utils/MathUtils.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package io.polyfrost.oneconfig.utils;
-
-public class MathUtils {
- public static float clamp(float number) {
- return number < (float) 0.0 ? (float) 0.0 : Math.min(number, (float) 1.0);
- }
-
- public static float easeOut(float current, float goal, float speed) {
- if (Math.floor(Math.abs(goal - current) / (float) 0.01) > 0) {
- return current + (goal - current) / speed;
- } else {
- return goal;
- }
- }
-
-
- public static float easeInQuad(float current) {
- return current * current;
- }
-
- /**
- * taken from <a href="https://github.com/jesusgollonet/processing-penner-easing">https://github.com/jesusgollonet/processing-penner-easing</a>
- */
- public static float easeInOutCirc(float t, float b, float c, float d) {
- if ((t /= d / 2) < 1) return -c / 2 * ((float) Math.sqrt(1 - t * t) - 1) + b;
- return c / 2 * ((float) Math.sqrt(1 - (t -= 2) * t) + 1) + b;
- }
-
-
-}
diff --git a/src/main/java/io/polyfrost/oneconfig/utils/TickDelay.java b/src/main/java/io/polyfrost/oneconfig/utils/TickDelay.java
deleted file mode 100644
index 0babff1..0000000
--- a/src/main/java/io/polyfrost/oneconfig/utils/TickDelay.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package io.polyfrost.oneconfig.utils;
-
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import net.minecraftforge.fml.common.gameevent.TickEvent;
-
-public class TickDelay {
- private int delay;
- private final Runnable function;
-
- public TickDelay(Runnable functionName, int ticks) {
- register();
- delay = ticks;
- function = functionName;
- }
-
- @SubscribeEvent
- public void onTick(TickEvent.ClientTickEvent event) {
- if (event.phase == TickEvent.Phase.START) {
- // Delay expired
- if (delay < 1) {
- run();
- destroy();
- }
- delay--;
- }
- }
-
- private void destroy() {
- MinecraftForge.EVENT_BUS.unregister(this);
- }
-
- private void register() {
- MinecraftForge.EVENT_BUS.register(this);
- }
-
- private void run() {
- function.run();
- }
-}