Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Returns a map of Mojang-defined URLs (such as session.minecraft.net) to
- * a boolean of whether they are currently working or not.
- * <p>
- * If an error occurs, null is returned.
- *
- * @return map as specified above
- */
- public Map<String, Boolean> getMcStatus() {
- URL checkUrl;
- try {
- checkUrl = new URL("http://status.mojang.com/check");
- } catch (MalformedURLException impossible) {
- return null;
- }
- InputStreamReader read = null;
- HashMap<String, Boolean> ret = new HashMap<String, Boolean>();
- try {
- Object content = new JSONParser().parse(read = new InputStreamReader(checkUrl.openStream()));
- read.close();
- if (!(content instanceof JSONArray)) {
- // Bad / old format
- return null;
- }
- JSONArray arr = (JSONArray) content;
- for (Object obj : arr) {
- if (obj instanceof JSONObject) {
- JSONObject jobj = (JSONObject) obj;
- Map.Entry<?, ?> entry = (Map.Entry<?, ?>) (jobj.entrySet()).iterator().next();
- Object key = entry.getKey();
- Object value = entry.getValue();
- String site = (String) key;
- boolean val = ((String) value).equalsIgnoreCase("green");
- ret.put(site, val);
- }
- }
- return ret;
- } catch (ClassCastException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ParseException e) {
- e.printStackTrace();
- } finally {
- tryClose(read);
- }
- return null;
- }
- private void tryClose(Closeable c) {
- if (c == null)
- return;
- try {
- c.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement