summaryrefslogtreecommitdiff
path: root/src/main/java/at/lorenz/mod/config
diff options
context:
space:
mode:
authorLorenz <ESs95s3P5z8Pheb>2022-07-14 12:06:07 +0200
committerLorenz <ESs95s3P5z8Pheb>2022-07-14 12:06:07 +0200
commita5c540d977a3510812cac7fac340fe17e7d10983 (patch)
treedbbe5b208e6871378a10868d1206d1d78beeb950 /src/main/java/at/lorenz/mod/config
parentd6c99ed30a2b1cb228b2fdc3d3178cf1f369dc53 (diff)
downloadskyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.tar.gz
skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.tar.bz2
skyhanni-a5c540d977a3510812cac7fac340fe17e7d10983.zip
renamed mod to SkyHanni
Diffstat (limited to 'src/main/java/at/lorenz/mod/config')
-rw-r--r--src/main/java/at/lorenz/mod/config/Features.java274
-rw-r--r--src/main/java/at/lorenz/mod/config/GuiTextures.java32
-rw-r--r--src/main/java/at/lorenz/mod/config/commands/Commands.java31
-rw-r--r--src/main/java/at/lorenz/mod/config/commands/SimpleCommand.java60
-rw-r--r--src/main/java/at/lorenz/mod/config/config/ConfigEditor.java602
-rw-r--r--src/main/java/at/lorenz/mod/config/core/BackgroundBlur.java249
-rw-r--r--src/main/java/at/lorenz/mod/config/core/ChromaColour.java93
-rw-r--r--src/main/java/at/lorenz/mod/config/core/GlScissorStack.java86
-rw-r--r--src/main/java/at/lorenz/mod/config/core/GuiElement.java12
-rw-r--r--src/main/java/at/lorenz/mod/config/core/GuiElementBoolean.java118
-rw-r--r--src/main/java/at/lorenz/mod/config/core/GuiElementColour.java370
-rw-r--r--src/main/java/at/lorenz/mod/config/core/GuiElementTextField.java549
-rw-r--r--src/main/java/at/lorenz/mod/config/core/GuiScreenElementWrapper.java34
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/Config.java5
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/KeybindHelper.java49
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/Position.java197
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/Category.java14
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigAccordionId.java12
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorAccordion.java12
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorBoolean.java11
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorButton.java14
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorColour.java11
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorDraggableList.java12
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorDropdown.java14
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorKeybind.java12
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorSlider.java16
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorStyle.java11
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigEditorText.java11
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/annotations/ConfigOption.java16
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditor.java62
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorAccordion.java80
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorBoolean.java37
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorButton.java60
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorColour.java74
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorDraggableList.java268
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorDropdown.java145
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorKeybind.java88
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorSlider.java136
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorStyle.java42
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiOptionEditorText.java78
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/gui/GuiPositionEditor.java171
-rw-r--r--src/main/java/at/lorenz/mod/config/core/config/struct/ConfigProcessor.java166
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/GuiElementSlider.java120
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/StringUtils.java8
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/lerp/LerpUtils.java25
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/lerp/LerpingFloat.java68
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/lerp/LerpingInteger.java76
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/render/RenderUtils.java155
-rw-r--r--src/main/java/at/lorenz/mod/config/core/util/render/TextRenderUtils.java155
-rw-r--r--src/main/java/at/lorenz/mod/config/textures/TextureObject.java37
-rw-r--r--src/main/java/at/lorenz/mod/config/textures/Textures.java56
-rw-r--r--src/main/java/at/lorenz/mod/config/utils/Utils.java374
52 files changed, 0 insertions, 5408 deletions
diff --git a/src/main/java/at/lorenz/mod/config/Features.java b/src/main/java/at/lorenz/mod/config/Features.java
deleted file mode 100644
index cd7846394..000000000
--- a/src/main/java/at/lorenz/mod/config/Features.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package at.lorenz.mod.config;
-
-import at.lorenz.mod.LorenzMod;
-import at.lorenz.mod.config.config.ConfigEditor;
-import at.lorenz.mod.config.core.GuiElement;
-import at.lorenz.mod.config.core.GuiScreenElementWrapper;
-import at.lorenz.mod.config.core.config.Position;
-import at.lorenz.mod.config.core.config.annotations.*;
-import at.lorenz.mod.config.core.config.gui.GuiPositionEditor;
-import com.google.gson.annotations.Expose;
-import net.minecraft.client.Minecraft;
-
-public class Features {
-
- private void editOverlay(String activeConfig, int width, int height, Position position) {
- Minecraft.getMinecraft().displayGuiScreen(new GuiPositionEditor(position, width, height, () -> {}, () -> {}, () -> LorenzMod.screenToOpen = new GuiScreenElementWrapper(new ConfigEditor(LorenzMod.feature, activeConfig))));
- }
-
- public void executeRunnable(String runnableId) {
- String activeConfigCategory = null;
- if (Minecraft.getMinecraft().currentScreen instanceof GuiScreenElementWrapper) {
- GuiScreenElementWrapper wrapper = (GuiScreenElementWrapper) Minecraft.getMinecraft().currentScreen;
- GuiElement element = wrapper.element;
- if (element instanceof ConfigEditor) {
- activeConfigCategory = ((ConfigEditor) element).getSelectedCategoryName();
- }
- }
-
- if (runnableId.equals("petDisplay")) {
- editOverlay(activeConfigCategory, 200, 16, misc.petDisplayPos);
- return;
- }
-
- if (runnableId.equals("testPos")) {
- editOverlay(activeConfigCategory, 200, 16, debug.testPos);
- return;
- }
-
- if (runnableId.equals("dungeonMilestoneDisplay")) {
- editOverlay(activeConfigCategory, 200, 16, dungeon.milestoneDisplayPos);
- return;
- }
-
- if (runnableId.equals("dungeonDeathCounter")) {
- editOverlay(activeConfigCategory, 200, 16, dungeon.deathCounterDisplay);
- return;
- }
- }
-
- @Expose
- @Category(name = "Chat", desc = "Chat related features.")
- public Chat chat = new Chat();
-
- @Expose
- @Category(name = "Dungeon", desc = "Features that change the catacombs dungeon experience.")
- public Dungeon dungeon = new Dungeon();
-
- @Expose
- @Category(name = "Items", desc = "Changing the behavior around items and the inventory.")
- public Items items = new Items();
-
- @Expose
- @Category(name = "Bazaar", desc = "Bazaar settings.")
- public Bazaar bazaar = new Bazaar();
-
- @Expose
- @Category(name = "Misc", desc = "Settings without a category.")
- public Misc misc = new Misc();
-
- @Expose
- @Category(name = "Debug", desc = "Debug and test stuff.")
- public Debug debug = new Debug();
-
- public static class Chat {
-
- @Expose
- @ConfigOption(name = "Chat Filter Types", desc = "")
- @ConfigEditorAccordion(id = 1)
- public boolean filterTypes = false;
-
- @Expose
- @ConfigOption(name = "HyPixel Hub", desc = "Block messages outside SkyBlock in the HyPixel lobby: player joins, loot boxes, prototype lobby messages, radiating generosity and HyPixel tournaments.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean hypixelHub = false;
-
- @Expose
- @ConfigOption(name = "Empty", desc = "Hide all the empty messages from the chat.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean empty = false;
-
- @Expose
- @ConfigOption(name = "Warping", desc = "Block 'sending request to join ..' and 'warping ..' messages.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean warping = false;
-
- @Expose
- @ConfigOption(name = "Welcome", desc = "Hide the 'welcome to skyblock' message.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean welcome = false;
-
- //TODO remove
- @Expose
- @ConfigOption(name = "Others", desc = "Hide other annoying messages.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 1)
- public boolean others = false;
-
- @Expose
- @ConfigOption(name = "Player Messages", desc = "Add a fancy new chat format for player messages.")
- @ConfigEditorBoolean
- public boolean playerMessages = false;
-
- @Expose
- @ConfigOption(name = "Dungeon Filter", desc = "Hide annoying messages inside dungeon.")
- @ConfigEditorBoolean
- public boolean dungeonMessages = false;
-
- @Expose
- @ConfigOption(name = "Dungeon Boss Messages", desc = "Hide messages from watcher and bosses inside dungeon.")
- @ConfigEditorBoolean
- public boolean dungeonBossMessages = false;
- }
-
- public static class Dungeon {
-
- @Expose
- @ConfigOption(name = "Clicked Blocks", desc = "Highlight the following blocks when clicked in dungeon: Lever, Chest, Wither Essence")
- @ConfigEditorBoolean
- public boolean highlightClickedBlocks = false;
-
- @Expose
- @ConfigOption(name = "Boss Damage Indicator", desc = "Show the missing health of a boss in the dungeon and the cooldown time until the boss becomes attackable.")
- @ConfigEditorBoolean
- public boolean bossDamageIndicator = false;
-
- @Expose
- @ConfigOption(name = "Milestone Display", desc = "Show the current milestone inside Dungeons.")
- @ConfigEditorBoolean
- public boolean showMilestoneDisplay = false;
-
- @Expose
- @ConfigOption(name = "Milestone Display Position", desc = "")
- @ConfigEditorButton(runnableId = "dungeonMilestoneDisplay", buttonText = "Edit")
- public Position milestoneDisplayPos = new Position(10, 10, false, true);
-
- @Expose
- @ConfigOption(name = "Death Counter", desc = "Display the total amount of deaths in the current dungeon.")
- @ConfigEditorBoolean
- public boolean deathCounter = false;
-
- @Expose
- @ConfigOption(name = "Death Counter Position", desc = "")
- @ConfigEditorButton(runnableId = "dungeonDeathCounter", buttonText = "Edit")
- public Position deathCounterDisplay = new Position(10, 10, false, true);
-
- @Expose
- @ConfigOption(name = "Clean End", desc = "Hide entities and particles after the boss in Floor 1 - 6 has died.")
- @ConfigEditorBoolean
- public boolean cleanEnd = false;
-
- @Expose
- @ConfigOption(name = "Ignore Guardians", desc = "Ignore F3 and M3 guardians from the clean end feature when sneaking. Makes it easier to kill them after the boss died already. Thanks hypixel.")
- @ConfigEditorBoolean
- public boolean cleanEndF3IgnoreGuardians = false;
- }
-
- public static class Items {
-
- @Expose
- @ConfigOption(name = "Not Clickable Items", desc = "Hide items that are not clickable in " + "the current inventory: ah, bz, accessory bag, etc")
- @ConfigEditorBoolean
- public boolean hideNotClickableItems = false;
-
- @Expose
- @ConfigOption(name = "Item number as stack size", desc = "")
- @ConfigEditorAccordion(id = 2)
- public boolean filterTypes = false;
-
- @Expose
- @ConfigOption(name = "Master Star Number", desc = "Show the Tier of the Master Star.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displayMasterStarNumber = false;
-
- @Expose
- @ConfigOption(name = "Master Skull Number", desc = "Show the tier of the Master Skull accessory.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displayMasterSkullNumber = false;
-
- @Expose
- @ConfigOption(name = "Dungeon Head Floor", desc = "Show the correct floor for golden and diamond heads.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displayDungeonHeadFloor = false;
-
- @Expose
- @ConfigOption(name = "New Year Cake", desc = "Show the Number of the Year of New Year Cakes.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displayNewYearCakeNumber = false;
-
- @Expose
- @ConfigOption(name = "Pet Level", desc = "Show the level of the pet when not maxed.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displayPetLevel = false;
-
- @Expose
- @ConfigOption(name = "Sack Name", desc = "Show an abbreviation of the Sack name.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displaySackName = false;
-
- @Expose
- @ConfigOption(name = "Minion Tier", desc = "Show the Minion Tier over Items.")
- @ConfigEditorBoolean
- @ConfigAccordionId(id = 2)
- public boolean displayMinionTier = false;
-
- @Expose
- @ConfigOption(name = "Ability Cooldown", desc = "Show the cooldown of item abilities.")
- @ConfigEditorBoolean
- public boolean itemAbilityCooldown = false;
- }
-
- public static class Bazaar {
-
- @Expose
- @ConfigOption(name = "Order Helper", desc = "Show visual hints inside the Bazaar Manage Order view when items are ready to pickup or outbid.")
- @ConfigEditorBoolean
- public boolean orderHelper = false;
- }
-
- public static class Misc {
-
- @Expose
- @ConfigOption(name = "Pet Display", desc = "Show the currently active pet.")
- @ConfigEditorBoolean
- public boolean petDisplay = false;
-
- @Expose
- @ConfigOption(name = "Pet Display Position", desc = "")
- @ConfigEditorButton(runnableId = "petDisplay", buttonText = "Edit")
- public Position petDisplayPos = new Position(10, 10, false, true);
-
- @Expose
- @ConfigOption(name = "Exp Bottles", desc = "Hides all the experience bottles lying on the ground.")
- @ConfigEditorBoolean
- public boolean hideExpBottles = false;
-
- @Expose
- @ConfigOption(name = "Config Button", desc = "Add a button to the pause menu to configure the Lorenz mod.")
- @ConfigEditorBoolean
- public boolean configButtonOnPause = true;
- }
-
- public static class Debug {
-
- @Expose
- @ConfigOption(name = "Enable Test", desc = "Enable Test logic")
- @ConfigEditorBoolean
- public boolean enabled = false;
-
- @Expose
- @ConfigOption(name = "Test Location", desc = "")
- @ConfigEditorButton(runnableId = "testPos", buttonText = "Edit")
- public Position testPos = new Position(10, 10, false, true);
- }
-}
diff --git a/src/main/java/at/lorenz/mod/config/GuiTextures.java b/src/main/java/at/lorenz/mod/config/GuiTextures.java
deleted file mode 100644
index e24f1879d..000000000
--- a/src/main/java/at/lorenz/mod/config/GuiTextures.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package at.lorenz.mod.config;
-
-import net.minecraft.util.ResourceLocation;
-
-public class GuiTextures {
-
- private GuiTextures() {}
-
- public static final ResourceLocation DISCORD = new ResourceLocation("lorenzmod:discord.png");
-
- public static final ResourceLocation button_tex = new ResourceLocation("lorenzmod:button.png");
-
- public static final ResourceLocation button_white = new ResourceLocation("lorenzmod:button_white.png");
-
- public static final ResourceLocation BAR = new ResourceLocation("lorenzmod:core/bar.png");
- public static final ResourceLocation OFF = new ResourceLocation("lorenzmod:core/toggle_off.png");
- public static final ResourceLocation ONE = new ResourceLocation("lorenzmod:core/toggle_1.png");
- public static final ResourceLocation TWO = new ResourceLocation("lorenzmod:core/toggle_2.png");
- public static final ResourceLocation THREE = new ResourceLocation("lorenzmod:core/toggle_3.png");
- public static final ResourceLocation ON = new ResourceLocation("lorenzmod:core/toggle_on.png");
- public static final ResourceLocation DELETE = new ResourceLocation("lorenzmod:core/delete.png");
-
- public static final ResourceLocation slider_off_cap = new ResourceLocation("lorenzmod:core/slider/slider_off_cap.png");
- public static final ResourceLocation slider_off_notch = new ResourceLocation("lorenzmod:core/slider/slider_off_notch.png");
- public static final ResourceLocation slider_off_segment = new ResourceLocation("lorenzmod:core/slider/slider_off_segment.png");
- public static final ResourceLocation slider_on_cap = new ResourceLocation("lorenzmod:core/slider/slider_on_cap.png");
- public static final ResourceLocation slider_on_notch = new ResourceLocation("lorenzmod:core/slider/slider_on_notch.png");
- public static final ResourceLocation slider_on_segment = new ResourceLocation("lorenzmod:core/slider/slider_on_segment.png");
- public static final ResourceLocation slider_button_new = new ResourceLocation("lorenzmod:core/slider/slider_button.png");
-
- public static final ResourceLocation mapOverlay = new ResourceLocation("lorenzmod", "maps/map_overlay.png");
-}
diff --git a/src/main/java/at/lorenz/mod/config/commands/Commands.java b/src/main/java/at/lorenz/mod/config/commands/Commands.java
deleted file mode 100644
index 05963ead6..000000000
--- a/src/main/java/at/lorenz/mod/config/commands/Commands.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package at.lorenz.mod.config.commands;
-
-import at.lorenz.mod.LorenzMod;
-import at.lorenz.mod.config.config.ConfigEditor;
-import at.lorenz.mod.config.core.GuiScreenElementWrapper;
-import net.minecraft.command.ICommandSender;
-import net.minecraftforge.client.ClientCommandHandler;
-import org.apache.commons.lang3.StringUtils;
-
-public class Commands {
-
- private static final boolean devMode = false;
-
- private static final SimpleCommand.ProcessCommandRunnable settingsRunnable = new SimpleCommand.ProcessCommandRunnable() {
- public void processCommand(ICommandSender sender, String[] args) {
- if (args.length > 0) {
- LorenzMod.screenToOpen = new GuiScreenElementWrapper(new ConfigEditor(LorenzMod.feature, StringUtils.join(args, " ")));
- } else {
- LorenzMod.screenToOpen = new GuiScreenElementWrapper(new ConfigEditor(LorenzMod.feature));
- }
- }
- };
-
- private static final SimpleCommand settingsCommand = new SimpleCommand("lm", settingsRunnable);
- private static final SimpleCommand settingsCommand2 = new SimpleCommand("lorenzmod", settingsRunnable);
-
- public static void init() {
- ClientCommandHandler.instance.registerCommand(settingsCommand);
- ClientCommandHandler.instance.registerCommand(settingsCommand2);
- }
-}
diff --git a/src/main/java/at/lorenz/mod/config/commands/SimpleCommand.java b/src/main/java/at/lorenz/mod/config/commands/SimpleCommand.java
deleted file mode 100644
index 170080a59..000000000
--- a/src/main/java/at/lorenz/mod/config/commands/SimpleCommand.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package at.lorenz.mod.config.commands;
-
-import java.util.List;
-import net.minecraft.command.CommandBase;
-import net.minecraft.command.ICommandSender;
-import net.minecraft.util.BlockPos;
-
-/**
- @author Moulberry
- **/
-public class SimpleCommand extends CommandBase {
-
- private final String commandName;
- private final ProcessCommandRunnable runnable;
- private TabCompleteRunnable tabRunnable;
-
- public SimpleCommand(String commandName, ProcessCommandRunnable runnable) {
- this.commandName = commandName;
- this.runnable = runnable;
- }
-
- public SimpleCommand(String commandName, ProcessCommandRunnable runnable, TabCompleteRunnable tabRunnable) {
- this.commandName = commandName;
- this.runnable = runnable;
- this.tabRunnable = tabRunnable;
- }
-
- public abstract static class ProcessCommandRunnable {
-
- public abstract void processCommand(ICommandSender sender, String[] args);
- }
-
- public abstract static class TabCompleteRunnable {
-
- public abstract List<String> tabComplete(ICommandSender sender, String[] args, BlockPos pos);
- }
-
- public boolean canCommandSenderUseCommand(ICommandSender sender) {
- return true;
- }
-
- public String getCommandName() {
- return commandName;
- }
-
- public String getCommandUsage(ICommandSender sender) {
- return "/" + commandName;
- }
-
- @Override
- public void processCommand(ICommandSender sender, String[] args) {
- runnable.processCommand(sender, args);
- }
-
- @Override
- public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
- if (tabRunnable != null) return tabRunnable.tabComplete(sender, args, pos);
- return null;
- }
-}
diff --git a/src/main/java/at/lorenz/mod/config/config/ConfigEditor.java b/src/main/java/at/lorenz/mod/config/config/ConfigEditor.java
deleted file mode 100644
index 789c6506e..000000000
--- a/src/main/java/at/lorenz/mod/config/config/ConfigEditor.java
+++ /dev/null
@@ -1,602 +0,0 @@
-package at.lorenz.mod.config.config;
-
-import static at.lorenz.mod.config.GuiTextures.DISCORD;
-
-import at.lorenz.mod.LorenzMod;
-import at.lorenz.mod.config.Features;
-import at.lorenz.mod.config.core.GlScissorStack;
-import at.lorenz.mod.config.core.GuiElement;
-import at.lorenz.mod.config.core.config.gui.GuiOptionEditor;
-import at.lorenz.mod.config.core.config.gui.GuiOptionEditorAccordion;
-import at.lorenz.mod.config.core.config.struct.ConfigProcessor;
-import at.lorenz.mod.config.core.util.lerp.LerpUtils;
-import at.lorenz.mod.config.core.util.lerp.LerpingInteger;
-import at.lorenz.mod.config.core.util.render.RenderUtils;
-import at.lorenz.mod.config.core.util.render.TextRenderUtils;
-import com.google.common.collect.Lists;
-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 ConfigEditor extends GuiElement {
-
- private static final ResourceLocation[] socialsIco = new ResourceLocation[] { DISCORD };
- private static final String[] socialsLink = new String[] { "https://discord.gg/NcvkPDBA6Y" };
-
- 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 ConfigEditor(Features config) {
- this(config, null);
- }
-
- public Co