aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
blob: 8ce7facbc794868d9a4a8ee0e8177b3cad42cd55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package me.xmrvizzy.skyblocker.skyblock.api;

import com.google.gson.GsonBuilder;
import com.mojang.brigadier.arguments.StringArgumentType;
import me.xmrvizzy.skyblocker.skyblock.api.records.PlayerProfiles;
import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.ClickEvent;
import net.minecraft.text.LiteralText;

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()){
                                            MinecraftClient.getInstance().player.sendMessage(new LiteralText(playerProfiles.profiles().get(profileId).cuteName())
                                                    .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false);
                                        }
                                    }).start();
                                    return 1;
                                }))))));
    }
}