From 733dffd446880d6007f811fa90f4eaf2b67808d4 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Tue, 25 Apr 2017 20:57:28 +0200 Subject: [PATCH] Fixed Disk Manipulator crashing due to empty stack, fixes #1182 --- CHANGELOG.md | 3 +++ .../NetworkNodeDiskManipulator.java | 20 +++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f5ab53a7..ebe500253 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Refined Storage Changelog +### 1.4.4 +- Fixed Disk Manipulator crashing due to empty stack (raoulvdberge) + ### 1.4.3 - Updated Forge to 2282 (raoulvdberge) - Updated JEI version (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java index 7b0e5481d..9a1afe16d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java @@ -216,14 +216,14 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab } } else { while (itemFilters.getSlots() > i && extracted == null) { - ItemStack stack = null; + ItemStack filterStack = ItemStack.EMPTY; - while (itemFilters.getSlots() > i && stack == null) { - stack = itemFilters.getStackInSlot(i++); + while (itemFilters.getSlots() > i && filterStack == null) { + filterStack = itemFilters.getStackInSlot(i++); } - if (stack != null) { - extracted = network.extractItem(stack, upgrades.getItemInteractCount(), compare, false); + if (!filterStack.isEmpty()) { + extracted = network.extractItem(filterStack, upgrades.getItemInteractCount(), compare, false); } } } @@ -293,14 +293,14 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab } } else { while (fluidFilters.getSlots() > i && extracted == null) { - FluidStack stack = null; + FluidStack filterStack = null; - while (fluidFilters.getSlots() > i && stack == null) { - stack = fluidFilters.getFluidStackInSlot(i++); + while (fluidFilters.getSlots() > i && filterStack == null) { + filterStack = fluidFilters.getFluidStackInSlot(i++); } - if (stack != null) { - extracted = network.extractFluid(stack, upgrades.getItemInteractCount(), compare, false); + if (filterStack != null) { + extracted = network.extractFluid(filterStack, upgrades.getItemInteractCount(), compare, false); } } }