aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/OneConfigConfig.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/interfaces/Config.java4
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java6
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java33
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java8
6 files changed, 44 insertions, 11 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/OneConfigConfig.java b/src/main/java/cc/polyfrost/oneconfig/config/OneConfigConfig.java
index efa9e9f..7434e49 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/OneConfigConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/OneConfigConfig.java
@@ -9,10 +9,12 @@ import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
+import java.util.ArrayList;
public class OneConfigConfig extends Config {
public static String currentProfile = "Default Profile";
+ public static ArrayList<String> favoriteMods = new ArrayList<>();
public static final int TRANSPARENT = new Color(0, 0, 0, 0).getRGB(); // Transparent // button sidebar normal
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/interfaces/Config.java b/src/main/java/cc/polyfrost/oneconfig/config/interfaces/Config.java
index 86c9893..0c8a3b8 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/interfaces/Config.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/interfaces/Config.java
@@ -131,6 +131,10 @@ public class Config {
break;
case INFO:
options.add(new ConfigInfo(field, option.name(), option.size(), option.infoType()));
+ break;
+ case COLOR:
+ options.add(new ConfigColorElement(field, option.name(), option.size()));
+ break;
}
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java
index e1323c3..1eda01b 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigInfo.java
@@ -36,7 +36,7 @@ public class ConfigInfo extends BasicOption {
public void draw(long vg, int x, int y) {
Scissor scissor = ScissorManager.scissor(vg, x, y, size == 1 ? 448 : 960, 32);
RenderManager.drawImage(vg, image, x, y + 4, 24, 24);
- RenderManager.drawString(vg, name, x + 32, y + 18, OneConfigConfig.WHITE_90, 12, Fonts.MEDIUM);
+ RenderManager.drawString(vg, name, x + 32, y + 18, OneConfigConfig.WHITE_90, 14, Fonts.MEDIUM);
ScissorManager.resetScissor(vg, scissor);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java
index 77a68ad..b9bd095 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigUniSelector.java
@@ -40,11 +40,11 @@ public class ConfigUniSelector extends BasicOption {
Scissor scissor = ScissorManager.scissor(vg, x + 256, y, 192, 32);
if (previous == -1) {
- RenderManager.drawString(vg, option, x + 352 - RenderManager.getTextWidth(vg, option, 12f, Fonts.MEDIUM) / 2f, y + 15, OneConfigConfig.WHITE_90, 12f, Fonts.MEDIUM);
+ RenderManager.drawString(vg, option, x + 352 - RenderManager.getTextWidth(vg, option, 12f, Fonts.MEDIUM) / 2f, y + 15, OneConfigConfig.WHITE_90, 14f, Fonts.MEDIUM);
} else {
String prevOption = options[previous] + " " + (previous + 1) + "/" + options.length;
- RenderManager.drawString(vg, selected < previous ? prevOption : option, x + 352 - RenderManager.getTextWidth(vg, selected < previous ? prevOption : option, 12f, Fonts.MEDIUM) / 2f + 192 * percentMove, y + 15, OneConfigConfig.WHITE_90, 12f, Fonts.MEDIUM);
- RenderManager.drawString(vg, selected < previous ? option : prevOption, x + 352 - RenderManager.getTextWidth(vg, selected < previous ? option : prevOption, 12f, Fonts.MEDIUM) / 2f - 192 * (1 - percentMove), y + 15, OneConfigConfig.WHITE_90, 12f, Fonts.MEDIUM);
+ RenderManager.drawString(vg, selected < previous ? prevOption : option, x + 352 - RenderManager.getTextWidth(vg, selected < previous ? prevOption : option, 14f, Fonts.MEDIUM) / 2f + 192 * percentMove, y + 15, OneConfigConfig.WHITE_90, 12f, Fonts.MEDIUM);
+ RenderManager.drawString(vg, selected < previous ? option : prevOption, x + 352 - RenderManager.getTextWidth(vg, selected < previous ? option : prevOption, 14f, Fonts.MEDIUM) / 2f - 192 * (1 - percentMove), y + 15, OneConfigConfig.WHITE_90, 12f, Fonts.MEDIUM);
}
ScissorManager.resetScissor(vg, scissor);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
index f9b930b..c7351d3 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
@@ -16,11 +16,12 @@ public class ModsPage extends Page {
private final List<ModCard> modCards = new ArrayList<>();
private final List<BasicButton> modCategories = new ArrayList<>();
+ private int size;
public ModsPage() {
super("Mods");
for (Mod modData : OneConfig.loadedMods) {
- modCards.add(new ModCard(modData, null, true, false, false));
+ modCards.add(new ModCard(modData, null, true, false, OneConfigConfig.favoriteMods.contains(modData.name)));
}
for (ModCard card : modCards) {
if (card.isFavorite()) {
@@ -39,12 +40,6 @@ public class ModsPage extends Page {
}
public void draw(long vg, int x, int y) {
- int iXCat = x + 16;
- for (BasicButton btn : modCategories) {
- btn.draw(vg, iXCat, y + 16);
- iXCat += btn.getWidth() + 8;
- }
-
int iX = x + 16;
int iY = y + 72;
for (ModCard modCard : modCards) {
@@ -57,11 +52,22 @@ public class ModsPage extends Page {
}
}
}
+ size = iY + 119;
if (iX == x + 16 && iY == y + 72) {
RenderManager.drawString(vg, "Looks like there is nothing here. Try another category?", x + 16, y + 72, OneConfigConfig.WHITE_60, 14f, Fonts.MEDIUM);
}
}
+ @Override
+ public int drawStatic(long vg, int x, int y) {
+ int iXCat = x + 16;
+ for (BasicButton btn : modCategories) {
+ btn.draw(vg, iXCat, y + 16);
+ iXCat += btn.getWidth() + 8;
+ }
+ return 60;
+ }
+
private void unselect(int index) {
for (int i = 0; i < modCategories.size(); i++) {
if (index == i) continue;
@@ -70,6 +76,19 @@ public class ModsPage extends Page {
}
@Override
+ public void finishUpAndClose() {
+ OneConfigConfig.favoriteMods.clear();
+ for (ModCard modCard : modCards) {
+ if (modCard.isFavorite()) OneConfigConfig.favoriteMods.add(modCard.getModData().name);
+ }
+ }
+
+ @Override
+ public int getMaxScrollHeight() {
+ return size;
+ }
+
+ @Override
public boolean isBase() {
return true;
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java b/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java
index 806cb0a..5669681 100644
--- a/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java
@@ -17,6 +17,14 @@ public class TestConfig extends Config {
public static boolean ignored;
@Option(
+ name = "Test color selector",
+ subcategory = "Test",
+ type = OptionType.COLOR,
+ size = 2
+ )
+ public static int color;
+
+ @Option(
name = "Test dual thing",
subcategory = "Test",
min = 3f, max = 127f,