Fixed shift clicking from Grid when player inventory is full throwing items in the world, fixes #355

This commit is contained in:
Raoul Van den Berge
2016-09-17 18:20:31 +02:00
parent 80cf5a08b0
commit 9b576cd938
2 changed files with 8 additions and 3 deletions

View File

@@ -2,6 +2,7 @@
### 1.0.5
- Fixed crafting a complex item causes the process to flow off the Crafting Monitor's GUI (raoulvdberge)
- Fixed shift clicking from Grid when player inventory is full throwing items in the world (raoulvdberge)
### 1.0.4
- Fixed lag caused by Crafter (raoulvdberge)

View File

@@ -1,8 +1,10 @@
package refinedstorage.apiimpl.network.grid;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.ItemHandlerHelper;
import refinedstorage.RefinedStorage;
import refinedstorage.api.autocrafting.ICraftingPattern;
import refinedstorage.api.autocrafting.task.ICraftingTask;
@@ -60,8 +62,10 @@ public class ItemGridHandler implements IItemGridHandler {
if (took != null) {
if ((flags & EXTRACT_SHIFT) == EXTRACT_SHIFT) {
if (!player.inventory.addItemStackToInventory(took.copy())) {
InventoryHelper.spawnItemStack(player.worldObj, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), took);
ItemStack remainder = ItemHandlerHelper.insertItem(player.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP), took, false);
if (remainder != null) {
network.insertItem(remainder, remainder.stackSize, false);
}
} else {
if (single && held != null) {