diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-05-24 17:55:38 +0300 |
---|---|---|
committer | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-07-10 02:08:24 +0300 |
commit | 2b9c8ed13a80ea5356616f1af40d3956d38aa1b3 (patch) | |
tree | 856548584be8c6776d9194101b490140ca9eb53e /src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java | |
parent | b5c46c99fa5efaf5c0d43af6dc82d2e9f6581d0e (diff) | |
download | Skyblocker-2b9c8ed13a80ea5356616f1af40d3956d38aa1b3.tar.gz Skyblocker-2b9c8ed13a80ea5356616f1af40d3956d38aa1b3.tar.bz2 Skyblocker-2b9c8ed13a80ea5356616f1af40d3956d38aa1b3.zip |
Bazaar Helper initial commit
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java | 40 |
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; + } +} |