public static List<ItemStack> getWrittenBooks() {
		List<ItemStack> list = new ArrayList<ItemStack>();
		if (BungeeUtilities.getInstance().getConfig().getBoolean("server-menu.books.enabled")) {
			for (String file : BungeeUtilities.getInstance().getConfig().getStringList("server-menu.books.files")) {
				ItemStack book = new ItemStack(Material.WRITTEN_BOOK);
				BookMeta bm = (BookMeta) book.getItemMeta();
				File f = new File(BungeeUtilities.getInstance().getDataFolder() + "/" + file);
				try {
					BufferedReader br = new BufferedReader(new FileReader(f));
					StringBuilder sb = new StringBuilder();
					String line = br.readLine();

					int i = 0;
					while (line != null) {
						i++;
						if (i != 1 && i != 2) {
							if (line.equalsIgnoreCase("/n")) {
								bm.addPage(sb.toString());
								sb = new StringBuilder();
							} else {
								sb.append(format(line));
								sb.append("\n");
							}
						} else {
							if (i == 1) {
								bm.setTitle(format(line));
							}
							if (i == 2) {
								bm.setAuthor(format(line));
							}
						}
						line = br.readLine();
					}

					br.close();
					bm.addPage(sb.toString());
				} catch (Exception e) {
					e.printStackTrace();
					BungeeUtilities.getInstance().getLogger().log(Level.WARNING, "Error encountered while trying to give a written book! (File " + file + ")");
					BungeeUtilities.getInstance().getLogger().log(Level.WARNING, "Please check that the file exists and is readable.");
				}

				book.setItemMeta(bm);
				list.add(book);
			}
		}
		return list;
	}