aboutsummaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/bobombOverlay.js22
-rw-r--r--render/collectionGui.js43
-rw-r--r--render/cwGui.js65
-rw-r--r--render/powertrackerGui.js132
-rw-r--r--render/tabList.js26
-rw-r--r--render/timerGui.js54
6 files changed, 342 insertions, 0 deletions
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