aboutsummaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/bobombOverlay.js22
-rw-r--r--render/coordsGui.js96
-rw-r--r--render/downtimeGui.js85
-rw-r--r--render/naturals.js39
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