aboutsummaryrefslogtreecommitdiff
path: root/chat/grieferTrack.js
blob: 157696ba3b653666aec3514cd2d588ad15de4e3d (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
import axios from "../../axios"
import settings from "../settings"
import constants from "../util/constants"
import { checkInDwarven, checkInHollows } from "../util/helperFunctions"
const PREFIX = constants.PREFIX
let checkedPlayers = [],
 griefers = []


register("step", () => {
    let date_ob = new Date(),
     seconds = date_ob.getSeconds()
    
    if(seconds == 0 || seconds == 15 || seconds == 30 || seconds == 45)
        checkMMiners()
}).setFps(1)


register("worldLoad", () => {
    checkedPlayers = []
    setTimeout(() => {
        checkMMiners()
    }, 1500)
})


function checkMMiners()
{
    if (!settings.trackGriefers || (!settings.grieferEverywhere && !(checkInDwarven() || checkInHollows()))) return
    try
    {
        const NetHandlerPlayClient = Client.getConnection(),
        PlayerMap = NetHandlerPlayClient.func_175106_d() // getPlayerInfoMap
        
        PlayerMap.filter(player => player.func_178853_c() > 0 && !player.func_178845_a().name.startsWith("!")).forEach((PlayerMP) => {
            let player = PlayerMP.func_178845_a().name
            
            if(!checkedPlayers.includes(player))
            {
                let griefer = findGriefer(player)

                if(griefer.found)
                {
                    ChatLib.chat(`${PREFIX}&e'${player}' has griefed &e&l${griefer.offences} &etime(s). Their last grief was on ${griefer.dateObj.toString().slice(4, 15)}.`)
                    checkedPlayers.push(player)
                }
            }
        })
    } catch(err) { if(settings.debug) console.log("grieferTrack trycatch: " + err) }

    return checkedPlayers
}


register("gameLoad", () => {
    axios.get(`https://ninjune.dev/api/mminers`)
    .then(res => {
        griefers = res.data.griefers
    })
    .catch(err => {
        if(!settings.debug) return
        ChatLib.chat(err)
    })
})


export function findGriefer(player)
{
    let grieferReturnObj = {}
    grieferReturnObj.found = false
    griefers.forEach(griefer => {
        griefer.dateObj = new Date(0)
        griefer.dateObj.setUTCMilliseconds(griefer.timestamp)

        if(griefer.name.toLowerCase() == player.toLowerCase())
        {
            grieferReturnObj = griefer
            grieferReturnObj.found = true
        }
    })
    return grieferReturnObj
}
export default ""