aboutsummaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
Diffstat (limited to 'features')
-rw-r--r--features/bestiary/index.js250
-rw-r--r--features/bestiary/metadata.json8
-rw-r--r--features/betterGuis/dungeonReadyGui.js284
-rw-r--r--features/betterGuis/index.js386
-rw-r--r--features/betterGuis/metadata.json8
-rw-r--r--features/betterGuis/museumGui.js1024
-rw-r--r--features/changeLogGUI/index.js257
-rw-r--r--features/changeLogGUI/metadata.json8
-rw-r--r--features/cosmetics/cosmetic.js29
-rw-r--r--features/cosmetics/cosmetic/dragon/dragonWings.js482
-rw-r--r--features/cosmetics/hiddenRequirement.js4
-rw-r--r--features/cosmetics/index.js271
-rw-r--r--features/cosmetics/metadata.json8
-rw-r--r--features/dataLoader/index.js281
-rw-r--r--features/dataLoader/metadata.json8
-rw-r--r--features/dungeonMap/dungeonBossImages/f1.pngbin4681 -> 0 bytes
-rw-r--r--features/dungeonMap/index.js1186
-rw-r--r--features/dungeonMap/map.pngbin5648 -> 0 bytes
-rw-r--r--features/dungeonMap/metadata.json8
-rw-r--r--features/dungeonMap2/DungeonMapData.js513
-rw-r--r--features/dungeonMap2/DungeonMapRoom.js256
-rw-r--r--features/dungeonMap2/DungeonRoomStaticData.js19
-rw-r--r--features/dungeonMap2/index.js312
-rw-r--r--features/dungeonMap2/metadata.json8
-rw-r--r--features/dungeonRoutes/index.js481
-rw-r--r--features/dungeonRoutes/metadata.json8
-rw-r--r--features/dungeonRoutes/routesData.json1296
-rw-r--r--features/dungeonSolvers/f7data.json263
-rw-r--r--features/dungeonSolvers/index.js1272
-rw-r--r--features/dungeonSolvers/metadata.json8
-rw-r--r--features/events/index.js818
-rw-r--r--features/events/metadata.json8
-rw-r--r--features/eventsGUI/index.js287
-rw-r--r--features/eventsGUI/metadata.json8
-rw-r--r--features/featureBase/index.js24
-rw-r--r--features/featureBase/metadata.json8
-rw-r--r--features/fpsImproveGui/index.js58
-rw-r--r--features/fpsImproveGui/metadata.json8
-rw-r--r--features/fragBot/index.js84
-rw-r--r--features/fragBot/metadata.json8
-rw-r--r--features/friendsGUI/index.js363
-rw-r--r--features/friendsGUI/metadata.json8
-rw-r--r--features/globalSettings/firstLoadPage.js42
-rw-r--r--features/globalSettings/firstLoadPages.js135
-rw-r--r--features/globalSettings/index.js1126
-rw-r--r--features/globalSettings/metadata.json8
-rw-r--r--features/globalSettings/warps.json41
-rw-r--r--features/guild/index.js70
-rw-r--r--features/guild/metadata.json8
-rw-r--r--features/hud/HudTextElement.js143
-rw-r--r--features/hud/index.js812
-rw-r--r--features/hud/metadata.json8
-rw-r--r--features/lockedFeatures/index.js121
-rw-r--r--features/lockedFeatures/metadata.json8
-rw-r--r--features/mining/coords.json202
-rw-r--r--features/mining/index.js469
-rw-r--r--features/mining/metadata.json8
-rw-r--r--features/nether/index.js406
-rw-r--r--features/nether/metadata.json8
-rw-r--r--features/networthGUI/index.js243
-rw-r--r--features/networthGUI/metadata.json8
-rw-r--r--features/performance/hiddenRequirement.js7
-rw-r--r--features/performance/index.js128
-rw-r--r--features/performance/metadata.json8
-rw-r--r--features/senitherGui/index.js457
-rw-r--r--features/senitherGui/metadata.json8
-rw-r--r--features/settings/helpDataLoader.js50
-rw-r--r--features/settings/index.js332
-rw-r--r--features/settings/locationSettingHolder.js27
-rw-r--r--features/settings/metadata.json8
-rw-r--r--features/settings/settingThings/FakeRequireToggle.js27
-rw-r--r--features/settings/settingThings/button.js18
-rw-r--r--features/settings/settingThings/dropdownSetting.js41
-rw-r--r--features/settings/settingThings/imageLocation.js321
-rw-r--r--features/settings/settingThings/location.js340
-rw-r--r--features/settings/settingThings/settingBase.js162
-rw-r--r--features/settings/settingThings/textSetting.js41
-rw-r--r--features/settings/settingThings/toggle.js62
-rw-r--r--features/settings/settingsCommunicator.js35
-rw-r--r--features/slayers/index.js1022
-rw-r--r--features/slayers/metadata.json8
-rw-r--r--features/soopyGui/GuiPage.js68
-rw-r--r--features/soopyGui/categoryManager.js37
-rw-r--r--features/soopyGui/index.js215
-rw-r--r--features/soopyGui/metadata.json8
-rw-r--r--features/spamHider/index.js352
-rw-r--r--features/spamHider/metadata.json8
-rw-r--r--features/specialMining/index.js461
-rw-r--r--features/specialMining/metadata.json8
-rw-r--r--features/statHistoryGui/index.js191
-rw-r--r--features/statHistoryGui/metadata.json8
-rw-r--r--features/stat_next_to_name/index.js194
-rw-r--r--features/stat_next_to_name/metadata.json8
-rw-r--r--features/streamsGUI/index.js182
-rw-r--r--features/streamsGUI/metadata.json8
-rw-r--r--features/suggestionsGui/index.js219
-rw-r--r--features/suggestionsGui/metadata.json8
-rw-r--r--features/waypoints/index.js323
-rw-r--r--features/waypoints/metadata.json8
-rw-r--r--features/waypoints/minewaypoints_socket.js49
-rw-r--r--features/waypoints/pathfind.js96
101 files changed, 0 insertions, 20039 deletions
diff --git a/features/bestiary/index.js b/features/bestiary/index.js
deleted file mode 100644
index d21fc2a..0000000
--- a/features/bestiary/index.js
+++ /dev/null
@@ -1,250 +0,0 @@
-/// <reference types="../../../CTAutocomplete" />
-/// <reference lib="es2015" />
-import Feature from "../../featureClass/class";
-import { numberWithCommas } from "../../utils/numberUtils";
-import HudTextElement from "../hud/HudTextElement";
-import DropdownSetting from "../settings/settingThings/dropdownSetting";
-import LocationSetting from "../settings/settingThings/location";
-import SettingBase from "../settings/settingThings/settingBase";
-import ToggleSetting from "../settings/settingThings/toggle";
-
-let dontUseApi = new Set()
-dontUseApi.add("arachne")
-dontUseApi.add("barbarian_duke_x")
-dontUseApi.add("bladesoul")
-dontUseApi.add("mage_outlaw")
-dontUseApi.add("ashfang")
-dontUseApi.add("magma_cube_boss")
-dontUseApi.add("headless_horseman")
-dontUseApi.add("dragon")
-
-
-class Bestiary extends Feature {
- constructor() {
- super()
- }
-
- onEnable() {
- this.bestiaryData = JSON.parse(FileLib.read("soopyAddonsData", "bestiaryData.json") || "{}")
- this.bestiaryChanged = false
-
- this.bestiaryApiTracking = {}
-
- this.registerStep(true, 5, this.scanInv)
- this.registerStep(false, 5, this.saveData)
-
-
- this.bestiaryStatTypes = {
- "barbarian_duke_x": "Barbarian Duke X"
- }
- Object.keys(this.bestiaryData).forEach(k => {
- if (this.bestiaryData[k].guiName) this.bestiaryStatTypes[k] = this.bestiaryData[k].guiName
- })
-
- new SettingBase("NOTE: u need to open ur bestiary menu", "before this will work", true, "info_bestiary", this)
- this.hudStat = []
- for (let i = 0; i < 10; i++) {
- this.hudStat[i] = {}
- this.hudStat[i].enabled = new ToggleSetting("Bestiary Slot #" + (i + 1), "Allows you to render a custom besiary kills on your hud", false, "bestiary_stat_" + i, this)
- this.hudStat[i].type = new DropdownSetting("Bestiary Slot #" + (i + 1) + " Type", "The bestiary type", "barbarian_duke_x", "bestiary_stat_" + i + "_type", this, this.bestiaryStatTypes)
- this.hudStat[i].location = new LocationSetting("Bestiary Slot #" + (i + 1) + " Location", "Allows you to edit the location of the bestiary stat", "bestiary_stat_" + i + "_location", this, [10, 50 + i * 10, 1, 1]).editTempText("&6Bestiary Stat Stat&7> &f12,345")
- this.hudStat[i].textElement = new HudTextElement().setToggleSetting(this.hudStat[i].enabled).setLocationSetting(this.hudStat[i].location).setText("&6Bestiary Stat&7> &fLoading...")
- this.hudStat[i].onlySb = new ToggleSetting("Bestiary Slot #" + (i + 1) + " Only SB", "Only render this stat when you are in skyblock", true, "bestiary_stat_" + i + "_only_sb", this).requires(this.hudStat[i].enabled)
-
- this.hudStat[i].location.requires(this.hudStat[i].enabled)
- this.hudStat[i].type.requires(this.hudStat[i].enabled)
- if (this.hudStat[i - 1]) {
- this.hudStat[i].enabled.requires(this.hudStat[i - 1].enabled)
- }
- }
-
- this.registerStep(false, 5, this.updateHudElements)
- let lastThing = undefined
- let lastThingTime = 0
- this.registerChat("${chat}", (chat) => {
- let thing
- switch (chat.trim()) {
- case "MAGE OUTLAW DOWN!":
- thing = "mage_outlaw"
- break;
- case "BARBARIAN DUKE X DOWN!":
- thing = "barbarian_duke_x"
- break;
- case "BLADESOUL DOWN!":
- thing = "bladesoul"
- break;
- case "ASHFANG DOWN!":
- thing = "ashfang"
- break;
- // case "MAGMA BOSS DOWN!":
- // thing = "magma_cube_boss"
- // break;
- case "ARACHNE DOWN!":
- lastThing = "arachne"
- lastThingTime = Date.now()
- break;
- case "HORSEMAN DOWN!":
- lastThing = "arachne"
- lastThingTime = Date.now()
- break;
- default:
- break;
- }
- if (chat.includes("DRAGON")) {
- lastThing = "dragon"
- lastThingTime = Date.now()
- }
-
- if (chat.trim().startsWith("Your Damage: ")) {
- let dmg = parseInt(chat.trim().split("Your Damage: ")[1].split(" ")[0])
- if (dmg > 0 && Date.now() - lastThingTime < 1000) {
- thing = lastThing
- lastThing = ""
- lastThingTime = 0
- }
- }
-
- if (thing) {
- this.bestiaryData[thing].guessCount++
- this.bestiaryChanged = true
- }
- })
- this.registerSoopy("apiLoad", this.apiLoad);
-
- if (this.FeatureManager.features["dataLoader"] && this.FeatureManager.features["dataLoader"].class.lastApiData.skyblock_raw) {
- this.apiLoad(this.FeatureManager.features["dataLoader"].class.lastApiData.skyblock_raw, "skyblock", false, true);
- }
- }
-
- getBestiaryCount(id) {
- if (!this.bestiaryData[id]) return "???"
- let count = this.bestiaryData[id].count
-
- if (!dontUseApi.has(id)) {
- let currApiData = this.bestiaryApiTracking[id]
-
- count += currApiData - this.bestiaryData[id].apiCount
- }
-
- count += this.bestiaryData[id].guessCount
-
- return count
- }
-
- updateHudElements() {
- if (!this.FeatureManager.features["dataLoader"]) return
-
- let insb = this.FeatureManager.features["dataLoader"].class.isInSkyblock
-
- this.hudStat.forEach(stat => {
- if (stat.enabled.getValue()) {
- if (!insb && stat.onlySb.getValue()) {
- stat.textElement.setText("")
- return
- }
-
- let type = stat.type.getValue()
-
- stat.textElement.setText(`&6${this.bestiaryData[type]?.guiName}&7> &f${numberWithCommas(this.getBestiaryCount(type))}`)
- } else {
- stat.textElement.setText("")
- }
- })
- }
-
- apiLoad(data, dataType, isSoopyServer, isLatest) {
- if (isSoopyServer || !isLatest) return;
- if (dataType !== "skyblock") return;
-
- let currentProfile = {}
- let currentProfileTime = 0
-
- data.profiles.forEach(p => {
- if (p.members[Player.getUUID().toString().replace(/-/g, "")].last_save > currentProfileTime) {
- currentProfileTime = p.members[Player.getUUID().toString().replace(/-/g, "")].last_save
- currentProfile = p.members[Player.getUUID().toString().replace(/-/g, "")]
- }
- })
-
- Object.keys(currentProfile.stats).forEach(key => {
- if (key.startsWith("kills_")) {
- this.bestiaryApiTracking[key.replace("kills_", "")] = currentProfile.stats[key]
- }
- })
- }
-
- scanInv() {
- if (!Player.getContainer()) return
- if (!Player.getContainer().getName().startsWith("Bestiary ➜ ")) return
- let tempChanged = false
- let seen = new Set()
-
- for (let item of Player.getContainer().getItems()) {
- if (!item) continue
- let name = ChatLib.removeFormatting(item.getName()).split(" ")
- name.pop()
- let apiName = name.join("_").toLowerCase()
- if (seen.has(apiName)) continue
- seen.add(apiName)
-
- if (apiName === "skeletor_prime") continue
-
- if (this.bestiaryApiTracking[apiName] || dontUseApi.has(apiName)) {
-
- let count = 0
-
- for (let l of item.getLore()) {
- l = ChatLib.removeFormatting(l)
-
- if (l.startsWith("Kills: ")) {
- count = parseInt(l.split("Kills: ")[1].replace(/,/g, ""))
- break;
- }
- }
-
- let needsChange = !this.bestiaryData[apiName] || this.bestiaryData[apiName].guiName !== name.join(" ") || this.bestiaryData[apiName].count !== count || this.bestiaryData[apiName].apiCount !== (this.bestiaryApiTracking[apiName] || 0) || this.bestiaryData[apiName].guessCount !== 0
- if (needsChange) {
- this.bestiaryData[apiName] = {
- guiName: name.join(" "),
- count,
- apiCount: this.bestiaryApiTracking[apiName] || 0,
- guessCount: 0
- }
- this.bestiaryChanged = true
-
- tempChanged = true
-
- }
- }
- }
-
- if (tempChanged) {
- this.bestiaryStatTypes = {}
- Object.keys(this.bestiaryData).forEach(k => {
- if (this.bestiaryData[k]?.guiName) this.bestiaryStatTypes[k] = this.bestiaryData[k].guiName
- })
-
- this.hudStat.forEach(s => {
- s.type.dropdownObject.setOptions(this.bestiaryStatTypes)
- })
-
- this.updateHudElements()
- }
- start = Date.now()
- }
-
- saveData() {
- if (this.bestiaryChanged) {
- FileLib.write("soopyAddonsData", "bestiaryData.json", JSON.stringify(this.bestiaryData))
- }
- }
-
- onDisable() {
- this.hudStat.forEach(h => h.textElement.delete())
- this.saveData()
- }
-
-}
-module.exports = {
- class: new Bestiary()
-}
diff --git a/features/bestiary/metadata.json b/features/bestiary/metadata.json
deleted file mode 100644
index 3ff9383..0000000
--- a/features/bestiary/metadata.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "Bestiary",
- "description": "Bestiary trackers",
- "isHidden": false,
- "isTogglable": true,
- "defaultEnabled": true,
- "sortA": 0
-} \ No newline at end of file
diff --git a/features/betterGuis/dungeonReadyGui.js b/features/betterGuis/dungeonReadyGui.js
deleted file mode 100644
index ad9a5dd..0000000
--- a/features/betterGuis/dungeonReadyGui.js
+++ /dev/null
@@ -1,284 +0,0 @@
-import { SoopyGui, SoopyRenderEvent } from "../../../guimanager"
-import SoopyKeyPressEvent from "../../../guimanager/EventListener/SoopyKeyPressEvent"
-import SoopyMouseClickEvent from "../../../g