diff options
| author | viciscat <51047087+viciscat@users.noreply.github.com> | 2025-01-05 03:05:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-05 10:05:36 +0800 |
| commit | f23a43b945fb2fcd23b2cd80c9562d1a7688b4f7 (patch) | |
| tree | 3a20e3b1310969687a4cdaca4be38533490a17ce /src/main/java/de | |
| parent | 6d8592cd9663e97c8bbc7f987df3506e535f88d0 (diff) | |
| download | Skyblocker-f23a43b945fb2fcd23b2cd80c9562d1a7688b4f7.tar.gz Skyblocker-f23a43b945fb2fcd23b2cd80c9562d1a7688b4f7.tar.bz2 Skyblocker-f23a43b945fb2fcd23b2cd80c9562d1a7688b4f7.zip | |
Per Slot Text Toggle (#1043)
* per slot text toggle
* add constructor to SimpleSlotTextAdder
* Refactor slot text options
* Refactor slot text config option
* Cleanup
---------
Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>
Diffstat (limited to 'src/main/java/de')
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.confi |
