diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-05-20 16:47:47 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-20 16:47:47 -0400 |
commit | 610c64758fc8d0b8bea0145c33881b60c0747bd7 (patch) | |
tree | 7fab689eabab69c4d7c9fa41b46e2114f01651c3 /src/main/java | |
parent | d96de114335070dd177ac9206a3a96ac08bc40a6 (diff) | |
download | Skyblocker-610c64758fc8d0b8bea0145c33881b60c0747bd7.tar.gz Skyblocker-610c64758fc8d0b8bea0145c33881b60c0747bd7.tar.bz2 Skyblocker-610c64758fc8d0b8bea0145c33881b60c0747bd7.zip |
Make TerminalSolver interface & ExperimentSolver class sealed (#722)
* Make TerminalSolver interface sealed
* Make ExperimentSolver class sealed
Diffstat (limited to 'src/main/java')
9 files changed, 9 insertions, 12 deletions
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 833e85a3..2abe5183 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 @@ -16,7 +16,7 @@ import org.slf4j.LoggerFactory; import java.util.*; -public class ColorTerminal extends ContainerSolver implements TerminalSolver { +public final class ColorTerminal extends ContainerSolver implements TerminalSolver { private static final Logger LOGGER = LoggerFactory.getLogger(ColorTerminal.class.getName()); private static final Map<String, DyeColor> colorFromName; private DyeColor targetColor; 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 67b51c22..4975b90b 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 @@ -13,7 +13,7 @@ import net.minecraft.item.Items; * * This doesn't solve the terminal because you don't need a solver for it, but rather to simply allow for click blocking. */ -public class LightsOnTerminal extends ContainerSolver implements TerminalSolver { +public final class LightsOnTerminal extends ContainerSolver 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 e980a136..05998988 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 @@ -11,7 +11,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -public class OrderTerminal extends ContainerSolver implements TerminalSolver { +public final class OrderTerminal extends ContainerSolver implements TerminalSolver { private final int PANES_NUM = 14; private int[] orderedSlots; private int currentNum = Integer.MAX_VALUE; 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 51a778a5..8b0f1801 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 @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; -public class StartsWithTerminal extends ContainerSolver implements TerminalSolver { +public final class StartsWithTerminal extends ContainerSolver implements TerminalSolver { private final Int2ObjectOpenHashMap<ItemState> trackedItemStates = new Int2ObjectOpenHashMap<>(); private int lastKnownScreenId = Integer.MIN_VALUE; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/TerminalSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/TerminalSolver.java index 7a7cd6bb..f20c35b5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/TerminalSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/TerminalSolver.java @@ -2,7 +2,7 @@ package de.hysky.skyblocker.skyblock.dungeon.terminal; import de.hysky.skyblocker.config.SkyblockerConfigManager; -public interface TerminalSolver { +public sealed interface TerminalSolver permits ColorTerminal, LightsOnTerminal, OrderTerminal, StartsWithTerminal { default boolean shouldBlockIncorrectClicks() { return SkyblockerConfigManager.get().dungeons.terminals.blockIncorrectClicks; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java index f43b1842..308452ef 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java @@ -2,7 +2,6 @@ package de.hysky.skyblocker.skyblock.experiment; import com.google.common.collect.ImmutableMap; -import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.configs.HelperConfig; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; @@ -17,7 +16,7 @@ import java.util.AbstractMap; import java.util.ArrayList; import java.util.List; -public class ChronomatronSolver extends ExperimentSolver { +public final class ChronomatronSolver extends ExperimentSolver { public static final ImmutableMap<Item, Item> TERRACOTTA_TO_GLASS = ImmutableMap.ofEntries( new AbstractMap.SimpleImmutableEntry<>(Items.RED_TERRACOTTA, Items.RED_STAINED_GLASS), new AbstractMap.SimpleImmutableEntry<>(Items.ORANGE_TERRACOTTA, Items.ORANGE_STAINED_GLASS), 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 f91055c7..ad2800e0 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java @@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack; import java.util.HashMap; import java.util.Map; -public abstract class ExperimentSolver extends ContainerSolver { +public sealed abstract class ExperimentSolver extends ContainerSolver permits ChronomatronSolver, SuperpairsSolver, UltrasequencerSolver { public enum State { REMEMBER, WAIT, SHOW, END } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java index f4850bf8..5c2ed152 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java @@ -1,6 +1,5 @@ package de.hysky.skyblocker.skyblock.experiment; -import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.configs.HelperConfig; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; @@ -11,7 +10,7 @@ import net.minecraft.item.Items; import java.util.*; -public class SuperpairsSolver extends ExperimentSolver { +public final class SuperpairsSolver extends ExperimentSolver { private int superpairsPrevClickedSlot; private ItemStack superpairsCurrentSlot; private final Set<Integer> superpairsDuplicatedSlots = new HashSet<>(); 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 88f0e5c3..a4d1e4b6 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java @@ -1,6 +1,5 @@ package de.hysky.skyblocker.skyblock.experiment; -import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.configs.HelperConfig; import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; @@ -12,7 +11,7 @@ import net.minecraft.item.ItemStack; import java.util.ArrayList; import java.util.List; -public class UltrasequencerSolver extends ExperimentSolver { +public final class UltrasequencerSolver extends ExperimentSolver { public static final UltrasequencerSolver INSTANCE = new UltrasequencerSolver(); private int ultrasequencerNextSlot; |