From 37ee4376795477b9ac95f6a218abb8f7c45860b7 Mon Sep 17 00:00:00 2001 From: tth05 <36999320+tth05@users.noreply.github.com> Date: Wed, 21 Aug 2024 12:30:13 +0200 Subject: [PATCH] Use SkipList iterator in ItemList instead of fastutil iterator (#556) The fastutil iterator does not support external removal or pushing to the Set which might happen and will cause crashes --- src/main/java/appeng/util/item/ItemList.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/appeng/util/item/ItemList.java b/src/main/java/appeng/util/item/ItemList.java index d87807bd1e3..e41d98e9f6a 100644 --- a/src/main/java/appeng/util/item/ItemList.java +++ b/src/main/java/appeng/util/item/ItemList.java @@ -179,7 +179,7 @@ public int size() { public Iterator iterator() { return new MeaningfulItemIterator<>(new Iterator<>() { - private final Iterator i = ItemList.this.setRecords.iterator(); + private final Iterator i = ItemList.this.records.values().iterator(); private IAEItemStack next = null; @Override @@ -195,7 +195,7 @@ public IAEItemStack next() { @Override public void remove() { i.remove(); - ItemList.this.records.remove(next); + ItemList.this.setRecords.remove(next); } }); }