diff options
Diffstat (limited to 'src')
5 files changed, 53 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java index cb4399ef..4e11d869 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java @@ -30,6 +30,14 @@ public class MiningCategory { .controller(ConfigUtils::createBooleanController) .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("skyblocker.config.mining.commissionHighlight")) + .binding(defaults.mining.commissionHighlight, + () -> config.mining.commissionHighlight, + newValue -> config.mining.commissionHighlight = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + //Dwarven Mines .group(OptionGroup.createBuilder() .name(Text.translatable("skyblocker.config.mining.dwarvenMines")) diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java index 412a13ed..d71f57b6 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java @@ -27,6 +27,9 @@ public class MiningConfig { @SerialEntry public Glacite glacite = new Glacite(); + @SerialEntry + public boolean commissionHighlight = true; + public static class DwarvenMines { @SerialEntry public boolean solveFetchur = true; 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; + } +} diff --git a/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java index 8a5d32be..9a1e3072 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java @@ -12,6 +12,7 @@ import de.hysky.skyblocker.skyblock.dungeon.terminal.ColorTerminal; import de.hysky.skyblocker.skyblock.dungeon.terminal.LightsOnTerminal; import de.hysky.skyblocker.skyblock.dungeon.terminal.OrderTerminal; import de.hysky.skyblocker.skyblock.dungeon.terminal.StartsWithTerminal; +import de.hysky.skyblocker.skyblock.dwarven.CommissionHighlight; import de.hysky.skyblocker.skyblock.experiment.ChronomatronSolver; import de.hysky.skyblocker.skyblock.experiment.SuperpairsSolver; import de.hysky.skyblocker.skyblock.experiment.UltrasequencerSolver; @@ -51,6 +52,7 @@ public class ContainerSolverManager { new StartsWithTerminal(), new LightsOnTerminal(), new CroesusHelper(), + new CommissionHighlight(), new CroesusProfit(), new ChronomatronSolver(), new SuperpairsSolver(), diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index c3ec8de0..9cc25ca0 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -464,6 +464,8 @@ "skyblocker.config.mining.enableDrillFuel": "Enable Drill Fuel", + "skyblocker.config.mining.commissionHighlight": "Highlights Completed Commissions", + "skyblocker.config.mining.glacite": "Glacite Tunnels", "skyblocker.config.mining.glacite.coldOverlay": "Cold Overlay", "skyblocker.config.mining.glacite.coldOverlay@Tooltip": "Shows a frosty overlay in the Glacite mines that gets stronger as you get colder.", |