diff options
-rw-r--r-- | chat/message.js | 5 | ||||
-rw-r--r-- | commandManager.js | 2 | ||||
-rw-r--r-- | commands/claim.js | 18 | ||||
-rw-r--r-- | commands/time.js | 4 | ||||
-rw-r--r-- | metadata.json | 2 | ||||
-rw-r--r-- | render/cwGui.js | 35 | ||||
-rw-r--r-- | render/powertrackerGui.js | 80 | ||||
-rw-r--r-- | render/timerGui.js | 33 | ||||
-rw-r--r-- | settings.js | 54 |
9 files changed, 109 insertions, 124 deletions
diff --git a/chat/message.js b/chat/message.js index 6e3796f..5a146b8 100644 --- a/chat/message.js +++ b/chat/message.js @@ -20,12 +20,13 @@ register("chat", (level, typeOfChat, hypixelRank, username, playerMessage, event onward = false }) if(!onward || cwlbData == undefined) return + cwlbPlayerData = cwlbData.filter(player => player.name == username)[0] + if(cwlbPlayerData == undefined) return cancel(event) newMessage = new Message() message = ChatLib.getChatMessage(event, true), messagePrefix = message - - cwlbPlayerData = cwlbData.filter(player => player.name == username)[0] + if(cwlbPlayerData.rank > 0 && cwlbPlayerData.rank < 501) messagePrefix = message.slice(0, message.indexOf(':')) + ` &8[&6#${addCommas(cwlbPlayerData.rank)}&8]&f: ` else if(hypixelRank == "" && typeOfChat == "") diff --git a/commandManager.js b/commandManager.js index c903e6b..66b05e3 100644 --- a/commandManager.js +++ b/commandManager.js @@ -1,5 +1,5 @@ import { openTimerGui } from "./render/timerGui.js" -import { openPowderGui, updateDisplay } from "./render/powertrackerGui" +import { openPowderGui } from "./render/powertrackerGui" import { openCwGui } from "./render/cwGui" import { help } from "./commands/help.js" import { reload } from "./commands/reload.js" diff --git a/commands/claim.js b/commands/claim.js index fc0bc57..cb691f3 100644 --- a/commands/claim.js +++ b/commands/claim.js @@ -41,19 +41,29 @@ export function claim(structure) register('worldLoad', () => { if(!settings.claiming) return setTimeout(() => { - console.log(constants.serverData.server) + if(settings.debug) console.log(constants.serverData.server) axios.get(`https://ninjune.dev/api/claim?claimedlobby=${constants.serverData.server}`) .then(res => { if(res.data.claimed) { + ChatLib.chat("here") World.getAllPlayers().forEach((player) => { - if (player.getName() == res.data.player) - ChatLib.chat(`${PREFIX}&cThe ${res.data.structure} in this lobby is claimed by ${res.data.player}.`) + res.data.structures.forEach((structure) => { + if (player.getName() == 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. + }) }) } }) .catch(err => { - ChatLib.chat(`${PREFIX}Error: ${err}`) + if(!settings.debug) return + ChatLib.chat(`${PREFIX}&cError: ${err}`) }) }, 2000) +}) + +register('worldUnload', () => { + axios.get(`https://ninjune.dev/api/unclaim?claimedlobby=${constants.serverData.server}&key=${constants.data.api_key}`) + // unclaims the lobby, isn't needed but will allow another player to claim lobby after claimer leaves. key used to verify identity of unclaimer. })
\ No newline at end of file diff --git a/commands/time.js b/commands/time.js index 115964e..08aaada 100644 --- a/commands/time.js +++ b/commands/time.js @@ -1,10 +1,10 @@ import constants from "../util/constants" const PREFIX = constants.PREFIX - +let timerHr export function time() { - let timerHr = Math.floor(constants.timerdata.timer/60/60) + timerHr = Math.floor(constants.timerdata.timer/60/60) if(timerHr >= 1) ChatLib.chat(`${PREFIX}&aTimer (${constants.serverData.server}): &b${timerHr}h ${Math.floor(constants.timerdata.timer/60) - timerHr*60}m`) diff --git a/metadata.json b/metadata.json index 8376c03..385f4d0 100644 --- a/metadata.json +++ b/metadata.json @@ -3,6 +3,6 @@ "creator": "Ninjune", "entry": "index.js", "description": "Simple Coleweight module to measure mining progression.", - "version": "1.6.1", + "version": "1.6.2", "requires": ["axios", "PogData", "Vigilance"] }
\ No newline at end of file diff --git a/render/cwGui.js b/render/cwGui.js index d0f4a5c..96c0bf6 100644 --- a/render/cwGui.js +++ b/render/cwGui.js @@ -1,39 +1,30 @@ import settings from "../settings"; import constants from "../util/constants"; -const cwMove = new Gui(), - cwGui = new Display() - -cwGui.setBackgroundColor(Renderer.color(0, 0, 0, 75)); -cwGui.setBackground("full"); -cwGui.setMinWidth(100) +const cwGui = new Gui() +let txt = "Please set your api key with /cw setkey (key)!" export function openCwGui() { - cwMove.open() + cwGui.open() } register("dragged", (dx, dy, x, y) => { - if (!cwMove.isOpen()) return + if (!cwGui.isOpen()) return constants.data.x = x constants.data.y = y constants.data.save() -}); +}) register("renderOverlay", () => { - cwGui.setShouldRender(false) - cwGui.clearLines() - cwGui.setRenderLoc(constants.data.x, constants.data.y) - - if (cwMove.isOpen()) + if (cwGui.isOpen()) { - let txt = "Please set your api key with /cw setkey (key)!" if (constants.data.api_key != undefined) - txt = "Click anywhere to move!" + txt = "Click anywhere to move!" Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) - cwGui.addLines([`&aCW: &b0`, `&aCW/hr: &b0`, `&aUptime: &b69h 420m `, `&aColeweight Gained: &b0 `]) - cwGui.setShouldRender(true) + Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) + Renderer.drawStringWithShadow(`&aCW: &b0\n&aCW/hr: &b0\n&aUptime: &b0m\n&aColeweight Gained: &b0`, constants.data.x, constants.data.y) } if(!settings.cwToggle || constants.data.api_key == undefined) return @@ -54,12 +45,10 @@ register("renderOverlay", () => { constants.calcCwPerHr = false } - if (cwMove.isOpen() || !constants.upTimeTrack) return - - cwGui.setShouldRender(true) + if (cwGui.isOpen() || !constants.upTimeTrack) return if(uptimeHr >= 1) - cwGui.addLines([`&aCW: &b${coleweightMessage}`, `&aCW/hr: &b${constants.coleweightHr}`, `&aUptime: &b${uptimeHr}h ${Math.floor(constants.uptime/60) - uptimeHr*60}m`, `&aColeweight Gained: &b${Math.ceil(constants.cwValuesSum*100) / 100}`]) + Renderer.drawStringWithShadow(`&aCW: &b${coleweightMessage}\n&aCW/hr: &b${constants.coleweightHr}\n&aUptime: &b${uptimeHr}h ${Math.floor(constants.uptime/60) - uptimeHr*60}m\n&aColeweight Gained: &b${Math.ceil(constants.cwValuesSum*100) / 100}`, constants.data.x, constants.data.y) else - cwGui.addLines([`&aCW: &b${coleweightMessage}`, `&aCW/hr: &b${constants.coleweightHr}`, `&aUptime: &b${Math.floor(constants.uptime/60)}m ${Math.floor(constants.uptime%60)}s`, `&aColeweight Gained: &b${Math.ceil(constants.cwValuesSum*100) / 100}`]) + Renderer.drawStringWithShadow(`&aCW: &b${coleweightMessage}\n&aCW/hr: &b${constants.coleweightHr}\n&aUptime: &b${Math.floor(constants.uptime/60)}m ${Math.floor(constants.uptime%60)}s\n&aColeweight Gained: &b${Math.ceil(constants.cwValuesSum*100) / 100}`, constants.data.x, constants.data.y) })
\ No newline at end of file diff --git a/render/powertrackerGui.js b/render/powertrackerGui.js index 0e7985a..cf6fc2c 100644 --- a/render/powertrackerGui.js +++ b/render/powertrackerGui.js @@ -4,13 +4,9 @@ Major credit to Fabi019 for Powdertracker module. import constants from "../util/constants" import settings from "../settings" -const moveGui = new Gui(), - powderGui = new Display(), +const powderGui = new Gui(), bossBar = Java.type("net.minecraft.entity.boss.BossStatus").field_82827_c -powderGui.setBackgroundColor(Renderer.color(0, 0, 0, 75)); -powderGui.setBackground("full"); - let sessionRunning = false, sessionChests = 0, sessionGemstone = 0, @@ -20,7 +16,7 @@ let sessionRunning = false, export function openPowderGui() { - moveGui.open() + powderGui.open() } function DoublePowderActive() @@ -29,9 +25,7 @@ function DoublePowderActive() } register("dragged", (dx, dy, x, y) => { - if (!moveGui.isOpen()) return - sessionRunning = true - powderGui.setRenderLoc(x, y) + if (!powderGui.isOpen()) return constants.powderdata.x = x constants.powderdata.y = y constants.powderdata.save() @@ -52,6 +46,7 @@ register("chat", (value, type) => { constants.powderdata.mithrilPowder += powder sessionMithril += powder } + constants.powderdata.save() timeSinceLastGain = 0 sessionRunning = true }).setCriteria(/You received \+([0-9]+) ([a-zA-Z]+) Powder/g) @@ -62,60 +57,50 @@ register("chat", event => { sessionRunning = true }).setCriteria("&r&6You have successfully picked the lock on this chest!&r"); -export function updateDisplay() -{ - if (!sessionRunning) {powderGui.setShouldRender(false); return} - else if (!settings.trackerVisible) {powderGui.setShouldRender(false); return} - else {powderGui.setShouldRender(true)} - - const renderText = (text, value) => { - powderGui.setLine(line++, `§a${text}: §b${value}`) +register("renderOverlay", () => { + if (powderGui.isOpen()) + { + let txt = "Drag to move." + Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) } + if (!settings.trackerVisible || !sessionRunning) return let uptimeHr = Math.floor(seconds/60/60), - lines = [], - line = 0 + lines = [], + message ="" - powderGui.clearLines() - powderGui.setRenderLoc(constants.powderdata.x, constants.powderdata.y) - powderGui.setAlign( - settings.trackerAlignment == 0 ? "left" : - settings.trackerAlignment == 1 ? "right" : - "center" - ) - + function addText(item, value) + { + lines.push("&a" + item + ": &b" + value) + } + if (settings.showTotals) { - renderText("Total Chests", constants.powderdata.chests) - renderText("Total Gemstone", constants.powderdata.gemstonePowder) - renderText("Total Mithril", constants.powderdata.mithrilPowder) - line++ + addText("Total Chest", constants.powderdata.chests) + addText("Total Gemstone", constants.powderdata.gemstonePowder) + addText("Total Mithril", constants.powderdata.mithrilPowder) } - renderText("Session Chests", sessionChests) - renderText("Session Gemstone", sessionGemstone) - renderText("Session Mithril", sessionMithril) + addText("Session Chests", sessionChests) + addText("Session Gemstone", sessionGemstone) + addText("Session Mithril", sessionMithril) if (settings.showRates) { - line++ - renderText("Chests/hr", Math.round(((sessionChests ?? 0)/(seconds ?? 1)) * 3600)) - renderText("Gemstone/hr", Math.round(((sessionGemstone ?? 0)/(seconds ?? 1)) * 3600)) - renderText("Mithril/hr", Math.round(((sessionMithril ?? 0)/(seconds ?? 1)) * 3600)) + addText("Chests/hr", Math.round(((sessionChests ?? 0)/(seconds ?? 1)) * 3600)) + addText("Gemstone/hr", Math.round(((sessionGemstone ?? 0)/(seconds ?? 1)) * 3600)) + addText("Mithril/hr", Math.round(((sessionMithril ?? 0)/(seconds ?? 1)) * 3600)) if(uptimeHr >= 1) - renderText("Uptime", `${uptimeHr}h ${Math.floor(seconds/60) - uptimeHr*60}m`) + addText("Uptime", `${uptimeHr}h ${Math.floor(seconds/60) - uptimeHr*60}m`) else - renderText("Uptime", `${Math.floor(seconds/60)}m ${Math.floor(seconds%60)}s`) + addText("Uptime", `${Math.floor(seconds/60)}m ${Math.floor(seconds%60)}s`) } -} -register("renderOverlay", () => { - if (moveGui.isOpen()) - { - let txt = "Drag to move." - Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) - } + lines.forEach((line) => { + message += line + "\n" + }) + Renderer.drawStringWithShadow(message, constants.powderdata.x, constants.powderdata.y) }) register("step", () => { @@ -128,5 +113,4 @@ register("step", () => { { sessionRunning = false } - updateDisplay() }).setFps(1) diff --git a/render/timerGui.js b/render/timerGui.js index a46451f..87171ff 100644 --- a/render/timerGui.js +++ b/render/timerGui.js @@ -2,47 +2,36 @@ import settings from "../settings"; import constants from "../util/constants"; -const timerMove = new Gui(), - timerGui = new Display() - -timerGui.setBackgroundColor(Renderer.color(0, 0, 0, 50)); -timerGui.setBackground("full"); +const timerGui = new Gui() export function openTimerGui() { - timerMove.open() + timerGui.open() } register("dragged", (dx, dy, x, y) => { - if (!timerMove.isOpen()) return + if (!timerGui.isOpen()) return constants.timerdata.x = x constants.timerdata.y = y constants.timerdata.save() }); register("renderOverlay", () => { - timerGui.setShouldRender(false) - timerGui.clearLines() - timerGui.setRenderLoc(constants.timerdata.x, constants.timerdata.y) - - if (timerMove.isOpen()) + if (timerGui.isOpen()) { - let txt = "Click anywhere to move!" + let txt = "Drag to move." Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) - timerGui.addLines([`&aTimer: &b0h 0m`]) - timerGui.setShouldRender(true) - return } - - if(!settings.timerVisible) return - timerGui.setShouldRender(true) - let timerHr = Math.floor(constants.timerdata.timer/60/60) + if (!settings.timerVisible) return + let timerHr = Math.floor(constants.timerdata.timer/60/60), message if(timerHr >= 1) - timerGui.addLine(`&aTimer: &b${timerHr}h ${Math.floor(constants.timerdata.timer/60) - timerHr*60}m`) + message = `&aTimer: &b${timerHr}h ${Math.floor(constants.timerdata.timer/60) - timerHr*60}m` else - timerGui.addLine(`&aTimer: &b${Math.floor(constants.timerdata.timer/60)}m ${Math.floor(constants.timerdata.timer%60)}s`) + message = `&aTimer: &b${Math.floor(constants.timerdata.timer/60)}m ${Math.floor(constants.timerdata.timer%60)}s` + + Renderer.drawStringWithShadow(message, constants.timerdata.x, constants.timerdata.y) }) register('worldLoad', () => { diff --git a/settings.js b/settings.js index 20cb769..cc6382e 100644 --- a/settings.js +++ b/settings.js @@ -2,16 +2,6 @@ import { @Vigilant, @ButtonProperty, @SwitchProperty, @SelectorProperty } from ' @Vigilant("Coleweight") class Settings { - @ButtonProperty({ - name: "Change tracker position", - description: "Move the location of the tracker.", - category: "General", - placeholder: "Open" - }) - moveLocation() { - ChatLib.command("cw move coleweight", true); - } - @SwitchProperty({ name: "Coleweight tracker", description: "Enables the Coleweight tracker.", @@ -19,6 +9,16 @@ class Settings { }) cwToggle = true; + @ButtonProperty({ + name: "Change Coleweight tracker position", + description: "Move the location of the coleweight tracker.", + category: "General", + placeholder: "Open" + }) + moveCwLocation() { + ChatLib.command("cw move coleweight", true); + } + @SwitchProperty({ name: "Rank chat", description: "Enables the Coleweight rank message after a name in chat.", @@ -54,6 +54,23 @@ class Settings { }) timerVisible = false; + @ButtonProperty({ + name: "Change timer position", + description: "Move the location of the timer.", + category: "General", + placeholder: "Open" + }) + moveTimerLocation() { + ChatLib.command("cw move timer", true); + } + + @SwitchProperty({ + name: "Debug", + description: "Toggles debug mode.", + category: "General" + }) + debug = false; + @SwitchProperty({ name: "Show powdertracker", description: "If the tracker overlay should be visible.", @@ -84,12 +101,12 @@ class Settings { trackerAlignment = 0; @ButtonProperty({ - name: "Change tracker position", - description: "Move the location of the tracker.", + name: "Change Powdertracker position", + description: "Move the location of the powdertracker.", category: "Powdertracker", placeholder: "Open" }) - moveLocation() { + movePowderLocation() { ChatLib.command("cw move powdertracker", true); } @@ -110,27 +127,22 @@ class Settings { this.registerListener("Timer", value => { this.timerVisible = value; }) + this.registerListener("Debug", value => { + this.debug = value; + }) this.registerListener("Show powdertracker", value => { this.trackerVisible = value; - this.sync(); }) this.registerListener("Show totals", value => { this.showTotals = value; - this.sync(); }) this.registerListener("Show rates", value => { this.showRates = value; - this.sync(); }) this.registerListener("Alignment", value => { this.trackerAlignment = value; - this.sync(); }) } - - sync() { - ChatLib.command("cw powdertrackersync", true); - } } export default new Settings()
\ No newline at end of file |