aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ProfileUtils.java27
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java26
2 files changed, 53 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ProfileUtils.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ProfileUtils.java
new file mode 100644
index 00000000..5c74bdf8
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ProfileUtils.java
@@ -0,0 +1,27 @@
+package me.xmrvizzy.skyblocker.skyblock.api;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import marcono1234.gson.recordadapter.RecordTypeAdapterFactory;
+import me.xmrvizzy.skyblocker.skyblock.api.records.PlayerProfiles;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+
+public class ProfileUtils {
+ public static PlayerProfiles getProfiles(String name){
+ try {
+ URL url = new URL("https://sky.shiiyu.moe/api/v2/profile/" + name);
+ InputStreamReader reader = new InputStreamReader(url.openStream());
+ Gson gson = new GsonBuilder()
+ .registerTypeAdapterFactory(RecordTypeAdapterFactory.builder().allowMissingComponentValues().create())
+ .serializeNulls()
+ .create();
+ return gson.fromJson(reader, PlayerProfiles.class);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
new file mode 100644
index 00000000..292abe7a
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
@@ -0,0 +1,26 @@
+package me.xmrvizzy.skyblocker.skyblock.api;
+
+import com.mojang.brigadier.arguments.StringArgumentType;
+import me.xmrvizzy.skyblocker.skyblock.api.records.PlayerProfiles;
+import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager;
+
+import java.text.DecimalFormat;
+
+public class StatsCommand {
+ public static void init(){
+ ClientCommandManager.DISPATCHER.register(ClientCommandManager.literal("skyblocker")
+ .then(ClientCommandManager.literal("debug")
+ .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string())
+ .then(ClientCommandManager.argument("cute name", StringArgumentType.string()).executes(context -> {
+ new Thread(() -> {
+ PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username"));
+ for (String profileId : playerProfiles.profiles().keySet()){
+ if (playerProfiles.profiles().get(profileId).cuteName().equalsIgnoreCase(StringArgumentType.getString(context, "cute name"))){
+ System.out.println(playerProfiles);
+ }
+ }
+ }).start();
+ return 1;
+ }))))));
+ }
+}