@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);
  }