diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-06-21 07:43:33 +0300 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-07-22 14:22:55 +0800 |
commit | 99dd2eb4e024c6b5d6355eef342af63649d9fb08 (patch) | |
tree | 597e659332f4f050460baeee314742bddcc423eb /src/main/java/de/hysky/skyblocker/utils | |
parent | 8f540ffc0f2e6dc90f8c9a1ac249ff9185243d3c (diff) | |
download | Skyblocker-99dd2eb4e024c6b5d6355eef342af63649d9fb08.tar.gz Skyblocker-99dd2eb4e024c6b5d6355eef342af63649d9fb08.tar.bz2 Skyblocker-99dd2eb4e024c6b5d6355eef342af63649d9fb08.zip |
Rename AbstractContainerMatcher and its extending interfaces to remove the `Abstract` prefix and rename simple implementations with a `Simple` prefix
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerSolver.java | 36 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/AbstractSlotTextAdder.java | 2 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/AbstractTooltipAdder.java | 2 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/ContainerMatcher.java (renamed from src/main/java/de/hysky/skyblocker/utils/container/AbstractContainerMatcher.java) | 2 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/ContainerSolver.java | 68 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/ContainerSolverManager.java | 14 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/RegexContainerMatcher.java | 4 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/utils/container/SimpleContainerSolver.java | 38 |
8 files changed, 83 insertions, 83 deletions
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(); + } +} |