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;