From 8848224dcba09d8ac321f7dd4c087eb3590cb285 Mon Sep 17 00:00:00 2001
From: NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com>
Date: Fri, 21 Oct 2022 14:45:54 +0000
Subject: Added the ability to add search tags to config options (#309)

---
 .../moulberry/notenoughupdates/NEUManager.java     |  2 +-
 .../commands/misc/UpdateCommand.java               |  2 -
 .../core/config/annotations/ConfigOption.java      |  1 +
 .../core/config/struct/ConfigProcessor.java        |  7 +-
 .../miscfeatures/DamageCommas.java                 |  1 -
 .../miscgui/InventoryStorageSelector.java          | 82 ++++++++++++----------
 .../notenoughupdates/options/NEUConfigEditor.java  |  4 +-
 .../options/seperateSections/AHGraph.java          |  9 ++-
 .../options/seperateSections/ApiData.java          | 53 +++++++++++---
 .../options/seperateSections/Calendar.java         |  3 +-
 .../options/seperateSections/CustomArmour.java     |  6 +-
 .../options/seperateSections/DungeonMapConfig.java |  6 +-
 .../options/seperateSections/Dungeons.java         | 27 ++++---
 .../options/seperateSections/Enchanting.java       | 21 ++++--
 .../options/seperateSections/Fishing.java          | 25 ++++---
 .../options/seperateSections/ItemOverlays.java     | 15 ++--
 .../options/seperateSections/Itemlist.java         | 12 ++--
 .../options/seperateSections/LocationEdit.java     | 15 ----
 .../options/seperateSections/Mining.java           |  6 +-
 .../options/seperateSections/Misc.java             |  6 +-
 .../options/seperateSections/MiscOverlays.java     |  3 +-
 .../options/seperateSections/PetOverlay.java       |  3 +-
 .../options/seperateSections/SkillOverlays.java    |  5 +-
 .../options/seperateSections/StorageGUI.java       |  9 ++-
 .../options/seperateSections/TooltipTweaks.java    |  3 +-
 25 files changed, 200 insertions(+), 126 deletions(-)

(limited to 'src/main/java')

diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java
index 710bdd6c..34d87c5b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java
@@ -34,9 +34,9 @@ import io.github.moulberry.notenoughupdates.recipes.CraftingOverlay;
 import io.github.moulberry.notenoughupdates.recipes.CraftingRecipe;
 import io.github.moulberry.notenoughupdates.recipes.Ingredient;
 import io.github.moulberry.notenoughupdates.recipes.NeuRecipe;
+import io.github.moulberry.notenoughupdates.util.ApiUtil;
 import io.github.moulberry.notenoughupdates.util.Constants;
 import io.github.moulberry.notenoughupdates.util.HotmInformation;
-import io.github.moulberry.notenoughupdates.util.ApiUtil;
 import io.github.moulberry.notenoughupdates.util.ItemResolutionQuery;
 import io.github.moulberry.notenoughupdates.util.ItemUtils;
 import io.github.moulberry.notenoughupdates.util.SBInfo;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java
index 81cf7e8f..1aeebda5 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/misc/UpdateCommand.java
@@ -25,8 +25,6 @@ import net.minecraft.command.CommandException;
 import net.minecraft.command.ICommandSender;
 import net.minecraft.util.ChatComponentText;
 
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java
index d51294e7..920cb326 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/annotations/ConfigOption.java
@@ -30,6 +30,7 @@ public @interface ConfigOption {
 	String name();
 
 	String desc();
+	String[] searchTags() default "";
 
 	int subcategoryId() default -1;
 }
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java b/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java
index 75862069..efdeab01 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/core/config/struct/ConfigProcessor.java
@@ -69,17 +69,19 @@ public class ConfigProcessor {
 		public GuiOptionEditor editor;
 
 		public int accordionId = -1;
+		public final String[] searchTags;
 
 		private final Field field;
 		private final Object container;
 
-		public ProcessedOption(String name, String desc, int subcategoryId, Field field, Object container) {
+		public ProcessedOption(String name, String desc, int subcategoryId, Field field, Object container, String[] searchTags) {
 			this.name = name;
 			this.desc = desc;
 			this.subcategoryId = subcategoryId;
 
 			this.field = field;
 			this.container = container;
+			this.searchTags = searchTags;
 		}
 
 		public Object get() {
@@ -137,7 +139,8 @@ public class ConfigProcessor {
 							optionAnnotation.desc(),
 							optionAnnotation.subcategoryId(),
 							optionField,
-							categoryObj
+							categoryObj,
+							optionAnnotation.searchTags()
 						);
 						if (optionField.isAnnotationPresent(ConfigAccordionId.class)) {
 							ConfigAccordionId annotation = optionField.getAnnotation(ConfigAccordionId.class);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java
index 04d97747..d8f7becd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DamageCommas.java
@@ -27,7 +27,6 @@ import net.minecraft.util.ChatComponentText;
 import net.minecraft.util.EnumChatFormatting;
 import net.minecraft.util.IChatComponent;
 
-import java.text.NumberFormat;
 import java.util.WeakHashMap;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java
index 0abf3f11..572b0fbf 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/InventoryStorageSelector.java
@@ -83,24 +83,26 @@ public class InventoryStorageSelector {
 			return;
 		}
 
-		if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowLeftKey)) {
-			NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex--;
-
-			int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
-		} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowRightKey)) {
-			NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex++;
-
-			int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
-		} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowDownKey)) {
-			sendToPage(NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex);
+		if (NotEnoughUpdates.INSTANCE.config.storageGUI.arrowKeyBackpacks) {
+			if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowLeftKey)) {
+				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex--;
+
+				int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
+			} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowRightKey)) {
+				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex++;
+
+				int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
+			} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowDownKey)) {
+				sendToPage(NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex);
+			}
 		}
 
 		if (isSlotSelected()) {
@@ -145,27 +147,29 @@ public class InventoryStorageSelector {
 			return;
 		}
 
-		if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.backpackHotkey)) {
-			Minecraft.getMinecraft().thePlayer.inventory.currentItem = 0;
-			isOverridingSlot = true;
-		} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowLeftKey)) {
-			NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex--;
-
-			int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
-		} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowRightKey)) {
-			NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex++;
-
-			int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
-			if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
-				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
-		} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowDownKey)) {
-			sendToPage(NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex);
+		if (NotEnoughUpdates.INSTANCE.config.storageGUI.arrowKeyBackpacks) {
+			if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.backpackHotkey)) {
+				Minecraft.getMinecraft().thePlayer.inventory.currentItem = 0;
+				isOverridingSlot = true;
+			} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowLeftKey)) {
+				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex--;
+
+				int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
+			} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowRightKey)) {
+				NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex++;
+
+				int max = StorageManager.getInstance().storageConfig.displayToStorageIdMap.size() - 1;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex > max)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = max;
+				if (NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex < 0)
+					NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex = 0;
+			} else if (KeybindHelper.isKeyPressed(NotEnoughUpdates.INSTANCE.config.storageGUI.arrowDownKey)) {
+				sendToPage(NotEnoughUpdates.INSTANCE.config.storageGUI.selectedIndex);
+			}
 		}
 
 		if (isSlotSelected()) {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java
index 17bc57e9..cee994b7 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfigEditor.java
@@ -46,6 +46,7 @@ import org.lwjgl.opengl.GL11;
 
 import java.awt.*;
 import java.net.URI;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -110,7 +111,8 @@ public class NEUConfigEditor extends GuiElement {
 			for (ConfigProcessor.ProcessedOption option : category.options.values()) {
 				categoryForOption.put(option, category);
 
-				String combined = category.name + " " + category.desc + " " + option.name + " " + option.desc;
+				String combined = category.name + " " + category.desc + " " + option.name + " " + option.desc + " " +
+					Arrays.toString(option.searchTags);
 				combined = combined.replaceAll("[^a-zA-Z_ ]", "").toLowerCase();
 				for (String word : combined.split("[ _]")) {
 					searchOptionMap.computeIfAbsent(word, k -> new HashSet<>()).add(option);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java
index ce931392..58c58e3c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java
@@ -32,7 +32,8 @@ public class AHGraph {
 	@Expose
 	@ConfigOption(
 		name = "Enable AH/BZ Price Graph",
-		desc = "Enable or disable the graph. Disabling this will also make it so that no price data is stored."
+		desc = "Enable or disable the graph. Disabling this will also make it so that no price data is stored.",
+		searchTags = {"auction", "bazaar"}
 	)
 	@ConfigEditorBoolean
 	public boolean graphEnabled = true;
@@ -58,7 +59,8 @@ public class AHGraph {
 	@Expose
 	@ConfigOption(
 		name = "Graph Colour",
-		desc = "Set a custom colour for the graph."
+		desc = "Set a custom colour for the graph.",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	public String graphColor = "0:255:0:255:0";
@@ -66,7 +68,8 @@ public class AHGraph {
 	@Expose
 	@ConfigOption(
 		name = "Secondary Graph Colour",
-		desc = "Set a custom colour for the second graph line."
+		desc = "Set a custom colour for the second graph line.",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	public String graphColor2 = "0:255:255:255:0";
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
index e52b7d34..9802af89 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java
@@ -31,7 +31,8 @@ public class ApiData {
 	@Expose
 	@ConfigOption(
 		name = "Api Key",
-		desc = "Hypixel API key\nYou can run §a/api new§r to autofill this value."
+		desc = "Hypixel API key\nYou can run §a/api new§r to autofill this value.",
+		searchTags = "apikey"
 	)
 	@ConfigEditorText
 	public String apiKey = "";
@@ -41,57 +42,87 @@ public class ApiData {
 	public boolean repository = false;
 
 	@Expose
-	@ConfigOption(name = "Automatically Update Repository", desc = "Update the repository on every startup")
+	@ConfigOption(
+		name = "Automatically Update Repository",
+		desc = "Update the repository on every startup"
+	)
 	@ConfigEditorBoolean()
 	@ConfigAccordionId(id = 0)
 	public boolean autoupdate = true;
 
 	@ConfigAccordionId(id = 0)
-	@ConfigOption(name = "Update Repository now", desc = "Refresh your repository")
+	@ConfigOption(
+		name = "Update Repository now",
+		desc = "Refresh your repository"
+	)
 	@ConfigEditorButton(runnableId = 22, buttonText = "Update")
 	public int updateRepositoryButton = 0;
 
 	@ConfigEditorAccordion(id = 1)
 	@ConfigAccordionId(id = 0)
-	@ConfigOption(name = "Repository Location", desc = "")
+	@ConfigOption(
+		name = "Repository Location",
+		desc = ""
+	)
 	public boolean repositoryLocation = false;
 
 	@ConfigAccordionId(id = 1)
-	@ConfigOption(name = "Use default repository", desc = "The latest, most up to date item list for the official NEU releases.")
+	@ConfigOption(
+		name = "Use default repository",
+		desc = "The latest, most up to date item list for the official NEU releases."
+	)
 	@ConfigEditorButton(runnableId = 23, buttonText = "Reset")
 	public int setRepositoryToDefaultButton = 0;
 
 	@ConfigAccordionId(id = 1)
-	@ConfigOption(name = "Use pre-release repository", desc = "The latest, most up to date item list for the NEU pre-releases.\n§4Use §lonly§r§4 with the pre-releases.")
+	@ConfigOption(
+		name = "Use pre-release repository",
+		desc = "The latest, most up to date item list for the NEU pre-releases.\n§4Use §lonly§r§4 with the pre-releases."
+	)
 	@ConfigEditorButton(runnableId = 24, buttonText = "Use")
 	public int setRepositoryToDangerousButton = 0;
 
 	@Expose
 	@ConfigAccordionId(id = 1)
-	@ConfigOption(name = "Repository User", desc = "Repository User")
+	@ConfigOption(
+		name = "Repository User",
+		desc = "Repository User"
+	)
 	@ConfigEditorText
 	public String repoUser = "NotEnoughUpdates";
 
 	@Expose
 	@ConfigAccordionId(id = 1)
-	@ConfigOption(name = "Repository Name", desc = "Repository Name")
+	@ConfigOption(
+		name = "Repository Name",
+		desc = "Repository Name"
+	)
 	@ConfigEditorText
 	public String repoName = "NotEnoughUpdates-REPO";
 
 	@Expose
 	@ConfigAccordionId(id = 1)
-	@ConfigOption(name = "Repository Branch", desc = "Repository Branch")
+	@ConfigOption(
+		name = "Repository Branch",
+		desc = "Repository Branch"
+	)
 	@ConfigEditorText
 	public String repoBranch = "master";
 
 	@Expose
 	@ConfigAccordionId(id = 0)
-	@ConfigOption(name = "Edit Mode", desc = "Enables you to edit items in the item list.\n§4Recommended for repository maintainers only.\n§4§lRemember: §rTurn off auto update as well")
+	@ConfigOption(
+		name = "Edit Mode",
+		desc = "Enables you to edit items in the item list.\n§4Recommended for repository maintainers only.\n§4§lRemember: §rTurn off auto update as well"
+	)
 	@ConfigEditorBoolean
 	public boolean repositoryEditing = false;
 
 	@Expose
-	@ConfigOption(name = "Lowestbin API", desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing\n§fDefault: §amoulberry.codes")
+	@ConfigOption(
+		name = "Lowestbin API",
+		desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing\n§fDefault: §amoulberry.codes"
+	)
 	@ConfigEditorText
 	public String moulberryCodesApi = "moulberry.codes";
 
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java
index f1debe28..8aef92d8 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java
@@ -28,7 +28,8 @@ public class Calendar {
 	@Expose
 	@ConfigOption(
 		name = "Event Notifications",
-		desc = "Display notifications for SkyBlock calendar events"
+		desc = "Display notifications for SkyBlock calendar events",
+		searchTags = {"jacob", "dark", "farming"}
 	)
 	@ConfigEditorBoolean
 	public boolean eventNotifications = true;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java
index 92b4b2ab..0d33172d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java
@@ -30,7 +30,8 @@ public class CustomArmour {
 	@ConfigOption(
 		name = "Enable Equipment Hud",
 		desc = "Shows an overlay in your inventory showing your 4 extra armour slots\n" +
-			"\u00A7cRequires Hide Potion Effects to be enabled"
+			"\u00A7cRequires Hide Potion Effects to be enabled",
+		searchTags = "armor"
 	)
 	@ConfigEditorBoolean
 	public boolean enableArmourHud = true;
@@ -46,7 +47,8 @@ public class CustomArmour {
 	@Expose
 	@ConfigOption(
 		name = "GUI Style",
-		desc = "Change the colour of the GUI"
+		desc = "Change the colour of the GUI",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {"Minecraft", "Grey", "PacksHQ Dark", "Transparent", "FSR"}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java
index 8e211bd6..eb7bdca1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java
@@ -127,14 +127,16 @@ public class DungeonMapConfig {
 	@Expose
 	@ConfigOption(
 		name = "Background Colour",
-		desc = "Colour of the map background. Supports opacity & chroma"
+		desc = "Colour of the map background. Supports opacity & chroma",
+		searchTags = "color"
 	)
 	public String dmBackgroundColour = "00:170:75:75:75";
 
 	@Expose
 	@ConfigOption(
 		name = "Border Colour",
-		desc = "Colour of the map border. Supports opacity & chroma. Turn off custom borders to see"
+		desc = "Colour of the map border. Supports opacity & chroma. Turn off custom borders to see",
+		searchTags = "color"
 	)
 	public String dmBorderColour = "00:0:0:0:0";
 
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java
index 3d84cebe..cf5635ec 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java
@@ -183,7 +183,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Enable Block Overlay",
-		desc = "Change the colour of certain blocks / entities while inside dungeons, but keeps the normal texture outside of dungeons"
+		desc = "Change the colour of certain blocks / entities while inside dungeons, but keeps the normal texture outside of dungeons",
+		searchTags = "color"
 	)
 	@ConfigEditorBoolean
 	@ConfigAccordionId(id = 2)
@@ -203,7 +204,8 @@ public class Dungeons {
 		name = "Slow Update",
 		desc = "Updates the colour every second instead of every tick.\n" +
 			"\u00A7cWARNING: This will cause all texture animations (eg. flowing water) to update slowly.\n" +
-			"This should only be used on low-end machines"
+			"This should only be used on low-end machines",
+		searchTags = "color"
 	)
 	@ConfigEditorBoolean
 	@ConfigAccordionId(id = 2)
@@ -212,7 +214,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Cracked Bricks",
-		desc = "Change the colour of: Cracked Bricks"
+		desc = "Change the colour of: Cracked Bricks",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -221,7 +224,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Dispensers",
-		desc = "Change the colour of: Dispensers"
+		desc = "Change the colour of: Dispensers",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -230,7 +234,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Levers",
-		desc = "Change the colour of: Levers"
+		desc = "Change the colour of: Levers",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -239,7 +244,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Tripwire String",
-		desc = "Change the colour of: Tripwire String"
+		desc = "Change the colour of: Tripwire String",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -248,7 +254,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Normal Chests",
-		desc = "Change the colour of: Normal Chests"
+		desc = "Change the colour of: Normal Chests",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -257,7 +264,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Trapped Chests",
-		desc = "Change the colour of: Trapped Chests"
+		desc = "Change the colour of: Trapped Chests",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -266,7 +274,8 @@ public class Dungeons {
 	@Expose
 	@ConfigOption(
 		name = "Bats",
-		desc = "Change the colour of: Bats"
+		desc = "Change the colour of: Bats",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
index b596d180..c2ac4bb4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java
@@ -29,7 +29,8 @@ import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption
 public class Enchanting {
 	@ConfigOption(
 		name = "Enchant Table / Hex GUI",
-		desc = ""
+		desc = "",
+		searchTags = "et"
 	)
 	@ConfigEditorAccordion(id = 1)
 	public boolean tableGUIAccordion = false;
@@ -159,7 +160,8 @@ public class Enchanting {
 	@Expose
 	@ConfigOption(
 		name = "Ultrasequencer Next",
-		desc = "Set the colour of the glass pane shown behind the element in the ultrasequencer which is next"
+		desc = "Set the colour of the glass pane shown behind the element in the ultrasequencer which is next",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {
@@ -173,7 +175,8 @@ public class Enchanting {
 	@Expose
 	@ConfigOption(
 		name = "Ultrasequencer Upcoming",
-		desc = "Set the colour of the glass pane shown behind the element in the ultrasequencer which is coming after \"next\""
+		desc = "Set the colour of the glass pane shown behind the element in the ultrasequencer which is coming after \"next\"",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {
@@ -187,7 +190,8 @@ public class Enchanting {
 	@Expose
 	@ConfigOption(
 		name = "Superpairs Matched",
-		desc = "Set the colour of the glass pane shown behind successfully matched pairs"
+		desc = "Set the colour of the glass pane shown behind successfully matched pairs",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {
@@ -201,7 +205,8 @@ public class Enchanting {
 	@Expose
 	@ConfigOption(
 		name = "Superpairs Possible",
-		desc = "Set the colour of the glass pane shown behind pairs which can be matched, but have not yet"
+		desc = "Set the colour of the glass pane shown behind pairs which can be matched, but have not yet",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {
@@ -215,7 +220,8 @@ public class Enchanting {
 	@Expose
 	@ConfigOption(
 		name = "Superpairs Unmatched",
-		desc = "Set the colour of the glass pane shown behind pairs which have been previously uncovered"
+		desc = "Set the colour of the glass pane shown behind pairs which have been previously uncovered",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {
@@ -229,7 +235,8 @@ public class Enchanting {
 	@Expose
 	@ConfigOption(
 		name = "Superpairs Powerups",
-		desc = "Set the colour of the glass pane shown behind powerups"
+		desc = "Set the colour of the glass pane shown behind powerups",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java
index b6075794..10a4de0e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java
@@ -144,7 +144,8 @@ public class Fishing {
 		name = "Particle Type",
 		desc = "Change the type of the particle that is spawned\n" +
 			"Particle types with (RGB) support custom colours\n" +
-			"Set to 'NONE' to disable particles"
+			"Set to 'NONE' to disable particles",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {"Default", "None", "Spark (RGB)", "Swirl (RGB)", "Dust (RGB)", "Flame", "Crit", "Magic Crit"}
@@ -156,7 +157,8 @@ public class Fishing {
 	@ConfigOption(
 		name = "Custom Colour",
 		desc = "Set a custom colour for the particle\n" +
-			"Only works for particle types with (RGB)"
+			"Only works for particle types with (RGB)",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 1)
@@ -175,7 +177,8 @@ public class Fishing {
 		name = "Particle Type",
 		desc = "Change the type of the particle that is spawned\n" +
 			"Particle types with (RGB) support custom colours\n" +
-			"Set to 'NONE' to disable particles"
+			"Set to 'NONE' to disable particles",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {"Default", "None", "Spark (RGB)", "Swirl (RGB)", "Dust (RGB)", "Flame", "Crit", "Magic Crit"}
@@ -187,7 +190,8 @@ public class Fishing {
 	@ConfigOption(
 		name = "Custom Colour",
 		desc = "Set a custom colour for the particle\n" +
-			"Only works for particle types with (RGB)"
+			"Only works for particle types with (RGB)",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 2)
@@ -195,7 +199,8 @@ public class Fishing {
 
 	@ConfigOption(
 		name = "Rod Line Colours",
-		desc = ""
+		desc = "",
+		searchTags = "color"
 	)
 	@ConfigEditorAccordion(id = 4)
 	public boolean rodAccordion = false;
@@ -248,8 +253,9 @@ public class Fishing {
 
 	@Expose
 	@ConfigOption(
-		name = "Fishing timer color",
-		desc = "Color of the fishing timer"
+		name = "Fishing timer colour",
+		desc = "Colour of the fishing timer",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 6)
@@ -257,8 +263,9 @@ public class Fishing {
 
 	@Expose
 	@ConfigOption(
-		name = "Fishing timer color (30s)",
-		desc = "Color of the fishing timer after 30 seconds or more have passed"
+		name = "Fishing timer colour (30s)",
+		desc = "Colour of the fishing timer after 30 seconds or more have passed",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 6)
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java
index 5fde76a5..3222ce46 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java
@@ -38,7 +38,8 @@ import java.util.List;
 public class ItemOverlays {
 	@ConfigOption(
 		name = "Treecapitator Overlay",
-		desc = ""
+		desc = "",
+		searchTags = "jungle"
 	)
 	@ConfigEditorAccordion(id = 0)
 	public boolean treecapAccordion = false;
@@ -64,7 +65,8 @@ public class ItemOverlays {
 	@Expose
 	@ConfigOption(
 		name = "Overlay Colour",
-		desc = "Change the colour of the overlay"
+		desc = "Change the colour of the overlay",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 0)
@@ -107,7 +109,8 @@ public class ItemOverlays {
 	@Expose
 	@ConfigOption(
 		name = "Overlay Colour",
-		desc = "Change the colour of the ghost block outline"
+		desc = "Change the colour of the ghost block outline",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 1)
@@ -132,7 +135,8 @@ public class ItemOverlays {
 	@Expose
 	@ConfigOption(
 		name = "Overlay Colour",
-		desc = "Change the colour of the ghost block outline"
+		desc = "Change the colour of the ghost block outline",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 6)
@@ -244,7 +248,8 @@ public class ItemOverlays {
 	@Expose
 	@ConfigOption(
 		name = "Highlight Colour",
-		desc = "Change the colour of the etherwarp target block outline"
+		desc = "Change the colour of the etherwarp target block outline",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 7)
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java
index 72a45930..17ac7acd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java
@@ -119,7 +119,8 @@ public class Itemlist {
 	@Expose
 	@ConfigOption(
 		name = "Foreground Colour",
-		desc = "Change the colour of foreground elements in the Itemlist"
+		desc = "Change the colour of foreground elements in the Itemlist",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	public String foregroundColour = "00:255:100:100:100";
@@ -127,7 +128,8 @@ public class Itemlist {
 	@Expose
 	@ConfigOption(
 		name = "Favourite Colour",
-		desc = "Change the colour of favourited elements in the Itemlist"
+		desc = "Change the colour of favourited elements in the Itemlist",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	public String favouriteColour = "00:255:200:150:50";
@@ -135,7 +137,8 @@ public class Itemlist {
 	@Expose
 	@ConfigOption(
 		name = "Pane Background Colour",
-		desc = "Change the colour of the Itemlist background"
+		desc = "Change the colour of the Itemlist background",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	public String backgroundColour = "15:6:0:0:255";
@@ -143,7 +146,8 @@ public class Itemlist {
 	@Expose
 	@ConfigOption(
 		name = "Always show Monsters",
-		desc = "Always show Monster Items in the item list"
+		desc = "Always show Monster Items in the item list",
+		searchTags = "mob"
 	)
 	@ConfigEditorBoolean(
 		runnableId = 21
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
index 10e554c9..5e393214 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java
@@ -19,7 +19,6 @@
 
 package io.github.moulberry.notenoughupdates.options.seperateSections;
 
-import com.google.gson.annotations.Expose;
 import io.github.moulberry.notenoughupdates.core.config.Position;
 import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId;
 import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion;
@@ -27,7 +26,6 @@ import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditor
 import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption;
 
 public class LocationEdit {
-	@Expose
 	@ConfigOption(
 		name = "Edit Dungeon Map",
 		desc = "The NEU dungeon map has it's own editor (/neumap).\n" +
@@ -39,7 +37,6 @@ public class LocationEdit {
 	)
 	public int editDungeonMap = 0;
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Pet Info Position",
 		desc = "Change the position of the pet info overlay"
@@ -50,7 +47,6 @@ public class LocationEdit {
 	)
 	public Position petInfoPosition = new Position(-1, -1);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Todo Position",
 		desc = "Change the position of the Todo overlay"
@@ -61,7 +57,6 @@ public class LocationEdit {
 	)
 	public Position todoPosition = new Position(100, 0);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Bonemerang Overlay Position",
 		desc = "Change the position of the Bonemerang overlay"
@@ -72,7 +67,6 @@ public class LocationEdit {
 	)
 	public Position bonemerangPosition = new Position(-1, -1);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Slayer Overlay Position",
 		desc = "Change the position of the Slayer overlay"
@@ -90,7 +84,6 @@ public class LocationEdit {
 	@ConfigEditorAccordion(id = 1)
 	public boolean inventoryAccordion = false;
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Toolbar Positions",
 		desc = "Change the position of the QuickCommands / Search Bar"
@@ -99,7 +92,6 @@ public class LocationEdit {
 	@ConfigEditorButton(runnableId = 6, buttonText = "Edit")
 	public boolean positionButton = true;
 
-	@Expose
 	@ConfigOption(
 		name = "Open Button Editor",
 		desc = "Open button editor GUI (/neubuttons)"
@@ -115,7 +107,6 @@ public class LocationEdit {
 	@ConfigEditorAccordion(id = 2)
 	public boolean miningoverlayAccordion = false;
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Dwarven Overlay Position",
 		desc = "Change the position of the Dwarven Mines information Overlay (commissions, powder & forge statuses)"
@@ -127,7 +118,6 @@ public class LocationEdit {
 	@ConfigAccordionId(id = 2)
 	public Position overlayPosition = new Position(10, 100);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Crystal Overlay Position",
 		desc = "Change the position of the Crystal Hollows Overlay"
@@ -139,7 +129,6 @@ public class LocationEdit {
 	@ConfigAccordionId(id = 2)
 	public Position crystalHollowOverlayPosition = new Position(200, 0);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Fuel Bar Position",
 		desc = "Change the position of the drill fuel bar"
@@ -158,7 +147,6 @@ public class LocationEdit {
 	@ConfigEditorAccordion(id = 3)
 	public boolean skilloverlayAccordion = false;
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Farming Overlay Position",
 		desc = "Change the position of the Farming overlay"
@@ -170,7 +158,6 @@ public class LocationEdit {
 	@ConfigAccordionId(id = 3)
 	public Position farmingPosition = new Position(10, 200);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Mining Overlay Position",
 		desc = "Change the position of the Mining overlay"
@@ -182,7 +169,6 @@ public class LocationEdit {
 	@ConfigAccordionId(id = 3)
 	public Position miningPosition = new Position(10, 200);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Fishing Overlay Position",
 		desc = "Change the position of the Fishing overlay"
@@ -194,7 +180,6 @@ public class LocationEdit {
 	@ConfigAccordionId(id = 3)
 	public Position fishingPosition = new Position(10, 200);
 
-	@Expose
 	@ConfigOption(
 		name = "Edit Combat Overlay Position",
 		desc = "Change the position of the Combat overlay"
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java
index 2568653d..7a6b07fd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java
@@ -388,7 +388,8 @@ public class Mining {
 
 	@ConfigOption(
 		name = "Colours",
-		desc = ""
+		desc = "",
+		searchTags = "color"
 	)
 	@ConfigEditorAccordion(id = 6)
 	@ConfigAccordionId(id = 4)
@@ -426,7 +427,8 @@ public class Mining {
 	@Expose
 	@ConfigOption(
 		name = "Done Color",
-		desc = "Change the colour when the part is given to the NPC."
+		desc = "Change the colour when the part is given to the NPC.",
+		searchTags = "color"
 
 	)
 	@ConfigEditorDropdown(
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java
index 568f852e..ededb5da 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java
@@ -145,7 +145,8 @@ public class Misc {
 	@ConfigOption(
 
 		name = "Edit Enchant Colours",
-		desc = "Change the colours of certain SkyBlock enchants (/neuec)"
+		desc = "Change the colours of certain SkyBlock enchants (/neuec)",
+		searchTags = "color"
 	)
 	@ConfigEditorButton(runnableId = 8, buttonText = "Open")
 	public boolean editEnchantColoursButton = true;
@@ -153,7 +154,8 @@ public class Misc {
 	@Expose
 	@ConfigOption(
 		name = "Chroma Text Speed",
-		desc = "Change the speed of chroma text for items names (/neucustomize) and enchant colours (/neuec) with the chroma colour code (&z)"
+		desc = "Change the speed of chroma text for items names (/neucustomize) and enchant colours (/neuec) with the chroma colour code (&z)",
+		searchTags = "color"
 	)
 	@ConfigEditorSlider(
 		minValue = 10,
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java
index e3edfcd4..e73614d1 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java
@@ -226,7 +226,8 @@ public class MiscOverlays {
 
 	@ConfigOption(
 		name = "Colours",
-		desc = ""
+		desc = "",
+		searchTags = "color"
 	)
 
 	@ConfigEditorAccordion(id = 2)
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java
index 353c4e08..6f0d5341 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java
@@ -108,7 +108,8 @@ public class PetOverlay {
 	@Expose
 	@ConfigOption(
 		name = "GUI Style",
-		desc = "Change the colour of the GUI"
+		desc = "Change the colour of the GUI",
+		searchTags = "color"
 	)
 	@ConfigEditorDropdown(
 		values = {"Minecraft", "Grey", "PacksHQ Dark", "Transparent", "FSR"}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
index ca970a84..2925887f 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java
@@ -92,7 +92,7 @@ public class SkillOverlays {
 	@Expose
 	@ConfigOption(
 		name = "Use BZ Price For Coins/m",
-		desc = "Uses the bazzar price instead of NPC price for coins/m"
+		desc = "Uses the bazaar price instead of NPC price for coins/m"
 	)
 	@ConfigEditorBoolean
 	@ConfigAccordionId(id = 0)
@@ -325,7 +325,8 @@ public class SkillOverlays {
 	@Expose
 	@ConfigOption(
 		name = "Enable Combat Overlay",
-		desc = "Show an overlay while Combat with useful information"
+		desc = "Show an overlay while Combat with useful information",
+		searchTags = "champion"
 	)
 	@ConfigEditorBoolean
 	@ConfigAccordionId(id = 4)
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java
index e43fa5cf..08c48945 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java
@@ -34,7 +34,8 @@ import org.lwjgl.input.Keyboard;
 public class StorageGUI {
 	@ConfigOption(
 		name = "Storage Overlay",
-		desc = ""
+		desc = "",
+		searchTags = {"ec", "enderchest", "st", "backpack"}
 	)
 	@ConfigEditorAccordion(id = 1)
 	public boolean storageOverlayAccordion = false;
@@ -145,7 +146,8 @@ public class StorageGUI {
 	@Expose
 	@ConfigOption(
 		name = "Selected Storage Colour",
-		desc = "Change the colour used to draw the selected backpack border"
+		desc = "Change the colour used to draw the selected backpack border",
+		searchTags = "color"
 	)
 	@ConfigEditorColour
 	@ConfigAccordionId(id = 1)
@@ -163,7 +165,8 @@ public class StorageGUI {
 
 	@ConfigOption(
 		name = "Inventory Backpacks",
-		desc = ""
+		desc = "",
+		searchTags = "hotbar"
 	)
 	@ConfigEditorAccordion(id = 0)
 	public boolean inventorySlotAccordion = false;
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java
index 1edc0921..1697098e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java
@@ -156,7 +156,8 @@ public class TooltipTweaks {
 	@Expose
 	@ConfigOption(
 		name = "Tooltip Border Colours",
-		desc = "Make the borders of tooltips match the rarity of the item (NEU Tooltips Only)"
+		desc = "Make the borders of tooltips match the rarity of the item (NEU Tooltips Only)",
+		searchTags = "color"
 	)
 	@ConfigEditorBoolean
 	public boolean tooltipBorderColours = true;
-- 
cgit