aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java18
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java30
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java19
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java46
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextMode.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/AttributeShardAdder.java12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CatacombsLevelAdder.java12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CommunityShopAdder.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EssenceShopAdder.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PowerStonesGuideAdder.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PrehistoricEggAdder.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkyblockLevelAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/StatsTuningAdder.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/YourEssenceAdder.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/container/SlotTextAdder.java57
24 files changed, 247 insertions, 53 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index 944e9d2e..1df6bb26 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -5,7 +5,6 @@ import de.hysky.skyblocker.UpdateNotifications;
import de.hysky.skyblocker.config.ConfigUtils;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.configs.GeneralConfig;
-import de.hysky.skyblocker.skyblock.item.slottext.SlotTextMode;
import de.hysky.skyblocker.skyblock.item.tooltip.adders.CraftPriceTooltip;
import de.hysky.skyblocker.skyblock.shortcut.ShortcutsConfigScreen;
import de.hysky.skyblocker.skyblock.speedPreset.SpeedPresetsScreen;
@@ -287,23 +286,6 @@ public class GeneralCategory {
.group(OptionGroup.createBuilder()
.name(Text.translatable("skyblocker.config.general.itemInfoDisplay"))
.collapsed(true)
- .option(Option.<SlotTextMode>createBuilder()
- .name(Text.translatable("skyblocker.config.general.itemInfoDisplay.slotText"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.general.itemInfoDisplay.slotText.@Tooltip")))
- .binding(defaults.general.itemInfoDisplay.slotTextMode,
- () -> config.general.itemInfoDisplay.slotTextMode,
- newValue -> config.general.itemInfoDisplay.slotTextMode = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(ConfigUtils.createShortcutToKeybindsScreen())
- .option(Option.<Boolean>createBuilder()
- .name(Text.translatable("skyblocker.config.general.itemInfoDisplay.attributeShardInfo"))
- .description(OptionDescription.of(Text.translatable("skyblocker.config.general.itemInfoDisplay.attributeShardInfo.@Tooltip")))
- .binding(defaults.general.itemInfoDisplay.attributeShardInfo,
- () -> config.general.itemInfoDisplay.attributeShardInfo,
- newValue -> config.general.itemInfoDisplay.attributeShardInfo = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("skyblocker.config.general.itemInfoDisplay.itemRarityBackgrounds"))
.description(OptionDescription.of(Text.translatable("skyblocker.config.general.itemInfoDisplay.itemRarityBackgrounds.@Tooltip")))
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
index 0f58011d..208113ef 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java
@@ -4,16 +4,18 @@ import de.hysky.skyblocker.config.ConfigUtils;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.configs.UIAndVisualsConfig;
import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen;
+import de.hysky.skyblocker.skyblock.item.slottext.SlotTextManager;
+import de.hysky.skyblocker.skyblock.item.slottext.SlotTextMode;
import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen;
import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
import de.hysky.skyblocker.skyblock.waypoint.WaypointsScreen;
import de.hysky.skyblocker.utils.Location;
import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.container.SlotTextAdder;
import de.hysky.skyblocker.utils.render.title.TitleContainerConfigScreen;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
import de.hysky.skyblocker.utils.waypoint.Waypoint;
-import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.*;
import dev.isxander.yacl3.api.controller.ColorControllerBuilder;
import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
@@ -23,6 +25,9 @@ import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import java.awt.*;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.Objects;
public class UIAndVisualsCategory {
public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
@@ -141,6 +146,23 @@ public class UIAndVisualsCategory {
.build())
.build())
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("skyblocker.config.uiAndVisuals.slotText"))
+ .collapsed(true)
+ .option(Option.<SlotTextMode>createBuilder()
+ .name(Text.translatable("skyblocker.config.uiAndVisuals.slotText"))
+ .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.slotText.@Tooltip")))
+ .binding(defaults.uiAndVisuals.slotText.slotTextMode,
+ () -> config.uiAndVisuals.slotText.slotTextMode,
+ newValue -> config.uiAndVisuals.slotText.slotTextMode = newValue)
+ .controller(ConfigUtils::createEnumCyclingListController)
+ .build())
+ .option(ConfigUtils.createShortcutToKeybindsScreen())
+ .option(LabelOption.create(Text.translatable("skyblocker.config.uiAndVisuals.slotText.separator")))
+ .options(createSlotTextToggles(config))
+ .build()
+ )
+
// Inventory Search
.group(OptionGroup.createBuilder()
.name(Text.translatable("skyblocker.config.uiAndVisuals.inventorySearch"))
@@ -508,4 +530,10 @@ public class UIAndVisualsCategory {
.build();
}
+
+ private static Collection<Option<Boolean>> createSlotTextToggles(SkyblockerConfig config) {
+ return SlotTextManager.getAdderStream().map(SlotTextAdder::getConfigInformation).filter(Objects::nonNull).distinct()
+ .map(configInfo -> configInfo.getOption(config))
+ .sorted(Comparator.comparing(option -> option.name().getString())).toList();
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java
index bb66625a..e79ea878 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java
@@ -183,12 +183,15 @@ public class GeneralConfig {
@SerialEntry
public boolean slotText = true;
+ @Deprecated
@SerialEntry
public SlotTextMode slotTextMode = SlotTextMode.ENABLED;
+ @Deprecated
@SerialEntry
public boolean slotTextToggled = true;
+ @Deprecated
@SerialEntry
public boolean attributeShardInfo = true;
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
index 01671c79..d8605268 100644
--- a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
@@ -1,8 +1,11 @@
package de.hysky.skyblocker.config.configs;
+import de.hysky.skyblocker.skyblock.item.slottext.SlotTextMode;
import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
import de.hysky.skyblocker.utils.waypoint.Waypoint;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
+import it.unimi.dsi.fastutil.objects.Object2BooleanMap;
+import it.unimi.dsi.fastutil.objects.Object2BooleanOpenHashMap;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.Formatting;
@@ -44,6 +47,9 @@ public class UIAndVisualsConfig {
@SerialEntry
public ItemCooldown itemCooldown = new ItemCooldown();
+ @SerialEntry
+ public SlotText slotText = new SlotText();
+
@SerialEntry
public InventorySearchConfig inventorySearch = new InventorySearchConfig();
@@ -93,6 +99,19 @@ public class UIAndVisualsConfig {
public boolean enableItemCooldowns = true;
}
+ public static class SlotText {
+
+ @SerialEntry
+ public SlotTextMode slotTextMode = SlotTextMode.ENABLED;
+
+ @SerialEntry
+ public Object2BooleanMap<String> textEnabled = new Object2BooleanOpenHashMap<>();
+
+ @SerialEntry
+ public boolean slotTextToggled = true;
+
+ }
+
public static class InventorySearchConfig {
@SerialEntry
public EnableState enabled = EnableState.SKYBLOCK;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java
index 205e48d8..e0dd2009 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java
@@ -4,6 +4,7 @@ import de.hysky.skyblocker.utils.container.RegexContainerMatcher;
import de.hysky.skyblocker.utils.container.SlotTextAdder;
import org.intellij.lang.annotations.Language;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.util.regex.Pattern;
@@ -12,28 +13,67 @@ import java.util.regex.Pattern;
* Extend this class and add it to {@link SlotTextManager#adders} to add text to any arbitrary slot.
*/
public abstract class SimpleSlotTextAdder extends RegexContainerMatcher implements SlotTextAdder {
+ protected final @Nullable ConfigInformation configInformation;
+
/**
- * Utility constructor that will compile the given string into a pattern.
+ * Utility constructor that will compile the given string into a pattern with no config
*
* @see #SimpleSlotTextAdder(Pattern)
*/
protected SimpleSlotTextAdder(@NotNull @Language("RegExp") String titlePattern) {
+ this(titlePattern, null);
+ }
+
+ /**
+ * Creates a SlotTextAdder that will be applied to screens with titles that match the given pattern with no config
+ *
+ * @param titlePattern The pattern to match the screen title against.
+ */
+ protected SimpleSlotTextAdder(@NotNull Pattern titlePattern) {
+ this(titlePattern, null);
+ }
+
+ /**
+ * Creates a SlotTextAdder that will be applied to all screens with no config
+ */
+ protected SimpleSlotTextAdder() {
+ this((ConfigInformation) null);
+ }
+
+ /**
+ * Utility constructor that will compile the given string into a pattern.
+ * The adder will be able to be turned off/on in the config using info provided by the {@link de.hysky.skyblocker.utils.container.SlotTextAdder.ConfigInformation}
+ *
+ * @see #SimpleSlotTextAdder(Pattern)
+ */
+ protected SimpleSlotTextAdder(@NotNull @Language("RegExp") String titlePattern, @Nullable ConfigInformation configInformation) {
super(titlePattern);
+ this.configInformation = configInformation;
}
/**
* Creates a SlotTextAdder that will be applied to screens with titles that match the given pattern.
+ * The adder will be able to be turned off/on in the config using info provided by the {@link de.hysky.skyblocker.utils.container.SlotTextAdder.ConfigInformation}
*
* @param titlePattern The pattern to match the screen title against.
*/
- protected SimpleSlotTextAdder(@NotNull Pattern titlePattern) {
+ protected SimpleSlotTextAdder(@NotNull Pattern titlePattern, @Nullable ConfigInformation configInformation) {
super(titlePattern);
+ this.configInformation = configInformation;
}
/**
* Creates a SlotTextAdder that will be applied to all screens.
+ * The adder will be able to be turned off/on in the config using info provided by the {@link de.hysky.skyblocker.utils.container.SlotTextAdder.ConfigInformation}
*/
- protected SimpleSlotTextAdder() {
+ protected SimpleSlotTextAdder(@Nullable ConfigInformation configInformation) {
super();
+ this.configInformation = configInformation;
+ }
+
+ @Override
+ @Nullable
+ public ConfigInformation getConfigInformation() {
+ return configInformation;
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java
index c6639dee..f5b9c200 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java
@@ -26,7 +26,9 @@ import org.jetbrains.annotations.Nullable;
import org.lwjgl.glfw.GLFW;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Stream;
public class SlotTextManager {
private static final SlotTextAdder[] adders = new SlotTextAdder[]{
@@ -70,7 +72,7 @@ public class SlotTextManager {
}
ScreenKeyboardEvents.afterKeyPress(screen).register((screen1, key, scancode, modifiers) -> {
if (keyBinding.matchesKey(key, scancode)) {
- SkyblockerConfigManager.get().general.itemInfoDisplay.slotTextToggled = !SkyblockerConfigManager.get().general.itemInfoDisplay.slotTextToggled;
+ SkyblockerConfigManager.get().uiAndVisuals.slotText.slotTextToggled = !SkyblockerConfigManager.get().uiAndVisuals.slotText.slotTextToggled;
keyHeld = true;
}
});
@@ -141,11 +143,19 @@ public class SlotTextManager {
}
}
+ public static Stream<SlotTextAdder> getAdderStream() {
+ return Arrays.stream(adders);
+ }
+
+ public static boolean isEnabled(String adderId) {
+ return SkyblockerConfigManager.get().uiAndVisuals.slotText.textEnabled.getOrDefault(adderId, true);
+ }
+
public static boolean isEnabled() {
- return switch (SkyblockerConfigManager.get().general.itemInfoDisplay.slotTextMode) {
+ return switch (SkyblockerConfigManager.get().uiAndVisuals.slotText.slotTextMode) {
case ENABLED -> true;
case DISABLED -> false;
- case PRESS_TO_TOGGLE -> SkyblockerConfigManager.get().general.itemInfoDisplay.slotTextToggled;
+ case PRESS_TO_TOGGLE -> SkyblockerConfigManager.get().uiAndVisuals.slotText.slotTextToggled;
case HOLD_TO_HIDE -> !keyHeld;
case HOLD_TO_SHOW -> keyHeld;
};
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextMode.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextMode.java
index 3b7f58e5..1b87364a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextMode.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextMode.java
@@ -14,6 +14,6 @@ public enum SlotTextMode {
@Override
public String toString() {
- return I18n.translate("skyblocker.config.general.itemInfoDisplay.slotText.mode." + name());
+ return I18n.translate("skyblocker.config.uiAndVisuals.slotText.mode." + name());
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/AttributeShardAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/AttributeShardAdder.java
index 27856ab8..16719364 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/AttributeShardAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/AttributeShardAdder.java
@@ -1,6 +1,5 @@
package de.hysky.skyblocker.skyblock.item.slottext.adders;
-import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.skyblock.item.slottext.SlotText;
import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder;
import de.hysky.skyblocker.utils.ItemUtils;
@@ -17,6 +16,10 @@ import java.util.List;
public class AttributeShardAdder extends SimpleSlotTextAdder {
private static final Object2ObjectMap<String, String> ID_2_SHORT_NAME = new Object2ObjectOpenHashMap<>();
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "attribute_shard",
+ "skyblocker.config.uiAndVisuals.slotText.attributeShard",
+ "skyblocker.config.uiAndVisuals.slotText.attributeShard.@Tooltip");
static {
//Weapons
@@ -66,7 +69,7 @@ public class AttributeShardAdder extends SimpleSlotTextAdder {
}
public AttributeShardAdder() {
- super();
+ super(CONFIG_INFORMATION);
}
@Override
@@ -88,9 +91,4 @@ public class AttributeShardAdder extends SimpleSlotTextAdder {
SlotText.topLeft(Text.literal(attributeInitials).withColor(0xCFF8F8))
);
}
-
- @Override
- public boolean isEnabled() {
- return SkyblockerConfigManager.get().general.itemInfoDisplay.attributeShardInfo;
- }
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CatacombsLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CatacombsLevelAdder.java
index 68813fd5..87a67b93 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CatacombsLevelAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CatacombsLevelAdder.java
@@ -3,6 +3,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders;
import de.hysky.skyblocker.skyblock.item.slottext.SlotText;
import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder;
import de.hysky.skyblocker.utils.RomanNumerals;
+import de.hysky.skyblocker.utils.container.SlotTextAdder;
import net.minecraft.item.ItemStack;
import net.minecraft.screen.slot.Slot;
import net.minecraft.text.Text;
@@ -18,13 +19,18 @@ import java.util.regex.Pattern;
//This class is split into 3 inner classes as there are multiple screens for showing catacombs levels, each with different slot ids or different style of showing the level.
//It's still kept in 1 main class for organization purposes.
public class CatacombsLevelAdder {
+
+ private static final SlotTextAdder.ConfigInformation CONFIG_INFORMATION = new SlotTextAdder.ConfigInformation(
+ "catacombs_level",
+ "skyblocker.config.uiAndVisuals.slotText.catacombsLevel");
+
private CatacombsLevelAdder() {
}
public static class Dungeoneering extends SimpleSlotTextAdder {
private static final Pattern LEVEL_PATTERN = Pattern.compile(".*?(?:(?<arabic>\\d+)|(?<roman>\\S+))? ?✯?");
public Dungeoneering() {
- super("^Dungeoneering");
+ super("^Dungeoneering", CONFIG_INFORMATION);
}
@Override
@@ -57,7 +63,7 @@ public class CatacombsLevelAdder {
public static class DungeonClasses extends SimpleSlotTextAdder {
public DungeonClasses() {
- super("^Dungeon Classes"); //Applies to both screens as they are same in both the placement and the style of the level text.
+ super("^Dungeon Classes", CONFIG_INFORMATION); //Applies to both screens as they are same in both the placement and the style of the level text.
}
@Override
@@ -78,7 +84,7 @@ public class CatacombsLevelAdder {
public static class ReadyUp extends SimpleSlotTextAdder {
public ReadyUp() {
- super("^Ready Up");
+ super("^Ready Up", CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java
index c941fa6c..7104a61d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CollectionAdder.java
@@ -16,9 +16,13 @@ import java.util.regex.Pattern;
public class CollectionAdder extends SimpleSlotTextAdder {
private static final Pattern COLLECTION = Pattern.compile("^[\\w -]+ (?<level>[IVXLCDM]+)$");
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "collection",
+ "skyblocker.config.uiAndVisuals.slotText.collectionLevel"
+ );
public CollectionAdder() {
- super("^\\w+ Collections");
+ super("^\\w+ Collections", CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CommunityShopAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CommunityShopAdder.java
index 59ed8ecb..9d4a1470 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CommunityShopAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/CommunityShopAdder.java
@@ -17,10 +17,14 @@ import java.util.List;
public class CommunityShopAdder extends SimpleSlotTextAdder {
private static final byte CATEGORIES_START = 10;
private static final byte CATEGORIES_END = 14; //Inclusive
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "community_shop",
+ "skyblocker.config.uiAndVisuals.slotText.communityShop",
+ "skyblocker.config.uiAndVisuals.slotText.communityShop.@Tooltip");
private static byte currentScreen = -1; // 0 = city projects, 1 = upgrades, 2 = booster cookie, 3 = bits shop, 4 = fire sales, any other number = invalid
public CommunityShopAdder() {
- super("^Community Shop");
+ super("^Community Shop", CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java
index af63ec2e..6755370a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EnchantmentLevelAdder.java
@@ -16,8 +16,12 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
public class EnchantmentLevelAdder extends SimpleSlotTextAdder {
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "enchantment_level",
+ "skyblocker.config.uiAndVisuals.slotText.enchantmentLevel");
+
public EnchantmentLevelAdder() {
- super();
+ super(CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EssenceShopAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EssenceShopAdder.java
index 144a12b0..23b5bee7 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EssenceShopAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/EssenceShopAdder.java
@@ -19,8 +19,14 @@ public class EssenceShopAdder extends SimpleSlotTextAdder {
private static final Pattern UNLOCKED = Pattern.compile("UNLOCKED");
private static final Pattern ESSENCE = Pattern.compile("Your \\w+ Essence: (?<essence>[\\d,]+)");
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "essence_shop",
+ "skyblocker.config.uiAndVisuals.slotText.essenceShop",
+ "skyblocker.config.uiAndVisuals.slotText.essenceShop.@Tooltip"
+ );
+
public EssenceShopAdder() {
- super("Essence Shop");
+ super(".*Essence Shop", CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java
index 9ab1c374..6b723d63 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/MinionLevelAdder.java
@@ -16,8 +16,11 @@ import java.util.regex.Pattern;
public class MinionLevelAdder extends SimpleSlotTextAdder {
private static final Pattern MINION_PATTERN = Pattern.compile(".* Minion ([IVXLCDM]+)");
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "minion_level",
+ "skyblocker.config.uiAndVisuals.slotText.minionLevel");
public MinionLevelAdder() {
- super();
+ super(CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java
index e940b17a..61233778 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PetLevelAdder.java
@@ -17,8 +17,11 @@ import java.util.regex.Pattern;
public class PetLevelAdder extends SimpleSlotTextAdder {
private static final Pattern LEVEL_PATTERN = Pattern.compile("⭐? ?\\[Lvl (\\d+)].*");
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "pet_level",
+ "skyblocker.config.uiAndVisuals.slotText.petLevel");
public PetLevelAdder() {
- super();
+ super(CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java
index 788560c3..96f3b32f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PotionLevelAdder.java
@@ -14,6 +14,14 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
public class PotionLevelAdder extends SimpleSlotTextAdder {
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "potion_level",
+ "skyblocker.config.uiAndVisuals.slotText.potionLevel");
+
+ public PotionLevelAdder() {
+ super(CONFIG_INFORMATION);
+ }
+
@Override
public @NotNull List<SlotText> getText(@Nullable Slot slot, @NotNull ItemStack stack, int slotId) {
NbtCompound customData = ItemUtils.getCustomData(stack);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PowerStonesGuideAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PowerStonesGuideAdder.java
index 0032d331..967c1cf2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PowerStonesGuideAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PowerStonesGuideAdder.java
@@ -15,9 +15,13 @@ import java.util.regex.Pattern;
public class PowerStonesGuideAdder extends SimpleSlotTextAdder {
private static final Pattern LEARNED = Pattern.compile("Learned: (Yes|Not Yet) (?<symbol>[✖✔])");
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "power_stones_guide",
+ "skyblocker.config.uiAndVisuals.slotText.powerStonesGuide",
+ "skyblocker.config.uiAndVisuals.slotText.powerStonesGuide.@Tooltip");
public PowerStonesGuideAdder() {
- super("^Power Stones Guide");
+ super("^Power Stones Guide", CONFIG_INFORMATION);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PrehistoricEggAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PrehistoricEggAdder.java
index ac418b77..3162eeec 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PrehistoricEggAdder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/PrehistoricEggAdder.java
@@ -15,6 +15,15 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
public class PrehistoricEggAdder extends SimpleSlotTextAdder {
+ private static final ConfigInformation CONFIG_INFORMATION = new ConfigInformation(
+ "prehistoric_egg",
+ "skyblocker.config.uiAndVisuals.slotText.prehistoricEgg",
+ "skyblocker.config.uiAndVisuals.slotText.prehistoricEgg.@Tooltip");
+
+ public PrehistoricEggAdder() {
+ super(CONFIG_INFORMATION);
+ }
+
@Override
public @NotNull List<SlotText> getText(@Nullable Slot slot, @NotNull ItemStack stack, int slotId) {
if (!stack.isOf(Items.PLAYER_HEAD) || !stack.getSkyblockId().equals("PREHISTORIC_EGG")) return List.of();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java b