From 69048d35fb882d6004f6d90a6d93f972fc32e9da Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Fri, 25 Mar 2016 20:23:54 +0100 Subject: [PATCH] Use hopper logic for exporter. --- .../refinedstorage/tile/TileExporter.java | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/src/main/java/refinedstorage/tile/TileExporter.java b/src/main/java/refinedstorage/tile/TileExporter.java index 208e1b05b..9b6b0d2c1 100755 --- a/src/main/java/refinedstorage/tile/TileExporter.java +++ b/src/main/java/refinedstorage/tile/TileExporter.java @@ -2,10 +2,10 @@ package refinedstorage.tile; import io.netty.buffer.ByteBuf; import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityHopper; import refinedstorage.inventory.InventorySimple; import refinedstorage.tile.settings.ICompareSetting; import refinedstorage.util.InventoryUtils; @@ -41,28 +41,10 @@ public class TileExporter extends TileMachine implements ICompareSetting { ItemStack took = getController().take(toTake, compare); if (took != null) { - if (connectedInventory instanceof ISidedInventory) { - ISidedInventory sided = (ISidedInventory) connectedInventory; + ItemStack remaining = TileEntityHopper.putStackInInventoryAllSlots(connectedInventory, took, getDirection().getOpposite()); - boolean pushedAny = false; - - for (int sidedSlot = 0; sidedSlot < connectedInventory.getSizeInventory(); ++sidedSlot) { - if (sided.canInsertItem(sidedSlot, took, getDirection().getOpposite()) && InventoryUtils.canPushToInventorySlot(connectedInventory, sidedSlot, took)) { - InventoryUtils.pushToInventorySlot(connectedInventory, sidedSlot, took); - - pushedAny = true; - - break; - } - } - - if (!pushedAny) { - getController().push(took); - } - } else if (InventoryUtils.canPushToInventory(connectedInventory, took)) { - InventoryUtils.pushToInventory(connectedInventory, took); - } else { - getController().push(took); + if (remaining != null) { + getController().push(remaining); } } }