@Override public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { TileEntityLandmine tileentity = (TileEntityLandmine) par1World.getBlockTileEntity(par2, par3, par4); int metadata = par1World.getBlockMetadata(par2, par3, par4); if (tileentity != null && (!explodeOnBroken || !hasItems(par1World, par2, par3, par4)) && par6 != 193 && !tileentity.isExploding) { int id = this.blockID; if (id > 0) { ItemStack is = new ItemStack(id, 1, damageDropped(tileentity.triggerType)); if (tileentity.isInvNameLocalized()) { is.setItemName(tileentity.getInvName()); } dropBlockAsItem_do( par1World, par2, par3, par4, new ItemStack(id, 1, damageDropped(tileentity.triggerType))); } for (int j1 = 0; j1 < tileentity.getSizeInventory(); ++j1) { ItemStack itemstack = tileentity.getStackInSlot(j1); if (itemstack != null) { while (itemstack.stackSize > 0) { int ss = itemstack.stackSize; itemstack.stackSize -= ss; EntityItem entityitem = new EntityItem( par1World, (double) ((float) par2), (double) ((float) par3), (double) ((float) par4), new ItemStack(itemstack.itemID, ss, itemstack.getItemDamage())); if (itemstack.hasTagCompound()) { entityitem .getEntityItem() .setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); } float f3 = 0.05F; entityitem.motionX = (double) (f3); entityitem.motionY = (double) (f3 + 0.2F); entityitem.motionZ = (double) (f3); par1World.spawnEntityInWorld(entityitem); } } } par1World.func_96440_m(par2, par3, par4, par5); } else if (explodeOnBroken) { checkExplosion(par1World, par2, par3, par4, true); } super.breakBlock(par1World, par2, par3, par4, par5, par6); }