summaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/config
diff options
context:
space:
mode:
authorLorenz <ESs95s3P5z8Pheb>2022-07-08 16:12:55 +0200
committerLorenz <ESs95s3P5z8Pheb>2022-07-08 16:12:55 +0200
commit4463c7fa78f886a8abc09e867dd17cde2a685ad4 (patch)
tree9245b4eed7f410f1c168688a77eeda6bfd55c994 /src/main/java/com/thatgravyboat/skyblockhud/config
parent9e08dbf2baa9819abd281ad285df7462c99491e2 (diff)
downloadskyhanni-4463c7fa78f886a8abc09e867dd17cde2a685ad4.tar.gz
skyhanni-4463c7fa78f886a8abc09e867dd17cde2a685ad4.tar.bz2
skyhanni-4463c7fa78f886a8abc09e867dd17cde2a685ad4.zip
code cleanup
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/config')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/config/KeyBindings.java8
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java456
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java602
3 files changed, 0 insertions, 1066 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/config/KeyBindings.java b/src/main/java/com/thatgravyboat/skyblockhud/config/KeyBindings.java
deleted file mode 100644
index 9ffd3523b..000000000
--- a/src/main/java/com/thatgravyboat/skyblockhud/config/KeyBindings.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.thatgravyboat.skyblockhud.config;
-
-import net.minecraft.client.settings.KeyBinding;
-
-public class KeyBindings {
-
- public static KeyBinding map = new KeyBinding("Opens the big map.", 50, "SkyblockHud");
-}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java b/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java
deleted file mode 100644
index 62cd406fc..000000000
--- a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfig.java
+++ /dev/null
@@ -1,456 +0,0 @@
-//package com.thatgravyboat.skyblockhud.config;
-//
-//import com.google.gson.annotations.Expose;
-//import at.lorenz.mod.LorenzMod;
-//import com.thatgravyboat.skyblockhud.core.GuiScreenElementWrapper;
-//import com.thatgravyboat.skyblockhud.core.config.Config;
-//import com.thatgravyboat.skyblockhud.core.config.Position;
-//import com.thatgravyboat.skyblockhud.core.config.annotations.*;
-//import com.thatgravyboat.skyblockhud.core.config.gui.GuiPositionEditor;
-//import java.util.ArrayList;
-//import java.util.Arrays;
-//import java.util.List;
-//import net.minecraft.client.Minecraft;
-//
-//public class SBHConfig extends Config {
-//
-// private void editOverlay(String activeConfig, int width, int height, Position position) {
-// Minecraft.getMinecraft().displayGuiScreen(new GuiPositionEditor(position, width, height, () -> {}, () -> {}, () -> LorenzMod.screenToOpen = new GuiScreenElementWrapper(new SBHConfigEditor(LorenzMod.config, activeConfig))));
-// }
-//
-// public void executeRunnable(String runnableId) {
-// // String activeConfigCategory = null;
-// // if (Minecraft.getMinecraft().currentScreen instanceof GuiScreenElementWrapper) {
-// // GuiScreenElementWrapper wrapper = (GuiScreenElementWrapper) Minecraft.getMinecraft().currentScreen;
-// // if (wrapper.element instanceof SBHConfigEditor) {
-// // activeConfigCategory = ((SBHConfigEditor) wrapper.element).getSelectedCategoryName();
-// // }
-// // }
-// //
-// // switch (runnableId) {
-// // case "rpg":
-// // editOverlay(activeConfigCategory, 120, 47, rpg.rpgHudPosition);
-// // return;
-// // case "d1":
-// // editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer1);
-// // return;
-// // case "d2":
-// // editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer2);
-// // return;
-// // case "d3":
-// // editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer3);
-// // return;
-// // case "d4":
-// // editOverlay(activeConfigCategory, 120, 32, dungeon.dungeonPlayer4);
-// // return;
-// // case "main":
-// // editOverlay(activeConfigCategory, 1000, 34, main.mainHudPos);
-// // return;
-// // case "ultimate":
-// // editOverlay(activeConfigCategory, 182, 5, dungeon.barPosition);
-// // return;
-// // case "map":
-// // editOverlay(activeConfigCategory, 72, 72, map.miniMapPosition);
-// // return;
-// // case "tracker":
-// // editOverlay(activeConfigCategory, 130, 70, trackers.trackerPosition);
-// // return;
-// // case "drill":
-// // editOverlay(activeConfigCategory, 136, 7, mining.drillBar);
-// // return;
-// // case "heat":
-// // editOverlay(activeConfigCategory, 45, 7, mining.heatBar);
-// // return;
-// // case "dialogue":
-// // editOverlay(activeConfigCategory, 182, 68, misc.dialoguePos);
-// // return;
-// // }
-// }
-//
-// @Expose
-// @Category(name = "Lorenz Options", desc = "Just a test by lorenz.")
-// public Lorenz lorenz = new Lorenz();
-//
-// @Expose
-// @Category(name = "Misc Options", desc = "Just a bunch of random options.")
-// public Misc misc = new Misc();
-//
-// @Expose
-// @Category(name = "Main Hud", desc = "All Options for the main hud.")
-// public MainHud main = new MainHud();
-//
-// @Expose
-// @Category(name = "RPG Hud", desc = "All Options for the RPG hud.")
-// public RPGHud rpg = new RPGHud();
-//
-// @Expose
-// @Category(name = "Dungeon Hud", desc = "All Options for the Dungeon hud.")
-// public DungeonHud dungeon = new DungeonHud();
-//
-// @Expose
-// @Category(name = "Renderer", desc = "All Options for rendering.")
-// public Renderer renderer = new Renderer();
-//
-// @Expose
-// @Category(name = "Map", desc = "All Options for the Map.")
-// public Map map = new Map();
-//
-// @Expose
-// @Category(name = "Mining", desc = "All Options for the Mining Stuff.")
-// public Mining mining = new Mining();
-//
-// // @Expose
-// // @Category(name = "Tracker", desc = "All Options for the Trackers.")
-// // public Trackers trackers = new Trackers();
-//
-// public static class Lorenz {
-//
-// @Expose
-// @ConfigOption(name = "Lorenz Small Test A", desc = "abc")
-// @ConfigEditorBoolean
-// public boolean test = false;
-//
-// @Expose
-// @ConfigOption(name = "Lorenz Small Test B", desc = "abc")
-// @ConfigEditorBoolean
-// public boolean test2 = false;
-//
-// @Expose
-// @ConfigOption(name = "Lorenz Small Test C", desc = "abc")
-// @ConfigEditorBoolean
-// public boolean test3 = false;
-// }
-//
-// public static class Misc {
-//
-// @Expose
-// @ConfigOption(name = "Hide Scoreboard", desc = "Hides the scoreboard when in Skyblock.")
-// @ConfigEditorBoolean
-// public boolean hideScoreboard = false;
-//
-// @Expose
-// @ConfigOption(name = "Texture Styles", desc = "If this list only contains 1 thing that means your texture pack doesnt support styles")
-// @ConfigEditorStyle
-// public int style = 0;
-//
-// @Expose
-// @ConfigOption(name = "Hide Dialogue Box", desc = "Hides the Dialogue Box.")
-// @ConfigEditorBoolean
-// public boolean hideDialogueBox = true;
-//
-// @Expose
-// @ConfigOption(name = "Dialogue Box", desc = "")
-// @ConfigEditorButton(runnableId = "dialogue", buttonText = "Edit")
-// public Position dialoguePos = new Position(0, -50, true, false);
-//
-// @Expose
-// @ConfigOption(name = "Hide Item Cooldowns", desc = "Hides item cooldowns")
-// @ConfigEditorBoolean
-// public boolean hideItemCooldowns = false;
-// }
-//
-// public static class MainHud {
-//
-// @Expose
-// @ConfigOption(name = "Disable Main Hud", desc = "IDK Why you would do this as its like half the mod but ok.")
-// @ConfigEditorBoolean
-// public boolean disaleMainHud = false;
-//
-// @Expose
-// @ConfigOption(name = "Main Hud Position", desc = "")
-// @ConfigEditorButton(runnableId = "main", buttonText = "Edit")
-// public Position mainHudPos = new Position(0, 1, true, false);
-//
-// @Expose
-// @ConfigOption(name = "Twelve Hour Clock", desc = "Allows you to change the clock to be 12 hour instead of 24 hour.")
-// @ConfigEditorBoolean
-// public boolean twelveHourClock = false;
-//
-// @Expose
-// @ConfigOption(name = "Shift hud with boss", desc = "Shifts the hud when bossbar is visible.")
-// @ConfigEditorBoolean
-// public boolean bossShiftHud = true;
-//
-// @Expose
-// @ConfigOption(name = "Require Redstone", desc = "Allows to make it so that the redstone percentage requires you to hold a redstone item to show.")
-// @ConfigEditorBoolean
-// public boolean requireRedstone = true;
-// }
-//
-// public static class RPGHud {
-//
-// @Expose
-// @ConfigOption(name = "Show RPG Hud", desc = "Allows you to show or hide the RPG Hud.")
-// @ConfigEditorBoolean
-// public boolean showRpgHud = true;
-//
-// @Expose
-// @ConfigOption(name = "Flip Hud", desc = "Flips the hud when half way across the screen.")
-// @ConfigEditorBoolean
-// public boolean flipHud = true;
-//
-// @Expose
-// @ConfigOption(name = "RPG Hud Position", desc = "Allows you to change the position of the RPG Hud.")
-// @ConfigEditorButton(runnableId = "rpg", buttonText = "Edit")
-// public Position rpgHudPosition = new Position(1, 1);
-// }
-//
-// public static class DungeonHud {
-//
-// @Expose
-// @ConfigOption(name = "Dungeon Ultimate Bar", desc = "")
-// @ConfigEditorAccordion(id = 2)
-// public boolean ultimateBar = false;
-//
-// @Expose
-// @ConfigOption(name = "Hide Ultimate Bar", desc = "Hides the custom ultimate bar.")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 2)
-// public boolean hideUltimateBar = false;
-//
-// @Expose
-// @ConfigOption(name = "Bar Position", desc = "Change the position of the bar.")
-// @ConfigEditorButton(runnableId = "ultimate", buttonText = "Edit")
-// @ConfigAccordionId(id = 2)
-// public Position barPosition = new Position(0, 50, true, false);
-//
-// @Expose
-// @ConfigOption(name = "Bar Loading Color", desc = "The color of the bar when its loading.")
-// @ConfigEditorColour
-// @ConfigAccordionId(id = 2)
-// public String barLoadColor = "159:0:0:0:255";
-//
-// @Expose
-// @ConfigOption(name = "Bar Full Color", desc = "The color of the bar when its full.")
-// @ConfigEditorColour
-// @ConfigAccordionId(id = 2)
-// public String barFullColor = "255:0:0:0:255";
-//
-// @Expose
-// @ConfigOption(name = "Bar Style", desc = "Change the style of the bar")
-// @ConfigEditorDropdown(values = { "No Notch", "6 Notch", "10 Notch", "12 Notch", "20 Notch" })
-// @ConfigAccordionId(id = 2)
-// public int barStyle = 2;
-//
-// @Expose
-// @ConfigOption(name = "Dungeon Players", desc = "")
-// @ConfigEditorAccordion(id = 1)
-// public boolean dungeonPlayerAccordion = false;
-//
-// @Expose
-// @ConfigOption(name = "Hide Dungeon Players", desc = "Allows you to hide the dungeon player hud")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 1)
-// public boolean hideDungeonPlayers = false;
-//
-// @Expose
-// @ConfigOption(name = "Dungeon Player Opacity", desc = "Allows you to change the opacity of the dungeon players.")
-// @ConfigEditorSlider(minValue = 0, maxValue = 100, minStep = 1)
-// @ConfigAccordionId(id = 1)
-// public int dungeonPlayerOpacity = 0;
-//
-// @Expose
-// @ConfigOption(name = "Hide Dead Players", desc = "Allows you to hide players that are dead or have left.")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 1)
-// public boolean hideDeadDungeonPlayers = false;
-//
-// @Expose
-// @ConfigOption(name = "Player Position 1", desc = "Change the position of this dungeon player.")
-// @ConfigEditorButton(runnableId = "d1", buttonText = "Edit")
-// @ConfigAccordionId(id = 1)
-// public Position dungeonPlayer1 = new Position(5, 5);
-//
-// @Expose
-// @ConfigOption(name = "Player Position 2", desc = "Change the position of this dungeon player.")
-// @ConfigEditorButton(runnableId = "d2", buttonText = "Edit")
-// @ConfigAccordionId(id = 1)
-// public Position dungeonPlayer2 = new Position(5, 42);
-//
-// @Expose
-// @ConfigOption(name = "Player Position 3", desc = "Change the position of this dungeon player.")
-// @ConfigEditorButton(runnableId = "d3", buttonText = "Edit")
-// @ConfigAccordionId(id = 1)
-// public Position dungeonPlayer3 = new Position(5, 79);
-//
-// @Expose
-// @ConfigOption(name = "Player Position 4", desc = "Change the position of this dungeon player.")
-// @ConfigEditorButton(runnableId = "d4", buttonText = "Edit")
-// @ConfigAccordionId(id = 1)
-// public Position dungeonPlayer4 = new Position(5, 116);
-// }
-//
-// public static class Renderer {
-//
-// @Expose
-// @ConfigOption(name = "Add Overflow Mana Back", desc = "Adds overflow mana back to the actionbar")
-// @ConfigEditorBoolean
-// public boolean addOverflowMana = false;
-//
-// @Expose
-// @ConfigOption(name = "Hide Boss Bar", desc = "Hides Boss Bar when certain conditions are met such as the name is just wither or it starts with objective:")
-// @ConfigEditorBoolean
-// public boolean hideBossBar = true;
-//
-// @Expose
-// @ConfigOption(name = "Hide XP Bar", desc = "Hides xp bar.")
-// @ConfigEditorBoolean
-// public boolean hideXpBar = true;
-//
-// @Expose
-// @ConfigOption(name = "Hide Food", desc = "Hides food.")
-// @ConfigEditorBoolean
-// public boolean hideFood = true;
-//
-// @Expose
-// @ConfigOption(name = "Hide air", desc = "Hides air.")
-// @ConfigEditorBoolean
-// public boolean hideAir = true;
-//
-// @Expose
-// @ConfigOption(name = "Hide hearts", desc = "Hides hearts.")
-// @ConfigEditorBoolean
-// public boolean hideHearts = true;
-//
-// @Expose
-// @ConfigOption(name = "Hide armor", desc = "Hides armor.")
-// @ConfigEditorBoolean
-// public boolean hideArmor = true;
-//
-// @Expose
-// @ConfigOption(name = "Hide Animal Hearts", desc = "Hides Animal Hearts.")
-// @ConfigEditorBoolean
-// public boolean hideAnimalHearts = true;
-// }
-//
-// public static class Map {
-//
-// @Expose
-// @ConfigOption(name = "Show Player Location", desc = "This feature is off by default as Hypixel's rules are so vague that this would fall under their disallowed modifications.")
-// @ConfigEditorBoolean
-// public boolean showPlayerLocation = false;
-//
-// @Expose
-// @ConfigOption(name = "Show Mini-Map", desc = "Shows the Mini-Map on your overlay if turned off you can still use /sbhmap to see the map in fullscreen.")
-// @ConfigEditorBoolean
-// public boolean showMiniMap = false;
-//
-// @Expose
-// @ConfigOption(name = "Map Locations", desc = "Remove a location from this list if you would like the map to not show up in that location. This is so you can use other mods maps.")
-// @ConfigEditorDraggableList(exampleText = { "HUB", "BARN", "MUSHROOMDESERT", "GOLDMINE (No Map Yet)", "DEEPCAVERNS (No Map Yet)", "SPIDERSDEN", "PARK", "FORTRESS", "DUNGEONHUB (No Map Yet)", "JERRY (No Map Yet)", "THEEND (No Map Yet)", "DWARVENMINES", "CRYSTALHOLLOWS" })
-// public List<Integer> mapLocations = new ArrayList<>(Arrays.asList(0, 1, 2, 5, 6, 7, 11));
-//
-// @Expose
-// @ConfigOption(name = "Mini-Map Position", desc = "Allows you to change the position of the Mini-Map.")
-// @ConfigEditorButton(runnableId = "map", buttonText = "Edit")
-// public Position miniMapPosition = new Position(0, 100, false, false);
-//
-// @Expose
-// @ConfigOption(name = "Icons", desc = "")
-// @ConfigEditorAccordion(id = 3)
-// public boolean icons = false;
-//
-// @Expose
-// @ConfigOption(name = "NPC", desc = "Show NPC Icons")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 3)
-// public boolean showNpcIcons = true;
-//
-// @Expose
-// @ConfigOption(name = "Info", desc = "Show Info Icons")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 3)
-// public boolean showInfoIcons = true;
-//
-// @Expose
-// @ConfigOption(name = "Misc", desc = "Show Misc Icons")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 3)
-// public boolean showMiscIcons = true;
-//
-// @Expose
-// @ConfigOption(name = "Shops", desc = "Show Shop Icons")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 3)
-// public boolean showShopIcons = true;
-//
-// @Expose
-// @ConfigOption(name = "Quests", desc = "Show Quest Icons")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 3)
-// public boolean showQuestIcons = false;
-// }
-//
-// public static class Mining {
-//
-// @Expose
-// @ConfigOption(name = "Mining Bars", desc = "")
-// @ConfigEditorAccordion(id = 4)
-// public boolean miningBars = false;
-//
-// @Expose
-// @ConfigOption(name = "Bar Mode", desc = "Change the mode of bar. Static mode will allow it to auto replace the xp when drill is held or you are heating up.")
-// @ConfigEditorDropdown(values = { "Moveable", "Static" })
-// @ConfigAccordionId(id = 4)
-// public int barMode = 1;
-//
-// @Expose
-// @ConfigOption(name = "Show Drill Bar", desc = "Allows you to show or hide the Drill Bar.")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 4)
-// public boolean showDrillBar = true;
-//
-// @Expose
-// @ConfigOption(name = "Show Heat Bar", desc = "Allows you to show or hide the Heat Bar.")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 4)
-// public boolean showHeatBar = true;
-//
-// @Expose
-// @ConfigOption(name = "Bar Positions (Requires mode to be Moveable)", desc = "")
-// @ConfigAccordionId(id = 4)
-// @ConfigEditorAccordion(id = 5)
-// public boolean barPositions = false;
-//
-// @Expose
-// @ConfigOption(name = "Drill Bar Position", desc = "Allows you to change the position of the Drill Bar.")
-// @ConfigEditorButton(runnableId = "drill", buttonText = "Edit")
-// @ConfigAccordionId(id = 5)
-// public Position drillBar = new Position(-1, -1);
-//
-// @Expose
-// @ConfigOption(name = "Heat Bar Position", desc = "Allows you to change the position of the Heat Bar.")
-// @ConfigEditorButton(runnableId = "heat", buttonText = "Edit")
-// @ConfigAccordionId(id = 5)
-// public Position heatBar = new Position(-1, -9);
-//
-// @Expose
-// @ConfigOption(name = "Crystal Hollow Waypoints", desc = "")
-// @ConfigEditorAccordion(id = 6)
-// public boolean waypoints = false;
-//
-// @Expose
-// @ConfigOption(name = "Auto Waypoint", desc = "Turns on auto waypoints for the main areas of crystal hollows.")
-// @ConfigEditorBoolean
-// @ConfigAccordionId(id = 6)
-// public boolean autoWaypoint = true;
-//
-// @Expose
-// @ConfigOption(name = "Chat Waypoint Mode", desc = "Change the mode of the chat waypoint In Chat Bar will allow you to edit it before adding it to your waypoints.")
-// @ConfigEditorDropdown(values = { "Instant Add", "In chat bar" })
-// @ConfigAccordionId(id = 6)
-// public int chatWaypointMode = 1;
-// }
-// // public static class Trackers {
-// //
-// // @Expose
-// // @ConfigOption(name = "Tracker Position", desc = "Allows you to change the position of the Trackers.")
-// // @ConfigEditorButton(runnableId = "tracker", buttonText = "Edit")
-// // public Position trackerPosition = new Position(-1, 200);
-// //
-// // @Expose
-// // @ConfigOption(name = "Hide Tracker", desc = "It will still track the data just in case.")
-// // @ConfigEditorBoolean
-// // public boolean hideTracker = true;
-// // }
-//}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java b/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
deleted file mode 100644
index 1e8fd5721..000000000
--- a/src/main/java/com/thatgravyboat/skyblockhud/config/SBHConfigEditor.java
+++ /dev/null
@@ -1,602 +0,0 @@
-package com.thatgravyboat.skyblockhud.config;
-
-import static com.thatgravyboat.skyblockhud.GuiTextures.DISCORD;
-import static com.thatgravyboat.skyblockhud.GuiTextures.TWITTER;
-
-import at.lorenz.mod.config.Features;
-import com.google.common.collect.Lists;
-import com.thatgravyboat.skyblockhud.core.GlScissorStack;
-import com.thatgravyboat.skyblockhud.core.GuiElement;
-import com.thatgravyboat.skyblockhud.core.config.gui.GuiOptionEditor;
-import com.thatgravyboat.skyblockhud.core.config.gui.GuiOptionEditorAccordion;
-import com.thatgravyboat.skyblockhud.core.config.struct.ConfigProcessor;
-import com.thatgravyboat.skyblockhud.core.util.lerp.LerpUtils;
-import com.thatgravyboat.skyblockhud.core.util.lerp.LerpingInteger;
-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 net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.FontRenderer;
-import net.minecraft.client.gui.Gui;
-import net.minecraft.client.gui.ScaledResolution;
-import net.minecraft.client.renderer.GlStateManager;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.GL11;
-
-public class SBHConfigEditor extends GuiElement {
-
- private static final ResourceLocation[] socialsIco = new ResourceLocation[] { DISCORD, TWITTER };
- private static final String[] socialsLink = new String[] { "https://discord.gg/moulberry", "https://twitter.com/thatgravyboat/" };
-
- private final long openedMillis;
-
- private String selectedCategory = null;
-
- private final LerpingInteger optionsScroll = new LerpingInteger(0, 150);
- private final LerpingInteger categoryScroll = new LerpingInteger(0, 150);
-
- private final LinkedHashMap<String, ConfigProcessor.ProcessedCategory> processedConfig;
- private final TreeMap<String, Set<ConfigProcessor.ProcessedOption>> searchOptionMap = new TreeMap<>();
- private final HashMap<ConfigProcessor.ProcessedOption, ConfigProcessor.ProcessedCategory> categoryForOption = new HashMap<>();
-
- public SBHConfigEditor(Features config) {
- this(config, null);
- }
-
- public SBHConfigEditor(Features config, String categoryOpen) {
- this.openedMillis = System.currentTimeMillis();
- this.processedConfig = ConfigProcessor.create(config);
-
- for (ConfigProcessor.ProcessedCategory category : processedConfig.values()) {
- for (ConfigProcessor.ProcessedOption option : category.options.values()) {
- categoryForOption.put(option, category);
- }
- }
-
- if (categoryOpen != null) {
- for (Map.Entry<String, ConfigProcessor.ProcessedCategory> category : processedConfig.entrySet()) {
- if (category.getValue().name.equalsIgnoreCase(categoryOpen)) {
- selectedCategory = category.getKey();
- break;
- }
- }
- if (selectedCategory == null) {
- for (Map.Entry<String, ConfigProcessor.ProcessedCategory> category : processedConfig.entrySet()) {
- if (category.getValue().name.toLowerCase().startsWith(categoryOpen.toLowerCase())) {
- selectedCategory = category.getKey();
- break;
- }
- }
- }
- if (selectedCategory == null) {
- for (Map.Entry<String, ConfigProcessor.ProcessedCategory> category : processedConfig.entrySet()) {
- if (category.getValue().name.toLowerCase().contains(categoryOpen.toLowerCase())) {
- selectedCategory = category.getKey();
- break;
- }
- }
- }
- }
- }
-
- private LinkedHashMap<String, ConfigProcessor.ProcessedCategory> getCurrentConfigEditing() {
- return new LinkedHashMap<>(processedConfig);
- }
-
- private LinkedHashMap<String, ConfigProcessor.ProcessedOption> getOptionsInCategory(ConfigProcessor.ProcessedCategory cat) {
- return new LinkedHashMap<>(cat.options);
- }
-
- public String getSelectedCategory() {
- return selectedCategory;
- }
-
- public String getSelectedCategoryName() {
- return processedConfig.get(selectedCategory).name;
- }
-
- private void setSelectedCategory(String category) {
- selectedCategory = category;
- optionsScroll.setValue(0);
- }
-
- public void render() {
- optionsScroll.tick();
- categoryScroll.tick();
-
- List<String> tooltipToDisplay = null;
-
- long currentTime = System.currentTimeMillis();
- long delta = currentTime - openedMillis;
-
- ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft());
- int width = scaledResolution.getScaledWidth();
- int height = scaledResolution.getScaledHeight();
- int mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth;
- int mouseY = height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1;
-
- float opacityFactor = LerpUtils.sigmoidZeroOne(delta / 500f);
- RenderUtils.drawGradientRect(0, 0, 0, width, height, (int) (0x80 * opacityFactor) << 24 | 0x101010, (int) (0x90 * opacityFactor) << 24 | 0x101010);
-
- int xSize = Math.min(scaledResolution.getScaledWidth() - 100 / scaledResolution.getScaleFactor(), 500);
- int ySize = Math.min(scaledResolution.getScaledHeight() - 100 / scaledResolution.getScaleFactor(), 400);
-
- int x = (scaledResolution.getScaledWidth() - xSize) / 2;
- int y = (scaledResolution.getScaledHeight() - ySize) / 2;
-
- int adjScaleFactor = Math.max(2, scaledResolution.getScaleFactor());
-
- int openingXSize = xSize;
- int openingYSize = ySize;
- if (delta < 150) {
- openingXSize = (int) (delta * xSize / 150);
- openingYSize = 5;
- } else if (delta < 300) {
- openingYSize = 5 + (int) (delta - 150) * (ySize - 5) / 150;
- }
- RenderUtils.drawFloatingRectDark((scaledResolution.getScaledWidth() - openingXSize) / 2, (scaledResolution.getScaledHeight() - openingYSize) / 2, openingXSize, openingYSize);
- GlScissorStack.clear();
- GlScissorStack.push((scaledResolution.getScaledWidth() - openingXSize) / 2, (scaledResolution.getScaledHeight() - openingYSize) / 2, (scaledResolution.getScaledWidth() + openingXSize) / 2, (scaledResolution.getScaledHeight() + openingYSize) / 2, scaledResolution);
-
- RenderUtils.drawFloatingRectDark(x + 5, y + 5, xSize - 10, 20, false);
-
- FontRenderer fr = Minecraft.getMinecraft().fontRendererObj;
- TextRenderUtils.drawStringCenteredScaledMaxWidth("LorenzMod by " + EnumChatFormatting.RED + "hannibal2" + EnumChatFormatting.RESET + ", config by " + EnumChatFormatting.DARK_PURPLE + "Moulberry", fr, x + xSize / 2f, y + 15, false, 200, 0xa0a0a0);
-
- RenderUtils.drawFloatingRectDark(x + 4, y + 49 - 20, 140, ySize - 54 + 20, false);
-
- int innerPadding = 20 / adjScaleFactor;
- int innerLeft = x + 4 + innerPadding;
- int innerRight = x + 144 - innerPadding;
- int innerTop = y + 49 + innerPadding;
- int innerBottom = y + ySize - 5 - innerPadding;
- Gui.drawRect(innerLeft, innerTop, innerLeft + 1, innerBottom, 0xff08080E); //Left
- Gui.drawRect(innerLeft + 1, innerTop, innerRight, innerTop + 1, 0xff08080E); //Top
- Gui.drawRect(innerRight - 1, innerTop + 1, innerRight, innerBottom, 0xff28282E); //Right
- Gui.drawRect(innerLeft + 1, innerBottom - 1, innerRight - 1, innerBottom, 0xff28282E); //Bottom
- Gui.drawRect(innerLeft + 1, innerTop + 1, innerRight - 1, innerBottom - 1, 0x6008080E); //Middle
-
- GlScissorStack.push(0, innerTop + 1, scaledResolution.getScaledWidth(), innerBottom - 1, scaledResolution);
-
- float catBarSize = 1;
- int catY = -categoryScroll.getValue();
-
- LinkedHashMap<String, ConfigProcessor.ProcessedCategory> currentConfigEditing = getCurrentConfigEditing();
- for (Map.Entry<String, ConfigProcessor.ProcessedCategory> entry : currentConfigEditing.entrySet()) {
- String selectedCategory = getSelectedCategory();
- if (selectedCategory == null || !currentConfigEditing.containsKey(selectedCategory)) {
- setSelectedCategory(entry.getKey());
- }
- String catName = entry.getValue().name;
- if (entry.getKey().equals(getSelectedCategory())) {
- catName = EnumChatFormatting.DARK_AQUA.toString() + EnumChatFormatting.UNDERLINE + catName;
- } else {
- catName = EnumChatFormatting.GRAY + catName;
- }
- TextRenderUtils.drawStringCenteredScaledMaxWidth(catName, fr, x + 75, y + 70 + catY, false, 100, -1);
- catY += 15;
- if (catY > 0) {
- catBarSize = LerpUtils.clampZeroOne((float) (innerBottom - innerTop - 2) / (catY + 5 + categoryScroll.getValue()));
- }
- }
-
- float catBarStart = categoryScroll.getValue() / (float) (catY + categoryScroll.getValue());
- float catBarEnd = catBarStart + catBarSize;
- if (catBarEnd > 1) {
- catBarEnd = 1;
- if (categoryScroll.getTarget() / (float) (catY + categoryScroll.getValue()) + catBarSize < 1) {
- int target = optionsScroll.getTarget();
- categoryScroll.setValue((int) Math.ceil((catY + 5 + categoryScroll.getValue()) - catBarSize * (catY + 5 + categoryScroll.getValue())));
- categoryScroll.setTarget(target);
- } else {
- categoryScroll.setValue((int) Math.ceil((catY + 5 + categoryScroll.getValue()) - catBarSize * (catY + 5 + categoryScroll.getValue())));
- }
- }
- int catDist = innerBottom - innerTop - 12;
- Gui.drawRect(innerLeft + 2, innerTop + 5, innerLeft + 7, innerBottom - 5, 0xff101010);
- Gui.drawRect(innerLeft + 3, innerTop + 6 + (int) (catDist * catBarStart), innerLeft + 6, innerTop + 6 + (int) (catDist * catBarEnd), 0xff303030);
-
- GlScissorStack.pop(scaledResolution);
-
- TextRenderUtils.drawStringCenteredScaledMaxWidth("Categories", fr, x + 75, y + 44, false, 120, 0xa368ef);
-
- RenderUtils.drawFloatingRectDark(x + 149, y + 29, xSize - 154, ySize - 34, false);
-
- innerLeft = x + 149 + innerPadding;
- innerRight = x + xSize - 5 - innerPadding;
- innerBottom = y + ySize - 5 - innerPadding;
-
- GlStateManager.color(1, 1, 1, 1);
- int rightStuffLen = 20;
-
- if (getSelectedCategory() != null && currentConfigEditing.containsKey(getSelectedCategory())) {
- ConfigProcessor.ProcessedCategory cat = currentConfigEditing.get(getSelectedCategory());
-
- TextRenderUtils.drawStringScaledMaxWidth(cat.desc, fr, innerLeft + 5, y + 40, true, innerRight - innerLeft - rightStuffLen - 10, 0xb0b0b0);
- }
-
- Gui.drawRect(innerLeft, innerTop, innerLeft + 1, innerBottom, 0xff08080E); //Left
- Gui.drawRect(innerLeft + 1, innerTop, innerRight, innerTop + 1, 0xff08080E); //Top
- Gui.drawRect(innerRight - 1, innerTop + 1, innerRight, innerBottom, 0xff303036); //Right
- Gui.drawRect(innerLeft + 1, innerBottom - 1, innerRight - 1, innerBottom, 0xff303036); //Bottom
- Gui.drawRect(innerLeft + 1, innerTop + 1, innerRight - 1, innerBottom - 1, 0x6008080E); //Middle
-
- GlScissorStack.push(innerLeft + 1, innerTop + 1, innerRight - 1, innerBottom - 1, scaledResolution);
- float barSize = 1;
- int optionY = -optionsScroll.getValue();
- if (getSelectedCategory() != null && currentConfigEditing.containsKey(getSelectedCategory())) {
- ConfigProcessor.ProcessedCategory cat = currentConfigEditing.get(getSelectedCategory());
- int optionWidthDefault = innerRight - innerLeft - 20;
- GlStateManager.enableDepth();
- HashMap<Integer, Integer> activeAccordions = new HashMap<>();
- for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
- int optionWidth = optionWidthDefault;
- if (option.accordionId >= 0) {
- if (!activeAccordions.containsKey(option.accordionId)) {
- continue;
- }
- int accordionDepth = activeAccordions.get(option.accordionId);
- optionWidth = optionWidthDefault - (2 * innerPadding) * (accordionDepth + 1);
- }
-
- GuiOptionEditor editor = option.editor;
- if (editor == null) {
- continue;
- }
- if (editor instanceof GuiOptionEditorAccordion) {
- GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
- if (accordion.getToggled()) {
- int accordionDepth = 0;
- if (option.accordionId >= 0) {
- accordionDepth = activeAccordions.get(option.accordionId) + 1;
- }
- activeAccordions.put(accordion.getAccordionId(), accordionDepth);
- }
- }
- int optionHeight = editor.getHeight();
- if (innerTop + 5 + optionY + optionHeight > innerTop + 1 && innerTop + 5 + optionY < innerBottom - 1) {
- editor.render((innerLeft + innerRight - optionWidth) / 2 - 5, innerTop + 5 + optionY, optionWidth);
- }
- optionY += optionHeight + 5;
- }
- GlStateManager.disableDepth();
- if (optionY > 0) {
- barSize = LerpUtils.clampZeroOne((float) (innerBottom - innerTop - 2) / (optionY + 5 + optionsScroll.getValue()));
- }
- }
-
- GlScissorStack.pop(scaledResolution);
-
- GL11.glDisable(GL11.GL_SCISSOR_TEST);
- if (getSelectedCategory() != null && currentConfigEditing.containsKey(getSelectedCategory())) {
- int optionYOverlay = -optionsScroll.getValue();
- ConfigProcessor.ProcessedCategory cat = currentConfigEditing.get(getSelectedCategory());
- int optionWidthDefault = innerRight - innerLeft - 20;
-
- GlStateManager.translate(0, 0, 10);
- GlStateManager.enableDepth();
- HashMap<Integer, Integer> activeAccordions = new HashMap<>();
- for (ConfigProcessor.ProcessedOption option : getOptionsInCategory(cat).values()) {
- int optionWidth = optionWidthDefault;
- if (option.accordionId >= 0) {
- if (!activeAccordions.containsKey(option.accordionId)) {
- continue;
- }
- int accordionDepth = activeAccordions.get(option.accordionId);
- optionWidth = optionWidthDefault - (2 * innerPadding) * (accordionDepth + 1);
- }
-
- GuiOptionEditor editor = option.editor;
- if (editor == null) {
- continue;
- }
- if (editor instanceof GuiOptionEditorAccordion) {
- GuiOptionEditorAccordion accordion = (GuiOptionEditorAccordion) editor;
- if (accordion.getToggled()) {
- int accordionDepth = 0;
- if (option.accordionId >= 0) {
- accordionDepth = activeAccordions.get(option.accordionId) + 1;
- }
- activeAccordions.put(accordion.getAccordionId(), accordionDepth);
- }
- }
- int optionHeight = editor.getHeight();
- if (innerTop + 5 + optionYOverlay + optionHeight > innerTop + 1 && innerTop + 5 + optionYOverlay < innerBottom - 1) {
- editor.renderOverlay((innerLeft + innerRight - optionWidth) / 2 - 5, innerTop + 5 + optionYOverlay, optionWidth);
- }
- optionYOverlay += optionHeight + 5;
- }
- GlStateManager.disableDepth();
- GlStateManager.translate(0, 0, -10);
- }
- GL11.glEnable(GL11.GL_SCISSOR_TEST);
-
- float barStart = optionsScroll.getValue() / (float) (optionY + optionsScroll.getValue());
- float barEnd = barStart + barSize;
- if (barEnd > 1) {
- barEnd = 1;
- if (optionsScroll.getTarge