|  | @@ -4,7 +4,7 @@ var cache = require('./cache');
 | 
	
		
			
				|  |  |  var skins = require('./skins');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var valid_uuid = /^[0-9a-f]{32}$/;
 | 
	
		
			
				|  |  | -var hash_pattern = /[0-9a-f]+$/;
 | 
	
		
			
				|  |  | +var hash_pattern = /[A-za-z0-9_-]{1,16}$|((?:[A-za-z][A-za-z]*[0-9]+[A-za-z0-9]*))/;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function get_hash(url) {
 | 
	
		
			
				|  |  |    return hash_pattern.exec(url)[0].toLowerCase();
 | 
	
	
		
			
				|  | @@ -22,7 +22,15 @@ function store_images(uuid, details, callback) {
 | 
	
		
			
				|  |  |      } else if (err) {
 | 
	
		
			
				|  |  |        callback(err, null);
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  | -      var skinurl = skin_url(profile);
 | 
	
		
			
				|  |  | +      var skinurl = null;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // Username handling
 | 
	
		
			
				|  |  | +      if (uuid.length <= 16) {
 | 
	
		
			
				|  |  | +        skinurl = "https://skins.minecraft.net/MinecraftSkins/" + uuid + ".png"
 | 
	
		
			
				|  |  | +        console.log('is username')
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        skinurl = skin_url(profile);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        if (skinurl) {
 | 
	
		
			
				|  |  |          console.log(uuid + " " + skinurl);
 | 
	
		
			
				|  |  |          // set file paths
 | 
	
	
		
			
				|  | @@ -107,7 +115,11 @@ var exp = {};
 | 
	
		
			
				|  |  |  // returns true if the +uuid+ is a valid uuid
 | 
	
		
			
				|  |  |  // the uuid may be not exist, however
 | 
	
		
			
				|  |  |  exp.uuid_valid = function(uuid) {
 | 
	
		
			
				|  |  | -  return valid_uuid.test(uuid);
 | 
	
		
			
				|  |  | +  var valid = valid_uuid.test(uuid);
 | 
	
		
			
				|  |  | +  if (!valid && uuid.length <= 16) {
 | 
	
		
			
				|  |  | +    valid = true;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  return valid;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // handles requests for +uuid+ images with +size+
 | 
	
	
		
			
				|  | @@ -133,7 +145,6 @@ exp.get_avatar = function(uuid, helm, size, callback) {
 | 
	
		
			
				|  |  |        callback(err, status, null);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  module.exports = exp;
 |