diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index e4a8640c3..d92528100 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -528,13 +528,17 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR remainder = storage.insertItem(remainder, size, simulate); } - if (storage instanceof ItemStorageExternal && !simulate) { - ((ItemStorageExternal) storage).updateCacheForcefully(); - } - if (remainder == null || remainder.stackSize < 0) { + if (storage instanceof ItemStorageExternal && !simulate) { + ((ItemStorageExternal) storage).updateCacheForcefully(); + } + break; } else { + if (size != remainder.stackSize && storage instanceof ItemStorageExternal && !simulate) { + ((ItemStorageExternal) storage).updateCacheForcefully(); + } + size = remainder.stackSize; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/externalstorage/ItemStorageExternal.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/externalstorage/ItemStorageExternal.java index 94d125dfa..163677693 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/externalstorage/ItemStorageExternal.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/externalstorage/ItemStorageExternal.java @@ -14,16 +14,16 @@ public abstract class ItemStorageExternal implements IItemStorage { public boolean updateCache() { List items = getStacks(); - if (cache == null) { - cache = items; + if (this.cache == null) { + this.cache = items; } else if (items.size() != cache.size()) { - cache = items; + this.cache = items; return true; } else { for (int i = 0; i < items.size(); ++i) { if (!API.instance().getComparer().isEqual(items.get(i), cache.get(i))) { - cache = items; + this.cache = items; return true; } @@ -34,6 +34,6 @@ public abstract class ItemStorageExternal implements IItemStorage { } public void updateCacheForcefully() { - cache = getStacks(); + this.cache = getStacks(); } }