diff --git a/src/main/java/noppes/npcs/scripted/NpcAPI.java b/src/main/java/noppes/npcs/scripted/NpcAPI.java index aca3e27fb..96492e409 100644 --- a/src/main/java/noppes/npcs/scripted/NpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/NpcAPI.java @@ -373,17 +373,18 @@ public class NpcAPI extends AbstractNpcAPI { long time = System.currentTimeMillis(); scriptStack.lastAccessed = time; - List keysToRemove = new ArrayList<>(); - for (Map.Entry entry : scriptItemCache.entrySet()) { - if (time - entry.getValue().lastAccessed > 20000) { - keysToRemove.add(entry.getKey()); + synchronized (scriptItemCache) { + List keysToRemove = new ArrayList<>(); + for (Map.Entry entry : scriptItemCache.entrySet()) { + if (time - entry.getValue().lastAccessed > 20000) { + keysToRemove.add(entry.getKey()); + } } + for (ItemStack key : keysToRemove) { + scriptItemCache.remove(key); + } + scriptItemCache.put(itemstack, scriptStack); } - for (ItemStack key : keysToRemove) { - scriptItemCache.remove(key); - } - - scriptItemCache.put(itemstack,scriptStack); return scriptStack; }