From 42a45265871dda6b25cfab922f15c04ef285493e Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Mon, 29 Apr 2024 22:08:07 -0400 Subject: Fix VisitorHelper --- .../java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock/garden') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java index 34e9864c..c855c3e3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java @@ -1,6 +1,5 @@ package de.hysky.skyblocker.skyblock.garden; -import com.mojang.authlib.properties.Property; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.skyblock.itemlist.ItemRepository; import de.hysky.skyblocker.utils.ItemUtils; @@ -18,7 +17,6 @@ import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.component.DataComponentTypes; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.slot.Slot; import net.minecraft.text.Text; @@ -121,9 +119,8 @@ public class VisitorHelper { try { int amount = splitItemText.length == 2 ? NumberFormat.getInstance(Locale.US).parse(splitItemText[1].trim()).intValue() : 1; Pair key = Pair.of(visitorName, visitorTexture); - Object2IntMap visitorMap = itemMap.getOrDefault(key, new Object2IntOpenHashMap<>()); - visitorMap.putIfAbsent(itemName, amount); - itemMap.putIfAbsent(key, visitorMap); + Object2IntMap visitorMap = itemMap.computeIfAbsent(key, _key -> new Object2IntOpenHashMap<>()); + visitorMap.put(itemName, amount); } catch (Exception e) { LOGGER.error("[Skyblocker Visitor Helper] Failed to parse item: {}", lore.getString(), e); } @@ -157,7 +154,7 @@ public class VisitorHelper { String strippedName = Formatting.strip(displayName); ItemStack cachedStack = itemCache.get(strippedName); if (cachedStack != null) return cachedStack; - if (!ItemRepository.filesImported()) return null; // Item repo might be taking its sweet time doing things and cause concurrent modification error + if (NEURepoManager.isLoading() || !ItemRepository.filesImported()) return null; // Item repo might be taking its sweet time doing things and cause concurrent modification error Map items = NEURepoManager.NEU_REPO.getItems().getItems(); if (items == null) return null; ItemStack stack = items.values().stream() -- cgit