@EventHandler(priority = EventPriority.NORMAL)
	public void onBlockBreak(BlockBreakEvent event) throws SQLException {
		if (event.isCancelled())
			return;
		Player player = event.getPlayer();

		Block block = event.getBlock();
		if (plugin.isLifestone(block) == true) {

			if (!(player.hasPermission("lifestones.breaklifestone"))) {
				plugin.sendMessage(player, GRAY + L("cannotModifyLifestone"));
				event.setCancelled(true);
				return;
			}

			//

			// plugin.isLifestoneCache.get(block)
			Block cBlock = plugin.getLifestoneCenterBlock(block);

			Database.removeLifestone(cBlock.getWorld().getName(), cBlock.getX(), cBlock.getY(), cBlock.getZ(), Config.preferAsyncDBCalls);
			plugin.unregsterLifestone(event.getPlayer(), new lifestoneLoc(cBlock.getWorld().getName(), cBlock.getX(), cBlock.getY(), cBlock.getZ()));

			plugin.sendMessage(player, GRAY + L("lifestoneUnregistered"));

			event.setCancelled(true);// Stop the block from falling, our
										// unregister function should air the
										// block.

		} else if (plugin.isProtected(block) == true) {
			if (!(player.hasPermission("lifestones.modifyprotectedblocks"))) {
				plugin.sendMessage(player, GRAY + L("blockProtectedByLifestone"));
				event.setCancelled(true);
				return;
			}

		}

	}