aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2023-06-25 17:38:47 +0800
committerGitHub <noreply@github.com>2023-06-25 17:38:47 +0800
commitdc312c8db05bc9e9cd3f4fd8c039274270a4661b (patch)
treeccbdb1078307af5d68ffdaa7b524296ae8e34085 /src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
parentcfc0ecf96ef179b0cac0b31e90eca6e86fe2488e (diff)
parent9da77e918acd36fa21181db43a80c6ac9429e489 (diff)
downloadSkyblocker-dc312c8db05bc9e9cd3f4fd8c039274270a4661b.tar.gz
Skyblocker-dc312c8db05bc9e9cd3f4fd8c039274270a4661b.tar.bz2
Skyblocker-dc312c8db05bc9e9cd3f4fd8c039274270a4661b.zip
Merge pull request #186 from kevinthegreat1/experiments
Experiments Solvers
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java24
1 files changed, 20 insertions, 4 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..0c27704d 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,17 +78,22 @@ 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 = null;
+ if (currentSolver != null) {
+ currentSolver.reset();
+ currentSolver = null;
+ }
}
public void markDirty() {