diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-06-17 12:52:19 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-06-24 12:57:16 +0800 |
commit | 28699078b09780e9447b72b2859bba46b0e8dca9 (patch) | |
tree | 9873c2a9db97c1856528321d2c43299e1d11d164 /src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java | |
parent | 631dd509925041c8ca6b63687fec565ecdff585d (diff) | |
download | Skyblocker-28699078b09780e9447b72b2859bba46b0e8dca9.tar.gz Skyblocker-28699078b09780e9447b72b2859bba46b0e8dca9.tar.bz2 Skyblocker-28699078b09780e9447b72b2859bba46b0e8dca9.zip |
Fix solver detection and highlights
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java | 16 |
1 files changed, 9 insertions, 7 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; |