diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ProfileUtils.java | 27 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java | 26 |
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; + })))))); + } +} |