private ArrayList<Reward> getResults() {
		
		ArrayList<Reward> results = new ArrayList<Reward>();
		ArrayList<Block> blocks = game.getSlot().getBlocks();
		
		// checks horizontal matches
		for(int i = 0; i < 5; i++) {
			Reward reward;
			ArrayList<Integer> currentId = new ArrayList<Integer>();
			List<Block> current = null;
			if(i < 3) {
				int start = 0 + 3 * i;
				int end = 3 + 3 * i;
				current = blocks.subList(start, end);
			}
			
			//diagonals
			else {
				if(game.plugin.configData.allowDiagonals) {
					current = new ArrayList<Block>();
					for(int j = 0; j < 3; j++) {
						if(i == 3) {
							current.add(blocks.get(j*4));
						}
						else {
							current.add(blocks.get(2+(2*j)));
						}
					}
				}
				
				// Break loop if diagonals are disabled
				else {
					break;
				}
			}
			
			for(Block b : current) {
				currentId.add(b.getTypeId());
			}
			
			// Check for matches, deploy rewards
			Set<Integer> currentSet = new HashSet<Integer>(currentId);
			if(currentSet.size() == 1) {
				
				int id = current.get(0).getTypeId();
				reward = game.getType().getReward(id);
				results.add(reward);
			}	
		}
		
		return results;
	}