Advertisement
TNT_Block

MinecraftApi

Jun 12th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. package de.cryptonicdev.cryptonic.mcapi;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.MalformedURLException;
  7. import java.net.URL;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10.  
  11. import com.google.gson.JsonObject;
  12. import com.google.gson.JsonParser;
  13.  
  14. public class MinecraftAPI {
  15. private String ip;
  16. private int port;
  17.  
  18. public MinecraftAPI(String ip, int port) {
  19. this.ip = ip;
  20. this.port = port;
  21. }
  22.  
  23. private final String link = "https://mcapi.us/server/status?ip=";
  24.  
  25. private final JsonObject getApiObject() {
  26. try {
  27. URL url = new URL(link + ip + "&port=" + port);
  28. StringBuilder builder = new StringBuilder("");
  29. BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
  30. String line;
  31. while ((line = in.readLine()) != null) {
  32. builder.append(line);
  33. }
  34. in.close();
  35. return new JsonParser().parse(builder.toString()).getAsJsonObject();
  36. } catch (Exception e) {
  37. return new JsonParser().parse("{}").getAsJsonObject();
  38. }
  39. }
  40.  
  41. public boolean isOnline() {
  42. return getApiObject().get("online").getAsBoolean();
  43. }
  44.  
  45. public List<String> getMotd() {
  46. List<String> motds = new ArrayList<String>();
  47. String motdString;
  48. motdString = getApiObject().get("motd").getAsString();
  49. motds.add(motdString.split("\\n")[0]);
  50. motds.add(motdString.split("\\n")[1]);
  51. return motds;
  52. }
  53.  
  54. private JsonObject getPlayerObjectFromApiObject() {
  55. return getApiObject().get("players").getAsJsonObject();
  56. }
  57. public int getMaxPlayers() {
  58. return getPlayerObjectFromApiObject().get("max").getAsInt();
  59. }
  60.  
  61. public int getNowPlayer() {
  62. return getPlayerObjectFromApiObject().get("now").getAsInt();
  63. }
  64.  
  65. public JsonObject getServerObjectFromApiObject() {
  66. return getApiObject().get("server").getAsJsonObject();
  67. }
  68.  
  69. public String getServerName() {
  70. return getServerObjectFromApiObject().get("name").getAsString();
  71. }
  72.  
  73. public String getServerType() {
  74. return getServerObjectFromApiObject().get("name").getAsString().split(" ")[0];
  75. }
  76. public int getProtocol() {
  77. return getServerObjectFromApiObject().get("protocol").getAsInt();
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement