From 1b0287af032bb88dba6891f3b1b307871fdf33e9 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sat, 2 Jul 2016 16:16:18 +0200 Subject: [PATCH] Fixed right click taking 64 items instead of 32 items --- CHANGELOG.md | 5 +++++ .../refinedstorage/apiimpl/network/GridHandler.java | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4275550b7..86b9a6cf4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Refined Storage Changelog +### 0.8.3 +**Bugfixes** +- Fixed drawer controllers not working with external storage +- Fixed right click taking 64 items instead of 32 items + ### 0.8.2 **Bugfixes** - Fixed not being able to take items sometimes diff --git a/src/main/java/refinedstorage/apiimpl/network/GridHandler.java b/src/main/java/refinedstorage/apiimpl/network/GridHandler.java index cad4d44db..ca114b95b 100755 --- a/src/main/java/refinedstorage/apiimpl/network/GridHandler.java +++ b/src/main/java/refinedstorage/apiimpl/network/GridHandler.java @@ -9,6 +9,7 @@ import refinedstorage.api.autocrafting.ICraftingTask; import refinedstorage.api.network.GridPullFlags; import refinedstorage.api.network.IGridHandler; import refinedstorage.api.network.INetworkMaster; +import refinedstorage.api.storage.CompareFlags; import refinedstorage.item.ItemWirelessGrid; public class GridHandler implements IGridHandler { @@ -22,6 +23,14 @@ public class GridHandler implements IGridHandler { @Override public void onPull(ItemStack stack, int flags, EntityPlayerMP player) { + ItemStack item = network.getStorage().get(stack, CompareFlags.COMPARE_DAMAGE | CompareFlags.COMPARE_NBT); + + if (item == null) { + return; + } + + int itemSize = item.stackSize; + boolean single = (flags & GridPullFlags.PULL_SINGLE) == GridPullFlags.PULL_SINGLE; ItemStack held = player.inventory.getItemStack(); @@ -36,8 +45,8 @@ public class GridHandler implements IGridHandler { int size = 64; - if ((flags & GridPullFlags.PULL_HALF) == GridPullFlags.PULL_HALF && stack.stackSize > 1) { - size = stack.stackSize / 2; + if ((flags & GridPullFlags.PULL_HALF) == GridPullFlags.PULL_HALF && itemSize > 1) { + size = itemSize / 2; if (size > 32) { size = 32;