From 0a375d81a13233defbeae610fa5003e5feb5a3b8 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Thu, 6 Jul 2017 17:01:44 +0200 Subject: [PATCH] Fixed not being able to insert stack in empty drawer due to API change, #1346 --- .../node/externalstorage/StorageItemDrawer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemDrawer.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemDrawer.java index c17df0224..3e699edd5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemDrawer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemDrawer.java @@ -71,6 +71,16 @@ public class StorageItemDrawer extends StorageItemExternal { public static ItemStack insert(NetworkNodeExternalStorage externalStorage, @Nullable IDrawer drawer, @Nonnull ItemStack stack, int size, boolean simulate) { if (drawer != null && IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && drawer.canItemBeStored(stack)) { + if (drawer.getStoredItemCount() == 0) { + int toInsert = size > drawer.getMaxCapacity() ? drawer.getMaxCapacity() : size; + + if (!simulate) { + drawer.setStoredItem(stack, toInsert); + } + + return toInsert == size ? null : ItemHandlerHelper.copyStackWithSize(stack, size - toInsert); + } + int remainder = simulate ? Math.max(size - drawer.getAcceptingRemainingCapacity(), 0) : drawer.adjustStoredItemCount(size); return remainder == 0 ? null : ItemHandlerHelper.copyStackWithSize(stack, remainder);