From 2975ff6889e68dc75ca39c7b312a1d5b0a2f8da2 Mon Sep 17 00:00:00 2001 From: TheWhiteWolves Date: Sat, 18 Jul 2015 19:54:01 +0100 Subject: [PATCH] Fix Augment Dupe Bug Closes #1182 --- .../common/block/BlockSparkChanger.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java b/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java index 4dbb19de7..ed6ef2969 100644 --- a/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java +++ b/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java @@ -93,22 +93,20 @@ public class BlockSparkChanger extends BlockModContainer implements ILexiconable TileSparkChanger changer = (TileSparkChanger) world.getTileEntity(x, y, z); ItemStack cstack = changer.getStackInSlot(0); ItemStack pstack = player.getCurrentEquippedItem(); - if(pstack != null && pstack.getItem() == ModItems.sparkUpgrade) { - changer.setInventorySlotContents(0, pstack.copy()); + if(cstack != null) { + changer.setInventorySlotContents(0, null); + changer.markDirty(); + if(!player.inventory.addItemStackToInventory(cstack)) + player.dropPlayerItemWithRandomChoice(cstack, false); + return true; + } else if(pstack != null && pstack.getItem() == ModItems.sparkUpgrade) { + changer.setInventorySlotContents(0, pstack.copy().splitStack(1)); changer.markDirty(); pstack.stackSize--; if(pstack.stackSize == 0) player.inventory.setInventorySlotContents(player.inventory.currentItem, null); - if(cstack != null && !player.inventory.addItemStackToInventory(cstack)) - player.dropPlayerItemWithRandomChoice(cstack, false); - return true; - } else if(cstack != null) { - changer.setInventorySlotContents(0, null); - changer.markDirty(); - if(!player.inventory.addItemStackToInventory(cstack)) - player.dropPlayerItemWithRandomChoice(cstack, false); return true; }