@EventHandler(priority = EventPriority.NORMAL)
	public void onBlockDestroy(final BlockBreakEvent event)
	{
		if (event.isCancelled() || event.getPlayer() == null
				|| event.getBlock() == null)
		{
			return;
		}
		final Player player = event.getPlayer();
		// Check for ignore permission node
		if (plugin.getPermissionsHandler().checkPermission(player,
				PermissionNode.IGNORE))
		{
			return;
		}
		// check if in applicable world
		if (!plugin.getConfigHandler().getRootConfig().worlds.contains(player
				.getWorld().getName()))
		{
			return;
		}
		if (plugin.getConfigHandler().getRootConfig().debugEvents)
		{
			plugin.getLogger().info(
					"valid world: " + player.getWorld().getName());
		}
		final ApplicableRegionSet regionSet = plugin.getWorldGuard()
				.getRegionManager(event.getBlock().getWorld())
				.getApplicableRegions(event.getBlock().getLocation());
		if (plugin.getConfigHandler().getRootConfig().debugEvents)
		{
			plugin.getLogger().info("regionSet size = " + regionSet.size());
		}
		// Check if its not in a region
		if (regionSet.size() <= 0)
		{
			// Deny
			event.setCancelled(true);
			player.sendMessage(ChatColor.RED + AmazoCreative.TAG
					+ " Cannot destroy outside of a region.");
		}
	}