From 45fa1f8859a39583d0c1edc6e1e9e13f6b00c179 Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Mon, 17 Jun 2024 01:32:48 +0100 Subject: Add Craft Cost Tooltip --- .../de/hysky/skyblocker/config/categories/GeneralCategory.java | 7 +++++++ .../java/de/hysky/skyblocker/config/configs/GeneralConfig.java | 3 +++ 2 files changed, 10 insertions(+) (limited to 'src/main/java/de/hysky/skyblocker/config') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java index fa87be3d..d43fe24f 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java @@ -155,6 +155,13 @@ public class GeneralCategory { newValue -> config.general.itemTooltip.enableBazaarPrice = newValue) .controller(ConfigUtils::createBooleanController) .build()) + .option(Option.createBuilder() + .name(Text.translatable("skyblocker.config.general.itemTooltip.enableCraftingCost")) + .binding(defaults.general.itemTooltip.enableCraftingCost, + () -> config.general.itemTooltip.enableCraftingCost, + newValue -> config.general.itemTooltip.enableCraftingCost = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) .option(Option.createBuilder() .name(Text.translatable("skyblocker.config.general.itemTooltip.enableObtainedDate")) .binding(defaults.general.itemTooltip.enableObtainedDate, diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java index 9f612028..ae891b70 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java @@ -114,6 +114,9 @@ public class GeneralConfig { @SerialEntry public boolean enableBazaarPrice = true; + @SerialEntry + public boolean enableCraftingCost = false; + @SerialEntry public boolean enableObtainedDate = true; -- cgit From 8f11e44052ff41df1477d8c10de3bc1129252ec1 Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Mon, 1 Jul 2024 01:18:34 +0100 Subject: lets not assume 1 output --- .../skyblocker/config/categories/GeneralCategory.java | 6 +++--- .../skyblocker/config/configs/GeneralConfig.java | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/config') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java index d43fe24f..3f2ddc9b 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java @@ -155,12 +155,12 @@ public class GeneralCategory { newValue -> config.general.itemTooltip.enableBazaarPrice = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.createBuilder() - .name(Text.translatable("skyblocker.config.general.itemTooltip.enableCraftingCost")) + .option(Option.createBuilder() + .name(Text.translatable("skyblocker.config.general.itemTooltip.craft")) .binding(defaults.general.itemTooltip.enableCraftingCost, () -> config.general.itemTooltip.enableCraftingCost, newValue -> config.general.itemTooltip.enableCraftingCost = newValue) - .controller(ConfigUtils::createBooleanController) + .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.createBuilder() .name(Text.translatable("skyblocker.config.general.itemTooltip.enableObtainedDate")) diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java index ae891b70..754e15f1 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java @@ -115,7 +115,7 @@ public class GeneralConfig { public boolean enableBazaarPrice = true; @SerialEntry - public boolean enableCraftingCost = false; + public Craft enableCraftingCost = Craft.OFF; @SerialEntry public boolean enableObtainedDate = true; @@ -142,6 +142,23 @@ public class GeneralConfig { } } + public enum Craft { + SELL_ORDER, BUY_ORDER, OFF; + + @Override + public String toString() { + return I18n.translate("skyblocker.config.general.itemTooltip.craft." + name()); + } + + public String getOrder() { + return switch (this) { + case SELL_ORDER -> "sellPrice"; + case BUY_ORDER -> "buyPrice"; + case OFF -> null; + }; + } + } + public static class ItemInfoDisplay { @SerialEntry public boolean slotText = true; -- cgit From bcfe90d6d22d7dac119e28d77c8e5b27fc1c7a1a Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Fri, 5 Jul 2024 13:48:27 +0100 Subject: schedule cache invalidation with price updates, and with config changes --- .../java/de/hysky/skyblocker/config/categories/GeneralCategory.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/java/de/hysky/skyblocker/config') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java index 3f2ddc9b..514b4d43 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java @@ -3,6 +3,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.configs.GeneralConfig; +import de.hysky.skyblocker.skyblock.item.tooltip.adders.CraftPriceTooltip; import de.hysky.skyblocker.skyblock.shortcut.ShortcutsConfigScreen; import dev.isxander.yacl3.api.*; import dev.isxander.yacl3.api.controller.FloatSliderControllerBuilder; @@ -160,6 +161,7 @@ public class GeneralCategory { .binding(defaults.general.itemTooltip.enableCraftingCost, () -> config.general.itemTooltip.enableCraftingCost, newValue -> config.general.itemTooltip.enableCraftingCost = newValue) + .listener((Option craft, GeneralConfig.Craft newCraft) -> CraftPriceTooltip.clearCache()) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.createBuilder() -- cgit From fb16a9bebc82698c5149a11426cace87edd5a627 Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Sat, 6 Jul 2024 11:34:36 +0100 Subject: feedback2 --- .../java/de/hysky/skyblocker/config/categories/GeneralCategory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker/config') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java index 514b4d43..279b7f6a 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java @@ -161,7 +161,7 @@ public class GeneralCategory { .binding(defaults.general.itemTooltip.enableCraftingCost, () -> config.general.itemTooltip.enableCraftingCost, newValue -> config.general.itemTooltip.enableCraftingCost = newValue) - .listener((Option craft, GeneralConfig.Craft newCraft) -> CraftPriceTooltip.clearCache()) + .listener((Option ignored, GeneralConfig.Craft ignored2) -> CraftPriceTooltip.clearCache()) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.createBuilder() -- cgit