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