From fb63481d2c5b7b468df6c5ebdee30178bc9155f5 Mon Sep 17 00:00:00 2001 From: Ninjune x Date: Thu, 17 Nov 2022 16:56:06 -0600 Subject: 1.6.0 Changelog in releases --- render/bobombOverlay.js | 22 ++++++++ render/collectionGui.js | 43 +++++++++++++++ render/cwGui.js | 65 +++++++++++++++++++++++ render/powertrackerGui.js | 132 ++++++++++++++++++++++++++++++++++++++++++++++ render/tabList.js | 26 +++++++++ render/timerGui.js | 54 +++++++++++++++++++ 6 files changed, 342 insertions(+) create mode 100644 render/bobombOverlay.js create mode 100644 render/collectionGui.js create mode 100644 render/cwGui.js create mode 100644 render/powertrackerGui.js create mode 100644 render/tabList.js create mode 100644 render/timerGui.js (limited to 'render') diff --git a/render/bobombOverlay.js b/render/bobombOverlay.js new file mode 100644 index 0000000..02526bd --- /dev/null +++ b/render/bobombOverlay.js @@ -0,0 +1,22 @@ +/*import RenderLib from "../../RenderLib/index.js"; +Disabled. +register('renderWorld', () => { + try{ + if(Player.getHeldItem().getItemNBT().getTag('tag').getTag('ExtraAttributes').getTag("id").toString() != `"BOB_OMB"`) return + } catch(e) {return} + + const boxR = 0.3, + boxB = 0.5, + boxG = 0, + boxAlpha = 0.3 + + let x = Math.floor(Player.getX()) + 0.5, + y = Math.floor(Player.getY()) + z = Math.floor(Player.getZ()) + 0.5 + + + + RenderLib.drawInnerEspBox(x, y - 1, z - 8, 1, 1, boxR, boxB, boxG, boxAlpha, true) + RenderLib.drawInnerEspBox(x + 1, y + 1, z - 7, 1, 1, boxR, boxB, boxG, boxAlpha, true) + RenderLib.drawInnerEspBox(x + 1, y + 1, z - 7, 1, 1, boxR, boxB, boxG, boxAlpha, true) +})*/ \ No newline at end of file diff --git a/render/collectionGui.js b/render/collectionGui.js new file mode 100644 index 0000000..8197b11 --- /dev/null +++ b/render/collectionGui.js @@ -0,0 +1,43 @@ +/*import constants from "../util/constants" +const PREFIX = constants.PREFIX + +let collectionGui = new Gui(), + collection = "" + +export function trackCollection(arg) +{ + switch(arg) + { + case "obby": + case "obsidian": + collection = "OBSIDIAN" + break + default: + ChatLib.chat(`${PREFIX}&eThat is not a valid collection! (or is not supported)`) + } +} + +export function moveCollection() +{ + collectionGui.open() +} + +register("dragged", (dx, dy, x, y) => { + if (!collectionGui.isOpen()) return + constants.data.collectionX = x + constants.data.collectionY = y + constants.data.save() +}) + +register("renderOverlay", () => { + 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!" + Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) + Renderer.drawStringWithShadow(`&aCollection: &b0\n&aCW/hr: &b0\n&aUptime: &b0m\n&aColeweight Gained: &b0`, constants.data.collectionX, constants.data.collectionY) + } + if(collection == "") return + coleweight > 1000 ?collectionMessage = `&b${coleweight.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}`: coleweightMessage = `&b${coleweight.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}` +})*/ \ No newline at end of file diff --git a/render/cwGui.js b/render/cwGui.js new file mode 100644 index 0000000..d0f4a5c --- /dev/null +++ b/render/cwGui.js @@ -0,0 +1,65 @@ +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) + +export function openCwGui() +{ + cwMove.open() +} + + +register("dragged", (dx, dy, x, y) => { + if (!cwMove.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()) + { + let txt = "Please set your api key with /cw setkey (key)!" + if (constants.data.api_key != undefined) + 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) + } + + if(!settings.cwToggle || constants.data.api_key == undefined) return + let coleweight = constants.data.coleweight || 0, + coleweightMessage = "", + uptimeHr = Math.floor(constants.uptime/60/60) + + coleweight > 1000 ?coleweightMessage = `&b${coleweight.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}`: coleweightMessage = `&b${coleweight.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}` + if(constants.cwValues[0] != undefined && constants.upTimeTrack && constants.calcCwPerHr) + { + constants.cwValuesSum = 0 + for(let i = 0; i < constants.cwValues.length; i++) + { + constants.cwValuesSum += constants.cwValues[i] + } + let eq = Math.ceil((constants.cwValuesSum*(3600/constants.uptime)) * 100) / 100 + eq != Infinity ? constants.coleweightHr = eq : constants.coleweightHr = "Calculating..." + constants.calcCwPerHr = false + } + + if (cwMove.isOpen() || !constants.upTimeTrack) return + + cwGui.setShouldRender(true) + + 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}`]) + 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}`]) +}) \ No newline at end of file diff --git a/render/powertrackerGui.js b/render/powertrackerGui.js new file mode 100644 index 0000000..0e7985a --- /dev/null +++ b/render/powertrackerGui.js @@ -0,0 +1,132 @@ +/* +Major credit to Fabi019 for Powdertracker module. +*/ +import constants from "../util/constants" +import settings from "../settings" + +const moveGui = new Gui(), + powderGui = new Display(), + 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, + sessionMithril = 0, + seconds = 0, + timeSinceLastGain = 0 + +export function openPowderGui() +{ + moveGui.open() +} + +function DoublePowderActive() +{ + return bossBar.includes("2X POWDER") +} + +register("dragged", (dx, dy, x, y) => { + if (!moveGui.isOpen()) return + sessionRunning = true + powderGui.setRenderLoc(x, y) + constants.powderdata.x = x + constants.powderdata.y = y + constants.powderdata.save() +}) + +register("chat", (value, type) => { + let powder = parseInt(value) + + if (DoublePowderActive()) + powder *= 2 + if(type.toLowerCase() == "gemstone") + { + constants.powderdata.gemstonePowder += powder + sessionGemstone += powder + } + else if (type.toLowerCase() == "mithril") + { + constants.powderdata.mithrilPowder += powder + sessionMithril += powder + } + timeSinceLastGain = 0 + sessionRunning = true +}).setCriteria(/You received \+([0-9]+) ([a-zA-Z]+) Powder/g) + +register("chat", event => { + constants.powderdata.chests += 1 + sessionChests += 1 + 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}`) + } + + let uptimeHr = Math.floor(seconds/60/60), + lines = [], + line = 0 + + powderGui.clearLines() + powderGui.setRenderLoc(constants.powderdata.x, constants.powderdata.y) + powderGui.setAlign( + settings.trackerAlignment == 0 ? "left" : + settings.trackerAlignment == 1 ? "right" : + "center" + ) + + if (settings.showTotals) + { + renderText("Total Chests", constants.powderdata.chests) + renderText("Total Gemstone", constants.powderdata.gemstonePowder) + renderText("Total Mithril", constants.powderdata.mithrilPowder) + line++ + } + + renderText("Session Chests", sessionChests) + renderText("Session Gemstone", sessionGemstone) + renderText("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)) + if(uptimeHr >= 1) + renderText("Uptime", `${uptimeHr}h ${Math.floor(seconds/60) - uptimeHr*60}m`) + else + renderText("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) + } +}) + +register("step", () => { + if(sessionRunning) + { + seconds += 1 + timeSinceLastGain += 1 + } + if(timeSinceLastGain > 300 && sessionRunning) + { + sessionRunning = false + } + updateDisplay() +}).setFps(1) diff --git a/render/tabList.js b/render/tabList.js new file mode 100644 index 0000000..fcf971e --- /dev/null +++ b/render/tabList.js @@ -0,0 +1,26 @@ +/*import axios from "../../axios" // implement when im not an idiot +import settings from "../settings" +import constants from "../util/constants" +const PREFIX = constants.PREFIX + + +register("worldLoad", () => { + const NetHandlerPlayClient = Client.getConnection(), + PlayerMap = NetHandlerPlayClient.func_175106_d() // getPlayerInfoMap + let tag = "" + + axios.get(`https://ninjune.dev/api/mminers`) + .then((res) => { + PlayerMap.filter(player => !player.func_178845_a().name.startsWith("!")).forEach((player) => { + res.data.macroers.forEach((macroer) => { + if(player == macroer) tag ="[M] " + }) + res.data.griefers.forEach((griefer) => { + if(player == griefer) tag ="[G] " + }) + + player.func_178859_a(new net.minecraft.util.IChatComponentText("Player")) + }) + }) + .catch((e) => {console.log(e)}) +})*/ \ No newline at end of file diff --git a/render/timerGui.js b/render/timerGui.js new file mode 100644 index 0000000..a46451f --- /dev/null +++ b/render/timerGui.js @@ -0,0 +1,54 @@ +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"); + +export function openTimerGui() +{ + timerMove.open() +} + +register("dragged", (dx, dy, x, y) => { + if (!timerMove.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()) + { + let txt = "Click anywhere 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(timerHr >= 1) + timerGui.addLine(`&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`) +}) + +register('worldLoad', () => { + constants.timerdata.timer = 0 +}) + +register("step", () => { + constants.timerdata.timer += 1 +}).setFps(1) \ No newline at end of file -- cgit