aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/io/polyfrost/oneconfig/OneConfig.java10
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/OneConfigConfig.java8
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java4
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java3
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java4
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/HudComponent.java3
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java5
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java3
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java5
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/data/ModType.java5
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java21
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/interfaces/Option.java9
-rw-r--r--src/main/java/io/polyfrost/oneconfig/config/interfaces/Size.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/HudGui.java1
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/OneConfigGui.java28
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/SideBar.java10
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/BasicButton.java11
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/ModCard.java69
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/SearchField.java2
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/TextInputField.java98
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigButton.java20
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigCategory.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigColor.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigHud.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigSelector.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigSlider.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigSwitch.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/elements/config/OConfigText.java6
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/pages/HomePage.java1
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/pages/ModConfigPage.java52
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/pages/ModsPage.java74
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/pages/Page.java8
-rw-r--r--src/main/java/io/polyfrost/oneconfig/gui/pages/PerformanceModsPage.java42
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/IOUtil.java5
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/Lwjgl2FunctionProvider.java2
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/RenderManager.java5
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/image/Image.java1
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/image/ImageLoader.java5
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/plugin/ClassTransformer.java2
-rw-r--r--src/main/java/io/polyfrost/oneconfig/lwjgl/plugin/LoadingPlugin.java2
-rw-r--r--src/main/java/io/polyfrost/oneconfig/test/TestConfig.java2
-rw-r--r--src/main/java/io/polyfrost/oneconfig/test/TestNanoVGGui.java2
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/ColorUtils.java17
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/InputUtils.java1
-rw-r--r--src/main/java/io/polyfrost/oneconfig/utils/MathUtils.java4
46 files changed, 439 insertions, 159 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/OneConfig.java b/src/main/java/io/polyfrost/oneconfig/OneConfig.java
index 0f8fed9..f3668d8 100644
--- a/src/main/java/io/polyfrost/oneconfig/OneConfig.java
+++ b/src/main/java/io/polyfrost/oneconfig/OneConfig.java
@@ -52,17 +52,21 @@ public class OneConfig {
@Mod.EventHandler
public void onPostFMLInit(FMLPostInitializationEvent event) {
+ reloadModsList();
+ }
+
+ public static void reloadModsList() {
loadedMods.addAll(ConfigCore.settings.keySet());
LinkedHashSet<ModData> modData = new LinkedHashSet<>(ConfigCore.settings.keySet());
- for(ModContainer mod : Loader.instance().getActiveModList()) {
+ for (ModContainer mod : Loader.instance().getActiveModList()) {
ModMetadata metadata = mod.getMetadata();
loadedOtherMods.add(metadata);
String author = metadata.authorList.size() > 0 ? metadata.authorList.get(0) : "";
ModData newMod = new ModData(metadata.name, ModType.OTHER, author, metadata.version);
- if(newMod.name.equals("OneConfig") || newMod.name.equals("Minecraft Coder Pack") || newMod.name.equals("Forge Mod Loader") || newMod.name.equals("Minecraft Forge")) {
+ if (newMod.name.equals("Minecraft Coder Pack") || newMod.name.equals("Forge Mod Loader") || newMod.name.equals("Minecraft Forge")) { // TODO add oneconfig
continue;
}
- if(modData.add(newMod)) loadedMods.add(newMod); // anti duplicate fix
+ if (modData.add(newMod)) loadedMods.add(newMod); // anti duplicate fix
}
}
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/OneConfigConfig.java b/src/main/java/io/polyfrost/oneconfig/config/OneConfigConfig.java
index 3ebc876..bfb123a 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/OneConfigConfig.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/OneConfigConfig.java
@@ -14,7 +14,7 @@ public class OneConfigConfig extends Config {
public static String currentProfile = "Default Profile";
// TODO i dont know how this works so this is just gonna be here for now
- public static final int TRANSPARENT = new Color(0,0,0,0).getRGB(); // Transparent // button sidebar normal
+ public static final int TRANSPARENT = new Color(0, 0, 0, 0).getRGB(); // Transparent // button sidebar normal
public static final int GRAY_900 = new Color(13, 14, 15, 255).getRGB(); // Gray 900
public static final int GRAY_900_80 = new Color(13, 14, 15, 204).getRGB(); // Gray 900 80%
@@ -43,12 +43,6 @@ public class OneConfigConfig extends Config {
public static float CORNER_RADIUS = 12f;
-
-
-
-
-
-
public OneConfigConfig() {
super(null, "OneConfig.json");
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java
index 449d297..3ba1078 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Button.java
@@ -9,6 +9,10 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface Button {
String name();
+
String description() default "";
+
String text() default "Button";
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java
index 05b5277..83b7af4 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Category.java
@@ -9,5 +9,8 @@ import java.lang.annotation.Target;
@Target(ElementType.TYPE)
public @interface Category {
String name();
+
String description() default "";
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java
index feee4b4..6854bc2 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/ColorPicker.java
@@ -9,6 +9,10 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface ColorPicker {
String name();
+
String description() default "";
+
boolean allowAlpha() default true;
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/HudComponent.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/HudComponent.java
index 5e1cd62..00a2e74 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/HudComponent.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/HudComponent.java
@@ -9,5 +9,8 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface HudComponent {
String name();
+
String description() default "";
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java
index 8b476ab..00d88d8 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Selector.java
@@ -9,7 +9,12 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface Selector {
String name();
+
String description() default "";
+
String[] options();
+
int defaultSelection() default 0;
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java
index cf8bfcd..ea19da5 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Slider.java
@@ -9,8 +9,14 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface Slider {
String name();
+
String description() default "";
+
float min();
+
float max();
+
float precision();
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java
index 19ec1db..8ff2f11 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/Switch.java
@@ -9,5 +9,8 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface Switch {
String name();
+
String description() default "";
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java b/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java
index 7b5837c..0df1426 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/annotations/TextField.java
@@ -9,7 +9,12 @@ import java.lang.annotation.Target;
@Target(ElementType.FIELD)
public @interface TextField {
String name();
+
String description() default "";
+
String placeholder() default "";
+
boolean hideText() default false;
+
+ int size() default 1;
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/data/ModType.java b/src/main/java/io/polyfrost/oneconfig/config/data/ModType.java
index 8b6e7de..d2c5549 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/data/ModType.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/data/ModType.java
@@ -1,10 +1,11 @@
package io.polyfrost.oneconfig.config.data;
public enum ModType {
- PVP,
PERFORMANCE,
+ PVP,
HUD,
- QOL,
+ UTIL_QOL,
HYPIXEL,
+ SKYBLOCK,
OTHER
}
diff --git a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java
index 049ad3e..f0efcb0 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java
@@ -13,6 +13,7 @@ import java.io.*;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
@@ -42,7 +43,7 @@ public class Config {
* Save current config to file
*/
public void save() {
- try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(Profiles.getProfileFile(configFile)), StandardCharsets.UTF_8))) {
+ try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(Profiles.getProfileFile(configFile).toPath()), StandardCharsets.UTF_8))) {
writer.write(gson.toJson(this.getClass()));
} catch (IOException e) {
e.printStackTrace();
@@ -53,7 +54,7 @@ public class Config {
* Load file and overwrite current values
*/
public void load() {
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(Profiles.getProfileFile(configFile)), StandardCharsets.UTF_8))) {
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(Files.newInputStream(Profiles.getProfileFile(configFile).toPath()), StandardCharsets.UTF_8))) {
deserializePart(new JsonParser().parse(reader).getAsJsonObject(), this.getClass());
} catch (IOException e) {
e.printStackTrace();
@@ -71,31 +72,31 @@ public class Config {
for (Class<?> innerClass : clazz.getClasses()) {
if (innerClass.isAnnotationPresent(Category.class)) {
Category category = innerClass.getAnnotation(Category.class);
- options.add(new OConfigCategory(category.name(), category.description(), generateOptionList(innerClass)));
+ options.add(new OConfigCategory(category.name(), category.description(), generateOptionList(innerClass), category.size()));
}
}
for (Field field : clazz.getFields()) {
if (field.isAnnotationPresent(Button.class)) {
Button button = field.getAnnotation(Button.class);
- options.add(new OConfigButton(field, button.name(), button.description(), button.text()));
+ options.add(new OConfigButton(field, button.name(), button.description(), button.text(), button.size()));
} else if (field.isAnnotationPresent(ColorPicker.class)) {
ColorPicker colorPicker = field.getAnnotation(ColorPicker.class);
- options.add(new OConfigColor(field, colorPicker.name(), colorPicker.description(), colorPicker.allowAlpha()));
+ options.add(new OConfigColor(field, colorPicker.name(), colorPicker.description(), colorPicker.allowAlpha(), colorPicker.size()));
} else if (field.isAnnotationPresent(Selector.class)) {
Selector selector = field.getAnnotation(Selector.class);
- options.add(new OConfigSelector(field, selector.name(), selector.description(), selector.options(), selector.defaultSelection()));
+ options.add(new OConfigSelector(field, selector.name(), selector.description(), selector.options(), selector.defaultSelection(), selector.size()));
} else if (field.isAnnotationPresent(Slider.class)) {
Slider slider = field.getAnnotation(Slider.class);
- options.add(new OConfigSlider(field, slider.name(), slider.description(), slider.min(), slider.max(), slider.precision()));
+ options.add(new OConfigSlider(field, slider.name(), slider.description(), slider.min(), slider.max(), slider.precision(), slider.size()));
} else if (field.isAnnotationPresent(Switch.class)) {
Switch aSwitch = field.getAnnotation(Switch.class);
- options.add(new OConfigSwitch(field, aSwitch.name(), aSwitch.description()));
+ options.add(new OConfigSwitch(field, aSwitch.name(), aSwitch.description(), aSwitch.size()));
} else if (field.isAnnotationPresent(TextField.class)) {
TextField textField = field.getAnnotation(TextField.class);
- options.add(new OConfigText(field, textField.name(), textField.description(), textField.placeholder(), textField.hideText()));
+ options.add(new OConfigText(field, textField.name(), textField.description(), textField.placeholder(), textField.hideText(), textField.size()));
} else if (field.isAnnotationPresent(HudComponent.class)) {
HudComponent hudComponent = field.getAnnotation(HudComponent.class);
- options.add(new OConfigHud(field, hudComponent.name(), hudComponent.description()));
+ options.add(new OConfigHud(field, hudComponent.name(), hudComponent.description(), hudComponent.size()));
try {
Object hud = field.get(BasicHud.class);
HudCore.huds.add((BasicHud) hud);
diff --git a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Option.java b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Option.java
index 99cf656..bd9c034 100644
--- a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Option.java
+++ b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Option.java
@@ -7,6 +7,7 @@ public abstract class Option {
protected final Field field;
protected final String name;
protected final String description;
+ public final int size;
/**
* Initialize option
@@ -14,11 +15,13 @@ public abstract class Option {
* @param field variable attached to option (null for category)
* @param name name of option
* @param description description of option
+ * @param size size of option, 0 for single column, 1 for double.
*/
- public Option(Field field, String name, String description) {
+ public Option(Field field, String name, String description, int size) {
this.field = field;
this.name = name;
this.description = description;
+ this.size = size;
if (field != null) field.setAccessible(true);
}
@@ -46,13 +49,13 @@ public abstract class Option {
/**
* Function that gets called when drawing option
*
+ * @param vg NanoVG context
* @param x x position
* @param y y position
- * @param width width of menu
* @param mouseX x position of mouse
* @param mouseY y position of mouse
*/
- public abstract void draw(int x, int y, int width, int mouseX, int mouseY);
+ public abstract void draw(long vg, int x, int y, int mouseX, int mouseY);
/**
* Function that gets called when mouse is clicked
diff --git a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Size.java b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Size.java
new file mode 100644
index 0000000..4802ec5
--- /dev/null
+++ b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Size.java
@@ -0,0 +1,6 @@
+package io.polyfrost.oneconfig.config.interfaces;
+
+public enum Size {
+ SINGLE_COLUMN, // A single column, 480x32
+ DOUBLE_COLUMN // A double column, 992x32
+}
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/HudGui.java b/src/main/java/io/polyfrost/oneconfig/gui/HudGui.java
index 12b9755..32e401b 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/HudGui.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/HudGui.java
@@ -3,7 +3,6 @@ package io.polyfrost.oneconfig.gui;
import io.polyfrost.oneconfig.hud.HudCore;
import io.polyfrost.oneconfig.hud.interfaces.BasicHud;
import io.polyfrost.oneconfig.lwjgl.RenderManager;
-import io.polyfrost.oneconfig.test.TestHud;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiScreen;
import org.lwjgl.input.Keyboard;
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/io/polyfrost/oneconfig/gui/OneConfigGui.java
index 6f8aeea..fd0ef47 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/OneConfigGui.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/OneConfigGui.java
@@ -12,7 +12,8 @@ import net.minecraft.client.gui.GuiScreen;
import org.jetbrains.annotations.NotNull;
import org.lwjgl.input.Keyboard;
-import static org.lwjgl.nanovg.NanoVG.*;
+import static org.lwjgl.nanovg.NanoVG.nvgResetScissor;
+import static org.lwjgl.nanovg.NanoVG.nvgScissor;
public class OneConfigGui extends GuiScreen {
public static OneConfigGui INSTANCE;
@@ -33,13 +34,15 @@ public class OneConfigGui extends GuiScreen {
public OneConfigGui() {
INSTANCE = this;
}
+
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
super.drawScreen(mouseX, mouseY, partialTicks);
+ long start = System.nanoTime();
RenderManager.setupAndDraw((vg) -> {
- if(currentPage == null) currentPage = new HomePage();
+ if (currentPage == null) currentPage = new HomePage();
//nvgScale(vg, 0.5f, 0.5f);
- if(OneConfigConfig.ROUNDED_CORNERS) {
+ if (OneConfigConfig.ROUNDED_CORNERS) {
RenderManager.drawRoundedRect(vg, 544, 140, 1056, 800, OneConfigConfig.GRAY_800, OneConfigConfig.CORNER_RADIUS_WIN);
RenderManager.drawRoundedRect(vg, 320, 140, 244, 800, OneConfigConfig.GRAY_900_80, OneConfigConfig.CORNER_RADIUS_WIN);
RenderManager.drawRect(vg, 544, 140, 20, 800, OneConfigConfig.GRAY_800);
@@ -48,21 +51,22 @@ public class OneConfigGui extends GuiScreen {
// L;
}
- RenderManager.drawLine(vg, 544, 212, 1600, 212, 1, OneConfigConfig.GRAY_700);
+ RenderManager.drawLine(vg, 544, 212, 1600, 212, 1, OneConfigConfig.GRAY_700);
RenderManager.drawLine(vg, 544, 140, 544, 940, 1, OneConfigConfig.GRAY_700);
RenderManager.drawImage(vg, "/assets/oneconfig/textures/icon.png", x + 19, y + 19, 42, 42);
RenderManager.drawString(vg, "OneConfig", x + 69, y + 32, OneConfigConfig.WHITE, 18f, Fonts.INTER_BOLD); // added half line height to center text
RenderManager.drawString(vg, "By Polyfrost", x + 69, y + 51, OneConfigConfig.WHITE, 12f, Fonts.INTER_REGULAR);
+ textInputField.draw(vg, x + 400, y + 200);
//element.setColorPalette(0);
sideBar.draw(vg, x, y);
nvgScissor(vg, x + 224, y + 72, 1056, 728);
- if(prevPage != null) {
+ if (prevPage != null) {
pageProgress = MathUtils.easeInOutCirc(50, pageProgress, 832 - pageProgress, 220);
prevPage.draw(vg, (int) (x - pageProgress), y + 72);
RenderManager.drawLine(vg, (int) (x - pageProgress + 1055), y + 72, (int) (x - pageProgress + 1057), y + 800, 2, OneConfigConfig.GRAY_700); // TODO might remove this
currentPage.draw(vg, (int) (x - pageProgress + 1056), y + 72);
- if(pageProgress > 828f) {
+ if (pageProgress > 828f) {
prevPage = null;
pageProgress = -224f;
}
@@ -70,14 +74,19 @@ public class OneConfigGui extends GuiScreen {
currentPage.draw(vg, (int) (x - pageProgress), y + 72);
}
nvgResetScissor(vg);
+ long end = System.nanoTime() - start;
+ String s = (" draw: " + end / 1000000f + "ms");
RenderManager.drawString(vg, currentPage.getTitle(), x + 336, y + 36, OneConfigConfig.WHITE_90, 32f, Fonts.INTER_SEMIBOLD);
+ RenderManager.drawString(vg, s, x + 1170, y + 790, OneConfigConfig.GRAY_300, 10f, Fonts.INTER_MEDIUM);
+
- //textInputField.draw(vg, 792, 548);
- //btn.draw(vg, 976, 870);
+ //textInputField.draw(vg, 792, 548);
+ //btn.draw(vg, 976, 870);
//RenderManager.drawGradientRoundedRect(vg, 100, 100, 500, 100, OneConfigConfig.BLUE_600, OneConfigConfig.BLUE_500, OneConfigConfig.CORNER_RADIUS_WIN);
});
+
}
protected void keyTyped(char key, int keyCode) {
@@ -91,7 +100,8 @@ public class OneConfigGui extends GuiScreen {
}
public void openPage(@NotNull Page page) {
- if(prevPage == null) {
+ currentPage.finishUpAndClose();
+ if (prevPage == null) {
prevPage = currentPage;
}
currentPage = page;
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/SideBar.java b/src/main/java/io/polyfrost/oneconfig/gui/SideBar.java
index fd8f92e..f6ec15f 100644
--- a/src/main/java/io/polyfrost/oneconfig/gui/SideBar.java
+++ b/src/main/java/io/polyfrost/oneconfig/gui/SideBar.java
@@ -4,12 +4,11 @@ import io.polyfrost.oneconfig.config.OneConfigConfig;
import io.polyfrost.oneconfig.gui.elements.BasicButton;
import io.polyfrost.oneconfig.gui.pages.HomePage;
import io.polyfrost.oneconfig.gui.pages.ModsPage;
+import io.polyfrost.oneconfig.gui.pages.PerformanceModsPage;
import io.polyfrost.oneconfig.lwjgl.RenderManager;
import io.polyfrost.oneconfig.lwjgl.font.Fonts;
import io.polyfrost.oneconfig.utils.MathUtils;
-import io.polyfrost.oneconfig.utils.TickDelay;
import net.minecraft.client.Minecraft;
-import scala.collection.parallel.ParIterableLike;
import java.util.ArrayList;
import java.util.List;
@@ -23,7 +22,7 @@ public class SideBar {
btnList.add(new BasicButton(192, 36, "Dashboard", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT, new HomePage()));
btnList.add(new BasicButton(192, 36, "Global Search", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT));
btnList.add(new BasicButton(192, 36, "Mods", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT, new ModsPage()));
- btnList.add(new BasicButton(192, 36, "Performance", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT));
+ btnList.add(new BasicButton(192, 36, "Performance Mods", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT, new PerformanceModsPage()));
btnList.add(new BasicButton(192, 36, "Profiles", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT));
btnList.add(new BasicButton(192, 36, "Updates", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT));
btnList.add(new BasicButton(192, 36, "Screenshots", "/assets/oneconfig/textures/share.png", null, -3, BasicButton.ALIGNMENT_LEFT));
@@ -60,13 +59,10 @@ public class SideBar {
}
if (btn.isClicked()) {
- if(i < 520) targetY = btn.y;
+ if (i < 520) targetY = btn.y;
}
}
-
-
-
}
}
diff --git a/src/main/java/io/polyfrost/oneconfig/gui/elements/BasicButton.java b/src/main/java/io/polyfrost/oneconfig/gui/elements/BasicButton.java
index c0d4cec..3ded1b1 100644
--- a/