diff options
author | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-10-10 21:41:58 +0200 |
---|---|---|
committer | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-10-10 21:41:58 +0200 |
commit | d262e35832bec5ae33c19240204dd8490e4eef1e (patch) | |
tree | 32aaa7eea851c94771c01ecc0ec5a456228680b3 /src/main/java/me/xmrvizzy | |
parent | d00f8821ffa1caf3a92851b52e669fe9dcbafc75 (diff) | |
download | Skyblocker-d262e35832bec5ae33c19240204dd8490e4eef1e.tar.gz Skyblocker-d262e35832bec5ae33c19240204dd8490e4eef1e.tar.bz2 Skyblocker-d262e35832bec5ae33c19240204dd8490e4eef1e.zip |
Added solver for Starts With terminal
Diffstat (limited to 'src/main/java/me/xmrvizzy')
3 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 1427c4e4..dd5190e5 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -61,6 +61,7 @@ public class SkyblockerConfig implements ConfigData { public static class Terminals { public boolean solveColor = true; public boolean solveOrder = true; + public boolean solveStartsWith = true; } public static class DwarvenMines { diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java index 98f37b31..7dd34669 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java @@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker.container; import com.mojang.blaze3d.systems.RenderSystem; 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 net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; import net.minecraft.client.util.math.MatrixStack; @@ -27,6 +28,7 @@ public class ContainerSolverManager extends DrawableHelper { solvers = new ContainerSolver[]{ new ColorTerminal(), new OrderTerminal(), + new StartsWithTerminal(), }; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java new file mode 100644 index 00000000..7c56746f --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java @@ -0,0 +1,34 @@ +package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal; + +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.container.ColorHighlight; +import me.xmrvizzy.skyblocker.container.ContainerSolver; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class StartsWithTerminal extends ContainerSolver { + public StartsWithTerminal() { + super("^What starts with: '([A-Z])'\\?$"); + } + + @Override + public boolean isEnabled() { + return SkyblockerConfig.get().locations.dungeons.terminals.solveStartsWith; + } + + @Override + public List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots) { + trimEdges(slots, 6); + String prefix = groups[0]; + List<ColorHighlight> highlights = new ArrayList<>(); + for(Map.Entry<Integer, ItemStack> slot : slots.entrySet()) { + ItemStack stack = slot.getValue(); + if(!stack.hasEnchantments() && stack.getName().getString().startsWith(prefix)) + highlights.add(new ColorHighlight(slot.getKey(), GREEN_HIGHLIGHT)); + } + return highlights; + } +}
\ No newline at end of file |