From 979be99b9ad93ef7398a94395c2324255f6df912 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Tue, 7 Jun 2016 21:18:45 +0200 Subject: [PATCH] Fix pushing to drawers --- .../tile/externalstorage/DrawerStorage.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java b/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java index c84f2dfb1..df0169331 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java @@ -31,28 +31,8 @@ public class DrawerStorage extends ExternalStorage { @Override public ItemStack push(ItemStack stack, boolean simulate) { if (ModeFilter.respectsMode(externalStorage.getFilters(), externalStorage, externalStorage.getCompare(), stack) && drawer.canItemBeStored(stack)) { - if (drawer.isEmpty()) { - if (getStored() + stack.stackSize > getCapacity()) { - int remainingSpace = getCapacity() - getStored(); - - if (remainingSpace <= 0) { - return stack; - } - - if (!simulate) { - drawer.setStoredItem(stack, remainingSpace); - } - - return ItemHandlerHelper.copyStackWithSize(stack, stack.stackSize - remainingSpace); - } else { - if (!simulate) { - drawer.setStoredItem(stack, stack.stackSize); - } - - return null; - } - } else { - if (getStored() + stack.stackSize > getCapacity()) { + if (!drawer.isEmpty()) { + if (getStored() + stack.stackSize > drawer.getMaxCapacity(stack)) { int remainingSpace = getCapacity() - getStored(); if (remainingSpace <= 0) { @@ -69,6 +49,26 @@ public class DrawerStorage extends ExternalStorage { drawer.setStoredItemCount(drawer.getStoredItemCount() + stack.stackSize); } + return null; + } + } else { + if (getStored() + stack.stackSize > drawer.getMaxCapacity(stack)) { + int remainingSpace = getCapacity() - getStored(); + + if (remainingSpace <= 0) { + return stack; + } + + if (!simulate) { + drawer.setStoredItem(stack, remainingSpace); + } + + return ItemHandlerHelper.copyStackWithSize(stack, stack.stackSize - remainingSpace); + } else { + if (!simulate) { + drawer.setStoredItem(stack, stack.stackSize); + } + return null; } }