aboutsummaryrefslogtreecommitdiff
path: root/commandManager.js
blob: 9acc4e4cf3a627879dfc73e02cacc1d86231fcdc (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import axios from '../axios'
import { help } from "./commands/help.js"
import { reload } from "./commands/reload.js"
import { setkey } from "./commands/setkey.js"
import { spiral } from "./commands/spiral.js"
import { throne } from "./commands/throne.js"
import { toggle } from "./commands/toggle.js"
import { leaderboard } from "./commands/leaderboard.js"
import { update } from './commands/update'
import { openCwGui } from './gui/cwGui'
import Settings from "./gui/settingsGui";
import constants from './util/constants.js'

const PREFIX = constants.PREFIX

register("command", (arg, arg2, arg3) => {
    switch(arg.toLowerCase())
    {
        case "setkey":
            setkey(arg2)
            break
        case "help":
            help()
            break
        case "move":
            openCwGui()
            break
        case "toggle":
            toggle()
            break
        case "throne":
            throne(arg2)
            break
        case "spiral":
            spiral(arg2)
            break
        case "reload":
            reload()
            break
        case "leaderboard":
            leaderboard(arg2, arg3)
            break
        case "update":
            update()
            break
        case "settings":
            Settings.openGUI()
            break
        default:
            ChatLib.chat(`${constants.PREFIX}Finding Coleweight!`)
            let username = ""
            if(arg == undefined) 
                username = Player.getUUID()
            else 
                username = arg 
            axios.get(`https://ninjune.dev/api/coleweight?username=${username}`)
                .then(res => {
                    let coleweightMessage = new TextComponent(`${constants.PREFIX}&b${res.data.rank}. ${res.data.name}&b's Coleweight: ${res.data.coleweight} (Top &l${res.data.percentile}&b%)`)
                        .setHoverValue(`&fExperience&f: &a${res.data.exp}\n&fPowder&f: &a${res.data.pow}\n&fCollection&f: &a${res.data.col}\n&fMiscellaneous&f: &a${res.data.bes + res.data.nuc}`)
                    ChatLib.chat(coleweightMessage)
                })
                .catch(err => {
                    ChatLib.chat(`${PREFIX}&eError. (api may be down)`)
                })
    }
}).setTabCompletions((args) => {
    let output = [],
     commands = ["setkey", "help", "gui", "toggle", "throne", "spiral", "reload", "leaderboard", "settings"]
    
    if(args[0].length == 0 || args[0] == undefined)
        output = commands
    else
    {
        for(let i = 0; i < commands.length; i++)
        {
            for(let j = 0; j < args[0].length; j++)
            {
                if(commands[i][j] != args[0][j])
                    break
                else if(j == args[0].length - 1)
                    output.push(commands[i])
            }
        }
    }
    return output
}).setName("cw").setAliases(["coleweight"])

register("command", (arg) => {
    if(arg == undefined) { ChatLib.chat(`${PREFIX}&eRequires a username!`); return; }
    axios.get(`https://api.ashcon.app/mojang/v2/user/${arg}`)
        .then(res => {
            let uuid = res.data.uuid;
            axios.get(`https://api.hypixel.net/player?key=${constants.data.api_key}&uuid=${uuid}`)
            .then(res2 => {
                let discordMessage = new TextComponent(`${PREFIX}&a${res.data.username}'s Discord: `)
                ChatLib.chat(discordMessage);
                ChatLib.chat(`&b${res2.data.player.socialMedia.links.DISCORD}`)
            })
            .catch(err => {
                ChatLib.chat(`${PREFIX}&eNo discord linked :( (or no key linked)`)
            })
        })
        .catch(err => {
            ChatLib.chat(`${PREFIX}&eInvalid name! `)
        });
}).setTabCompletions((args) => {
    let players = World.getAllPlayers().map((p) => p.getName())
    .filter((n) =>
      n.toLowerCase().startsWith(args.length ? args[0].toLowerCase() : "")
    )
    .sort(),
     output = players
        
    return output
}).setName("fetchdiscord").setAliases(["fdiscord"]);