private static final JSON.Node loadSettings(final String settingsFilename) {
		File f = new File(Main.appDir, settingsFilename);
		InputStream stream = null;
		try {
			stream = new FileInputStream(f);
		}
		catch (Exception e) {
			stream = null;
		}
		if (stream == null) {
			stream = Main.class.getResourceAsStream("/" + settingsFilename);
		}

		if (stream != null) {
			int length;
			byte[] buffer = new byte[256];
			StringBuilder sb = new StringBuilder();
			try {
				while ((length = stream.read(buffer)) >= 0) {
					sb.append(new String(buffer, 0, length));
				}
			}
			catch (Exception e) {
			}

			// Close
			try {
				stream.close();
			}
			catch (Exception e) {
			}

			// Parse settings
			JSON.Node node = null;
			try {
				node = JSON.parse(sb.toString());
			}
			catch (JSON.Exception e) {
				node = null;
			}

			return node;
		}
		return null;
	}