aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-06-17 12:52:19 +0800
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-06-24 12:57:16 +0800
commit28699078b09780e9447b72b2859bba46b0e8dca9 (patch)
tree9873c2a9db97c1856528321d2c43299e1d11d164 /src/main/java/me/xmrvizzy
parent631dd509925041c8ca6b63687fec565ecdff585d (diff)
downloadSkyblocker-28699078b09780e9447b72b2859bba46b0e8dca9.tar.gz
Skyblocker-28699078b09780e9447b72b2859bba46b0e8dca9.tar.bz2
Skyblocker-28699078b09780e9447b72b2859bba46b0e8dca9.zip
Fix solver detection and highlights
Diffstat (limited to 'src/main/java/me/xmrvizzy')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java11
3 files changed, 25 insertions, 28 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 1a6f0b55..40793169 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java
@@ -35,7 +35,7 @@ public class ChronomatronSolver extends ExperimentSolver {
private int chronomatronCurrentOrdinal;
public ChronomatronSolver() {
- super("^Chronomatron \\(");
+ super("^Chronomatron \\(\\w+\\)$");
}
public List<Item> getChronomatronSlots() {
@@ -104,12 +104,14 @@ public class ChronomatronSolver extends ExperimentSolver {
@Override
protected List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots) {
List<ColorHighlight> highlights = new ArrayList<>();
- for (Map.Entry<Integer, ItemStack> indexStack : slots.entrySet()) {
- int index = indexStack.getKey();
- ItemStack stack = indexStack.getValue();
- Item item = chronomatronSlots.get(chronomatronCurrentOrdinal);
- if (stack.isOf(item) || TERRACOTTA_TO_GLASS.get(stack.getItem()) == item) {
- highlights.add(ColorHighlight.green(index));
+ if (getState() == State.SHOW && chronomatronSlots.size() > chronomatronCurrentOrdinal) {
+ for (Map.Entry<Integer, ItemStack> indexStack : slots.entrySet()) {
+ int index = indexStack.getKey();
+ ItemStack stack = indexStack.getValue();
+ Item item = chronomatronSlots.get(chronomatronCurrentOrdinal);
+ if (stack.isOf(item) || TERRACOTTA_TO_GLASS.get(stack.getItem()) == item) {
+ highlights.add(ColorHighlight.green(index));
+ }
}
}
return highlights;
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 f40b0fa0..9f6e8b2a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java
@@ -15,7 +15,7 @@ public class SuperpairsSolver extends ExperimentSolver {
private final Set<Integer> superpairsDuplicatedSlots = new HashSet<>();
public SuperpairsSolver() {
- super("^Superpairs \\(");
+ super("^Superpairs \\(\\w+\\)$");
}
public void setSuperpairsPrevClickedSlot(int superpairsPrevClickedSlot) {
@@ -60,17 +60,19 @@ public class SuperpairsSolver extends ExperimentSolver {
@Override
protected List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> displaySlots) {
List<ColorHighlight> highlights = new ArrayList<>();
- for (Map.Entry<Integer, ItemStack> indexStack : displaySlots.entrySet()){
- int index = indexStack.getKey();
- ItemStack displayStack = indexStack.getValue();
- 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));
- } else if (superpairsDuplicatedSlots.contains(index)) {
- highlights.add(ColorHighlight.yellow(index));
- } else {
- highlights.add(ColorHighlight.red(index));
+ if (getState() == State.SHOW) {
+ for (Map.Entry<Integer, ItemStack> indexStack : displaySlots.entrySet()) {
+ int index = indexStack.getKey();
+ ItemStack displayStack = indexStack.getValue();
+ 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));
+ } else if (superpairsDuplicatedSlots.contains(index)) {
+ highlights.add(ColorHighlight.yellow(index));
+ } else {
+ highlights.add(ColorHighlight.red(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 90968fe2..45d6c0c6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java
@@ -15,7 +15,7 @@ public class UltrasequencerSolver extends ExperimentSolver {
private int ultrasequencerNextSlot;
public UltrasequencerSolver() {
- super("^Ultrasequencer \\(");
+ super("^Ultrasequencer \\(\\w+\\)$");
}
public int getUltrasequencerNextSlot() {
@@ -75,13 +75,6 @@ public class UltrasequencerSolver extends ExperimentSolver {
@Override
protected List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots) {
- List<ColorHighlight> highlights = new ArrayList<>();
- for (Map.Entry<Integer, ItemStack> indexStack : slots.entrySet()) {
- int index = indexStack.getKey();
- if (index == ultrasequencerNextSlot) {
- highlights.add(ColorHighlight.green(index));
- }
- }
- return highlights;
+ return getState() == State.SHOW && ultrasequencerNextSlot != 0 ? List.of(ColorHighlight.green(ultrasequencerNextSlot)) : new ArrayList<>();
}
}