From d1f260be47ea166e77b2e25cd07d6b08ec3e767d Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Sat, 18 Jul 2020 22:26:30 -0400 Subject: Add /slayer, API handling and better number formats Added API handler which should make future API commands easier to add. Added /slayer command. Added format to numbers based on locale. --- me/Danker/handlers/APIHandler.java | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 me/Danker/handlers/APIHandler.java (limited to 'me/Danker/handlers/APIHandler.java') diff --git a/me/Danker/handlers/APIHandler.java b/me/Danker/handlers/APIHandler.java new file mode 100644 index 0000000..5997713 --- /dev/null +++ b/me/Danker/handlers/APIHandler.java @@ -0,0 +1,51 @@ +package me.Danker.handlers; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +public class APIHandler { + public static JsonObject getResponse(String urlString, EntityPlayer player) { + try { + URL url = new URL(urlString); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + + if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { + BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); + String input; + StringBuffer response = new StringBuffer(); + + while ((input = in.readLine()) != null) { + response.append(input); + } + in.close(); + + Gson gson = new Gson(); + JsonObject object = gson.fromJson(response.toString(), JsonObject.class); + + return object; + } else { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Request failed. Incorrect arguments?")); + } + } catch (MalformedURLException ex) { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "An error has occured. See logs for more details.")); + System.err.println(ex); + } catch (IOException ex) { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "An error has occured. See logs for more details.")); + System.err.println(ex); + } + + return new JsonObject(); + } +} -- cgit