@Override
 public void breakBlock(World world, int x, int y, int z, int par5, int par6) {
   TileEntity te = world.getBlockTileEntity(x, y, z);
   if (te instanceof ModularChestTileEntity) {
     ModularChestTileEntity mte = (ModularChestTileEntity) te;
     if (!((ModularChestTileEntity) te).isBreakable) {
       dropUpgrades(world, x, y, z);
       dropItems(world, x, y, z);
       dropItem(new ItemStack(this), world, x, y, z);
     } else {
       ItemStack item = new ItemStack(this);
       NBTTagCompound tag = new NBTTagCompound();
       mte.upgradesStorage.removeGlobalItem(ModularChests.breakableUpgradeItem, null);
       mte.writeDataToNBT(tag);
       item.setTagCompound(tag);
       dropItem(item, world, x, y, z);
     }
   } else dropItems(world, x, y, z);
   super.breakBlock(world, x, y, z, par5, par6);
 }