aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/adders/CraftPriceTooltip.java10
2 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index d793e73d..8187c122 100644
--- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -35,6 +35,7 @@ import de.hysky.skyblocker.skyblock.item.tooltip.AccessoriesHelper;
import de.hysky.skyblocker.skyblock.item.tooltip.BackpackPreview;
import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
import de.hysky.skyblocker.skyblock.item.tooltip.TooltipManager;
+import de.hysky.skyblocker.skyblock.item.tooltip.adders.CraftPriceTooltip;
import de.hysky.skyblocker.skyblock.itemlist.ItemRepository;
import de.hysky.skyblocker.skyblock.rift.TheRift;
import de.hysky.skyblocker.skyblock.searchoverlay.SearchOverManager;
@@ -200,6 +201,7 @@ public class SkyblockerMod implements ClientModInitializer {
Scheduler.INSTANCE.scheduleCyclic(DwarvenHud::update, 40);
Scheduler.INSTANCE.scheduleCyclic(CrystalsHud::update, 40);
Scheduler.INSTANCE.scheduleCyclic(PlayerListMgr::updateList, 20);
+ Scheduler.INSTANCE.scheduleCyclic(CraftPriceTooltip::clearCache, 600);
}
/**
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<String, Double> cachedCraftCosts = new HashMap<>();
+ private final static Map<String, Double> 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<Text> lines) {
+ public void addToTooltip(@Nullable Slot focusedSloFt, ItemStack stack, List<Text> 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();
+ }
}