From 69b7c0a00a6d236953604415556d7d4a729b7228 Mon Sep 17 00:00:00 2001 From: nmccullagh Date: Fri, 5 Jul 2024 13:07:33 +0100 Subject: add a 30s persistent cache --- .../skyblock/item/tooltip/adders/CraftPriceTooltip.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/CraftPriceTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/CraftPriceTooltip.java index 35c717ff..c19c2f53 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/CraftPriceTooltip.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/CraftPriceTooltip.java @@ -18,9 +18,10 @@ import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; public class CraftPriceTooltip extends TooltipAdder { - private final Map cachedCraftCosts = new HashMap<>(); + private final static Map cachedCraftCosts = new ConcurrentHashMap<>(); private static final int MAX_RECURSION_DEPTH = 15; public CraftPriceTooltip(int priority) { @@ -28,7 +29,7 @@ public class CraftPriceTooltip extends TooltipAdder { } @Override - public void addToTooltip(@Nullable Slot focusedSlot, ItemStack stack, List lines) { + public void addToTooltip(@Nullable Slot focusedSloFt, ItemStack stack, List lines) { if (SkyblockerConfigManager.get().general.itemTooltip.enableCraftingCost == GeneralConfig.Craft.OFF) return; String internalID = stack.getSkyblockId(); @@ -46,7 +47,6 @@ public class CraftPriceTooltip extends TooltipAdder { if (neuRecipes.isEmpty() || neuRecipes.getFirst().getClass().equals(io.github.moulberry.repo.data.NEUKatUpgradeRecipe.class)) return; double totalCraftCost = getItemCost(neuRecipes.getFirst(), 0); - cachedCraftCosts.clear(); if (totalCraftCost == 0) return; @@ -93,4 +93,8 @@ public class CraftPriceTooltip extends TooltipAdder { } return totalCraftCost; } + + public static void clearCache() { + cachedCraftCosts.clear(); + } } -- cgit