diff options
author | Trương Hoàng Long <longtruong2411@gmail.com> | 2022-10-09 09:35:08 +0200 |
---|---|---|
committer | Trương Hoàng Long <longtruong2411@gmail.com> | 2022-10-09 09:35:08 +0200 |
commit | c15ac748152acf155da5f3294e6fda913e8984a9 (patch) | |
tree | 7544b8db72183a366ac862ba37f608e772113216 /src/main/java/me/xmrvizzy | |
parent | aff1c7100a8a5805f01895cdc7e69cb994b2d087 (diff) | |
download | Skyblocker-c15ac748152acf155da5f3294e6fda913e8984a9.tar.gz Skyblocker-c15ac748152acf155da5f3294e6fda913e8984a9.tar.bz2 Skyblocker-c15ac748152acf155da5f3294e6fda913e8984a9.zip |
Implement Croesus Helper
Gray out chests in Croesus's menu that have already been opened.
Diffstat (limited to 'src/main/java/me/xmrvizzy')
4 files changed, 36 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 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<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots) { + List<ColorHighlight> highlights = new ArrayList<>(); + for (Map.Entry<Integer, ItemStack> 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; + } +} |