diff options
-rw-r--r-- | chat/grieferTrack.js | 33 | ||||
-rw-r--r-- | chat/message.js | 2 | ||||
-rw-r--r-- | chat/updater.js | 35 | ||||
-rw-r--r-- | commandManager.js | 3 | ||||
-rw-r--r-- | commands/claim.js | 95 | ||||
-rw-r--r-- | commands/fetchDiscord.js | 12 | ||||
-rw-r--r-- | commands/reload.js | 11 | ||||
-rw-r--r-- | index.js | 1 | ||||
-rw-r--r-- | metadata.json | 2 | ||||
-rw-r--r-- | render/cwGui.js | 26 | ||||
-rw-r--r-- | render/naturals.js | 37 | ||||
-rw-r--r-- | settings.js | 4 |
12 files changed, 128 insertions, 133 deletions
diff --git a/chat/grieferTrack.js b/chat/grieferTrack.js index 468428a..5ac186f 100644 --- a/chat/grieferTrack.js +++ b/chat/grieferTrack.js @@ -3,7 +3,8 @@ import settings from "../settings" import Settings from "../settings" import constants from "../util/constants" const PREFIX = constants.PREFIX -let players = [] // global variable moment +let checkedPlayers = [], + griefers = [] register("step", () => { @@ -16,8 +17,10 @@ register("step", () => { register("worldLoad", () => { - players = [] - checkMMiners() + checkedPlayers = [] + setTimeout(() => { + checkMMiners() + }, 1500) }) @@ -32,19 +35,27 @@ function checkMMiners() PlayerMap.filter(player => player.func_178853_c() > 0 && !player.func_178845_a().name.startsWith("!")).forEach((PlayerMP) => { let player = PlayerMP.func_178845_a().name - if(players.indexOf(player) == -1) + if(!checkedPlayers.includes(player)) { - axios.get(`https://ninjune.dev/api/mminers?username=${player}`) - .then(res => { - if(res.data.found == true && res.data.type == "griefer") - ChatLib.chat(`${PREFIX}&e'${res.data.name}' is a griefer!`) - }) - players.push(player) + if(griefers.includes(player)) + ChatLib.chat(`${PREFIX}&e'${player}' is a griefer!`) + checkedPlayers.push(player) } }) } catch(err) { if(settings.debug) console.log("grieferTrack trycatch: " + err) } - return players + 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 default ""
\ No newline at end of file diff --git a/chat/message.js b/chat/message.js index 180e90b..60245de 100644 --- a/chat/message.js +++ b/chat/message.js @@ -40,7 +40,7 @@ register("chat", (level, typeOfChat, hypixelRank, username, playerMessage, event ChatLib.chat(newMessage) }).setCriteria(/^(\[\d+\] )?((?:(?:Guild|Party|Co-op) > )|(?:\[:v:\] ))?(\[\w+\+{0,2}\] )?(\w{1,16})(?: \[\w{1,6}\])?: (.*)$/g) -register("worldLoad", () => { +register("gameLoad", () => { axios.get(`https://ninjune.dev/api/coleweight-leaderboard?length=500`) .then(res => { cwlbData = res.data diff --git a/chat/updater.js b/chat/updater.js deleted file mode 100644 index c936e80..0000000 --- a/chat/updater.js +++ /dev/null @@ -1,35 +0,0 @@ -import axios from "../../axios" -import constants from "../util/constants" - -const PREFIX = constants.PREFIX, - VERSION = constants.VERSION - -register("worldLoad", () => { - axios.get(`https://chattriggers.com/api/modules/1367`) - .then(res => { - let ctVersionArray = (res.data.releases[0].releaseVersion).split('.'), - currentVersionArray = VERSION.split('.'), - newVersion = false - - for(let i = ctVersionArray.length; i >= 0; i--) - { - if (ctVersionArray[i] > currentVersionArray[i]) - newVersion = true - else if (currentVersionArray[i] > ctVersionArray[i]) - newVersion = false - } - - if(newVersion) - { - ChatLib.chat(`${PREFIX}&eYou are using an unsupported version of Coleweight!`) - new TextComponent(`${PREFIX}&eClick &3here&e to update!`) - .setClickAction("run_command") - .setClickValue(`/ct load`) - .chat() - ChatLib.chat("") - } - }) - -}) - -export default ""
\ No newline at end of file diff --git a/commandManager.js b/commandManager.js index cf28a8c..62623f8 100644 --- a/commandManager.js +++ b/commandManager.js @@ -2,9 +2,8 @@ import { openTimerGui } from "./render/timerGui.js" import { openPowderGui } from "./render/powertrackerGui" import { openCoordsGui } from "./render/coordsGui.js" import { openDowntimeGui } from "./render/downtimeGui.js" -import { openCwGui } from "./render/cwGui" +import { openCwGui, reload } from "./render/cwGui" import { help } from "./commands/help" -import { reload } from "./commands/reload" import { setkey } from "./commands/setkey" import { spiral } from "./commands/spiral" import { throne } from "./commands/throne" diff --git a/commands/claim.js b/commands/claim.js index 52cb5f8..e3f9a0d 100644 --- a/commands/claim.js +++ b/commands/claim.js @@ -2,7 +2,10 @@ 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) { @@ -24,11 +27,12 @@ export function claim(structure) return } - axios.get(`https://ninjune.dev/api/claim?type=${structure}&lobby=${constants.serverData.server}&username=${Player.getName()}&serverID=${serverId}`) + 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 @@ -37,68 +41,79 @@ export function claim(structure) if(res.data.code == 501) { ChatLib.chat(`${PREFIX}&cError: Not logged into the auth server. Try running the command again.`) - Client.getMinecraft().func_152347_ac().joinServer(Client.getMinecraft().func_110432_I().func_148256_e(), Client.getMinecraft().func_110432_I().func_148254_d(), serverId) - return + 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 - ChatLib.chat(`${PREFIX}&cError: ${res.data.reason}.`) + return ChatLib.chat(`${PREFIX}&cError: ${res.data.reason}.`) } }) .catch(err => { - ChatLib.chat(`${PREFIX}&cError: ${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) {} + // what if a player claims after gameload? idk man, making requests every worldload is hurting my server. + // this feature is barely used anyway. + getClaimed() }) + register('worldLoad', () => { if(!settings.claiming) return - axios.get(`https://ninjune.dev/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}`) - }) - // unclaims the lobby, isn't needed but will allow another player to claim lobby after claimer leaves. + if(claimedServers == undefined) + getClaimed() setTimeout(() => { const NetHandlerPlayClient = Client.getConnection(), PlayerMap = NetHandlerPlayClient.func_175106_d() // getPlayerInfoMap - + let player + if(settings.debug) console.log(constants.serverData.server) - axios.get(`https://ninjune.dev/api/claimed?serverID=${constants.serverData.server}&authServer=${serverId}&passedName=${Player.getName()}`) - .then(res => { - if(res.data.claimed) - { - PlayerMap.filter(player => player.func_178853_c() /* getResponseTime */ > 0 && !player.func_178845_a()/* getGameProfile */.name.startsWith("!")).forEach((PlayerMP) => { - let player = PlayerMP.func_178845_a()/* getGameProfile */.name + + 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}.`) + }) - res.data.structures.forEach((structure) => { - if (player == structure.player) - ChatLib.chat(`${PREFIX}&cThe ${structure.structure} in ${structure.server} is claimed by ${structure.player}.`) - //holy im so good at naming things, structure.structure I must be a genius. + 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) }) - }) - } - else if (res.data.err && settings.debug) - { - ChatLib.chat("Check claim: " + res.data.reason) - } - }) - .catch(err => { - if(!settings.debug) return - ChatLib.chat(`${PREFIX}&cError: ${err}`) + .catch(err => { + if(settings.debug) + ChatLib.chat(`${PREFIX}&cError: ${err}`) + }) + } }) }, 2000) -})
\ No newline at end of file +}) + + +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 + } + res.data.forEach(server => { + claimedServers.push(server) + }) + }) +} diff --git a/commands/fetchDiscord.js b/commands/fetchDiscord.js index f44c385..f254edb 100644 --- a/commands/fetchDiscord.js +++ b/commands/fetchDiscord.js @@ -6,14 +6,14 @@ export function fetchDiscord(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.mojang.com/users/profiles/minecraft/${arg}`) + .then(mojangRes => { + let uuid = mojangRes.data.id 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: `) + .then(hypixelRes => { + let discordMessage = new TextComponent(`${PREFIX}&a${mojangRes.data.name}'s Discord: `) ChatLib.chat(discordMessage); - ChatLib.chat(`&b${res2.data.player.socialMedia.links.DISCORD}`) + ChatLib.chat(`&b${hypixelRes.data.player.socialMedia.links.DISCORD}`) }) .catch(err => { ChatLib.chat(`${PREFIX}&eNo discord linked :( (or no key linked)`) diff --git a/commands/reload.js b/commands/reload.js deleted file mode 100644 index 1c5fcc0..0000000 --- a/commands/reload.js +++ /dev/null @@ -1,11 +0,0 @@ -import constants from "../util/constants" -const PREFIX = constants.PREFIX - -export function reload() -{ - constants.upTimeTrack = false - constants.stepsSinceLast = 0 - constants.cwValues = [] - constants.uptime = 0 - ChatLib.chat(`${PREFIX}Reloaded!`) -}
\ No newline at end of file @@ -5,5 +5,4 @@ import './chat/apiNew' import './chat/message' import './chat/serverdata' import './commandManager' -import './chat/updater' import './chat/grieferTrack'
\ No newline at end of file diff --git a/metadata.json b/metadata.json index bf79237..034e1f8 100644 --- a/metadata.json +++ b/metadata.json @@ -3,6 +3,6 @@ "creator": "Ninjune", "entry": "index.js", "description": "Mining utilities.", - "version": "1.6.10", + "version": "1.6.11", "requires": ["axios", "PogData", "Vigilance", "Elementa"] }
\ No newline at end of file diff --git a/render/cwGui.js b/render/cwGui.js index 4e0f660..5af6773 100644 --- a/render/cwGui.js +++ b/render/cwGui.js @@ -11,7 +11,8 @@ let cwValues = [], baseColeweight = 0, stepsSinceLast = 0, coleweightHr = 0, - cwValuesSum = 0 + cwValuesSum = 0, + cwInfo export function openCwGui() @@ -20,6 +21,16 @@ export function openCwGui() } +export function reload() +{ + upTimeTrack = false + stepsSinceLast = 0 + cwValues = [] + uptime = 0 + ChatLib.chat(`${PREFIX}Reloaded!`) +} + + register("dragged", (dx, dy, x, y) => { if (!cwGui.isOpen()) return constants.data.x = x @@ -63,6 +74,12 @@ register("renderOverlay", () => { Renderer.drawStringWithShadow(`&aCW: &b${coleweightMessage}\n&aCW/hr: &b${coleweightHr}\n&aUptime: &b${Math.floor(uptime/60)}m ${Math.floor(uptime%60)}s\n&aColeweight Gained: &b${Math.ceil(cwValuesSum*100) / 100}`, data.x, data.y) }) +register("gameLoad", () => { + axios.get(`https://ninjune.dev/api/cwinfo`) + .then(cwInfoRes => { + cwInfo = cwInfoRes.data + }) +}) register("step", () => { @@ -88,12 +105,9 @@ register("step", () => { uuid = uuid + tempUuid[i] } } - axios.get(`https://ninjune.dev/api/cwinfo`) - .then(cwInfoRes => { axios.get(`https://api.hypixel.net/skyblock/profiles?key=${constants.data.api_key}&uuid=${uuid}`) .then(res => { - let eq = 0, - cwInfo = cwInfoRes.data + let eq = 0 for(let i=0; i < res.data.profiles.length; i+=1) { @@ -168,6 +182,7 @@ register("step", () => { } else if(stepsSinceLast > 20) { + uptime = 0 upTimeTrack = false stepsSinceLast = 0 cwValues = [] @@ -180,7 +195,6 @@ register("step", () => { data.coleweight = Math.ceil(coleweight*100)/100 data.save() }) - }) } catch(e) {} } diff --git a/render/naturals.js b/render/naturals.js index 595c32d..2f9adc9 100644 --- a/render/naturals.js +++ b/render/naturals.js @@ -2,37 +2,40 @@ import axios from "../../axios" import settings from "../settings" import constants from "../util/constants" import { waypointRender } from "../util/helperFunctions" -const PREFIX = constants.PREFIX -let coords = [] +let coords = [], + visibleCoords = [] - -register("step", () => { - if(constants.serverData.map != "Crystal Hollows") return +register("gameLoad", res => { axios.get(`https://ninjune.dev/api/coords`) .then((res) => { - coords = [] - res.data.filter(coord => - (((-1 * settings.naturalRange)/2 < (parseInt(Player.getX()) - coord.x)) && ((parseInt(Player.getX()) - coord.x) < settings.naturalRange/2) - && ((-1 * settings.naturalRange)/2 < (parseInt(Player.getY()) - coord.y)) && ((parseInt(Player.getY()) - coord.y) < settings.naturalRange/2) - && ((-1 * settings.naturalRange)/2 < (parseInt(Player.getZ()) - coord.z)) && ((parseInt(Player.getZ()) - coord.z) < settings.naturalRange/2)) - ).forEach(coord => { - coords.push([coord.x, coord.y, coord.z]) - }) + coords = res.data }) .catch((err) => { - console.log(err) + if(settings.debug) return console.log(err) + }) +}) + +register("step", () => { + if(constants.serverData.map != "Crystal Hollows" || !settings.showNaturals) return + visibleCoords = [] + coords.filter(coord => + (((-1 * settings.naturalRange)/2 < (parseInt(Player.getX()) - coord.x)) && ((parseInt(Player.getX()) - coord.x) < settings.naturalRange/2) + && ((-1 * settings.naturalRange)/2 < (parseInt(Player.getY()) - coord.y)) && ((parseInt(Player.getY()) - coord.y) < settings.naturalRange/2) + && ((-1 * settings.naturalRange)/2 < (parseInt(Player.getZ()) - coord.z)) && ((parseInt(Player.getZ()) - coord.z) < settings.naturalRange/2)) + ).forEach(coord => { + visibleCoords.push([coord.x, coord.y, coord.z]) }) }).setFps(1) register("renderWorld", () => { if(!settings.showNaturals) return - if(coords.length < 1) return - waypointRender(coords) + if(visibleCoords.length < 1) return + waypointRender(visibleCoords) }) register("worldUnload", () => { - coords = [] + visibleCoords = [] }) diff --git a/settings.js b/settings.js index 92c13d2..3a5e1c7 100644 --- a/settings.js +++ b/settings.js @@ -1,6 +1,6 @@ import { @Vigilant, @ButtonProperty, @SwitchProperty, @SelectorProperty, @SliderProperty } from 'Vigilance' -@Vigilant("Coleweight") +@Vigilant("Coleweight/config") class Settings { @SwitchProperty({ name: "Coleweight tracker", @@ -8,7 +8,7 @@ class Settings { subcategory: "Coleweight Tracker", category: "General" }) - cwToggle = true; + cwToggle = false; @ButtonProperty({ name: "Change Coleweight tracker position", |