diff --git a/src/main/java/appeng/tile/misc/TileVibrationChamber.java b/src/main/java/appeng/tile/misc/TileVibrationChamber.java index d101cd5e5..d7dad6019 100644 --- a/src/main/java/appeng/tile/misc/TileVibrationChamber.java +++ b/src/main/java/appeng/tile/misc/TileVibrationChamber.java @@ -26,6 +26,7 @@ import javax.annotation.Nonnull; import io.netty.buffer.ByteBuf; import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntityFurnace; @@ -236,7 +237,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka private void eatFuel() { - final ItemStack is = this.inv.getStackInSlot( 0 ); + final ItemStack is = this.inv.getStackInSlot( 0 ).copy(); if( !is.isEmpty() ) { final int newBurnTime = TileEntityFurnace.getItemBurnTime( is ); @@ -244,24 +245,18 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka { this.setBurnTime( this.getBurnTime() + newBurnTime ); this.setMaxBurnTime( this.getBurnTime() ); - is.grow( -1 ); - if( is.getCount() <= 0 ) + + final Item fuelItem = is.getItem(); + is.shrink( 1 ); + + if( is.isEmpty() ) { - ItemStack container = ItemStack.EMPTY; - - if( is.getItem() != Items.AIR && is.getItem().hasContainerItem( is ) ) - { - container = is.getItem().getContainerItem( is ); - } - - this.inv.setStackInSlot( 0, container ); + this.inv.setStackInSlot( 0, fuelItem.getContainerItem( is ) ); } else { this.inv.setStackInSlot( 0, is ); } - - this.saveChanges(); } }