aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy
diff options
context:
space:
mode:
authorTrương Hoàng Long <longtruong2411@gmail.com>2022-10-09 09:35:08 +0200
committerTrương Hoàng Long <longtruong2411@gmail.com>2022-10-09 09:35:08 +0200
commitc15ac748152acf155da5f3294e6fda913e8984a9 (patch)
tree7544b8db72183a366ac862ba37f608e772113216 /src/main/java/me/xmrvizzy
parentaff1c7100a8a5805f01895cdc7e69cb994b2d087 (diff)
downloadSkyblocker-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')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java31
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;
+ }
+}