diff options
author | Vricken <57353335+Vricken@users.noreply.github.com> | 2024-06-30 08:36:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-30 14:36:28 +0800 |
commit | 168a28fe5e9deccb12d5247d5692cdc94a31a76c (patch) | |
tree | 9be52b8d9bc0f199bf8d03432bf1ee19567fb065 /src/main/java/de/hysky/skyblocker/skyblock/dwarven | |
parent | 2f6aeacec886acc87879bbf59e6aa7503d015a2a (diff) | |
download | Skyblocker-168a28fe5e9deccb12d5247d5692cdc94a31a76c.tar.gz Skyblocker-168a28fe5e9deccb12d5247d5692cdc94a31a76c.tar.bz2 Skyblocker-168a28fe5e9deccb12d5247d5692cdc94a31a76c.zip |
Add completed commission highlight (#797)
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dwarven')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/dwarven/CommissionHighlight.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CommissionHighlight.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CommissionHighlight.java new file mode 100644 index 00000000..de26809c --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CommissionHighlight.java @@ -0,0 +1,38 @@ +package de.hysky.skyblocker.skyblock.dwarven; + +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.component.DataComponentTypes; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.List; + +public class CommissionHighlight extends ContainerSolver { + + public CommissionHighlight() { + super("^Commissions$"); + } + + @Override + protected boolean isEnabled() { + return SkyblockerConfigManager.get().mining.commissionHighlight; + } + + @Override + protected List<ColorHighlight> getColors(String[] groups, Int2ObjectMap<ItemStack> slots) { + List<ColorHighlight> highlights = new ArrayList<>(); + for (Int2ObjectMap.Entry<ItemStack> entry : slots.int2ObjectEntrySet()) { + ItemStack stack = entry.getValue(); + if (stack != null && stack.contains(DataComponentTypes.LORE)) { + if (ItemUtils.getLoreLineIf(stack, s -> s.contains("COMPLETED")) != null) { + highlights.add(ColorHighlight.green(entry.getIntKey())); + } + } + } + return highlights; + } +} |