From dcee46d4d0039993466fc7c0e2d0be7b31af3d4b Mon Sep 17 00:00:00 2001 From: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> Date: Wed, 29 Jun 2022 12:28:13 +0200 Subject: hud + fixes --- .../java/cc/polyfrost/oneconfig/config/Config.java | 3 ++- .../compatibility/vigilance/VigilanceConfig.java | 1 - .../config/elements/OptionSubcategory.java | 31 +++++----------------- 3 files changed, 8 insertions(+), 27 deletions(-) (limited to 'src/main/java/cc/polyfrost/oneconfig/config') 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 options = new ArrayList<>(); public ArrayList topButtons = new ArrayList<>(); public ArrayList bottomButtons = new ArrayList<>(); - private ArrayList filteredOptions = new ArrayList<>(); + private List 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 filteredTop = new ArrayList<>(topButtons); - ArrayList 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 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 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); -- cgit