diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-06-16 16:34:16 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-06-24 12:57:16 +0800 |
commit | 4a1075ce0e7c7bb53179820c44f639ce79fe7404 (patch) | |
tree | 6f1827da95d5718095236c423a9f3b155d2795dd /src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java | |
parent | 579feae3e4a2231bf7e6f98977762bf38b762f3b (diff) | |
download | Skyblocker-4a1075ce0e7c7bb53179820c44f639ce79fe7404.tar.gz Skyblocker-4a1075ce0e7c7bb53179820c44f639ce79fe7404.tar.bz2 Skyblocker-4a1075ce0e7c7bb53179820c44f639ce79fe7404.zip |
Add Chronomatron Solver
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java index 354e7e3a..43bf32d7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java @@ -6,6 +6,9 @@ import me.xmrvizzy.skyblocker.skyblock.dungeon.CroesusHelper; import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.ColorTerminal; import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.OrderTerminal; import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.StartsWithTerminal; +import me.xmrvizzy.skyblocker.skyblock.experiment.ChronomatronSolver; +import me.xmrvizzy.skyblocker.skyblock.experiment.SuperpairsSolver; +import me.xmrvizzy.skyblocker.skyblock.experiment.UltrasequencerSolver; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.DrawContext; @@ -36,10 +39,17 @@ public class ContainerSolverManager { new ColorTerminal(), new OrderTerminal(), new StartsWithTerminal(), - new CroesusHelper() + new CroesusHelper(), + new ChronomatronSolver(), + new SuperpairsSolver(), + new UltrasequencerSolver() }; } + public ContainerSolver getCurrentSolver() { + return currentSolver; + } + public void init() { ScreenEvents.BEFORE_INIT.register((client, screen, scaledWidth, scaledHeight) -> { if (Utils.isOnSkyblock() && screen instanceof GenericContainerScreen genericContainerScreen) { @@ -50,6 +60,7 @@ public class ContainerSolverManager { onDraw(context, genericContainerScreen.getScreenHandler().slots.subList(0, genericContainerScreen.getScreenHandler().getRows() * 9)); matrices.pop(); }); + ScreenEvents.remove(screen).register(screen1 -> clearScreen()); onSetScreen(genericContainerScreen); } else { clearScreen(); @@ -67,16 +78,19 @@ public class ContainerSolverManager { if (matcher.matches()) { currentSolver = solver; groups = new String[matcher.groupCount()]; - for (int i = 0; i < groups.length; i++) + for (int i = 0; i < groups.length; i++) { groups[i] = matcher.group(i + 1); + } + currentSolver.start(screen); return; } } } - currentSolver = null; + clearScreen(); } public void clearScreen() { + currentSolver.reset(); currentSolver = null; } |