aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/config
diff options
context:
space:
mode:
authorDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-06-29 12:28:13 +0200
committerDeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>2022-06-29 12:28:13 +0200
commitdcee46d4d0039993466fc7c0e2d0be7b31af3d4b (patch)
tree6a15cfdda1e272c80013ec357271f30208850ea8 /src/main/java/cc/polyfrost/oneconfig/config
parent28962efa38a5c259ce532d3b0d1b3d9b5cd79f93 (diff)
downloadOneConfig-dcee46d4d0039993466fc7c0e2d0be7b31af3d4b.tar.gz
OneConfig-dcee46d4d0039993466fc7c0e2d0be7b31af3d4b.tar.bz2
OneConfig-dcee46d4d0039993466fc7c0e2d0be7b31af3d4b.zip
hud + fixes
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/config')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/Config.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/compatibility/vigilance/VigilanceConfig.java1
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/elements/OptionSubcategory.java31
3 files changed, 8 insertions, 27 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/Config.java b/src/main/java/cc/polyfrost/oneconfig/config/Config.java
index d297805..7ecd4d0 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/Config.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/Config.java
@@ -21,6 +21,7 @@ import cc.polyfrost.oneconfig.internal.config.annotations.Option;
import cc.polyfrost.oneconfig.internal.config.core.ConfigCore;
import cc.polyfrost.oneconfig.internal.config.core.KeyBindHandler;
import cc.polyfrost.oneconfig.utils.JsonUtils;
+import cc.polyfrost.oneconfig.utils.Multithreading;
import cc.polyfrost.oneconfig.utils.TickDelay;
import cc.polyfrost.oneconfig.utils.gui.GuiUtils;
import com.google.gson.*;
@@ -52,7 +53,7 @@ public class Config {
*/
public Config(Mod modData, String configFile, boolean initialize) {
this.configFile = configFile;
- if (initialize) new TickDelay(() -> init(modData), 1); // wait one tick so every class in config gets initialized
+ Multithreading.runAsync(() -> init(modData)); // wait a bit to give everything time to initialize
}
/**
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/compatibility/vigilance/VigilanceConfig.java b/src/main/java/cc/polyfrost/oneconfig/config/compatibility/vigilance/VigilanceConfig.java
index bfad00c..ad148df 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/compatibility/vigilance/VigilanceConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/compatibility/vigilance/VigilanceConfig.java
@@ -193,7 +193,6 @@ public class VigilanceConfig extends Config {
try {
this.color.set(parent, newColor);
} catch (IllegalAccessException ignored) {
-
}
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/elements/OptionSubcategory.java b/src/main/java/cc/polyfrost/oneconfig/config/elements/OptionSubcategory.java
index 0066dd8..365ddb6 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/elements/OptionSubcategory.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/elements/OptionSubcategory.java
@@ -7,13 +7,15 @@ import cc.polyfrost.oneconfig.renderer.RenderManager;
import cc.polyfrost.oneconfig.renderer.font.Fonts;
import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
public class OptionSubcategory {
private final String name;
public ArrayList<BasicOption> options = new ArrayList<>();
public ArrayList<ConfigPageButton> topButtons = new ArrayList<>();
public ArrayList<ConfigPageButton> bottomButtons = new ArrayList<>();
- private ArrayList<BasicOption> filteredOptions = new ArrayList<>();
+ private List<BasicOption> filteredOptions = new ArrayList<>();
private int drawLastY;
public OptionSubcategory(String name) {
@@ -22,25 +24,9 @@ public class OptionSubcategory {
public int draw(long vg, int x, int y) {
String filter = OneConfigGui.INSTANCE == null ? "" : OneConfigGui.INSTANCE.getSearchValue().toLowerCase().trim();
- filteredOptions = new ArrayList<>(options);
- ArrayList<ConfigPageButton> filteredTop = new ArrayList<>(topButtons);
- ArrayList<ConfigPageButton> filteredBottom = new ArrayList<>(bottomButtons);
- if (!filter.equals("") && !name.toLowerCase().contains(filter)) {
- filteredOptions.clear();
- filteredTop.clear();
- filteredBottom.clear();
- for (BasicOption option : options) {
- if (option.name.toLowerCase().contains(filter)) filteredOptions.add(option);
- }
- for (ConfigPageButton page : topButtons) {
- if (page.name.toLowerCase().contains(filter) || page.description.toLowerCase().contains(filter))
- filteredTop.add(page);
- }
- for (ConfigPageButton page : bottomButtons) {
- if (page.name.toLowerCase().contains(filter) || page.description.toLowerCase().contains(filter))
- filteredBottom.add(page);
- }
- }
+ filteredOptions = options.stream().filter(option -> !option.isHidden() && (filter.equals("") || name.toLowerCase().contains(filter) || option.name.toLowerCase().contains(filter))).collect(Collectors.toList());
+ List<ConfigPageButton> filteredTop = topButtons.stream().filter(page -> !page.isHidden() && (filter.equals("") || name.toLowerCase().contains(filter) || page.name.toLowerCase().contains(filter) || page.description.toLowerCase().contains(filter))).collect(Collectors.toList());
+ List<ConfigPageButton> filteredBottom = bottomButtons.stream().filter(page -> !page.isHidden() && (filter.equals("") || name.toLowerCase().contains(filter) || page.name.toLowerCase().contains(filter) || page.description.toLowerCase().contains(filter))).collect(Collectors.toList());
if (filteredOptions.size() == 0 && filteredTop.size() == 0 && filteredBottom.size() == 0) return 0;
int optionY = y;
if (!name.equals("")) {
@@ -49,7 +35,6 @@ public class OptionSubcategory {
}
for (ConfigPageButton page : filteredTop) {
- if (page.isHidden()) continue;
page.draw(vg, x, optionY);
optionY += page.getHeight() + 16;
}
@@ -58,7 +43,6 @@ public class OptionSubcategory {
int backgroundSize = 16;
for (int i = 0; i < filteredOptions.size(); i++) {
BasicOption option = filteredOptions.get(i);
- if (option.isHidden()) continue;
if (i + 1 < filteredOptions.size()) {
BasicOption nextOption = filteredOptions.get(i + 1);
if (option.size == 1 && nextOption.size == 1) {
@@ -77,7 +61,6 @@ public class OptionSubcategory {
if (filteredOptions.size() > 0) {
for (int i = 0; i < filteredOptions.size(); i++) {
BasicOption option = filteredOptions.get(i);
- if (option.isHidden()) continue;
option.draw(vg, x, optionY);
if (i + 1 < filteredOptions.size()) {
BasicOption nextOption = filteredOptions.get(i + 1);
@@ -94,7 +77,6 @@ public class OptionSubcategory {
}
for (ConfigPageButton page : filteredBottom) {
- if (page.isHidden()) continue;
page.draw(vg, x, optionY);
optionY += page.getHeight() + 16;
}
@@ -105,7 +87,6 @@ public class OptionSubcategory {
public void drawLast(long vg, int x) {
for (int i = 0; i < filteredOptions.size(); i++) {
BasicOption option = filteredOptions.get(i);
- if (option.isHidden()) continue;
option.drawLast(vg, x, drawLastY);
if (i + 1 < filteredOptions.size()) {
BasicOption nextOption = filteredOptions.get(i + 1);