diff options
Diffstat (limited to 'render')
-rw-r--r-- | render/bobombOverlay.js | 22 | ||||
-rw-r--r-- | render/coordsGui.js | 96 | ||||
-rw-r--r-- | render/downtimeGui.js | 85 | ||||
-rw-r--r-- | render/naturals.js | 39 |
4 files changed, 220 insertions, 22 deletions
diff --git a/render/bobombOverlay.js b/render/bobombOverlay.js deleted file mode 100644 index 02526bd..0000000 --- a/render/bobombOverlay.js +++ /dev/null @@ -1,22 +0,0 @@ -/*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/coordsGui.js b/render/coordsGui.js new file mode 100644 index 0000000..9fd5f43 --- /dev/null +++ b/render/coordsGui.js @@ -0,0 +1,96 @@ +import { + AdditiveConstraint, + animate, + Animations, + CenterConstraint, + ChildBasedMaxSizeConstraint, + ChildBasedSizeConstraint, + ConstantColorConstraint, + FillConstraint, + MaxConstraint, + ScissorEffect, + SiblingConstraint, + SubtractiveConstraint, + UIBlock, + UIImage, + UIWrappedText, + UIMultilineTextInput, + UIText, + WindowScreen, + } from "../../Elementa" + +// stylla made 2 lines of code (gamer) +const Color = Java.type("java.awt.Color"), + URL = Java.type("java.net.URL"), + WIDTH = 3.5, // not actually width more like reverse of width lmao, bigger = smaller + HEIGHT = 2.877 // ^ +let ScreenW = Renderer.screen.getWidth(), + ScreenH = Renderer.screen.getHeight() + +function coordsWindow(row, column, title, command, desc, image=false, alternateText="") +{ + const coordWindow = new UIBlock(new Color(0, 0, 0, 0.5)) // 320 960 + .setX(((ScreenW/3*(column))-ScreenW/3.25).pixels()) + .setY((ScreenH/2*(row-1)+ScreenH/10.8).pixels()) + .setWidth((ScreenW/WIDTH).pixels()) + .setHeight((ScreenH/HEIGHT).pixels()) + .onMouseClick(() => { + ChatLib.command(command, true) + }) + new UIText(title, false) + .setX(new CenterConstraint()) + .setY((2).pixels()) + .setTextScale((2).pixels()) + .setColor(new ConstantColorConstraint(Color.GREEN.darker())) + .setChildOf(coordWindow) + if(image == true) + { + new UIWrappedText(alternateText) + .setX((12).pixels()) + .setY((25).pixels()) + .setWidth((ScreenW/5).pixels()) + .setTextScale((1).pixels()) + .setColor(new ConstantColorConstraint(Color.WHITE)) + .setChildOf(coordWindow) + new UIImage.ofURL(new URL(desc)) + .setX(new CenterConstraint()) + .setY(new AdditiveConstraint(new CenterConstraint(), (4).pixels())) + .setWidth((ScreenW/3.7).pixels()) + .setHeight((ScreenH/3.7).pixels()) + .setChildOf(coordWindow) + } + else + { + new UIWrappedText(desc) + .setX((2).pixels()) + .setY((25).pixels()) + .setWidth((ScreenW/3.7).pixels()) + .setTextScale((1).pixels()) + .setColor(new ConstantColorConstraint(Color.WHITE)) + .setChildOf(coordWindow) + } + + return coordWindow +} + +export function openCoordsGui() +{ + ScreenW = Renderer.screen.getWidth() + ScreenH = Renderer.screen.getHeight() + const CoordsGui = new JavaAdapter(WindowScreen, { + init() { + coordsWindow(1, 1, "Spiral", "cw spiral toggle", "https://i.imgur.com/dyL30GD.png", true, "Do /cw spiral to see image. (image isn't loading.)").setChildOf(this.getWindow()) + coordsWindow(1, 2, "Throne", "cw throne toggle", "https://i.imgur.com/7BWzO1c.jpg", true, "Go back of throne. (image isn't loading)").setChildOf(this.getWindow()) + coordsWindow(1, 3, "Yog", "cw yog toggle", "https://i.imgur.com/DojoypL.jpg", true, "Go to the leftmost corner of the topaz crystal facing bal close to bal. (image isn't loading)").setChildOf(this.getWindow()) + coordsWindow(2, 1, "Divans", "cw divans toggle", "https://i.imgur.com/bkC6yp3.jpg", true, "Go to the middle of jade crystal. (image isn't loading)").setChildOf(this.getWindow()) + new UIText("Click box to enable/disable.") + .setX(new CenterConstraint()) + .setY((ScreenH-ScreenH/12).pixels()) + .setTextScale((2).pixels()) + .setColor(Color.WHITE) + .setChildOf(this.getWindow()) + }, + }) + CoordsGui.init() + GuiHandler.openGui(CoordsGui) +}
\ No newline at end of file diff --git a/render/downtimeGui.js b/render/downtimeGui.js new file mode 100644 index 0000000..538c590 --- /dev/null +++ b/render/downtimeGui.js @@ -0,0 +1,85 @@ +import settings from "../settings" +import constants from "../util/constants" +import { textGui } from "../util/helperFunctions" + +const downtimeMoveGui = new Gui() +const downtimeGui = new textGui() +let oldFuel = 0, + timeAtLastFuel = 0, + overallDowntime = 0, + trackingDowntime = false, + downtime = 0, + downtimeCount = 0, + uptime = 0 + + +export function openDowntimeGui() +{ + downtimeMoveGui.open() +} + + +register("dragged", (dx, dy, x, y) => { + if (!downtimeMoveGui.isOpen()) return + constants.downtimedata.x = x + constants.downtimedata.y = y + constants.downtimedata.save() +}) + +register('actionbar', (xp) => { + if(!settings.downtimeTracker) return + if(Player.getHeldItem() == null) return + let heldItem = Player.getHeldItem().getNBT().toObject()["tag"]["ExtraAttributes"], + newFuel = parseInt(heldItem["drill_fuel"]) // credit to DocilElm because I'm lazy. + + if(!newFuel) return + else if(oldFuel == 0) oldFuel = newFuel + else if(oldFuel !== newFuel) + { + if(timeAtLastFuel == 0) + { + timeAtLastFuel = Date.now() + return + } + downtime = Date.now() - timeAtLastFuel + overallDowntime += downtime + downtimeCount += 1 + timeAtLastFuel = Date.now() + trackingDowntime = true + oldFuel = newFuel + } +}).setCriteria('${*}+${xp} Mining ${*}') + + +register("renderOverlay", () => { + if (downtimeMoveGui.isOpen()) + { + let txt = "Drag to move." + Renderer.drawStringWithShadow(txt, Renderer.screen.getWidth()/2 - Renderer.getStringWidth(txt)/2, Renderer.screen.getHeight()/2) + downtimeGui.guiObject = {leftValues: ["Downtime", "Overall Downtime", "Average Downtime", "Uptime"], rightValues: [0, 0, 0, 0]} + downtimeGui.x = constants.downtimedata.x + downtimeGui.y = constants.downtimedata.y + downtimeGui.renderGui() + return + } + if (downtimeCount == 0 || !trackingDowntime || !settings.downtimeTracker) return + let avgDowntime = Math.ceil((overallDowntime/downtimeCount)*100) / 100 + downtimeGui.guiObject = {leftValues: ["Downtime", "Overall Downtime", "Average Downtime", "Uptime"], rightValues: [downtime, overallDowntime, avgDowntime, uptime]} + downtimeGui.x = constants.downtimedata.x + downtimeGui.y = constants.downtimedata.y + downtimeGui.renderGui() +}) + + +register("step", () => { + if((Date.now()-timeAtLastFuel)/1000 >= 60) + { + uptime = 0 + oldFuel = 0 + overallDowntime = 0 + timeAtLastFuel = 0 + trackingDowntime = false + } // over 60 seconds then stop making gui + else if(trackingDowntime) + uptime += 1 +}).setFps(1)
\ No newline at end of file diff --git a/render/naturals.js b/render/naturals.js new file mode 100644 index 0000000..595c32d --- /dev/null +++ b/render/naturals.js @@ -0,0 +1,39 @@ +import axios from "../../axios" +import settings from "../settings" +import constants from "../util/constants" +import { waypointRender } from "../util/helperFunctions" +const PREFIX = constants.PREFIX +let coords = [] + + +register("step", () => { + if(constants.serverData.map != "Crystal Hollows") return + 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]) + }) + }) + .catch((err) => { + console.log(err) + }) +}).setFps(1) + + +register("renderWorld", () => { + if(!settings.showNaturals) return + if(coords.length < 1) return + waypointRender(coords) +}) + +register("worldUnload", () => { + coords = [] +}) + + +export default ""
\ No newline at end of file |