From 45a139ea6882e8d02aee12af2eecef8493d96c12 Mon Sep 17 00:00:00 2001 From: "Luis C.M" <42545778+c0508383@users.noreply.github.com> Date: Tue, 30 May 2023 01:37:08 -0500 Subject: [PATCH] NpcAPI: -Further fix to concurrent modification exception --- src/main/java/noppes/npcs/scripted/NpcAPI.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/noppes/npcs/scripted/NpcAPI.java b/src/main/java/noppes/npcs/scripted/NpcAPI.java index 30afaa28c..aca3e27fb 100644 --- a/src/main/java/noppes/npcs/scripted/NpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/NpcAPI.java @@ -372,13 +372,17 @@ public class NpcAPI extends AbstractNpcAPI { long time = System.currentTimeMillis(); scriptStack.lastAccessed = time; - Iterator> iterator = scriptItemCache.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); + + List keysToRemove = new ArrayList<>(); + for (Map.Entry entry : scriptItemCache.entrySet()) { if (time - entry.getValue().lastAccessed > 20000) { - iterator.remove(); + keysToRemove.add(entry.getKey()); } } + for (ItemStack key : keysToRemove) { + scriptItemCache.remove(key); + } + scriptItemCache.put(itemstack,scriptStack); return scriptStack;