@Override
	public void run(CommandSender sender, String maincmd, String[] args)
	{
		if (sender instanceof Player && !sender.hasPermission("mobmanager.checkmobs"))
		{
			sender.sendMessage(ChatColor.DARK_RED + "You do not have permission to use /mm checkmobs");
			return;
		}
		
		if (!(sender instanceof Player))
		{
			sender.sendMessage(ChatColor.DARK_RED + "You can not use this command from console");
			return;
		}
		
		if (!MMComponent.getSpawner().isEnabled())
		{
			sender.sendMessage(ChatColor.DARK_RED + "The spawner component must be enabled");
			return;
		}
		
		Player player = (Player) sender;
		Location playerLoc = LocationCache.getCachedLocation(player);
		
		List<Region> regionList = MMComponent.getSpawner().getConfig().getSpawnableRegions(playerLoc);
		
		if (regionList.isEmpty())
		{
			player.sendMessage(ChatColor.RED + "Spawning is disabled in this world");
			return;
		}
		
		StringBuilder bldr = new StringBuilder();
		
		Environment worldEnv = playerLoc.getWorld().getEnvironment();
		Biome biome = playerLoc.getWorld().getBiome(playerLoc.getBlockX(), playerLoc.getBlockX());
		
		for (Region region : regionList)
		{
			List<Mob> mobs = region.getMobs(playerLoc.getBlockY(), worldEnv, biome);
			
			player.sendMessage(String.format("%1$sRegion: %2$s%3$s %1$sPri: %2$s%4$d %1$sMobCount: %2$s%5$d", ChatColor.DARK_GREEN, ChatColor.AQUA, region.name, region.priority, mobs.size()));
			
			for (Mob mob : mobs)
			{
				bldr.append("%1$s-C:%2$s").append(mob.spawnChance).append("%1$s,T:%2$s").append(mob.getMobType());
				
				if (mob.getAbilitySet() != null)
					bldr.append("%1$s,A:%2$s").append(mob.getAbilitySet());
				
				if (mob.getRequirements() != null)
					bldr.append("%1$s,R:%2$s").append(mob.getRequirements().toString(true));
				player.sendMessage(String.format(bldr.toString(), ChatColor.DARK_GREEN, ChatColor.AQUA));
				
				bldr.delete(0, bldr.length());
			}
		}
	}