From 84c065ff2830e9f3b358199e1b870ab0cc20dbb5 Mon Sep 17 00:00:00 2001 From: yueh Date: Sun, 4 Mar 2018 14:33:45 +0100 Subject: [PATCH] Fixes #3394: Use cache to avoid using removed IItemHandler (#3395) --- .../java/appeng/parts/misc/ItemHandlerAdapter.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java b/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java index 4de5d52d9..ac5f7e542 100644 --- a/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java +++ b/src/main/java/appeng/parts/misc/ItemHandlerAdapter.java @@ -212,13 +212,7 @@ class ItemHandlerAdapter implements IMEInventory, IBaseMonitor getAvailableItems( IItemList out ) { - - for( int i = 0; i < this.itemHandler.getSlots(); i++ ) - { - out.addStorage( AEItemStack.fromItemStack( this.itemHandler.getStackInSlot( i ) ) ); - } - - return out; + return this.cache.getAvailableItems( out ); } @Override @@ -267,6 +261,12 @@ class ItemHandlerAdapter implements IMEInventory, IBaseMonitor getAvailableItems( IItemList out ) + { + Arrays.stream( this.cachedAeStacks ).forEach( out::add ); + return out; + } + public List update() { final List changes = new ArrayList<>();