aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-06-16 16:56:15 +0800
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-06-24 12:57:16 +0800
commite9c2a6916ff744c935c4330c259b641159ec9b80 (patch)
tree697d5f167becc2bd4b0ab886ca1656283ecb0934 /src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment
parent9f302adedceb0ab4f8ecd23cbb416f454fb688af (diff)
downloadSkyblocker-e9c2a6916ff744c935c4330c259b641159ec9b80.tar.gz
Skyblocker-e9c2a6916ff744c935c4330c259b641159ec9b80.tar.bz2
Skyblocker-e9c2a6916ff744c935c4330c259b641159ec9b80.zip
Fix Superpairs Solver initial state and refactor Experiment Solver fields to private
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java12
4 files changed, 23 insertions, 17 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java
index ee88b98f..1a6f0b55 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java
@@ -58,7 +58,7 @@ public class ChronomatronSolver extends ExperimentSolver {
@Override
protected void tick(Screen screen) {
if (isEnabled() && screen instanceof GenericContainerScreen genericContainerScreen && genericContainerScreen.getTitle().getString().startsWith("Chronomatron (")) {
- switch (state) {
+ switch (getState()) {
case REMEMBER -> {
Inventory inventory = genericContainerScreen.getScreenHandler().getInventory();
if (chronomatronCurrentSlot == 0) {
@@ -66,7 +66,7 @@ public class ChronomatronSolver extends ExperimentSolver {
if (inventory.getStack(index).hasEnchantments()) {
if (chronomatronSlots.size() <= chronomatronChainLengthCount) {
chronomatronSlots.add(TERRACOTTA_TO_GLASS.get(inventory.getStack(index).getItem()));
- state = State.WAIT;
+ setState(State.WAIT);
} else {
chronomatronChainLengthCount++;
}
@@ -80,7 +80,7 @@ public class ChronomatronSolver extends ExperimentSolver {
}
case WAIT -> {
if (genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString().startsWith("Timer: ")) {
- state = State.SHOW;
+ setState(State.SHOW);
}
}
case END -> {
@@ -89,7 +89,7 @@ public class ChronomatronSolver extends ExperimentSolver {
if (name.equals("Remember the pattern!")) {
chronomatronChainLengthCount = 0;
chronomatronCurrentOrdinal = 0;
- state = State.REMEMBER;
+ setState(State.REMEMBER);
} else {
reset();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java
index 91eabcfe..5dad908e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java
@@ -15,8 +15,8 @@ public abstract class ExperimentSolver extends ContainerSolver {
REMEMBER, WAIT, SHOW, END
}
- protected State state = State.REMEMBER;
- protected final Map<Integer, ItemStack> slots = new HashMap<>();
+ private State state = State.REMEMBER;
+ private final Map<Integer, ItemStack> slots = new HashMap<>();
protected ExperimentSolver(String containerName) {
super(containerName);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java
index 117bcdf3..f40b0fa0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java
@@ -32,16 +32,22 @@ public class SuperpairsSolver extends ExperimentSolver {
}
@Override
+ protected void start(GenericContainerScreen screen) {
+ super.start(screen);
+ setState(State.SHOW);
+ }
+
+ @Override
protected void tick(Screen screen) {
if (isEnabled() && screen instanceof GenericContainerScreen genericContainerScreen && genericContainerScreen.getTitle().getString().startsWith("Superpairs (")) {
- if (state == State.SHOW) {
+ if (getState() == State.SHOW) {
if (genericContainerScreen.getScreenHandler().getInventory().getStack(4).isOf(Items.CAULDRON)) {
reset();
- } else if (slots.get(superpairsPrevClickedSlot) == null) {
+ } else if (getSlots().get(superpairsPrevClickedSlot) == null) {
ItemStack itemStack = genericContainerScreen.getScreenHandler().getInventory().getStack(superpairsPrevClickedSlot);
if (!(itemStack.isOf(Items.CYAN_STAINED_GLASS) || itemStack.isOf(Items.BLACK_STAINED_GLASS_PANE) || itemStack.isOf(Items.AIR))) {
- slots.entrySet().stream().filter((entry -> ItemStack.areEqual(entry.getValue(), itemStack))).findAny().ifPresent(entry -> superpairsDuplicatedSlots.add(entry.getKey()));
- slots.put(superpairsPrevClickedSlot, itemStack);
+ getSlots().entrySet().stream().filter((entry -> ItemStack.areEqual(entry.getValue(), itemStack))).findAny().ifPresent(entry -> superpairsDuplicatedSlots.add(entry.getKey()));
+ getSlots().put(superpairsPrevClickedSlot, itemStack);
superpairsCurrentSlot = itemStack;
}
}
@@ -57,7 +63,7 @@ public class SuperpairsSolver extends ExperimentSolver {
for (Map.Entry<Integer, ItemStack> indexStack : displaySlots.entrySet()){
int index = indexStack.getKey();
ItemStack displayStack = indexStack.getValue();
- ItemStack stack = slots.get(index);
+ ItemStack stack = getSlots().get(index);
if (stack != null && !ItemStack.areEqual(stack, displayStack)) {
if (ItemStack.areEqual(superpairsCurrentSlot, stack) && displayStack.getName().getString().equals("Click a second button!")) {
highlights.add(ColorHighlight.green(index));
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java
index edda257c..90968fe2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java
@@ -34,7 +34,7 @@ public class UltrasequencerSolver extends ExperimentSolver {
@Override
protected void tick(Screen screen) {
if (isEnabled() && screen instanceof GenericContainerScreen genericContainerScreen && genericContainerScreen.getTitle().getString().startsWith("Ultrasequencer (")) {
- switch (state) {
+ switch (getState()) {
case REMEMBER -> {
Inventory inventory = genericContainerScreen.getScreenHandler().getInventory();
if (inventory.getStack(49).getName().getString().equals("Remember the pattern!")) {
@@ -45,23 +45,23 @@ public class UltrasequencerSolver extends ExperimentSolver {
if (name.equals("1")) {
ultrasequencerNextSlot = index;
}
- slots.put(index, itemStack);
+ getSlots().put(index, itemStack);
}
}
- state = State.WAIT;
+ setState(State.WAIT);
}
}
case WAIT -> {
if (genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString().startsWith("Timer: ")) {
- state = State.SHOW;
+ setState(State.SHOW);
}
}
case END -> {
String name = genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString();
if (!name.startsWith("Timer: ")) {
if (name.equals("Remember the pattern!")) {
- slots.clear();
- state = State.REMEMBER;
+ getSlots().clear();
+ setState(State.REMEMBER);
} else {
reset();
}