From c15ac748152acf155da5f3294e6fda913e8984a9 Mon Sep 17 00:00:00 2001 From: Trương Hoàng Long Date: Sun, 9 Oct 2022 09:35:08 +0200 Subject: Implement Croesus Helper Gray out chests in Croesus's menu that have already been opened. --- .../skyblocker/config/SkyblockerConfig.java | 2 ++ .../skyblocker/container/ContainerSolver.java | 1 + .../container/ContainerSolverManager.java | 2 ++ .../skyblocker/skyblock/dungeon/CroesusHelper.java | 31 ++++++++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java (limited to 'src/main/java/me/xmrvizzy') diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 0a7260f8..4d54203e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -163,6 +163,8 @@ public class SkyblockerConfig implements ConfigData { } public static class Dungeons { + @ConfigEntry.Gui.Tooltip() + public boolean croesusHelper = true; public boolean enableMap = true; public boolean solveThreeWeirdos = true; public boolean blazesolver = true; diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java index 5c3e1e5e..ec086934 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java +++ b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java @@ -9,6 +9,7 @@ import java.util.regex.Pattern; public abstract class ContainerSolver { private final Pattern CONTAINER_NAME; protected final static int GREEN_HIGHLIGHT = 128 << 24 | 64 << 16 | 196 << 8 | 64; + protected final static int GRAY_HIGHLIGHT = 128 << 24 | 64 << 16 | 64 << 8 | 64; public ContainerSolver(String containerName) { CONTAINER_NAME = Pattern.compile(containerName); diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java index 7dd34669..276ac3b9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java @@ -1,6 +1,7 @@ package me.xmrvizzy.skyblocker.container; import com.mojang.blaze3d.systems.RenderSystem; +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; @@ -29,6 +30,7 @@ public class ContainerSolverManager extends DrawableHelper { new ColorTerminal(), new OrderTerminal(), new StartsWithTerminal(), + new CroesusHelper() }; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java new file mode 100644 index 00000000..c536542b --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java @@ -0,0 +1,31 @@ +package me.xmrvizzy.skyblocker.skyblock.dungeon; + +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 CroesusHelper extends ContainerSolver { + + public CroesusHelper() { super("^Croesus$"); } + + @Override + public boolean isEnabled() { + return SkyblockerConfig.get().locations.dungeons.croesusHelper; + } + + @Override + public List getColors(String[] groups, Map slots) { + List highlights = new ArrayList<>(); + for (Map.Entry entry : slots.entrySet()) { + ItemStack stack = entry.getValue(); + if (stack != null && stack.getNbt() != null && stack.getNbt().toString().contains("opened")) + highlights.add(new ColorHighlight(entry.getKey(), GRAY_HIGHLIGHT)); + } + return highlights; + } +} -- cgit