aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MiningCategory.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CommissionHighlight.java38
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java2
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json2
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.",