@Override
	public HashMap<String, Sprite> loadAll() {
		//First get a hashmap of all images
		ImageLoader loader = new ImageLoader();
		HashMap<String, BufferedImage> imageMap = loader.loadAll();
		
		//Create a hashmap of sprites
		HashMap<String, Sprite> spriteMap = new HashMap<String, Sprite>();
		
		//Declare a bufferedReader to read file from
		BufferedReader inputStream = null;
		
		//Create an arraylist of lines in each file
		ArrayList<String> lines = new ArrayList<String>();
		
		//For each file in the array of valid files for this loader
		for(File f : getValidFiles()){
			//Clear the list of lines from previous file
			lines.clear();
			String imgKey;
			
			//Point the buffered reader to the file
			try {
				inputStream = new BufferedReader(new FileReader(f));
				
				//First store the image key this file is defining as a sprite
				String imgName = f.getName();
				//imgKey is the name without the file extension
				imgKey = imgName.substring(0, imgName.length() - ext.length());
				
				//Read the next line
				String line;
				while((line = inputStream.readLine()) != null){
					//Add it to the arraylist of lines
					lines.add(line);
				}
				
				//Close the input stream
				inputStream.close();
				
			} catch (FileNotFoundException e) {
				// If opening the stream breaks, print stack trace, file that caused
				//It to break and the exception message.
				e.printStackTrace();
				System.out.println("Failed to load sbp:" + f.getName() + ", the file was not found.");
				System.out.println(e.getMessage());
				//Then continue looping through files
				continue;
			} catch (IOException e) {
				// If opening the stream breaks, print stack trace, file that caused
				//It to break and the exception message.
				e.printStackTrace();
				System.out.println("Failed to load sbp:" + f.getName() + ", the file contains unexpected formatting.");
				System.out.println(e.getMessage());
				//Then continue looping through files
				continue;
			} 
			
			//Once all the lines have been read we must parse them and create a sprite
			Sprite s = parseBlueprint(imageMap.get(imgKey), lines);
			
			//Add sprite to the map
			spriteMap.put(imgKey, s);
		}
		
		
		return spriteMap;
	}