From 3350a305def06abe3c239c6a23ee4bc5e9d53e6b Mon Sep 17 00:00:00 2001 From: Ghzdude <44148655+ghzdude@users.noreply.github.com> Date: Wed, 16 Oct 2024 17:31:08 -0700 Subject: [PATCH] remove stack key if int set is empty --- .../metatileentities/storage/CraftingRecipeLogic.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/gregtech/common/metatileentities/storage/CraftingRecipeLogic.java b/src/main/java/gregtech/common/metatileentities/storage/CraftingRecipeLogic.java index 457b2e421f3..a21721b472b 100644 --- a/src/main/java/gregtech/common/metatileentities/storage/CraftingRecipeLogic.java +++ b/src/main/java/gregtech/common/metatileentities/storage/CraftingRecipeLogic.java @@ -299,6 +299,7 @@ private boolean simulateExtractItem(ItemStack itemStack, int count) { // cache is not correct if (slotStack.isEmpty() || !this.strategy.equals(slotStack, itemStack)) { slotItr.remove(); + if (!slotItr.hasNext()) stackLookupMap.remove(itemStack); slot = handleCacheMiss(itemStack); if (slot == -1) return false; slotStack = availableHandlers.getStackInSlot(slot); @@ -389,10 +390,10 @@ public int handleCacheMiss(ItemStack stack) { if (curStack.isEmpty()) continue; Set slots; - if (stackLookupMap.containsKey(stack)) - slots = stackLookupMap.get(stack); - else { - stackLookupMap.put(stack.copy(), slots = new IntArraySet()); + if (stackLookupMap.containsKey(curStack)) { + slots = stackLookupMap.get(curStack); + } else { + stackLookupMap.put(curStack.copy(), slots = new IntArraySet()); } slots.add(i);