aboutsummaryrefslogtreecommitdiff
path: root/commands/claim.js
blob: ef40b999cdc8d5c470f14e237af58006df20279a (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
116
117
import axios from "../../axios"
import settings from "../settings"
import constants from "../util/constants"
const PREFIX = constants.PREFIX
const path = `https://ninjune.dev`
const serverId = java.util.UUID.randomUUID().toString().replace("-", "")
let claimedServers = []


export function claim(structure)
{
    if(!settings.claiming) 
    {
        ChatLib.chat(`${PREFIX}&cPlease turn on the &3Claiming&c setting in /cw settings!`)
        return
    }

    if (constants.serverData.map != "Crystal Hollows")
    {
        ChatLib.chat(`${PREFIX}&cThis command is only available in the crystal hollows!`)
        return
    }

    if (structure == undefined || !(structure.toLowerCase() == "throne" || structure.toLowerCase() == "spiral"))
    {
        ChatLib.chat(`${PREFIX}&cPlease enter the structure you wish to claim! (&3throne&c or &3spiral&c)`)
        return
    }
    
    axios.get(`${path}/api/claim?type=${structure}&lobby=${constants.serverData.server}&username=${Player.getName()}&serverID=${serverId}`)
    .then(res => {
        if(res.data.success)
        {
            ChatLib.chat(`${PREFIX}&aSuccessfully claimed ${constants.serverData.server} as your server!`)
            claimedServers.push({player: Player.getName(), server: constants.serverData.server, structure: structure})
            return
        }
        else
        {   
            
            if(res.data.code == 501)
            {
                ChatLib.chat(`${PREFIX}&cError: Not logged into the auth server. Try running the command again.`)
                return Client.getMinecraft().func_152347_ac().joinServer(Client.getMinecraft().func_110432_I().func_148256_e(), Client.getMinecraft().func_110432_I().func_148254_d(), serverId)
            }
            else
                return ChatLib.chat(`${PREFIX}&cError: ${res.data.reason}.`)
        }
    })
    .catch(err => {
        return ChatLib.chat(`${PREFIX}&cError: ${err}`)
    })
}


register('gameLoad', (event) => {
    try
    {
        Client.getMinecraft().func_152347_ac().joinServer(Client.getMinecraft().func_110432_I().func_148256_e(), Client.getMinecraft().func_110432_I().func_148254_d(), serverId)
    }
    catch(e) {}
    getClaimed()
})


register('worldLoad', () => {
    if(!settings.claiming) return
    getClaimed()
    setTimeout(() => {
        const NetHandlerPlayClient = Client.getConnection(),
         PlayerMap = NetHandlerPlayClient.func_175106_d()  // getPlayerInfoMap
        let player

        if(settings.debug) console.log(constants.serverData.server)
        
        claimedServers.forEach((claimedServer) => {
            PlayerMap.filter(player => player.func_178853_c() > 0 && !player.func_178845_a().name.startsWith("!")).forEach((PlayerMP) => {
                player = PlayerMP.func_178845_a().name

                if (player == claimedServer.player && claimedServer.server == constants.serverData.server)
                    ChatLib.chat(`${PREFIX}&cThe ${claimedServer.structure} in ${claimedServer.server} is claimed by ${claimedServer.player}.`)
            })

            if (Player.getName() == claimedServer.player)
                {
                    axios.get(`${path}/api/unclaim?username=${Player.getName()}&serverID=${serverId}`)
                    .then(res => {
                        if(settings.debug && !res.data.success)
                            ChatLib.chat("Unclaim: " + res.data.reason)
                            if(res.data.code == 501)
                                Client.getMinecraft().func_152347_ac().joinServer(Client.getMinecraft().func_110432_I().func_148256_e(), Client.getMinecraft().func_110432_I().func_148254_d(), serverId)
                    })
                    .catch(err => {
                        if(settings.debug)
                            ChatLib.chat(`${PREFIX}&cError: ${err}`)
                    })
                }
        })
    }, 2000)
})


function getClaimed()
{
    axios.get(`${path}/api/claimed?authServer=${serverId}&passedName=${Player.getName()}`)
    .then(res => {
        if(res.data.code == 501)
        {
            Client.getMinecraft().func_152347_ac().joinServer(Client.getMinecraft().func_110432_I().func_148256_e(), Client.getMinecraft().func_110432_I().func_148254_d(), serverId)
            return
        }
        claimedServers = []
        res.data.forEach(server => {
            claimedServers.push(server)
        })
    })
}