diff options
Diffstat (limited to 'src/main')
50 files changed, 184 insertions, 184 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java index b8e15eb5..2f22a870 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java @@ -21,7 +21,7 @@ import de.hysky.skyblocker.skyblock.quicknav.QuickNav; import de.hysky.skyblocker.skyblock.quicknav.QuickNavButton; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.Utils; -import de.hysky.skyblocker.utils.container.AbstractContainerSolver; +import de.hysky.skyblocker.utils.container.ContainerSolver; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; @@ -201,7 +201,7 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen */ @Unique private ItemStack skyblocker$experimentSolvers$getStack(Slot slot, @NotNull ItemStack stack) { - AbstractContainerSolver currentSolver = SkyblockerMod.getInstance().containerSolverManager.getCurrentSolver(); + ContainerSolver currentSolver = SkyblockerMod.getInstance().containerSolverManager.getCurrentSolver(); if ((currentSolver instanceof SuperpairsSolver || currentSolver instanceof UltrasequencerSolver) && ((ExperimentSolver) currentSolver).getState() == ExperimentSolver.State.SHOW && slot.inventory instanceof SimpleInventory) { ItemStack itemStack = ((ExperimentSolver) currentSolver).getSlots().get(slot.getIndex()); return itemStack == null ? stack : itemStack; @@ -229,7 +229,7 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen if (slot == null) return; String title = getTitle().getString(); ItemStack stack = skyblocker$experimentSolvers$getStack(slot, slot.getStack()); - AbstractContainerSolver currentSolver = SkyblockerMod.getInstance().containerSolverManager.getCurrentSolver(); + ContainerSolver currentSolver = SkyblockerMod.getInstance().containerSolverManager.getCurrentSolver(); // Prevent clicks on filler items if (SkyblockerConfigManager.get().uiAndVisuals.hideEmptyTooltips && FILLER_ITEMS.contains(stack.getName().getString()) && diff --git a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java index aa5d1cd4..11c99daa 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java @@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.accessories.newyearcakes; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.client.MinecraftClient; import net.minecraft.item.ItemStack; @@ -10,7 +10,7 @@ import net.minecraft.screen.slot.Slot; import java.util.List; -public class NewYearCakeBagHelper extends ContainerSolver { +public class NewYearCakeBagHelper extends SimpleContainerSolver { public NewYearCakeBagHelper() { super("New Year Cake Bag"); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java index e31d4238..4b3dbda8 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java @@ -3,7 +3,7 @@ package de.hysky.skyblocker.skyblock.accessories.newyearcakes; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.IntOpenHashSet; import it.unimi.dsi.fastutil.ints.IntSet; @@ -19,7 +19,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class NewYearCakesHelper extends ContainerSolver { +public class NewYearCakesHelper extends SimpleContainerSolver { private static final Logger LOGGER = LoggerFactory.getLogger(NewYearCakesHelper.class); private static final Pattern NEW_YEAR_CAKE = Pattern.compile("New Year Cake \\(Year (?<year>\\d+)\\)"); private static final Pattern NEW_YEAR_CAKE_PURCHASE = Pattern.compile("You purchased New Year Cake \\(Year (?<year>\\d+)\\) for .+ coins!"); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java index e1d2c59e..bd863fc2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/chocolatefactory/ChocolateFactorySolver.java @@ -1,12 +1,12 @@ package de.hysky.skyblocker.skyblock.chocolatefactory; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.adders.LineSmoothener; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RegexUtils; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; @@ -28,7 +28,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class ChocolateFactorySolver extends ContainerSolver { +public class ChocolateFactorySolver extends SimpleContainerSolver { //Patterns private static final Pattern CPS_PATTERN = Pattern.compile("([\\d,.]+) Chocolate per second"); private static final Pattern CPS_INCREASE_PATTERN = Pattern.compile("\\+([\\d,]+) Chocolate per second"); @@ -265,7 +265,7 @@ public class ChocolateFactorySolver extends ContainerSolver { private record Rabbit(double cpsIncrease, long cost, int slot) {} //Todo: Merge this into the outer class once #786 is merged - public static final class Tooltip extends TooltipAdder { + public static final class Tooltip extends SimpleTooltipAdder { public Tooltip() { super("^Chocolate Factory$", 0); //The priority doesn't really matter here as this is the only tooltip adder for the Chocolate Factory. } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java index de9bd048..1a0aa347 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java @@ -3,7 +3,7 @@ package de.hysky.skyblocker.skyblock.dungeon; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.component.DataComponentTypes; import net.minecraft.item.ItemStack; @@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack; import java.util.ArrayList; import java.util.List; -public class CroesusHelper extends ContainerSolver { +public class CroesusHelper extends SimpleContainerSolver { public CroesusHelper() { super("^Croesus$"); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java index e0bb2748..82acc3f2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java @@ -3,7 +3,7 @@ package de.hysky.skyblocker.skyblock.dungeon; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; @@ -17,7 +17,7 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class CroesusProfit extends ContainerSolver { +public class CroesusProfit extends SimpleContainerSolver { private static final Pattern ESSENCE_PATTERN = Pattern.compile("(?<type>[A-Za-z]+) Essence x(?<amount>\\d+)"); public CroesusProfit() { super(".*Catacombs - Floor.*"); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java index 4ee81256..6cbb86ec 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java @@ -1,9 +1,9 @@ package de.hysky.skyblocker.skyblock.dungeon.terminal; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.utils.container.AbstractContainerSolver; -import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; +import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -17,7 +17,7 @@ import org.slf4j.LoggerFactory; import java.util.*; -public final class ColorTerminal extends ContainerSolver implements TerminalSolver { +public final class ColorTerminal extends SimpleContainerSolver implements TerminalSolver { private static final Logger LOGGER = LoggerFactory.getLogger(ColorTerminal.class.getName()); private static final Map<String, DyeColor> colorFromName; private DyeColor targetColor; @@ -35,7 +35,7 @@ public final class ColorTerminal extends ContainerSolver implements TerminalSolv @Override public List<ColorHighlight> getColors(Int2ObjectMap<ItemStack> slots) { - AbstractContainerSolver.trimEdges(slots, 6); + ContainerSolver.trimEdges(slots, 6); List<ColorHighlight> highlights = new ArrayList<>(); String colorString = groups[0]; if (targetColor == null) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/LightsOnTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/LightsOnTerminal.java index 2c024633..741a2f9b 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/LightsOnTerminal.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/LightsOnTerminal.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.skyblock.dungeon.terminal; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.item.ItemStack; @@ -13,7 +13,7 @@ import java.util.List; * * This doesn't solve the terminal because you don't need a solver for it, but rather to simply allow for click blocking. */ -public final class LightsOnTerminal extends ContainerSolver implements TerminalSolver { +public final class LightsOnTerminal extends SimpleContainerSolver implements TerminalSolver { private static final List<ColorHighlight> EMPTY = List.of(); public LightsOnTerminal() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java index e628cf8f..8e7b619c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java @@ -1,9 +1,9 @@ package de.hysky.skyblocker.skyblock.dungeon.terminal; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.utils.container.AbstractContainerSolver; -import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; +import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -public final class OrderTerminal extends ContainerSolver implements TerminalSolver { +public final class OrderTerminal extends SimpleContainerSolver implements TerminalSolver { private static final int PANES_NUM = 14; private int[] orderedSlots; private int currentNum = Integer.MAX_VALUE; @@ -43,7 +43,7 @@ public final class OrderTerminal extends ContainerSolver implements TerminalSolv } public boolean orderSlots(Int2ObjectMap<ItemStack> slots) { - AbstractContainerSolver.trimEdges(slots, 4); + ContainerSolver.trimEdges(slots, 4); orderedSlots = new int[PANES_NUM]; for(Int2ObjectMap.Entry<ItemStack> slot : slots.int2ObjectEntrySet()) { if(Items.AIR.equals(slot.getValue().getItem())) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java index a9ff0e80..893e9f61 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java @@ -1,9 +1,9 @@ package de.hysky.skyblocker.skyblock.dungeon.terminal; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.utils.container.AbstractContainerSolver; -import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; +import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectSet; @@ -14,7 +14,7 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; -public final class StartsWithTerminal extends ContainerSolver implements TerminalSolver { +public final class StartsWithTerminal extends SimpleContainerSolver implements TerminalSolver { private final Int2ObjectOpenHashMap<ItemState> trackedItemStates = new Int2ObjectOpenHashMap<>(); private int lastKnownScreenId = Integer.MIN_VALUE; @@ -29,7 +29,7 @@ public final class StartsWithTerminal extends ContainerSolver implements Termina @Override public List<ColorHighlight> getColors(Int2ObjectMap<ItemStack> slots) { - AbstractContainerSolver.trimEdges(slots, 6); + ContainerSolver.trimEdges(slots, 6); setupState(slots); String prefix = groups[0]; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java index 6339eb39..8d9b8311 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java @@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.experiment; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.config.configs.HelperConfig; -import de.hysky.skyblocker.utils.container.ContainerSolver; +import de.hysky.skyblocker.utils.container.SimpleContainerSolver; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull; import java.util.HashMap; import java.util.Map; -public abstract sealed class ExperimentSolver extends ContainerSolver permits ChronomatronSolver, SuperpairsSolver, UltrasequencerSolver { +public abstract sealed class ExperimentSolver extends SimpleContainerSolver permits ChronomatronSolver, SuperpairsSolver, UltrasequencerSolver { public enum State { REMEMBER, WAIT, SHOW, END } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java index 796c80ee..f39c1ffe 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java @@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.experiment; import de.hysky.skyblocker.config.configs.HelperConfig; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.container.AbstractContainerSolver; +import de.hysky.skyblocker.utils.container.ContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; @@ -56,7 +56,7 @@ public final class UltrasequencerSolver extends ExperimentSolver { case WAIT -> { if (genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString().startsWith("Timer: ")) { setState(State.SHOW); - AbstractContainerSolver.markHighlightsDirty(); + ContainerSolver.markHighlightsDirty(); } } case END -> { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java index 7ac403df..068640e4 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SimpleSlotTextAdder.java @@ -12,13 +12,13 @@ import java.util.regex.Pattern; * Simple implementation of a slot text adder. * Extend this class and add it to {@link SlotTextManager#adders} to add text to any arbitrary slot. */ -public abstract class SlotTextAdder extends RegexContainerMatcher implements AbstractSlotTextAdder { +public abstract class SimpleSlotTextAdder extends RegexContainerMatcher implements AbstractSlotTextAdder { /** * Utility constructor that will compile the given string into a pattern. * - * @see #SlotTextAdder(Pattern) + * @see #SimpleSlotTextAdder(Pattern) */ - protected SlotTextAdder(@NotNull @Language("RegExp") String titlePattern) { + protected SimpleSlotTextAdder(@NotNull @Language("RegExp") String titlePattern) { super(titlePattern); } @@ -27,14 +27,14 @@ public abstract class SlotTextAdder extends RegexContainerMatcher implements Abs * * @param titlePattern The pattern to match the screen title against. */ - protected SlotTextAdder(@NotNull Pattern titlePattern) { + protected SimpleSlotTextAdder(@NotNull Pattern titlePattern) { super(titlePattern); } /** * Creates a SlotTextAdder that will be applied to all screens. */ - protected SlotTextAdder() { + protected SimpleSlotTextAdder() { super(); } 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 33259172..8f3e55a2 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 @@ -2,7 +2,7 @@ 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.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import it.unimi.dsi.fastutil.objects.Object2ObjectMap; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class AttributeShardAdder extends SlotTextAdder { +public class AttributeShardAdder extends SimpleSlotTextAdder { private static final Object2ObjectMap<String, String> ID_2_SHORT_NAME = new Object2ObjectOpenHashMap<>(); static { 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 f4066313..6c95c11e 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; @@ -19,7 +19,7 @@ public class CatacombsLevelAdder { private CatacombsLevelAdder() { } - public static class Dungeoneering extends SlotTextAdder { + public static class Dungeoneering extends SimpleSlotTextAdder { private static final Pattern LEVEL_PATTERN = Pattern.compile(".*?(?:(?<arabic>\\d+)|(?<roman>\\S+))? ?✯?"); public Dungeoneering() { super("^Dungeoneering"); @@ -52,7 +52,7 @@ public class CatacombsLevelAdder { } } - public static class DungeonClasses extends SlotTextAdder { + 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. @@ -73,7 +73,7 @@ public class CatacombsLevelAdder { } } - public static class ReadyUp extends SlotTextAdder { + public static class ReadyUp extends SimpleSlotTextAdder { public ReadyUp() { super("^Ready Up"); 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 016f20b4..2eb491d4 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; @@ -12,7 +12,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class CollectionAdder extends SlotTextAdder { +public class CollectionAdder extends SimpleSlotTextAdder { private static final Pattern COLLECTION = Pattern.compile("^[\\w ]+ (?<level>[IVXLCDM]+)$"); public CollectionAdder() { 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 924900e8..684f9ae2 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class CommunityShopAdder extends SlotTextAdder { +public class CommunityShopAdder extends SimpleSlotTextAdder { private static final byte CATEGORIES_START = 10; private static final byte CATEGORIES_END = 14; //Inclusive private static byte currentScreen = -1; // 0 = city projects, 1 = upgrades, 2 = booster cookie, 3 = bits shop, 4 = fire sales, any other number = invalid 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 2c6fe4e4..0535f110 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class EnchantmentLevelAdder extends SlotTextAdder { +public class EnchantmentLevelAdder extends SimpleSlotTextAdder { public EnchantmentLevelAdder() { super(); } 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 1a3e889e..3d8d935b 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; @@ -14,7 +14,7 @@ import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class EssenceShopAdder extends SlotTextAdder { +public class EssenceShopAdder extends SimpleSlotTextAdder { private static final Pattern ESSENCELEVEL = Pattern.compile("^[\\w ]+ (?<level>[IVXLCDM]+)$"); private static final Pattern UNLOCKED = Pattern.compile("UNLOCKED"); private static final Pattern ESSENCE = Pattern.compile("Your \\w+ Essence: (?<essence>[\\d,]+)"); 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 ee4bd356..1282354b 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -12,7 +12,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class MinionLevelAdder extends SlotTextAdder { +public class MinionLevelAdder extends SimpleSlotTextAdder { private static final Pattern MINION_PATTERN = Pattern.compile(".* Minion ([IVXLCDM]+)"); public MinionLevelAdder() { super(); 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 27ed7aa0..b7cc50fc 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class PetLevelAdder extends SlotTextAdder { +public class PetLevelAdder extends SimpleSlotTextAdder { public PetLevelAdder() { super(); } 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 94d1b8c0..770a9c0e 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class PotionLevelAdder extends SlotTextAdder { +public class PotionLevelAdder extends SimpleSlotTextAdder { @Override public @NotNull List<SlotText> getText(@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 0f3d6b24..a09d8782 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; @@ -11,7 +11,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class PowerStonesGuideAdder extends SlotTextAdder { +public class PowerStonesGuideAdder extends SimpleSlotTextAdder { private static final Pattern LEARNED = Pattern.compile("Learned: (Yes|Not Yet) (?<symbol>[✖✔])"); public PowerStonesGuideAdder() { 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 63cb4bd8..936b61a1 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 @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class PrehistoricEggAdder extends SlotTextAdder { +public class PrehistoricEggAdder extends SimpleSlotTextAdder { @Override public @NotNull List<SlotText> getText(@NotNull ItemStack stack, int slotId) { if (!stack.isOf(Items.PLAYER_HEAD) || !StringUtils.equals(stack.getSkyblockId(), "PREHISTORIC_EGG")) return List.of(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java index 4762c0fd..9bea52d0 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/RancherBootsSpeedAdder.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -13,7 +13,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class RancherBootsSpeedAdder extends SlotTextAdder { +public class RancherBootsSpeedAdder extends SimpleSlotTextAdder { private static final Pattern SPEED_PATTERN = Pattern.compile("Current Speed Cap: (\\d+) ?(\\d+)?"); public RancherBootsSpeedAdder() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java index 541e2058..7e9420f9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkillLevelAdder.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.RomanNumerals; import net.minecraft.item.ItemStack; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class SkillLevelAdder extends SlotTextAdder { +public class SkillLevelAdder extends SimpleSlotTextAdder { public SkillLevelAdder() { super("^Your Skills"); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkyblockLevelAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkyblockLevelAdder.java index e64dce1f..061f99c9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkyblockLevelAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/SkyblockLevelAdder.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class SkyblockLevelAdder extends SlotTextAdder { +public class SkyblockLevelAdder extends SimpleSlotTextAdder { public SkyblockLevelAdder() { super("^SkyBlock Menu"); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/StatsTuningAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/StatsTuningAdder.java index 45c53fd0..e94fddc5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/StatsTuningAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/StatsTuningAdder.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; @@ -11,7 +11,7 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class StatsTuningAdder extends SlotTextAdder { +public class StatsTuningAdder extends SimpleSlotTextAdder { private static final Pattern STATHAS = Pattern.compile("Stat has: (?<points>\\d+) (points|point)"); private static final Pattern UNASSIGNEDPOINTS = Pattern.compile("Unassigned Points: (?<points>\\d+)!!!"); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/YourEssenceAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/YourEssenceAdder.java index f68b36a8..f5a5886f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/YourEssenceAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/adders/YourEssenceAdder.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.slottext.adders; import de.hysky.skyblocker.skyblock.item.slottext.SlotText; -import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; +import de.hysky.skyblocker.skyblock.item.slottext.SimpleSlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; @@ -13,7 +13,7 @@ import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class YourEssenceAdder extends SlotTextAdder { +public class YourEssenceAdder extends SimpleSlotTextAdder { private static final Pattern ESSENCE = Pattern.compile("You currently own (?<essence>[\\d,]+)"); public YourEssenceAdder() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipAdder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/SimpleTooltipAdder.java index 84571149..d9533da3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipAdder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/SimpleTooltipAdder.java @@ -11,7 +11,7 @@ import java.util.regex.Pattern; * Simple implementation of a tooltip adder. * Extend this class and add it to {@link TooltipManager#adders} to add additional text to tooltips. */ -public abstract class TooltipAdder extends RegexContainerMatcher implements AbstractTooltipAdder { +public abstract class SimpleTooltipAdder extends RegexContainerMatcher implements AbstractTooltipAdder { /** * The priority of this adder. Lower priority means it will be applied first. * @apiNote Consider adding this as a parameter to your class' constructor and @@ -22,9 +22,9 @@ public abstract class TooltipAdder extends RegexContainerMatcher implements Abst /** * Utility constructor that will compile the given string into a pattern. * - * @see #TooltipAdder(Pattern, int) + * @see #SimpleTooltipAdder(Pattern, int) */ - protected TooltipAdder(@NotNull @Language("RegExp") String titlePattern, int priority) { + protected SimpleTooltipAdder(@NotNull @Language("RegExp") String titlePattern, int priority) { super(titlePattern); this.priority = priority; } @@ -35,7 +35,7 @@ public abstract class TooltipAdder extends RegexContainerMatcher implements Abst * @param titlePattern The pattern to match the screen title against. * @param priority The priority of this adder. Lower priority means it will be applied first. */ - protected TooltipAdder(@NotNull Pattern titlePattern, int priority) { + protected SimpleTooltipAdder(@NotNull Pattern titlePattern, int priority) { super(titlePattern); this.priority = priority; } @@ -45,7 +45,7 @@ public abstract class TooltipAdder extends RegexContainerMatcher implements Abst * * @param priority The priority of this adder. Lower priority means it will be applied first. */ - protected TooltipAdder(int priority) { + protected SimpleTooltipAdder(int priority) { super(); this.priority = priority; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AccessoryTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AccessoryTooltip.java index 0aeb1cc6..a5e13501 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AccessoryTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AccessoryTooltip.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.skyblock.item.tooltip.AccessoriesHelper; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import it.unimi.dsi.fastutil.Pair; import net.minecraft.item.ItemStack; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class AccessoryTooltip extends TooltipAdder { +public class AccessoryTooltip extends SimpleTooltipAdder { public AccessoryTooltip(int priority) { super(priority); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AvgBinTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AvgBinTooltip.java index 1f0180ff..e81879af 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AvgBinTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/AvgBinTooltip.java @@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.config.configs.GeneralConfig; import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class AvgBinTooltip extends TooltipAdder { +public class AvgBinTooltip extends SimpleTooltipAdder { public AvgBinTooltip(int priority) { super(priority); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/BazaarPriceTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/BazaarPriceTooltip.java index 36023182..658c50a9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/BazaarPriceTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/BazaarPriceTooltip.java @@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import com.google.gson.JsonObject; import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class BazaarPriceTooltip extends TooltipAdder { +public class BazaarPriceTooltip extends SimpleTooltipAdder { public static boolean bazaarExist = false; public BazaarPriceTooltip(int priority) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ColorTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ColorTooltip.java index d66ca378..8d9d8fbb 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ColorTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ColorTooltip.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import de.hysky.skyblocker.utils.Constants; import de.hysky.skyblocker.utils.ItemUtils; @@ -18,7 +18,7 @@ import org.slf4j.LoggerFactory; import java.util.List; -public class ColorTooltip extends TooltipAdder { +public class ColorTooltip extends SimpleTooltipAdder { private static final Logger LOGGER = LoggerFactory.getLogger(ColorTooltip.class); public ColorTooltip(int priority) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/DungeonQualityTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/DungeonQualityTooltip.java index 4cd1d2b5..f6efc2f2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/DungeonQualityTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/DungeonQualityTooltip.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class DungeonQualityTooltip extends TooltipAdder { +public class DungeonQualityTooltip extends SimpleTooltipAdder { public DungeonQualityTooltip(int priority) { super(priority); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LBinTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LBinTooltip.java index b2186203..aa90bf09 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LBinTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LBinTooltip.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class LBinTooltip extends TooltipAdder { +public class LBinTooltip extends SimpleTooltipAdder { public static boolean lbinExist = false; public LBinTooltip(int priority) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LineSmoothener.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LineSmoothener.java index c459f76b..347abdad 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LineSmoothener.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/LineSmoothener.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; import net.minecraft.text.Text; @@ -9,7 +9,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class LineSmoothener extends TooltipAdder { +public class LineSmoothener extends SimpleTooltipAdder { //This is static to not create a new text object for each line in every item private static final Text BUMPY_LINE = Text.literal("-----------------").formatted(Formatting.DARK_GRAY, Formatting.STRIKETHROUGH); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MotesTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MotesTooltip.java index 6a612594..42348b78 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MotesTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MotesTooltip.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Locale; -public class MotesTooltip extends TooltipAdder { +public class MotesTooltip extends SimpleTooltipAdder { public MotesTooltip(int priority) { super(priority); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MuseumTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MuseumTooltip.java index e6e06064..fcc9bd97 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MuseumTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/MuseumTooltip.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.skyblock.item.MuseumItemCache; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; @@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class MuseumTooltip extends TooltipAdder { +public class MuseumTooltip extends SimpleTooltipAdder { public MuseumTooltip(int priority) { super(priority); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java index fcdd15e6..17cb80e3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/NpcPriceTooltip.java @@ -1,7 +1,7 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import net.minecraft.item.ItemStack; import net.minecraft.screen.slot.Slot; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public class NpcPriceTooltip extends TooltipAdder { +public class NpcPriceTooltip extends SimpleTooltipAdder { public NpcPriceTooltip(int priority) { super(priority); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ObtainedDateTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ObtainedDateTooltip.java index fc3ac28d..31aa3de4 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ObtainedDateTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/ObtainedDateTooltip.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; @@ -18,7 +18,7 @@ import java.time.temporal.TemporalAccessor; import java.util.List; import java.util.Locale; -public class ObtainedDateTooltip extends TooltipAdder { +public class ObtainedDateTooltip extends SimpleTooltipAdder { private static final DateTimeFormatter OBTAINED_DATE_FORMATTER = DateTimeFormatter.ofPattern("MMMM d, yyyy").withZone(ZoneId.systemDefault()).localizedBy(Locale.ENGLISH); private static final DateTimeFormatter OLD_OBTAINED_DATE_FORMAT = DateTimeFormatter.ofPattern("M/d/yy h:m a").withZone(ZoneId.of("UTC")).localizedBy(Locale.ENGLISH); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/SupercraftReminder.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/SupercraftReminder.java index 767832c0..c34e1650 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/SupercraftReminder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/SupercraftReminder.java @@ -1,6 +1,6 @@ package de.hysky.skyblocker.skyblock.item.tooltip.adders; -import de.hysky.skyblocker.skyblock.item.tooltip.TooltipAdder; +import de.hysky.skyblocker.skyblock.item.tooltip.SimpleTooltipAdder; import de.hysky.skyblocker.utils.ItemUtils; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; @@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.regex.Pattern; -public class SupercraftReminder extends TooltipAdder { +public class SupercraftReminder extends SimpleTooltipAdder { private static final byte SUPERCRAFT_SLOT = 32; private static final byte RECIPE_RESULT_SLOT = 25; diff --git a/src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerSolver.java b/src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerSolver.java deleted file mode 100644 index d4c52212..00000000 --- a/src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerSolver.java +++ /dev/null @@ -1,36 +0,0 @@ -package de.hysky.skyblocker.utils.container; - -import de.hysky.skyblocker.SkyblockerMod; -import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; -import net.minecraft.item.ItemStack; - -import java.util.List; - -public interface AbstractContainerSolver extends AbstractContainerMatcher { - List<ColorHighlight> getColors(Int2ObjectMap<ItemStack> slots); - - default void start(GenericContainerScreen screen) {} - - default void reset() {} - - default boolean onClickSlot(int slot, ItemStack stack, int screenId) { - return false; - } - - static void markHighlightsDirty() { - SkyblockerMod.getInstance().containerSolverManager.markDirty(); - } - - static void trimEdges(Int2ObjectMap<ItemStack> slots, int rows) { - for (int i = 0; i < rows; i++) { - slots.remove(9 * i); - slots.remove(9 * i + 8); - } - for (int i = 1; i < 8; i++) { - slots.remove(i); - slots.remove((rows - 1) * 9 + i); - } - } -} diff --git a/src/main/java/de/hysky/skyblocker/utils/container/AbstractSlotTextAdder.java b/src/main/java/de/hysky/skyblocker/utils/container/AbstractSlotTextAdder.java index fce3fcf5..5e13c644 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/AbstractSlotTextAdder.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/AbstractSlotTextAdder.java @@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public interface AbstractSlotTextAdder extends AbstractContainerMatcher { +public interface AbstractSlotTextAdder extends ContainerMatcher { /** * This method will be called for each rendered slot. Consider using a switch statement on {@code slotId} if you wish to limit the text to specific slots. diff --git a/src/main/java/de/hysky/skyblocker/utils/container/AbstractTooltipAdder.java b/src/main/java/de/hysky/skyblocker/utils/container/AbstractTooltipAdder.java index 3cc84f35..5da64f52 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/AbstractTooltipAdder.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/AbstractTooltipAdder.java @@ -7,7 +7,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public interface AbstractTooltipAdder extends AbstractContainerMatcher { +public interface AbstractTooltipAdder extends ContainerMatcher { /** * @implNote The first element of the lines list holds the item's display name, * as it's a list of all lines that will be displayed in the tooltip. diff --git a/src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerMatcher.java b/src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java index 5509b9a4..52418f22 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerMatcher.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java @@ -3,7 +3,7 @@ package de.hysky.skyblocker.utils.container; import net.minecraft.client.gui.screen.ingame.HandledScreen; import org.jetbrains.annotations.NotNull; -public interface AbstractContainerMatcher { +public interface ContainerMatcher { /** * Tests if the given screen should be handled by this matcher. * @return {@code true} if this matcher should apply to the given screen, {@code false} otherwise diff --git a/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolver.java b/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolver.java index 6d3240ea..f3cb400e 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolver.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolver.java @@ -1,38 +1,36 @@ package de.hysky.skyblocker.utils.container; -import org.intellij.lang.annotations.Language; -import org.jetbrains.annotations.NotNull; - -import java.util.regex.Pattern; - -/** - * Simple implementation of a container solver. Extend this class to add a new gui solver, - * like terminal solvers or experiment solvers and add it to {@link ContainerSolverManager#solvers}. - */ -public abstract class ContainerSolver extends RegexContainerMatcher implements AbstractContainerSolver { - /** - * Utility constructor that will compile the given string into a pattern. - * - * @see #ContainerSolver(Pattern) - */ - protected ContainerSolver(@NotNull @Language("RegExp") String titlePattern) { - super(titlePattern); - } - - /** - * Creates a ContainerSolver that will be applied to screens with titles that match the given pattern. - * - * @param titlePattern The pattern to match the screen title against. - */ - protected ContainerSolver(@NotNull Pattern titlePattern) { - super(titlePattern); - } - - // A container solver that applies to every screen doesn't make sense, - // so we don't provide a constructor for that and force getTitlePattern to be @NotNull - @Override - public @NotNull Pattern getTitlePattern() { - assert super.getTitlePattern() != null; - return super.getTitlePattern(); - } +import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.utils.render.gui.ColorHighlight; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public interface ContainerSolver extends ContainerMatcher { + List<ColorHighlight> getColors(Int2ObjectMap<ItemStack> slots); + + default void start(GenericContainerScreen screen) {} + + default void reset() {} + + default boolean onClickSlot(int slot, ItemStack stack, int screenId) { + return false; + } + + static void markHighlightsDirty() { + SkyblockerMod.getInstance().containerSolverManager.markDirty(); + } + + static void trimEdges(Int2ObjectMap<ItemStack> slots, int rows) { + for (int i = 0; i < rows; i++) { + slots.remove(9 * i); + slots.remove(9 * i + 8); + } + for (int i = 1; i < 8; i++) { + slots.remove(i); + slots.remove((rows - 1) * 9 + i); + } + } } diff --git a/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolverManager.java b/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolverManager.java index 77833a67..1e2bce16 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolverManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/ContainerSolverManager.java @@ -29,11 +29,11 @@ import org.jetbrains.annotations.NotNull; import java.util.List; /** - * Manager class for {@link ContainerSolver}s like terminal solvers and experiment solvers. To add a new gui solver, extend {@link ContainerSolver} and register it in {@link #ContainerSolverManager()}. + * Manager class for {@link SimpleContainerSolver}s like terminal solvers and experiment solvers. To add a new gui solver, extend {@link SimpleContainerSolver} and register it in {@link #ContainerSolverManager()}. */ public class ContainerSolverManager { - private final AbstractContainerSolver[] solvers; - private AbstractContainerSolver currentSolver = null; + private final ContainerSolver[] solvers; + private ContainerSolver currentSolver = null; private List<ColorHighlight> highlights; /** * Useful for keeping track of a solver's state in a Screen instance, such as if Hypixel closes & reopens a screen after every click (as they do with terminals). @@ -41,7 +41,7 @@ public class ContainerSolverManager { private int screenId = 0; public ContainerSolverManager() { - solvers = new AbstractContainerSolver[]{ + solvers = new ContainerSolver[]{ new ColorTerminal(), new OrderTerminal(), new StartsWithTerminal(), @@ -57,7 +57,7 @@ public class ContainerSolverManager { }; } - public AbstractContainerSolver getCurrentSolver() { + public ContainerSolver getCurrentSolver() { return currentSolver; } @@ -81,9 +81,9 @@ public class ContainerSolverManager { public void onSetScreen(@NotNull GenericContainerScreen screen) { String screenName = screen.getTitle().getString(); - for (AbstractContainerSolver solver : solvers) { + for (ContainerSolver solver : solvers) { if (solver.isEnabled()) { - if (solver instanceof ContainerSolver containerSolver && containerSolver.test(screenName)) { + if (solver instanceof SimpleContainerSolver containerSolver && containerSolver.test(screenName)) { ++screenId; currentSolver = containerSolver; currentSolver.start(screen); diff --git a/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java b/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java index a8a8e3c2..4df0fe1a 100644 --- a/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java +++ b/src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java @@ -10,9 +10,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** - * A regex implementation of {@link AbstractContainerMatcher} that matches the title of the screen. + * A regex implementation of {@link ContainerMatcher} that matches the title of the screen. */ -public abstract class RegexContainerMatcher implements AbstractContainerMatcher { +public abstract class RegexContainerMatcher implements ContainerMatcher { /** * The title of the screen must match this pattern for this to be applied. Null means it will be applied to all screens. * diff --git a/src/main/java/de/hysky/skyblocker/utils/container/SimpleContainerSolver.java b/src/main/java/de/hysky/skyblocker/utils/container/SimpleContainerSolver.java new file mode 100644 index 00000000..7d8b7417 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/utils/container/SimpleContainerSolver.java @@ -0,0 +1,38 @@ +package de.hysky.skyblocker.utils.container; + +import org.intellij.lang.annotations.Language; +import org.jetbrains.annotations.NotNull; + +import java.util.regex.Pattern; + +/** + * Simple implementation of a container solver. Extend this class to add a new gui solver, + * like terminal solvers or experiment solvers and add it to {@link ContainerSolverManager#solvers}. + */ +public abstract class SimpleContainerSolver extends RegexContainerMatcher implements ContainerSolver { + /** + * Utility constructor that will compile the given string into a pattern. + * + * @see #SimpleContainerSolver(Pattern) + */ + protected SimpleContainerSolver(@NotNull @Language("RegExp") String titlePattern) { + super(titlePattern); + } + + /** + * Creates a ContainerSolver that will be applied to screens with titles that match the given pattern. + * + * @param titlePattern The pattern to match the screen title against. + */ + protected SimpleContainerSolver(@NotNull Pattern titlePattern) { + super(titlePattern); + } + + // A container solver that applies to every screen doesn't make sense, + // so we don't provide a constructor for that and force getTitlePattern to be @NotNull + @Override + public @NotNull Pattern getTitlePattern() { + assert super.getTitlePattern() != null; + return super.getTitlePattern(); + } +} |