diff --git a/src/main/java/refinedstorage/tile/grid/TileGrid.java b/src/main/java/refinedstorage/tile/grid/TileGrid.java index 14ddd5f65..3d19194d5 100755 --- a/src/main/java/refinedstorage/tile/grid/TileGrid.java +++ b/src/main/java/refinedstorage/tile/grid/TileGrid.java @@ -3,10 +3,7 @@ package refinedstorage.tile.grid; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryCraftResult; -import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.inventory.*; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.nbt.NBTTagCompound; @@ -257,7 +254,10 @@ public class TileGrid extends TileNode implements IGrid { if (i < remainder.length && remainder[i] != null) { if (slot != null && slot.stackSize > 1) { if (!player.inventory.addItemStackToInventory(remainder[i].copy())) { - network.insertItem(remainder[i].copy(), remainder[i].stackSize, false); + ItemStack remainderStack = network.insertItem(remainder[i].copy(), remainder[i].stackSize, false); + if (remainderStack != null) { + InventoryHelper.spawnItemStack(player.worldObj, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), remainderStack); + } } matrix.decrStackSize(i, 1); @@ -297,7 +297,10 @@ public class TileGrid extends TileNode implements IGrid { for (ItemStack craftedItem : craftedItemsList) { if (!player.inventory.addItemStackToInventory(craftedItem.copy())) { - network.insertItem(craftedItem, craftedItem.stackSize, false); + ItemStack remainder = network.insertItem(craftedItem, craftedItem.stackSize, false); + if (remainder != null) { + InventoryHelper.spawnItemStack(player.worldObj, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), remainder); + } } }