Fixed #347 - Battery producing wrong drops

This commit is contained in:
Calclavia 2014-03-03 22:57:42 +08:00
parent e801a81180
commit fabbf289b0

View file

@ -84,23 +84,33 @@ public class BlockBattery extends BlockSidedIO implements ITileEntityProvider
return true; return true;
} }
@Override /**
public ArrayList<ItemStack> getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) * Temporarily "cheat" var for dropping with damage.
{ */
ArrayList<ItemStack> ret = new ArrayList<ItemStack>(); ItemStack dropStack = null;
@Override
public void breakBlock(World world, int x, int y, int z, int par5, int par6)
{
ItemStack itemStack = new ItemStack(this, 1); ItemStack itemStack = new ItemStack(this, 1);
if (world.getBlockTileEntity(x, y, z) instanceof TileBattery) if (world.getBlockTileEntity(x, y, z) instanceof TileBattery)
{ {
TileBattery battery = (TileBattery) world.getBlockTileEntity(x, y, z); TileBattery battery = (TileBattery) world.getBlockTileEntity(x, y, z);
ItemBlockBattery itemBlock = (ItemBlockBattery) itemStack.getItem(); ItemBlockBattery itemBlock = (ItemBlockBattery) itemStack.getItem();
ItemBlockBattery.setTier(itemStack, (byte) metadata); ItemBlockBattery.setTier(itemStack, (byte) world.getBlockMetadata(x, y, z));
itemBlock.setEnergy(itemStack, battery.energy.getEnergy()); itemBlock.setEnergy(itemStack, battery.energy.getEnergy());
} }
ret.add(itemStack); dropStack = itemStack;
super.breakBlock(world, x, y, z, par5, par6);
}
@Override
public ArrayList<ItemStack> getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)
{
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
ret.add(dropStack);
return ret; return ret;
} }