public static Settings load(OfflinePlayer player) {
		try {
			File file = new File(StaffInformer.getInstance().getDataFolder(), DATA_FOLDER + "/" + player.getName() + "." + FILE_EXTENSION);
			if (!file.exists()) {
				return null;
			}
			
			Settings settings = new Settings(player.getName());
			
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document doc = builder.parse(file);
			
			NodeList rootNodes = doc.getChildNodes();
			for (int i = 0; i < rootNodes.getLength(); i++) {
				Node item = rootNodes.item(i);
				
				if (item.getNodeName().equalsIgnoreCase(SETTINGS_ELEMENT)) {
					NodeList settingsNodes = item.getChildNodes();
					
					for (int j = 0; j < settingsNodes.getLength(); j++) {
						Node setting = settingsNodes.item(j);
						
						if (setting.getNodeName().equalsIgnoreCase(SHOW_SCOREBOARD_ELEMENT)) {
							settings.setShowScoreboard(Boolean.parseBoolean(setting.getTextContent()));
						}
					}
				}
			}
			
			return settings;
		} catch (Exception e) {
			Logger.severe("Failed to load settings for user " + player.getName() + ": " + e.getMessage());
		}
		
		return null;
	}