aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java
new file mode 100644
index 00000000..6129d604
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java
@@ -0,0 +1,40 @@
+package de.hysky.skyblocker.skyblock.bazaar;
+
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.ItemUtils;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
+import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
+import net.minecraft.item.ItemStack;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class BazaarHelper extends ContainerSolver {
+ private static final Pattern ORDER_PATTERN = Pattern.compile("You have [\\d,]+ (items|coins) to claim!");
+ public BazaarHelper() {
+ super("Your Bazaar Orders");
+ }
+
+ @Override
+ protected boolean isEnabled() {
+ return SkyblockerConfigManager.get().helpers.bazaar.enableBazaarHelper;
+ }
+
+ @Override
+ protected List<ColorHighlight> getColors(String[] groups, Int2ObjectMap<ItemStack> slots) {
+ ArrayList<ColorHighlight> highlights = new ArrayList<>();
+ for (int slot = 0; slot < slots.size(); slot++) {
+ Matcher matcher = ItemUtils.getLoreLineIfMatch(slots.get(slot), ORDER_PATTERN);
+ if (matcher != null) {
+ switch (matcher.group(1)) {
+ case "items" -> highlights.add(new ColorHighlight(slot, 0x7000AA00));
+ case "coins" -> highlights.add(new ColorHighlight(slot, 0x70FFAA00));
+ }
+ }
+ }
+ return highlights;
+ }
+}