Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.cryptonicdev.cryptonic.mcapi;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.List;
- import com.google.gson.JsonObject;
- import com.google.gson.JsonParser;
- public class MinecraftAPI {
- private String ip;
- private int port;
- public MinecraftAPI(String ip, int port) {
- this.ip = ip;
- this.port = port;
- }
- private final String link = "https://mcapi.us/server/status?ip=";
- private final JsonObject getApiObject() {
- try {
- URL url = new URL(link + ip + "&port=" + port);
- StringBuilder builder = new StringBuilder("");
- BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
- String line;
- while ((line = in.readLine()) != null) {
- builder.append(line);
- }
- in.close();
- return new JsonParser().parse(builder.toString()).getAsJsonObject();
- } catch (Exception e) {
- return new JsonParser().parse("{}").getAsJsonObject();
- }
- }
- public boolean isOnline() {
- return getApiObject().get("online").getAsBoolean();
- }
- public List<String> getMotd() {
- List<String> motds = new ArrayList<String>();
- String motdString;
- motdString = getApiObject().get("motd").getAsString();
- motds.add(motdString.split("\\n")[0]);
- motds.add(motdString.split("\\n")[1]);
- return motds;
- }
- private JsonObject getPlayerObjectFromApiObject() {
- return getApiObject().get("players").getAsJsonObject();
- }
- public int getMaxPlayers() {
- return getPlayerObjectFromApiObject().get("max").getAsInt();
- }
- public int getNowPlayer() {
- return getPlayerObjectFromApiObject().get("now").getAsInt();
- }
- public JsonObject getServerObjectFromApiObject() {
- return getApiObject().get("server").getAsJsonObject();
- }
- public String getServerName() {
- return getServerObjectFromApiObject().get("name").getAsString();
- }
- public String getServerType() {
- return getServerObjectFromApiObject().get("name").getAsString().split(" ")[0];
- }
- public int getProtocol() {
- return getServerObjectFromApiObject().get("protocol").getAsInt();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement