aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
diff options
context:
space:
mode:
authorThatGravyBoat <thatgravyboat@gmail.com>2021-07-15 01:36:50 -0230
committerThatGravyBoat <thatgravyboat@gmail.com>2021-07-15 01:36:50 -0230
commit718740e85f48b57bf712a62f811cd4d34dd98450 (patch)
tree8d3c7751cf684fe98e513010233f7b7b46e3e351 /src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
parent89fa98d85546eb93064ce4a2b66e79341750b577 (diff)
downloadSkyHanni-718740e85f48b57bf712a62f811cd4d34dd98450.tar.gz
SkyHanni-718740e85f48b57bf712a62f811cd4d34dd98450.tar.bz2
SkyHanni-718740e85f48b57bf712a62f811cd4d34dd98450.zip
Updated important locations
Updated Config System (Thanks Moulberry) Added Trackers Back with kill trackers
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java83
1 files changed, 56 insertions, 27 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java b/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
index 8bbeaa72d..90325f824 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
@@ -1,8 +1,5 @@
package com.thatgravyboat.skyblockhud.config;
-import static com.thatgravyboat.skyblockhud.GuiTextures.DISCORD;
-import static com.thatgravyboat.skyblockhud.GuiTextures.TWITTER;
-
import com.google.common.collect.Lists;
import com.thatgravyboat.skyblockhud.core.GlScissorStack;
import com.thatgravyboat.skyblockhud.core.GuiElement;
@@ -16,8 +13,8 @@ import com.thatgravyboat.skyblockhud.core.util.render.RenderUtils;
import com.thatgravyboat.skyblockhud.core.util.render.TextRenderUtils;
import java.awt.*;
import java.net.URI;
-import java.util.*;
import java.util.List;
+import java.util.*;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.Gui;
@@ -28,6 +25,9 @@ import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
+import static com.thatgravyboat.skyblockhud.GuiTextures.DISCORD;
+import static com.thatgravyboat.skyblockhud.GuiTextures.TWITTER;
+
public class SBHConfigEditor extends GuiElement {
private static final ResourceLocation[] socialsIco = new ResourceLocation[] { DISCORD, TWITTER };
@@ -41,6 +41,7 @@ public class SBHConfigEditor extends GuiElement {
private final LerpingInteger categoryScroll = new LerpingInteger(0, 150);
private LinkedHashMap<String, ConfigProcessor.ProcessedCategory> processedConfig;
+ private TreeMap<String, Set<ConfigProcessor.ProcessedOption>> searchOptionMap = new TreeMap<>();
private HashMap<ConfigProcessor.ProcessedOption, ConfigProcessor.ProcessedCategory> categoryForOption = new HashMap<>();
public SBHConfigEditor(Config config) {
@@ -232,14 +233,15 @@ public class SBHConfigEditor extends GuiElement {
ConfigProcessor.ProcessedCategory cat = currentConfigEditing.get(getSelectedCategory());
int optionWidthDefault = innerRight - innerLeft - 20;
GlStateManager.enableDepth();
- Set<Integer> activeAccordions = new HashSet<>();
+ HashMap<Integer, Integer> activeAccordions = new HashMap<>();
for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
int optionWidth = optionWidthDefault;
if (option.accordionId >= 0) {
- if (!activeAccordions.contains(option.accordionId)) {
+ if(!activeAccordions.containsKey(option.accordionId)) {
continue;
}
- optionWidth = optionWidthDefault - 2 * innerPadding;
+ int accordionDepth = activeAccordions.get(option.accordionId);
+ optionWidth = optionWidthDefault - (2 * innerPadding)*(accordionDepth + 1);
}
GuiOptionEditor editor = option.editor;
@@ -249,7 +251,11 @@ public class SBHConfigEditor extends GuiElement {
if (editor instanceof GuiOptionEditorAccordion) {
GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
if (accordion.getToggled()) {
- activeAccordions.add(accordion.getAccordionId());
+ int accordionDepth = 0;
+ if (option.accordionId >= 0) {
+ accordionDepth = activeAccordions.get(option.accordionId)+1;
+ }
+ activeAccordions.put(accordion.getAccordionId(), accordionDepth);
}
}
int optionHeight = editor.getHeight();
@@ -274,14 +280,15 @@ public class SBHConfigEditor extends GuiElement {
GlStateManager.translate(0, 0, 10);
GlStateManager.enableDepth();
- Set<Integer> activeAccordions = new HashSet<>();
+ HashMap<Integer, Integer> activeAccordions = new HashMap<>();
for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
int optionWidth = optionWidthDefault;
if (option.accordionId >= 0) {
- if (!activeAccordions.contains(option.accordionId)) {
+ if (!activeAccordions.containsKey(option.accordionId)) {
continue;
}
- optionWidth = optionWidthDefault - 2 * innerPadding;
+ int accordionDepth = activeAccordions.get(option.accordionId);
+ optionWidth = optionWidthDefault - (2 * innerPadding) * (accordionDepth + 1);
}
GuiOptionEditor editor = option.editor;
@@ -291,7 +298,11 @@ public class SBHConfigEditor extends GuiElement {
if (editor instanceof GuiOptionEditorAccordion) {
GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
if (accordion.getToggled()) {
- activeAccordions.add(accordion.getAccordionId());
+ int accordionDepth = 0;
+ if (option.accordionId >= 0) {
+ accordionDepth = activeAccordions.get(option.accordionId)+1;
+ }
+ activeAccordions.put(accordion.getAccordionId(), accordionDepth);
}
}
int optionHeight = editor.getHeight();
@@ -403,10 +414,10 @@ public class SBHConfigEditor extends GuiElement {
int optionY = -newTarget;
if (getSelectedCategory() != null && getCurrentConfigEditing() != null && getCurrentConfigEditing().containsKey(getSelectedCategory())) {
ConfigProcessor.ProcessedCategory cat = getCurrentConfigEditing().get(getSelectedCategory());
- Set<Integer> activeAccordions = new HashSet<>();
+ HashMap<Integer, Integer> activeAccordions = new HashMap<>();
for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
if (option.accordionId >= 0) {
- if (!activeAccordions.contains(option.accordionId)) {
+ if (!activeAccordions.containsKey(option.accordionId)) {
continue;
}
}
@@ -418,7 +429,11 @@ public class SBHConfigEditor extends GuiElement {
if (editor instanceof GuiOptionEditorAccordion) {
GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
if (accordion.getToggled()) {
- activeAccordions.add(accordion.getAccordionId());
+ int accordionDepth = 0;
+ if (option.accordionId >= 0) {
+ accordionDepth = activeAccordions.get(option.accordionId)+1;
+ }
+ activeAccordions.put(accordion.getAccordionId(), accordionDepth);
}
}
optionY += editor.getHeight() + 5;
@@ -468,14 +483,15 @@ public class SBHConfigEditor extends GuiElement {
if (getSelectedCategory() != null && getCurrentConfigEditing() != null && getCurrentConfigEditing().containsKey(getSelectedCategory())) {
int optionWidthDefault = innerRight - innerLeft - 20;
ConfigProcessor.ProcessedCategory cat = getCurrentConfigEditing().get(getSelectedCategory());
- Set<Integer> activeAccordions = new HashSet<>();
+ HashMap<Integer, Integer> activeAccordions = new HashMap<>();
for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
int optionWidth = optionWidthDefault;
if (option.accordionId >= 0) {
- if (!activeAccordions.contains(option.accordionId)) {
+ if (!activeAccordions.containsKey(option.accordionId)) {
continue;
}
- optionWidth = optionWidthDefault - 2 * innerPadding;
+ int accordionDepth = activeAccordions.get(option.accordionId);
+ optionWidth = optionWidthDefault - (2*innerPadding)*(accordionDepth+1);
}
GuiOptionEditor editor = option.editor;
@@ -485,7 +501,11 @@ public class SBHConfigEditor extends GuiElement {
if (editor instanceof GuiOptionEditorAccordion) {
GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
if (accordion.getToggled()) {
- activeAccordions.add(accordion.getAccordionId());
+ int accordionDepth = 0;
+ if (option.accordionId >= 0) {
+ accordionDepth = activeAccordions.get(option.accordionId)+1;
+ }
+ activeAccordions.put(accordion.getAccordionId(), accordionDepth);
}
}
if (editor.mouseInputOverlay((innerLeft + innerRight - optionWidth) / 2 - 5, innerTop + 5 + optionY, optionWidth, mouseX, mouseY)) {
@@ -500,14 +520,15 @@ public class SBHConfigEditor extends GuiElement {
if (getSelectedCategory() != null && getCurrentConfigEditing() != null && getCurrentConfigEditing().containsKey(getSelectedCategory())) {
int optionWidthDefault = innerRight - innerLeft - 20;
ConfigProcessor.ProcessedCategory cat = getCurrentConfigEditing().get(getSelectedCategory());
- Set<Integer> activeAccordions = new HashSet<>();
+ HashMap<Integer, Integer> activeAccordions = new HashMap<>();
for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
int optionWidth = optionWidthDefault;
if (option.accordionId >= 0) {
- if (!activeAccordions.contains(option.accordionId)) {
+ if (!activeAccordions.containsKey(option.accordionId)) {
continue;
}
- optionWidth = optionWidthDefault - 2 * innerPadding;
+ int accordionDepth = activeAccordions.get(option.accordionId);
+ optionWidth = optionWidthDefault - (2*innerPadding)*(accordionDepth+1);
}
GuiOptionEditor editor = option.editor;
@@ -517,7 +538,11 @@ public class SBHConfigEditor extends GuiElement {
if (editor instanceof GuiOptionEditorAccordion) {
GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
if (accordion.getToggled()) {
- activeAccordions.add(accordion.getAccordionId());
+ int accordionDepth = 0;
+ if (option.accordionId >= 0) {
+ accordionDepth = activeAccordions.get(option.accordionId)+1;
+ }
+ activeAccordions.put(accordion.getAccordionId(), accordionDepth);
}
}
if (editor.mouseInput((innerLeft + innerRight - optionWidth) / 2 - 5, innerTop + 5 + optionY, optionWidth, mouseX, mouseY)) {
@@ -544,10 +569,10 @@ public class SBHConfigEditor extends GuiElement {
if (getSelectedCategory() != null && getCurrentConfigEditing() != null && getCurrentConfigEditing().containsKey(getSelectedCategory())) {
ConfigProcessor.ProcessedCategory cat = getCurrentConfigEditing().get(getSelectedCategory());
- Set<Integer> activeAccordions = new HashSet<>();
+ HashMap<Integer, Integer> activeAccordions = new HashMap<>();
for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
if (option.accordionId >= 0) {
- if (!activeAccordions.contains(option.accordionId)) {
+ if (!activeAccordions.containsKey(option.accordionId)) {
continue;
}
}
@@ -559,7 +584,11 @@ public class SBHConfigEditor extends GuiElement {
if (editor instanceof GuiOptionEditorAccordion) {
GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
if (accordion.getToggled()) {
- activeAccordions.add(accordion.getAccordionId());
+ int accordionDepth = 0;
+ if (option.accordionId >= 0) {
+ accordionDepth = activeAccordions.get(option.accordionId)+1;
+ }
+ activeAccordions.put(accordion.getAccordionId(), accordionDepth);
}
}
if (editor.keyboardInput()) {
@@ -570,4 +599,4 @@ public class SBHConfigEditor extends GuiElement {
return true;
}
-}
+} \ No newline at end of file