diff options
author | Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> | 2022-07-06 09:15:37 +0800 |
---|---|---|
committer | Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> | 2022-07-06 09:15:37 +0800 |
commit | 378545ab6d2aab0cc88f6ddfb3252bc942bec1b8 (patch) | |
tree | ce1362ff1e2db87b33ebe5d8760e83de4004a834 | |
parent | f629a66ae7c4733657095e0fb40ca6e590565d30 (diff) | |
download | SoopyV2-378545ab6d2aab0cc88f6ddfb3252bc942bec1b8.tar.gz SoopyV2-378545ab6d2aab0cc88f6ddfb3252bc942bec1b8.tar.bz2 SoopyV2-378545ab6d2aab0cc88f6ddfb3252bc942bec1b8.zip |
+ crap tone of dungeonRoutes progress
+ added /snoopy and /snoopyv2 commands for pepegas
+ fix small bug with CH waypoints
-rw-r--r-- | features/dungeonRoutes/index.js | 268 | ||||
-rw-r--r-- | features/dungeonRoutes/routesData.json | 6200 | ||||
-rw-r--r-- | features/dungeonRoutes/temproomdata.json | 387 | ||||
-rw-r--r-- | features/soopyGui/index.js | 2 | ||||
-rw-r--r-- | features/waypoints/index.js | 8 | ||||
-rw-r--r-- | utils/renderUtils.js | 44 |
6 files changed, 6754 insertions, 155 deletions
diff --git a/features/dungeonRoutes/index.js b/features/dungeonRoutes/index.js index 6439f49..1c49dab 100644 --- a/features/dungeonRoutes/index.js +++ b/features/dungeonRoutes/index.js @@ -1,9 +1,12 @@ /// <reference types="../../../CTAutocomplete" /> /// <reference lib="es2015" /> +import { m } from "../../../mappings/mappings"; import Feature from "../../featureClass/class"; -import { drawBoxAtBlock, drawFilledBox, drawLinePoints } from "../../utils/renderUtils"; +import { drawBoxAtBlock, drawBoxAtBlock2, drawFilledBox, drawLine, drawLinePoints } from "../../utils/renderUtils"; import SettingBase from "../settings/settingThings/settingBase"; +const EntityItem = Java.type("net.minecraft.entity.item.EntityItem") + class DungeonRoutes extends Feature { constructor() { @@ -21,11 +24,19 @@ class DungeonRoutes extends Feature { this.recentEtherwarps = [] this.recentMines = [] this.recentLocations = [] + this.recentInteracts = [] this.recentTnts = [] this.lastLocationUpdatedTime = Date.now() this.registerEvent("soundPlay", this.playSound) this.registerEvent("worldLoad", this.worldLoad) + this.registerEvent("playerInteract", this.playerInteract) + this.registerForge(net.minecraftforge.event.entity.EntityJoinWorldEvent, this.entityJoinWorldEvent) + let packetRecieved = this.registerCustom("packetReceived", this.pickupItem) + + try { + packetRecieved.trigger.setPacketClasses([net.minecraft.network.play.server.S0DPacketCollectItem]) + } catch (e) { }//older ct version this.registerStep(true, 5, () => { let roomId = this.getCurrentRoomId() @@ -36,16 +47,21 @@ class DungeonRoutes extends Feature { this.recentMines = [] this.recentLocations = [] this.recentTnts = [] + this.recentInteracts = [] + + this.currRoomData = this.getRoomWorldData() + + this.currentRouteDisplay = this.routesIndexMap.get(this.fullRoomData[this.idMap.get(roomId)].index) + ChatLib.chat(JSON.stringify(this.currentRouteDisplay, undefined, 2)) } + if (!this.recordRoute) return if (this.recentLocations.length === 0 || Math.ceil(Player.getX()) !== this.recentLocations[this.recentLocations.length - 1].loc[0] || Math.ceil(Player.getY()) !== this.recentLocations[this.recentLocations.length - 1].loc[1] || Math.ceil(Player.getZ()) !== this.recentLocations[this.recentLocations.length - 1].loc[2]) { this.recentLocations.push({ loc: [Math.ceil(Player.getX()), Math.ceil(Player.getY()), Math.ceil(Player.getZ())], id: this.actionId++ }) - - this.checkForRemove() } }) @@ -57,22 +73,208 @@ class DungeonRoutes extends Feature { this.recentMines.forEach(({ loc }) => { drawFilledBox(loc.x, loc.y - 0.5, loc.z, 1, 1, 0, 1, 0, 50 / 255, true) }) - if (this.recentLocations.length >= 2) drawLinePoints(this.recentLocations.map(a => [a.loc[0] - 0.5, a.loc[1] + 0.1, a.loc[2] - 0.5]), 0, 0, 255, 2, true) + this.recentTnts.forEach(({ loc }) => { + drawFilledBox(loc.x, loc.y - 0.5, loc.z, 1, 1, 1, 0, 0, 50 / 255, true) + }) + this.recentInteracts.forEach(({ loc }) => { + drawFilledBox(loc.x, loc.y, loc.z, 1, 1, 0, 0, 1, 50 / 255, true) + drawBoxAtBlock(loc.x - 0.5, loc.y, loc.z - 0.5, 0, 0, 1, 1, 1, 1) + }) + if (this.recentLocations.length >= 2) drawLinePoints(this.recentLocations.map(a => [a.loc[0] - 0.5, a.loc[1] + 0.1, a.loc[2] - 0.5]), 0, 0, 255, 2, false) + + if (this.currRoomData) { + if (this.currentRouteDisplay) { + this.currentRouteDisplay.etherwarps.forEach(loc => { + let coords = this.toRoomCoordinates(loc[0], loc[1] - 1, loc[2]) + drawFilledBox(coords[0] + 0.5, coords[1], coords[2] + 0.5, 1, 1, 1, 0, 0, 50 / 255, true) + drawBoxAtBlock(coords[0], coords[1], coords[2], 1, 0, 0, 1, 1, 1) + }) + this.currentRouteDisplay.mines.forEach(loc => { + let coords = this.toRoomCoordinates(loc[0], loc[1] - 1, loc[2]) + drawFilledBox(coords[0] + 0.5, coords[1] + 0.5, coords[2] + 0.5, 1, 1, 0, 255, 0, 50 / 255, true) + }) + this.currentRouteDisplay.tnts.forEach(loc => { + let coords = this.toRoomCoordinates(loc[0], loc[1] - 1, loc[2]) + drawFilledBox(coords[0] + 0.5, coords[1] + 0.5, coords[2] + 0.5, 1, 1, 255, 0, 0, 50 / 255, true) + }) + this.currentRouteDisplay.interacts.forEach(loc => { + let coords = this.toRoomCoordinates(loc[0], loc[1], loc[2]) + drawFilledBox(coords[0] + 0.5, coords[1], coords[2] + 0.5, 1, 1, 0, 0, 1, 50 / 255, true) + drawBoxAtBlock(coords[0], coords[1], coords[2], 0, 0, 1, 1, 1, 1) + }) + + if (this.currentRouteDisplay.locations.length >= 2) drawLinePoints(this.currentRouteDisplay.locations.map(a => this.toRoomCoordinates(...a)).map(a => [a[0] - 0.5, a[1] + 0.1, a[2] - 0.5]), 0, 0, 255, 2, false) + + } + } + }) + this.tempItemIdLocs = new Map() + this.idMap = new Map() + this.routesIndexMap = new Map() this.fullRoomData = JSON.parse(FileLib.read("SoopyV2", "features/dungeonRoutes/temproomdata.json")) + this.fullRoutesData = JSON.parse(FileLib.read("SoopyV2", "features/dungeonRoutes/routesData.json")) this.fullRoomData.forEach((d, i) => { d.id.forEach(id => { this.idMap.set(id, i) }) + this.idMap.set(d.index, i) + }) + this.fullRoutesData.forEach((d, i) => { + this.routesIndexMap.set(d.index, d) }) - let roomData = {} this.lastRoomId = undefined + this.currRoomData = undefined + this.currentRouteDisplay = undefined + this.registerCommand("roomid", (...name) => { ChatLib.chat(JSON.stringify(this.getCurrentRoomData(), undefined, 2)) + ChatLib.chat(JSON.stringify(this.getRoomWorldData(), undefined, 2)) + }) + this.recordRoute = false + + this.registerCommand("startroute", (...name) => { + this.recordRoute = true + this.recentEtherwarps = [] + this.recentMines = [] + this.recentLocations = [] + this.recentInteracts = [] + this.recentTnts = [] + ChatLib.chat(this.FeatureManager.messagePrefix + "Started recording route!") }) + + this.registerCommand("saveroute", () => { + let data = { + index: this.fullRoomData[this.idMap.get(this.lastRoomId)].index, + etherwarps: this.recentEtherwarps.map(ether => this.fromRoomCoordinates(ether.loc.x - 0.5, ether.loc.y, ether.loc.z - 0.5)), + mines: this.recentMines.map(ether => this.fromRoomCoordinates(ether.loc.x - 0.5, ether.loc.y, ether.loc.z - 0.5)), + locations: this.recentLocations.map(ether => this.fromRoomCoordinates(ether.loc[0], ether.loc[1], ether.loc[2])), + interacts: this.recentInteracts.map(ether => this.fromRoomCoordinates(ether.loc.x - 0.5, ether.loc.y, ether.loc.z - 0.5)), + tnts: this.recentTnts.map(ether => this.fromRoomCoordinates(ether.loc.x - 0.5, ether.loc.y, ether.loc.z - 0.5)), + } + + ChatLib.chat(JSON.stringify(data, undefined, 4)) + ChatLib.chat(this.FeatureManager.messagePrefix + "Saved route!") + this.recordRoute = false + }) + } + + toRoomCoordinates(x, y, z) { //From relative coords to world coords + if (!this.currRoomData) return null + + if (this.currRoomData.rotation === 2) { + z *= -1; + [x, z] = [z, x] + } else if (this.currRoomData.rotation === 3) { + x *= -1 + z *= -1 + } else if (this.currRoomData.rotation === 4) { + x *= -1; + [x, z] = [z, x] + } + + return [this.currRoomData.cx + x, y, this.currRoomData.cy + z] + } + fromRoomCoordinates(x, y, z) { //from world coords to relative coords + if (!this.currRoomData) return null + + x -= this.currRoomData.cx + z -= this.currRoomData.cy + + if (this.currRoomData.rotation === 2) { + [x, z] = [z, x] + z *= -1 + } else if (this.currRoomData.rotation === 3) { + x *= -1 + z *= -1 + } else if (this.currRoomData.rotation === 4) { + [x, z] = [z, x] + x *= -1 + } + + return [x, y, z] + } + + getRotation(x, y, width, height, roofY) { + let currRoomData = this.getCurrentRoomData() + if (!currRoomData) return -1 + + if (currRoomData.shape !== "L") { + if (this.getTopBlockAt(x, y, roofY) === 11) return 1 + if (this.getTopBlockAt(x + width, y, roofY) === 11) return 2 + if (this.getTopBlockAt(x + width, y + height, roofY) === 11) return 3 + if (this.getTopBlockAt(x, y + height, roofY) === 11) return 4 + } else { + let one = this.getTopBlockAt(x + width / 2 + 1, y + height / 2, roofY) + let two = this.getTopBlockAt(x + width / 2 - 1, y + height / 2, roofY) + let three = this.getTopBlockAt(x + width / 2, y + height / 2 + 1, roofY) + let four = this.getTopBlockAt(x + width / 2, y + height / 2 - 1, roofY) + + if (one === 0 && three === 0) return 1 + if (two === 0 && three === 0) return 2 + if (one === 0 && three === 0) return 3 + if (two === 0 && four === 0) return 4 + } + + return -1 + } + + getRoomWorldData() { + let x = Math.floor((Player.getX() + 8) / 32) * 32 - 8 + let y = Math.floor((Player.getZ() + 8) / 32) * 32 - 8 + let width = 30 + let height = 30 + + let roofY = this.getRoofAt(x, y) + + while (World.getBlockStateAt(new BlockPos(x - 1, roofY, y)).getBlockId() !== 0) { + x -= 32 + width += 32 + } + while (World.getBlockStateAt(new BlockPos(x, roofY, y - 1)).getBlockId() !== 0) { + y -= 32 + height += 32 + } + while (World.getBlockStateAt(new BlockPos(x - 1, roofY, y)).getBlockId() !== 0) { //second iteration incase of L shape + x -= 32 + width += 32 + } + while (World.getBlockStateAt(new BlockPos(x + width + 1, roofY, y)).getBlockId() !== 0) { + width += 32 + } + while (World.getBlockStateAt(new BlockPos(x, roofY, y + height + 1)).getBlockId() !== 0) { + height += 32 + } + while (World.getBlockStateAt(new BlockPos(x + width, roofY, y + height + 1)).getBlockId() !== 0) { //second iteration incase of L shape + height += 32 + } + + + return { + x, + y, + width, + height, + cx: x + width / 2, + cy: y + height / 2, + rotation: this.getRotation(x, y, width, height, roofY) + } + } + + getRoofAt(x, z) { + let y = 255 + while (y > 0 && World.getBlockStateAt(new BlockPos(x, y, z)).getBlockId() === 0) y-- + + return y + } + + getTopBlockAt(x, z, y) { + if (!y) y = this.getHeightAt(x, z) + + return World.getBlockStateAt(new BlockPos(x, y, z)).getMetadata() } getCurrentRoomData() { @@ -92,38 +294,55 @@ class DungeonRoutes extends Feature { this.recentEtherwarps = [] this.recentMines = [] this.recentLocations = [] + this.recentInteracts = [] this.recentTnts = [] } - checkForRemove() { - if (this.recentLocations.length + this.recentMines.length + this.recentEtherwarps.length + this.recentTnts.length > 50) { - let arrs = [this.recentLocations, this.recentMines, this.recentEtherwarps, this.recentTnts] - let smallestArr = undefined + entityJoinWorldEvent(event) { + if (event.entity instanceof EntityItem) { + // console.log("Blaze joined world") + let e = new Entity(event.entity) + let pos = { x: e.getX(), y: e.getY(), z: e.getZ() } - if (this.recentLocations[0].id < this.recentMines[0].id && this.recentLocations[0].id < this.recentEtherwarps[0].id) { - this.recentLocations.shift() - return - } - if (this.recentMines[0].id < this.recentLocations[0].id && this.recentMines[0].id < this.recentEtherwarps[0].id) { - this.recentMines.shift() - return - } - if (this.recentEtherwarps[0].id < this.recentMines[0].id && this.recentEtherwarps[0].id < this.recentLocations[0].id) { - this.recentEtherwarps.shift() - return - } + this.tempItemIdLocs.set(event.entity[m.getEntityId.Entity](), pos) + // console.log(event.entity[m.getEntityId.Entity]()) } } + pickupItem(packet) { + if (!this.recordRoute) return + let packetType = new String(packet.class.getSimpleName()).valueOf() + if (packetType === "S0DPacketCollectItem") { + let pos = this.tempItemIdLocs.get(packet[m.getCollectedItemEntityID]()) + + if (pos) this.recentInteracts.push({ loc: pos, id: this.actionId++ }) + } + } + + playerInteract(action, position, event) { + if (!this.recordRoute) return + if (action.toString() !== "RIGHT_CLICK_BLOCK") return + + let pos = { x: Player.lookingAt().getX() + 0.5, y: Player.lookingAt().getY(), z: Player.lookingAt().getZ() + 0.5 } + + let id = Player.lookingAt().getType().getID() + if (id !== 54 && id !== 144 && id !== 69) return + + this.recentInteracts.push({ loc: pos, id: this.actionId++ }) + } + playSound(pos, name, volume, pitch, categoryName, event) { + if (!this.recordRoute) return + let nameSplitted = name.split(".") if (name === "mob.enderdragon.hit") { //etherwarp this.recentEtherwarps.push({ loc: pos, id: this.actionId++ }) - this.checkForRemove() } - if (name === "random.explode") { //etherwarp + if (name === "random.explode" && pitch !== 1) { //tnt OR MIGHT BE spirit scepter this.recentTnts.push({ loc: pos, id: this.actionId++ }) - this.checkForRemove() + } + if (name === "mob.bat.death") { + this.recentInteracts.push({ loc: pos, id: this.actionId++ }) } if (nameSplitted[0] === "dig") { //mining block if (!this.recentMines.some(a => @@ -132,7 +351,6 @@ class DungeonRoutes extends Feature { && a.loc.z === pos.z )) { this.recentMines.push({ loc: pos, id: this.actionId++ }) - this.checkForRemove() } } } diff --git a/features/dungeonRoutes/routesData.json b/features/dungeonRoutes/routesData.json new file mode 100644 index 0000000..2a6db6c --- /dev/null +++ b/features/dungeonRoutes/routesData.json @@ -0,0 +1,6200 @@ +[ + { + "index": 0, + "etherwarps": [ + [ + -8, + 76, + 14 + ], + [ + -13, + 71, + 5 + ], + [ + 13, + 73, + 9 + ] + ] + }, + { + "index": 128, + "etherwarps": [ + [ + 2, + 72, + 3 + ], + [ + 0, + 91, + -10 + ], + [ + 8, + 72, + -9 + ] + ] + }, + { + "index": 127, + "etherwarps": [ + [ + 0, + 77, + -12 + ], + [ + 0, + 80, + 14 + ], + [ + -12, + 72, + 0 + ] + ] + }, + { + "index": 95, + "etherwarps": [], + "mines": [ + [ + -18, + 51.5, + 22 + ], + [ + -18, + 52.5, + 22 + ] + ], + "locations": [ + [ + -11, + 69, + 4 + ], + [ + -12, + 69, + 5 + ], + [ + -13, + 69, + 5 + ], + [ + -13, + 69, + 6 + ], + [ + -13, + 69, + 7 + ], + [ + -13, + 69, + 8 + ], + [ + -13, + 68, + 8 + ], + [ + -13, + 65, + 8 + ], + [ + -12, + 62, + 9 + ], + [ + -12, + 57, + 9 + ], + [ + -12, + 56, + 11 + ], + [ + -10, + 56, + 15 + ], + [ + -10, + 58, + 14 + ], + [ + -9, + 58, + 14 + ], + [ + -9, + 57, + 14 + ], + [ + -8, + 57, + 15 + ], + [ + -7, + 57, + 15 + ], + [ + -9, + 57, + 16 + ], + [ + -11, + 57, + 17 + ], + [ + -12, + 56, + 18 + ], + [ + -12, + 53, + 18 + ], + [ + -12, + 50, + 19 + ], + [ + -13, + 50, + 22 + ], + [ + -14, + 50, + 23 + ], + [ + -15, + 50, + 23 + ], + [ + -14, + 50, + 24 + ], + [ + -13, + 50, + 23 + ], + [ + -13, + 50, + 20 + ], + [ + -12, + 50, + 19 + ], + [ + -13, + 50, + 19 + ], + [ + -13, + 51, + 16 + ], + [ + -13, + 51, + 15 + ], + [ + -15, + 51, + 4 + ], + [ + -15, + 50, + 3 + ], + [ + -16, + 48, + -6 + ], + [ + -16, + 48, + -5 + ], + [ + -16, + 48, + -8 + ], + [ + -16, + 48, + -17 + ], + [ + -15, + 47, + -20 + ], + [ + -14, + 47, + -22 + ], + [ + -12, + 48, + -25 + ], + [ + -12, + 47, + -25 + ], + [ + -10, + 47, + -24 + ], + [ + -9, + 47, + -24 + ], + [ + -9, + 47, + -23 + ], + [ + -8, + 47, + -22 + ], + [ + -6, + 47, + -22 + ], + [ + -5, + 47, + -22 + ], + [ + -5, + 46, + -22 + ], + [ + -5, + 46, + -23 + ], + [ + -7, + 47, + -23 + ], + [ + -9, + 47, + -24 + ], + [ + -11, + 47, + -24 + ], + [ + -15, + 47, + -22 + ], + [ + -17, + 47, + -20 + ], + [ + -18, + 46, + -19 + ], + [ + -18, + 46, + -18 + ], + [ + -18, + 59, + -15 + ], + [ + -18, + 72, + -12 + ], + [ + -18, + 85, + -9 + ], + [ + -18, + 83, + -8 + ], + [ + -17, + 80, + -8 + ], + [ + -16, + 76, + -8 + ], + [ + -9, + 90, + -7 + ], + [ + -9, + 89, + -7 + ], + [ + -2, + 95, + -7 + ], + [ + -2, + 94, + -7 + ], + [ + -1, + 93, + -7 + ], + [ + -4, + 92, + -7 + ], + [ + -7, + 92, + -6 + ], + [ + -9, + 91, + -5 + ], + [ + -11, + 88, + -4 + ], + [ + -14, + 84, + 1 + ], + [ + -15, + 85, + 3 + ], + [ + -15, + 86, + 3 + ], + [ + -15, + 86, + 5 + ], + [ + -15, + 85, + 8 + ], + [ + -15, + 83, + 9 + ], + [ + -15, + 80, + 11 + ], + [ + -15, + 69, + 17 + ] + ], + "interacts": [ + [ + -20, + 52, + 23 + ], + [ + 2, + 92, + -7 + ] + ], + "tnts": [] + }, + { + "index": 75, + "etherwarps": [ + [ + -54, + 76, + 6 + ], + [ + -60, + 74, + -12 + ] + ], + "mines": [ + [ + -60, + 74.5, + -12 + ], + [ + -60, + 73.5, + -12 + ], + [ + -60, + 72.5, + -12 + ], + [ + -60, + 71.5, + -12 + ] + ], + "locations": [ + [ + -51, + 69, + -3 + ], + [ + -53, + 77, + 5 + ], + [ + -53, + 76, + 5 + ], + [ + -54, + 76, + 8 + ], + [ + -56, + 76, + 10 + ], + [ + -59, + 76, + 10 + ], + [ + -60, + 76, + 10 + ], + [ + -60, + 76, + 11 + ], + [ + -59, + 76, + 10 + ], + [ + -57, + 76, + 9 + ], + [ + -57, + 76, + 10 + ], + [ + -55, + 76, + 11 + ], + [ + -53, + 76, + 9 + ], + [ + -53, + 76, + 8 + ], + [ + -53, + 76, + 7 + ], + [ + -53, + 76, + 6 + ], + [ + -54, + 76, + 5 + ], + [ + -59, + 75, + -13 + ], + [ + -59, + 74, + -13 + ], + [ + -59, + 73, + -13 + ], + [ + -59, + 72, + -13 + ], + [ + -59, + 69, + -13 + ], + [ + -59, + 67, + -13 + ], + [ + -59, + 65, + -13 + ], + [ + -57, + 65, + -11 + ], + [ + -58, + 65, + -12 + ], + [ + -59, + 65, + -12 + ], + [ + -59, + 65, + -13 + ], + [ + -61, + 65, + -13 + ], + [ + -61, + 66, + -12 + ], + [ + -61, + 74, + -12 + ], + [ + -60, + 75, + -12 + ], + [ + -61, + 73, + -12 + ], + [ + -48, + 78, + -12 + ], + [ + -49, + 78, + -12 + ], + [ + -40, + 83, + -12 + ], + [ + -41, + 84, + -12 + ], + [ + -39, + 83, + -12 + ], + [ + -36, + 82, + -12 + ], + [ + -32, + 82, + -12 + ], + [ + -13, + 82, + -10 + ], + [ + -10, + 82, + -10 + ], + [ + -6, + 82, + -10 + ], + [ + -1, + 82, + -10 + ], + [ + 15, + 82, + -10 + ], + [ + 18, + 82, + -10 + ], + [ + 22, + 82, + -10 + ], + [ + 31, + 82, + -10 + ], + [ + 30, + 82, + -10 + ], + [ + 32, + 82, + -10 + ], + [ + 35, + 82, + -10 + ], + [ + 41, + 83, + -9 + ], + [ + 44, + 83, + -8 + ], + [ + 48, + 83, + -8 + ], + [ + 50, + 84, + -5 + ], + [ + 51, + 85, + -2 + ], + [ + 52, + 84, + 0 + ], + [ + 51, + 93, + 9 + ], + [ + 51, + 92, + 9 + ], + [ + 51, + 92, + 8 + ], + [ + 53, + 92, + 6 + ], + [ + 53, + 91, + 5 + ], + [ + 54, + 89, + 4 + ], + [ + 54, + 86, + 4 + ], + [ + 55, + 83, + 3 + ] + ], + "interacts": [ + [ + -56, + 65, + -8 + ], + [ + 50, + 92, + 13 + ], + [ + 50, + 92, + 13 + ] + ], + "tnts": [ + [ + -54, + 76.5, + 6 + ], + [ + 38.25, + 83.375, + -9.125 + ] + ] + }, + { + "index": 93, + "etherwarps": [], + "mines": [ + [ + 39, + 76.5, + -1 + ], + [ + 40, + 76.5, + -1 + ] + ], + "locations": [ + [ + -24, + 69, + -9 + ], + [ + -26, + 69, + -8 + ], + [ + -28, + 69, + -5 + ], + [ + -28, + 69, + -1 + ], + [ + -26, + 69, + 3 + ], + [ + -27, + 69, + 6 + ], + [ + -29, + 69, + 8 + ], + [ + -33, + 69, + 8 + ], + [ + -34, + 69, + 7 + ], + [ + -35, + 69, + 5 + ], + [ + -35, + 70, + 5 + ], + [ + -35, + 60, + 5 + ], + [ + -35, + 60, + 4 + ], + [ + -35, + 60, + 2 + ], + [ + -35, + 60, + -1 + ], + [ + -35, + 60, + -2 + ], + [ + -35, + 60, + -3 + ], + [ + -35, + 60, + -4 + ], + [ + -34, + 60, + -1 + ], + [ + -34, + 60, + 2 + ], + [ + -35, + 60, + 5 + ], + [ + -35, + 61, + 5 + ], + [ + -35, + 69, + 5 + ], + [ + -34, + 69, + 7 + ], + [ + -32, + 69, + 10 + ], + [ + -29, + 69, + 11 + ], + [ + -26, + 69, + 9 + ], + [ + -26, + 69, + 5 + ], + [ + -26, + 69, + 1 + ], + [ + -27, + 69, + -3 + ], + [ + -27, + 69, + -7 + ], + [ + -24, + 69, + -8 + ], + [ + -20, + 69, + -8 + ], + [ + -17, + 69, + -5 + ], + [ + -13, + 70, + -6 + ], + [ + -11, + 70, + -9 + ], + [ + -12, + 70, + -11 + ], + [ + -12, + 71, + -11 + ], + [ + -12, + 70, + -11 + ], + [ + -11, + 70, + -11 + ], + [ + -8, + 70, + -10 + ], + [ + -4, + 71, + -8 + ], + [ + 0, + 71, + -7 + ], + [ + 2, + 71, + -8 + ], + [ + 4, + 69, + -9 + ], + [ + 7, + 69, + -8 + ], + [ + 9, + 69, + -6 + ], + [ + 16, + 69, + -1 + ], + [ + 19, + 69, + 1 + ], + [ + 22, + 69, + 1 + ], + [ + 23, + 69, + -1 + ], + [ + 23, + 71, + -1 + ], + [ + 23, + 70, + -1 + ], + [ + 23, + 70, + -3 + ], + [ + 23, + 61, + -3 + ], + [ + 23, + 60, + -3 + ], + [ + 23, + 60, + -2 + ], + [ + 23, + 60, + 9 + ], + [ + 23, + 60, + 12 + ], + [ + 23, + 62, + 5 + ], + [ + 23, + 60, + 5 + ], + [ + 24, + 61, + 5 + ], + [ + 24, + 60, + 5 + ], + [ + 23, + 60, + 5 + ], + [ + 23, + 61, + 5 + ], + [ + 23, + 60, + 5 + ], + [ + 23, + 60, + 3 + ], + [ + 23, + 60, + -1 + ], + [ + 23, + 61, + -3 + ], + [ + 23, + 70, + -3 + ], + [ + 23, + 71, + -3 + ], + [ + 23, + 70, + -2 + ], + [ + 22, + 70, + -1 + ], + [ + 22, + 69, + -1 + ], + [ + 20, + 69, + 1 + ], + [ + 17, + 69, + 1 + ], + [ + 15, + 69, + -2 + ], + [ + 15, + 69, + -3 + ], + [ + 16, + 69, + -2 + ], + [ + 25, + 77, + -2 + ], + [ + 26, + 77, + -2 + ], + [ + 28, + 75, + -2 + ], + [ + 31, + 76, + -2 + ], + [ + 34, + 75, + -2 + ], + [ + 35, + 75, + -2 + ], + [ + 34, + 75, + -2 + ], + [ + 33, + 75, + -2 + ], + [ + 35, + 75, + -2 + ], + [ + 36, + 75, + -2 + ], + [ + 37, + 75, + -2 + ], + [ + 38, + 75, + -2 + ], + [ + 39, + 75, + -2 + ], + [ + 38, + 75, + -2 + ], + [ + 38, + 75, + -3 + ], + [ + 37, + 75, + -4 + ], + [ + 36, + 75, + -4 + ], + [ + 34, + 75, + -3 + ], + [ + 33, + 75, + -3 + ] + ], + "interacts": [ + [ + -36, + 60, + -6 + ], + [ + 22, + 60, + 14 + ], + [ + 43, + 77, + -1 + ], + [ + 43, + 77, + -1 + ], + [ + 43, + 77, + -1 + ] + ], + "tnts": [ + [ + 34, + 75.5, + -1 + ] + ] + }, + { + "index": 77, + "etherwarps": [ + [ + -24, + 71, + 6 + ], + [ + 18, + 78, + -24 + ], + [ + 21, + 79, + -39 + ], + [ + 25, + 96, + 8 + ] + ], + "mines": [], + "locations": [ + [ + -14, + 69, + 3 + ], + [ + -14, + 69, + -1 + ], + [ + -12, + 69, + -5 + ], + [ + -9, + 69, + -9 + ], + [ + -7, + 69, + -10 + ], + [ + -7, + 71, + -9 + ], + [ + -7, + 70, + -9 + ], + [ + -7, + 71, + -9 + ], + [ + -7, + 70, + -9 + ], + [ + -5, + 70, + -9 + ], + [ + -3, + 70, + -9 + ], + [ + -2, + 70, + -9 + ], + [ + -4, + 70, + -8 + ], + [ + -6, + 70, + -8 + ], + [ + -7, + 69, + -8 + ], + [ + -7, + 69, + -9 + ], + [ + -11, + 69, + -9 + ], + [ + -13, + 69, + -7 + ], + [ + -13, + 69, + -5 + ], + [ + -13, + 69, + -2 + ], + [ + -16, + 69, + 0 + ], + [ + -18, + 69, + 1 + ], + [ + -21, + 69, + 2 + ], + [ + -23, + 69, + 3 + ], + [ + -23, + 71, + 7 + ], + [ + -23, + 71, + 8 + ], + [ + -23, + 71, + 11 + ], + [ + -23, + 70, + 11 + ], + [ + -23, + 69, + 11 + ], + [ + -24, + 69, + 11 + ], + [ + -25, + 69, + 11 + ], + [ + -26, + 69, + 11 + ], + [ + -27, + 69, + 11 + ], + [ + -27, + 70, + 11 + ], + [ + -27, + 71, + 11 + ], + [ + -27, + 70, + 11 + ], + [ + -27, + 71, + 11 + ], + [ + -27, + 72, + 11 + ], + [ + -27, + 71, + 11 + ], + [ + -27, + 70, + 11 + ], + [ + -26, + 70, + 11 + ], + [ + -25, + 69, + 11 + ], + [ + -24, + 69, + 11 + ], + [ + -23, + 69, + 11 + ], + [ + -22, + 69, + 11 + ], + [ + -19, + 69, + 10 + ], + [ + -16, + 69, + 10 + ], + [ + -13, + 69, + 11 + ], + [ + -9, + 69, + 11 + ], + [ + -6, + 69, + 11 + ], + [ + -4, + 69, + 9 + ], + [ + -4, + 69, + 8 + ], + [ + -4, + 69, + 7 + ], + [ + -4, + 69, + 5 + ], + [ + -4, + 69, + 6 + ], + [ + -3, + 69, + 8 + ], + [ + -3, + 69, + 10 + ], + [ + 1, + 70, + 11 + ], + [ + 5, + 70, + 11 + ], + [ + 9, + 70, + 10 + ], + [ + 13, + 70, + 7 + ], + [ + 15, + 69, + 3 + ], + [ + 16, + 69, + -2 + ], + [ + 15, + 69, + -6 + ], + [ + 16, + 69, + -10 + ], + [ + 16, + 70, + -15 + ], + [ + 17, + 69, + -19 + ], + [ + 17, + 70, + -24 + ], + [ + 17, + 70, + -27 + ], + [ + 17, + 69, + -28 + ], + [ + 19, + 70, + -26 + ], + [ + 21, + 69, + -22 + ], + [ + 23, + 69, + -18 + ], + [ + 26, + 69, + -18 + ], + [ + 27, + 69, + -19 + ], + [ + 27, + 59, + -19 + ], + [ + 25, + 59, + -20 + ], + [ + 23, + 59, + -20 + ], + [ + 21, + 59, + -19 + ], + [ + 23, + 59, + -20 + ], + [ + 21, + 59, + -20 + ], + [ + 22, + 59, + -20 + ], + [ + 25, + 59, + -20 + ], + [ + 26, + 59, + -20 + ], + [ + 27, + 59, + -20 + ], + [ + 27, + 59, + -19 + ], + [ + 27, + 60, + -19 + ], + [ + 27, + 59, + -19 + ], + [ + 27, + 60, + -18 + ], + [ + 27, + 70, + -19 + ], + [ + 27, + 72, + -19 + ], + [ + 27, + 70, + -19 + ], + [ + 26, + 69, + -18 + ], + [ + 23, + 69, + -18 + ], + [ + 22, + 69, + -20 + ], + [ + 21, + 69, + -22 + ], + [ + 20, + 69, + -23 + ], + [ + 19, + 79, + -23 + ], + [ + 19, + 78, + -23 + ], + [ + 19, + 78, + -24 + ], + [ + 18, + 78, + -27 + ], + [ + 18, + 78, + -29 + ], + [ + 17, + 78, + -29 + ], + [ + 14, + 78, + -30 + ], + [ + 13, + 78, + -31 + ], + [ + 10, + 78, + -31 + ], + [ + 7, + 78, + -31 + ], + [ + 4, + 80, + -31 + ], + [ + 4, + 79, + -31 + ], + [ + 5, + 79, + -31 + ], + [ + 7, + 79, + -31 + ], + [ + 11, + 78, + -32 + ], + [ + 15, + 78, + -33 + ], + [ + 17, + 78, + -35 + ], + [ + 17, + 78, + -36 + ], + [ + 18, + 78, + -37 + ], + [ + 22, + 80, + -38 + ], + [ + 22, + 79, + -38 + ], + [ + 23, + 79, + -38 + ], + [ + 27, + 79, + -38 + ], + [ + 28, + 78, + -38 + ], + [ + 27, + 78, + -38 + ], + [ + 27, + 78, + -36 + ], + [ + 27, + 79, + -25 + ], + [ + 27, + 78, + -24 + ], + [ + 23, + 78, + -24 + ], + [ + 20, + 78, + -21 + ], + [ + 17, + 78, + -17 + ], + [ + 16, + 79, + -13 + ], + [ + 15, + 79, + -11 + ], + [ + 15, + 79, + -10 + ], + [ + 12, + 86, + -4 + ], + [ + 11, + 86, + -2 + ], + [ + 9, + 93, + 2 + ], + [ + 9, + 91, + 2 + ], + [ + 9, + 89, + 3 + ], + [ + 8, + 90, + 7 + ], + [ + 4, + 89, + 8 + ], + [ + 7, + 89, + 8 + ], + [ + 11, + 90, + 8 + ], + [ + 16, + 90, + 9 + ], + [ + 18, + 89, + 9 + ], + [ + 26, + 97, + 9 + ], + [ + 26, + 96, + 9 + ], + [ + 27, + 96, + 9 + ], + [ + 27, + 95, + 9 + ], + [ + 27, + 93, + 9 + ], + [ + 27, + 90, + 9 + ], + [ + 24, + 89, + 9 + ], + [ + 20, + 89, + 8 + ], + [ + 16, + 89, + 5 + ], + [ + 12, + 89, + 1 + ], + [ + 11, + 89, + -2 + ], + [ + 10, + 88, + -4 + ], + [ + 10, + 85, + -5 + ], + [ + 10, + 82, + -6 + ], + [ + 18, + 80, + 1 + ], + [ + 18, + 75, + 1 + ], + [ + 17, + 73, + 0 + ], + [ + 17, + 71, + 0 + ], + [ + 16, + 69, + -3 + ], + [ + 16, + 69, + -6 + ], + [ + 17, + 70, + -11 + ], + [ + 17, + 70, + -16 + ], + [ + 17, + 69, + -21 + ], + [ + 17, + 70, + -25 + ], + [ + 17, + 70, + -27 + ] + ], + "interacts": [ + [ + -29, + 69, + 10 + ], + [ + -29, + 76, + 10 + ], + [ + -29, + 76, + 10 + ], + [ + -5, + 69, + 2 + ], + [ + 16, + 69, + -32 + ], + [ + 25, + 78, + -39 + ], + [ + 1, + 91, + 7 + ], + [ + 16, + 69, + -32 + ] + ], + "tnts": [ + [ + -5, + 69.5, + 7 + ], + [ + 12, + 78.5, + -31 + ] + ] + }, + { + "index": 64, + "etherwarps": [ + [ + 19, + 83, + -13 + ] + ], + "mines": [ + [ + 18, + 84.5, + -13 + ], + [ + 18, + 83.5, + -13 + ], + [ + 16, + 82.5, + -13 + ], + [ + -7, + 70.5, + -23 + ], + [ + -7, + 69.5, + -23 + ] + ], + "locations": [ + [ + -11, + 69, + 15 + ], + [ + -13, + 69, + 15 + ], + [ + -14, + 69, + 15 + ], + [ + -14, + 69, + 16 + ], + [ + -14, + 69, + 17 + ], + [ + -14, + 69, + 15 + ], + [ + -14, + 69, + 14 + ], + [ + -15, + 87, + 11 + ], + [ + -15, + 85, + 10 + ], + [ + -16, + 82, + 10 + ], + [ + -17, + 80, + 8 + ], + [ + -21, + 80, + 7 + ], + [ + -22, + 80, + 6 + ], + [ + -24, + 80, + 6 + ], + [ + -25, + 81, + 6 + ], + [ + -25, + 82, + 6 + ], + [ + -25, + 81, + 6 + ], + [ + -24, + 81, + 6 + ], + [ + -23, + 80, + 4 + ], + [ + -23, + 80, + 1 + ], + [ + -23, + 81, + 0 + ], + [ + -23, + 80, + 0 + ], + [ + -22, + 80, + 0 + ], + [ + -21, + 80, + 2 + ], + [ + -21, + 80, + 4 + ], + [ + -20, + 80, + 5 + ], + [ + -18, + 80, + 7 + ], + [ + -16, + 80, + 5 + ], + [ + -16, + 80, + 4 + ], + [ + -18, + 80, + 3 + ], + [ + -17, + 80, + 2 + ], + [ + -16, + 80, + 2 + ], + [ + -16, + 80, + 0 + ], + [ + -16, + 80, + -2 + ], + [ + -16, + 80, + -4 + ], + [ + -15, + 80, + -11 + ], + [ + -14, + 80, + -21 + ], + [ + -13, + 80, + -20 + ], + [ + -13, + 80, + -17 + ], + [ + -10, + 80, + -14 + ], + [ + -6, + 80, + -14 + ], + [ + -3, + 80, + -12 + ], + [ + -2, + 80, + -8 + ], + [ + 1, + 80, + -6 + ], + [ + 3, + 81, + -5 + ], + [ + 12, + 82, + -6 + ], + [ + 14, + 82, + -6 + ], + [ + 15, + 81, + -6 + ], + [ + 16, + 81, + -6 + ], + [ + 19, + 81, + -6 + ], + [ + 23, + 81, + -7 + ], + [ + 24, + 81, + -9 + ], + [ + 26, + 81, + -14 + ], + [ + 27, + 82, + -15 + ], + [ + 27, + 83, + -15 + ], + [ + 27, + 82, + -15 + ], + [ + 27, + 83, + -15 + ], + [ + 27, + 82, + -15 + ], + [ + 20, + 84, + -14 + ], + [ + 20, + 83, + -14 + ], + [ + 17, + 83, + -14 + ], + [ + 16, + 82, + -14 + ], + [ + 18, + 83, + -14 + ], + [ + 18, + 81, + -14 + ], + [ + 18, + 83, + -14 + ], + [ + 15, + 83, + -15 + ], + [ + 14, + 82, + -15 + ], + [ + 7, + 76, + -18 + ], + [ + 7, + 74, + -19 + ], + [ + 6, + 71, + -19 + ], + [ + 6, + 67, + -20 + ], + [ + 4, + 65, + -21 + ], + [ + -4, + 69, + -25 + ], + [ + -4, + 69, + -24 + ], + [ + -5, + 69, + -22 + ], + [ + -6, + 69, + -20 + ], + [ + -10, + 69, + -20 + ], + [ + -15, + 69, + -19 + ], + [ + -22, + 69, + -18 + ], + [ + -24, + 69, + -18 + ], + [ + -25, + 69, + -18 + ], + [ + -25, + 69, + -19 + ], + [ + -25, + 69, + -20 + ], + [ + -25, + 69, + -21 + ], + [ + -25, + 69, + -22 + ], + [ + -25, + 69, + -23 + ], + [ + -25, + 69, + -24 + ], + [ + -25, + 69, + -25 + ], + [ + -25, + 69, + -22 + ], + [ + -25, + 69, + -20 + ], + [ + -23, + 69, + -18 + ], + [ + -20, + 69, + -16 + ], + [ + -16, + 69, + -15 + ], + [ + -15, + 69, + -13 + ], + [ + -15, + 69, + -11 + ], + [ + -16, + 69, + -7 + ], + [ + -18, + 69, + -4 + ], + [ + -18, + 69, + 1 + ], + [ + -17, + 69, + 3 + ], + [ + -17, + 69, + 6 + ], + [ + -17, + 69, + 9 + ], + [ + -17, + 69, + 14 + ], + [ + -17, + 69, + 17 + ], + [ + -17, + 68, + 19 + ], + [ + -17, + 65, + 19 + ], + [ + -17, + 64, + 19 + ], + [ + -17, + 63, + 19 + ], + [ + -17, + 62, + 19 + ], + [ + -17, + 61, + 19 + ], + [ + -17, + 60, + 19 + ], + [ + -17, + 59, + 19 + ], + [ + -17, + 58, + 19 + ], + [ + -17, + 59, + 19 + ], + [ + -17, + 84, + 19 + ], + [ + -17, + 82, + 18 + ], + [ + -17, + 80, + 18 + ], + [ + -17, + 76, + 17 + ], + [ + -17, + 71, + 16 + ], + [ + -17, + 69, + 15 + ], + [ + -16, + 69, + 12 + ], + [ + -16, + 69, + 11 + ] + ], + "interacts": [ + [ + -25.75, + 82, + 1.75 + ], + [ + 29, + 83, + -16 + ], + [ + -9, + 69, + -24 + ], + [ + -9, + 69, + -24 + ], + [ + -26, + 69, + -27 + ], + [ + -16, + 57, + 22 + ] + ], + "tnts": [ + [ + -18.75, + 81.375, + 10 + ], + [ + 14, + 81.5, + -5 + ], + [ + -8.125, + 69, + -19.125 + ], + [ + -26, + 69.5, + -19 + ] + ] + }, + { + "index": 87, + "etherwarps": [ + [ + -16, + 79, + 15 + ], + [ + -18, + 80, + 13 + ], + [ + -19, + 86, + -14 + ], + [ + -9, + 61, + 1 + ], + [ + -13, + 67, + 0 + ] + ], + "mines": [ + [ + -18, + 80.5, + 12 + ], + [ + -18, + 79.5, + 12 + ], + [ + -18, + 80.5, + 11 + ], + [ + -18, + 79.5, + 11 + ], + [ + -18, + 80.5, + 10 + ], + [ + -18, + 79.5, + 10 + ], + [ + -18, + 78.5, + 8 + ], + [ + -18, + 78.5, + 7 + ], + [ + -20, + 87.5, + -15 + ], + [ + -20, + 86.5, + -15 + ], + [ + -20, + 86.5, + -14 + ], + [ + -21, + 86.5, + -14 + ], + [ + -21, + 87.5, + -14 + ], + [ + -22, + 86.5, + -14 + ], + [ + -22, + 87.5, + -14 + ], + [ + -21, + 87.5, + -15 + ], + [ + -21, + 86.5, + -15 + ], + [ + -22, + 86.5, + -15 + ], + [ + -22, + 87.5, + -15 + ] + ], + "locations": [ + [ + -19, + 69, + 18 + ], + [ + -18, + 69, + 18 + ], + [ + -17, + 69, + 17 + ], + [ + -16, + 69, + 17 + ], + [ + -14, + 69, + 16 + ], + [ + -15, + 79, + 16 + ], + [ + -16, + 79, + 17 + ], + [ + -18, + 79, + 18 + ], + [ + -17, + 81, + 14 + ], + [ + -17, + 80, + 14 + ], + [ + -17, + 79, + 14 + ], + [ + -17, + 79, + 13 + ], + [ + -17, + 79, + 11 + ], + [ + -17, + 79, + 9 + ], + [ + -17, + 79, + 8 + ], + [ + -17, + 79, + 5 + ], + [ + -17, + 79, + 1 + ], + [ + -17, + 79, + -4 + ], + [ + -17, + 79, + -8 + ], + [ + -17, + 79, + -13 + ], + [ + -17, + 79, + -15 + ], + [ + -18, + 77, + -17 + ], + [ + -18, + 74, + -19 + ], + [ + -20, + 69, + -23 + ], + [ + -20, + 68, + -23 + ], + [ + -20, + 66, + -23 + ], + [ + -20, + 59, + -23 + ], + [ + -20, + 59, + -22 + ], + [ + -18, + 59, + -21 + ], + [ + -16, + 59, + -21 + ], + [ + -15, + 59, + -21 + ], + [ + -16, + 59, + -21 + ], + [ + -19, + 59, + -20 + ], + [ + -21, + 59, + -22 + ], + [ + -21, + 59, + -23 + ], + [ + -21, + 59, + -24 + ], + [ + -19, + 72, + -26 + ], + [ + -18, + 72, + -27 + ], + [ + -18, + 70, + -27 + ], + [ + -16, + 69, + -26 + ], + [ + -15, + 69, + -23 + ], + [ + -15, + 69, + -20 + ], + [ + -14, + 69, + -17 + ], + [ + -13, + 69, + -14 + ], + [ + -12, + 69, + -12 + ], + [ + -10, + 70, + -12 + ], + [ + -9, + 70, + -12 + ], + [ + -18, + 87, + -13 + ], + [ + -18, + 86, + -13 + ], + [ + -17, + 86, + -13 + ], + [ + -17, + 86, + -12 + ], + [ + -19, + 86, + -13 + ], + [ + -18, + 86, + -13 + ], + [ + -20, + 86, + -13 + ], + [ + -18, + 86, + -13 + ], + [ + -21, + 86, + -13 + ], + [ + -19, + 86, + -13 + ], + [ + -20, + 86, + -13 + ], + [ + -19, + 86, + -13 + ], + [ + -22, + 86, + -13 + ], + [ + -18, + 86, + -13 + ], + [ + -19, + 86, + -13 + ], + [ + -17, + 86, + -12 + ], + [ + -15, + 86, + -12 + ], + [ + -14, + 84, + -12 + ], + [ + -13, + 82, + -11 + ], + [ + -12, + 78, + -11 + ], + [ + -11, + 73, + -12 + ], + [ + -10, + 69, + -12 + ], + [ + -8, + 69, + -16 + ], + [ + -10, + 69, + -13 + ], + [ + -8, + 69, + -16 + ], + [ + -5, + 69, + -19 + ], + [ + -4, + 69, + -19 + ], + [ + -5, + 69, + -19 + ], + [ + -7, + 69, + -23 + ], + [ + -5, + 69, + -25 + ], + [ + -3, + 70, + -26 + ], + [ + 1, + 72, + -26 + ], + [ + 2, + 73, + -25 + ], + [ + 0, + 72, + -25 + ], + [ + -4, + 84, + -24 + ], + [ + -8, + 92, + -23 + ], + [ + -8, + 91, + -23 + ], + [ + -8, + 89, + -23 + ], + [ + -9, + 86, + -23 + ], + [ + -11, + 86, + -23 + ], + [ + -21, + 86, + -23 + ], + [ + -25, + 87, + -22 + ], + [ + -26, + 87, + -19 + ], + [ + -26, + 86, + -17 + ], + [ + -27, + 86, + -19 + ], + [ + -26, + 87, + -21 + ], + [ + -23, + 88, + -22 + ], + [ + -22, + 88, + -23 + ], + [ + -21, + 87, + -23 + ], + [ + -10, + 89, + -23 + ], + [ + -9, + 88, + -23 + ], + [ + 2, + 89, + -24 + ], + [ + 2, + 87, + -24 + ], + [ + 2, + 84, + -24 + ], + [ + 2, + 80, + -24 + ], + [ + 1, + 75, + -24 + ], + [ + 0, + 72, + -24 + ], + [ + -3, + 71, + -24 + ], + [ + -3, + 70, + -23 + ], + [ + -4, + 70, + -22 + ], + [ + -5, + 69, + -22 + ], + [ + -7, + 69, + -20 + ], + [ + -7, + 69, + -17 + ], + [ + -7, + 70, + -12 + ], + [ + -7, + 71, + -11 + ], + [ + -6, + 71, + -11 + ], + [ + -6, + 69, + -11 + ], + [ + -7, + 68, + -9 + ], + [ + -10, + 68, + -6 + ], + [ + -12, + 68, + -6 + ], + [ + -10, + 68, + -5 + ], + [ + -9, + 67, + -4 + ], + [ + -9, + 67, + -3 + ], + [ + -8, + 69, + -1 + ], + [ + -7, + 69, + 0 + ], + [ + -6, + 68, + 0 + ], + [ + -6, + 68, + 1 + ], + [ + -4, + 68, + 4 + ], + [ + -3, + 68, + 4 + ], + [ + -3, + 67, + 4 + ], + [ + -3, + 67, + 2 + ], + [ + -2, + 67, + 2 + ], + [ + -2, + 66, + 2 + ], + [ + -2, + 60, + 2 + ], + [ + -4, + 60, + 1 + ], + [ + -4, + 60, + 2 + ], + [ + -8, + 62, + 2 + ], + [ + -10, + 61, + 2 + ], + [ + -10, + 60, + 2 + ], + [ + -11, + 60, + 2 + ], + [ + -12, + 60, + 2 + ], + [ + -12, + 67, + 1 + ], + [ + -12, + 68, + 1 + ], + [ + -12, + 69, + 1 + ], + [ + -12, + 68, + 1 + ], + [ + -16, + 75, + 1 + ], + [ + -16, + 74, + 1 + ], + [ + -16, + 72, + 1 + ], + [ + -16, + 69, + 1 + ], + [ + -15, + 69, + 1 + ] + ], + "interacts": [ + [ + -17, + 79, + 15 + ], + [ + -17.09375, + 80.5625, + 14.9375 + ], + [ + -13, + 59, + -24 + ], + [ + -12.75, + 61.5, + -21.125 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -25, + 86, + -15 + ], + [ + -17, + 61, + 1 + ] + ], + "tnts": [ + [ + -18, + 69.5, + 16 + ], + [ + -21, + 68.5, + -24 + ], + [ + -19, + 86.5, + -14 + ], + [ + -3.25, + 94.75, + -26.5 + ], + [ + -8.375, + 70, + -23.75 + ] + ] + }, + { + "index": 83, + "etherwarps": [ + [ + 5, + 86, + 6 + ], + [ + 2, + 84, + 2 + ], + [ + 30, + 83, + -1 + ] + ], + "mines": [ + [ + 8, + 70.5, + -9 + ] + ], + "locations": [ + [ + -12, + 70, + -2 + ], + [ + -10, + 70, + -2 + ], + [ + -6, + 70, + -2 + ], + [ + -2, + 70, + -2 + ], + [ + 2, + 69, + -4 + ], + [ + 6, + 69, + -6 + ], + [ + 7, + 69, + -9 + ], + [ + 7, + 69, + -8 + ], + [ + 7, + 69, + -5 + ], + [ + 6, + 70, + -3 + ], + [ + 6, + 86, + 5 + ], + [ + 9, + 86, + 6 + ], + [ + 11, + 86, + 6 + ], + [ + 13, + 86, + 6 + ], + [ + 10, + 86, + 6 + ], + [ + 7, + 86, + 6 + ], + [ + 5, + 86, + 5 + ], + [ + 4, + 86, + 6 + ], + [ + 3, + 86, + 6 + ], + [ + 3, + 85, + 6 + ], + [ + 3, + 85, + 1 + ], + [ + 3, + 84, + 1 + ], + [ + 3, + 85, + 0 + ], + [ + 4, + 85, + 0 + ], + [ + 31, + 84, + -2 + ], + [ + 31, + 83, + -2 + ], + [ + 30, + 83, + -3 + ], + [ + 30, + 82, + -3 + ], + [ + 29, + 80, + -4 + ], + [ + 29, + 77, + -4 + ], + [ + 29, + 73, + -5 + ], + [ + 29, + 69, + -5 + ] + ], + "interacts": [ + [ + 7, + 69, + -10 + ], + [ + 10, + 70, + -10 + ], + [ + 13.0625, + 86.78125, + 7.15625 + ], + [ + 32, + 83, + 0 + ] + ], + "tnts": [] + }, + { + "index": 58, + "etherwarps": [], + "mines": [], + "locations": [ + [ + -2, + 69, + -2 + ], + [ + -2, + 69, + 0 + ], + [ + -2, + 69, + 3 + ], + [ + -3, + 69, + 2 + ], + [ + -3, + 69, + 0 + ] + ], + "interacts": [ + [ + -5.28125, + 69.6875, + 7.0625 + ] + ], + "tnts": [] + }, + { + "index": 126, + "etherwarps": [], + "mines": [ + [ + -8, + 70.5, + -9 + ], + [ + -9, + 70.5, + -9 + ], + [ + -9, + 70.5, + -8 + ], + [ + -10, + 70.5, + -8 + ], + [ + -10, + 70.5, + -7 + ], + [ + -11, + 70.5, + -7 + ], + [ + -11, + 70.5, + -6 + ], + [ + -11, + 71.5, + -7 + ] + ], + "locations": [ + [ + 1, + 69, + -11 + ], + [ + 0, + 69, + -11 + ], + [ + -1, + 69, + -11 + ], + [ + -2, + 69, + -10 + ], + [ + -1, + 69, + -10 + ], + [ + 0, + 69, + -11 + ], + [ + -3, + 69, + -10 + ], + [ + -6, + 69, + -10 + ], + [ + -7, + 69, + -9 + ], + [ + -5, + 69, + -11 + ], + [ + -3, + 69, + -11 + ], + [ + -2, + 69, + -10 + ], + [ + 0, + 69, + -9 + ], + [ + 3, + 69, + -10 + ], + [ + 4, + 69, + -10 + ], + [ + 1, + 69, + -10 + ], + [ + -2, + 69, + -9 + ], + [ + -3, + 69, + -9 + ], + [ + -5, + 69, + -9 + ], + [ + -7, + 69, + -9 + ], + [ + -7, + 69, + -10 + ], + [ + -5, + 69, + -12 + ], + [ + -3, + 69, + -12 + ], + [ + -3, + 69, + -11 + ], + [ + -2, + 69, + -10 + ], + [ + -1, + 69, + -10 + ], + [ + 0, + 69, + -11 + ] + ], + "interacts": [ + [ + -11, + 71, + -6 + ] + ], + "tnts": [ + [ + -4, + 69.5, + -11 + ], + [ + -8, + 69.5, + -10 + ], + [ + -8, + 69.5, + -10 + ] + ] + }, + { + "index": 51, + "etherwarps": [ + [ + 4, + 77, + 10 + ] + ], + "mines": [ + [ + 9, + 84.5, + -7 + ], + [ + 10, + 84.5, + -7 + ] + ], + "locations": [ + [ + -2, + 68, + 3 + ], + [ + -2, + 70, + 3 + ], + [ + -2, + 68, + 3 + ], + [ + -6, + 82, + 7 + ], + [ + -6, + 80, + 7 + ], + [ + -8, + 79, + 8 + ], + [ + -9, + 78, + 8 + ], + [ + -9, + 77, + 8 + ], + [ + -8, + 77, + 8 + ], + [ + -8, + 77, + 9 + ], + [ + 5, + 78, + 11 + ], + [ + 5, + 77, + 11 + ], + [ + 6, + 77, + 11 + ], + [ + 7, + 77, + 10 + ], + [ + 7, + 78, + 10 + ], + [ + 8, + 78, + 9 + ], + [ + 8, + 79, + 8 + ], + [ + 8, + 81, + 6 + ], + [ + 7, + 83, + 4 + ], + [ + 8, + 83, + 2 + ], + [ + 8, + 83, + -2 + ], + [ + 8, + 83, + -4 + ], + [ + 9, + 83, + -5 + ], + [ + 9, + 83, + -6 + ], + [ + 9, + 83, + -3 + ], + [ + 8, + 83, + 0 + ], + [ + 9, + 83, + 3 + ], + [ + 10, + 83, + 6 + ], + [ + 11, + 82, + 7 + ], + [ + 11, + 79, + 8 + ], + [ + 11, + 78, + 9 + ], + [ + 11, + 78, + 8 + ], + [ + 11, + 78, + 7 + ], + [ + 11, + 77, + 7 + ], + [ + 11, + 75, + 7 + ], + [ + 11, + 75, + 8 + ], + [ + 11, + 73, + 8 + ], + [ + 11, + 71, + 8 + ], + [ + 11, + 69, + 8 + ], + [ + 10, + 69, + 8 + ], + [ + 10, + 69, + 9 + ], + [ + 10, + 69, + 10 + ], + [ + 10, + 69, + 11 + ], + [ + 9, + 69, + 10 + ], + [ + 9, + 69, + 9 + ], + [ + 10, + 69, + 6 + ], + [ + 10, + 69, + 5 + ], + [ + 10, + 69, + 4 + ], + [ + 10, + 69, + 3 + ], + [ + 10, + 69, + 2 + ], + [ + 10, + 69, + 1 + ], + [ + 10, + 69, + 0 + ], + [ + 11, + 69, + -1 + ], + [ + 11, + 69, + -2 + ], + [ + 8, + 69, + -1 + ], + [ + 5, + 69, + -1 + ], + [ + 4, + 69, + 0 + ] + ], + "interacts": [ + [ + -9, + 77, + 9 + ], + [ + 11, + 84, + -7 + ], + [ + 11, + 85.8125, + -6.96875 + ], + [ + 12, + 69, + 9 + ], + [ + 6, + 69, + 9 + ], + [ + 9, + 70, + 13 + ] + ], + "tnts": [ + [ + 10, + 75.5, + 7 + ], + [ + 10, + 69.5, + -3 + ] + ] + }, + { + "index": 70, + "etherwarps": [ + [ + 24, + 58, + 9 + ] + ], + "mines": [ + [ + 0, + 69.5, + -9 + ], + [ + 0, + 66.5, + -10 + ], + [ + 0, + 65.5, + -10 + ] + ], + "locations": [ + [ + -3, + 70, + -11 + ], + [ + -2, + 70, + -11 + ], + [ + -1, + 70, + -10 + ], + [ + 1, + 70, + -10 + ], + [ + 1, + 69, + -10 + ], + [ + 1, + 68, + -10 + ], + [ + 1, + 67, + -10 + ], + [ + 1, + 67, + -11 + ], + [ + 1, + 66, + -11 + ], + [ + 1, + 65, + -11 + ], + [ + 1, + 62, + -11 + ], + [ + 1, + 59, + -11 + ], + [ + 0, + 58, + -11 + ], + [ + -3, + 58, + -11 + ], + [ + -8, + 58, + -11 + ], + [ + -12, + 58, + -11 + ], + [ + -16, + 58, + -11 + ], + [ + -21, + 58, + -10 + ], + [ + -23, + 58, + -7 + ], + [ + -22, + 58, + -4 + ], + [ + -23, + 58, + 1 + ], + [ + -23, + 59, + 5 + ], + [ + -24, + 61, + 7 + ], + [ + -25, + 62, + 11 + ], + [ + -26, + 62, + 12 + ], + [ + -27, + 61, + 12 + ], + [ + -27, + 60, + 12 + ], + [ + -27, + 59, + 12 + ], + [ + -27, + 58, + 12 + ], + [ + -27, + 57, + 12 + ], + [ + -28, + 56, + 12 + ], + [ + -28, + 56, + 9 + ], + [ + -28, + 56, + 7 + ], + [ + -26, + 55, + 7 + ], + [ + -24, + 53, + 7 + ], + [ + -23, + 50, + 7 + ], + [ + -12, + 50, + 9 + ], + [ + -11, + 49, + 9 + ], + [ + -10, + 49, + 9 + ], + [ + -7, + 49, + 9 + ], + [ + -5, + 49, + 9 + ], + [ + -4, + 49, + 10 + ], + [ + -3, + 49, + 9 + ], + [ + -1, + 49, + 9 + ], + [ + 0, + 49, + 10 + ], + [ + -1, + 49, + 10 + ], + [ + -2, + 49, + 10 + ], + [ + -3, + 49, + 10 + ], + [ + -3, + 49, + 11 + ], + [ + -3, + 49, + 10 + ], + [ + -2, + 49, + 9 + ], + [ + -1, + 49, + 9 + ], + [ + 1, + 49, + 8 + ], + [ + 2, + 49, + 8 + ], + [ + 3, + 49, + 9 + ], + [ + 4, + 49, + 10 + ], + [ + 5, + 49, + 11 + ], + [ + 5, + 49, + 12 + ], + [ + 5, + 50, + 12 + ], + [ + 5, + 51, + 12 + ], + [ + 5, + 50, + 12 + ], + [ + 4, + 49, + 11 + ], + [ + 5, + 49, + 11 + ], + [ + 5, + 49, + 10 + ], + [ + 5, + 49, + 9 + ], + [ + 6, + 49, + 9 + ], + [ + 7, + 49, + 9 + ], + [ + 8, + 49, + 10 + ], + [ + 8, + 49, + 9 + ], + [ + 9, + 49, + 8 + ], + [ + 10, + 49, + 8 + ], + [ + 14, + 49, + 8 + ], + [ + 16, + 49, + 8 + ], + [ + 20, + 49, + 8 + ], + [ + 24, + 49, + 8 + ], + [ + 25, + 49, + 8 + ], + [ + 26, + 49, + 8 + ], + [ + 25, + 58, + 8 + ], + [ + 21, + 58, + 9 + ], + [ + 18, + 58, + 10 + ], + [ + 15, + 61, + 10 + ], + [ + 14, + 62, + 11 + ], + [ + 11, + 65, + 11 + ], + [ + 9, + 67, + 11 + ], + [ + 7, + 69, + 10 + ], + [ + 5, + 69, + 10 + ], + [ + 4, + 69, + 10 + ] + ], + "interacts": [ + [ + 1, + 67, + -8 + ], + [ + -25, + 57, + 13 + ], + [ + -4.09375, + 49.71875, + 13.125 + ], + [ + 4, + 55, + 14 + ], + [ + 8, + 49, + 14 + ], + [ + 28, + 49, + 9 + ] + ], + "tnts": [ + [ + -12, + 50.5, + 10 + ] + ] + }, + { + "index": 4, + "etherwarps": [ + [ + -11, + 85, + 3 + ] + ], + "mines": [], + "locations": [ + [ + 0, + 71, + 1 + ], + [ + -1, + 71, + 2 + ], + [ + -3, + 71, + 1 + ], + [ + -11, + 85, + -2 + ], + [ + -12, + 83, + -2 + ], + [ + -12, + 81, + -3 + ], + [ + -12, + 81, + -5 + ], + [ + -11, + 81, + -6 + ], + [ + -11, + 81, + -7 + ], + [ + -10, + 81, + -7 + ], + [ + -10, + 81, + -8 + ], + [ + -10, + 81, + -7 + ], + [ + -11, + 81, + -7 + ], + [ + -11, + 81, + -6 + ], + [ + -12, + 81, + -4 + ], + [ + -12, + 81, + -3 + ], + [ + -12, + 81, + -2 + ], + [ + -12, + 85, + 6 + ], + [ + -12, + 84, + 8 + ], + [ + -11, + 83, + 9 + ], + [ + -8, + 83, + 10 + ], + [ + -7, + 83, + 10 + ], + [ + -7, + 89, + 10 + ], + [ + -7, + 88, + 10 + ], + [ + -7, + 85, + 10 + ], + [ + -7, + 83, + 10 + ], + [ + -6, + 83, + 10 + ], + [ + -2, + 83, + 9 + ], + [ + -1, + 82, + 8 + ], + [ + -1, + 81, + 6 + ], + [ + -3, + 81, + 2 + ], + [ + -2, + 81, + -1 + ], + [ + -1, + 79, + -2 + ], + [ + -1, + 76, + -3 + ], + [ + -1, + 72, + -4 + ], + [ + -1, + 71, + -4 + ], + [ + -1, + 71, + -3 + ], + [ + -2, + 71, + 0 + ], + [ + -2, + 71, + 1 + ], + [ + -3, + 71, + 0 + ], + [ + -5, + 71, + 0 + ], + [ + -5, + 71, + -1 + ], + [ + -5, + 71, + 0 + ], + [ + -5, + 71, + 1 + ], + [ + -5, + 71, + 2 + ], + [ + -5, + 71, + 0 + ] + ], + "interacts": [ + [ + -8, + 81, + -13 + ], + [ + -6.9375, + 92.21875, + 9.875 + ] + ], + "tnts": [] + }, + { + "index": 81, + "etherwarps": [ + [ + 35, + 73, + -12 + ], + [ + 43, + 80, + -6 + ], + [ + 26, + 82, + 1 + ] + ], + "mines": [ + [ + 16, + 69.5, + 10 + ] + ], + "locations": [ + [ + 16, + 69, + 8 + ], + [ + 19, + 69, + 9 + ], + [ + 23, + 69, + 9 + ], + [ + 27, + 69, + 8 + ], + [ + 30, + 69, + 5 + ], + [ + 32, + 69, + 3 + ], + [ + 32, + 69, + 2 + ], + [ + 31, + 69, + 0 + ], + [ + 31, + 69, + -1 + ], + [ + 30, + 69, + -2 + ], + [ + 36, + 73, + -11 + ], + [ + 36, + 74, + -11 + ], + [ + 36, + 73, + -11 + ], + [ + 37, + 73, + -10 + ], + [ + 39, + 73, + -9 + ], + [ + 41, + 73, + -6 + ], + [ + 42, + 72, + -6 + ], + [ + 42, + 70, + -5 + ], + [ + 42, + 69, + -5 + ], + [ + 44, + 69, + -6 + ], + [ + 45, + 69, + -7 + ], + [ + 45, + 69, + -8 + ], + [ + 44, + 81, + -5 + ], + [ + 44, + 80, + -5 + ], + [ + 42, + 80, + -4 + ], + [ + 41, + 81, + -2 + ], + [ + 40, + 81, + 0 + ], + [ + 37, + 81, + 2 + ], + [ + 35, + 81, + 2 + ], + [ + 34, + 81, + 2 + ], + [ + 27, + 82, + 2 + ], + [ + 26, + 82, + 2 + ], + [ + 25, + 81, + 2 + ], + [ + 25, + 81, + 0 + ], + [ + 23, + 81, + 0 + ], + [ + 23, + 82, + 0 + ], + [ + 23, + 89, + 0 + ], + [ + 23, + 88, + 0 + ], + [ + 22, + 88, + 0 + ], + [ + 23, + 87, + 0 + ], + [ + 23, + 81, + 0 + ], + [ + 23, + 82, + 0 + ], + [ + 24, + 81, + 0 + ], + [ + 25, + 81, + 0 + ], + [ + 25, + 81, + 2 + ], + [ + 26, + 81, + 5 + ], + [ + 26, + 81, + 6 + ], + [ + 27, + 82, + 6 + ], + [ + 28, + 82, + 6 + ], + [ + 29, + 80, + 7 + ], + [ + 29, + 79, + 7 + ], + [ + 29, + 74, + 8 + ], + [ + 29, + 70, + 8 + ], + [ + 28, + 69, + 10 + ], + [ + 25, + 69, + 10 + ], + [ + 18, + 70, + 10 + ], + [ + 16, + 69, + 10 + ], + [ + 13, + 69, + 8 + ], + [ + 9, + 69, + 8 + ], + [ + 4, + 69, + 8 + ], + [ + 0, + 69, + 6 + ], + [ + -4, + 69, + 6 + ], + [ + -13, + 69, + 6 + ], + [ + -14, + 69, + 7 + ], + [ + -19, + 69, + 9 + ], + [ + -21, + 69, + 7 + ], + [ + -20, + 69, + 2 + ], + [ + -20, + 69, + 1 + ], + [ + -17, + 69, + -2 + ], + [ + -15, + 69, + -4 + ], + [ + -12, + 69, + -4 + ], + [ + -15, + 69, + -4 + ], + [ + -19, + 69, + -4 + ], + [ + -22, + 69, + -4 + ], + [ + -23, + 69, + -3 + ], + [ + -23, + 69, + -2 + ], + [ + -21, + 69, + -2 + ], + [ + -15, + 93, + -1 + ], + [ + -15, + 92, + -1 + ], + [ + -15, + 93, + -1 + ], + [ + -15, + 91, + -1 + ], + [ + -15, + 89, + -1 + ], + [ + -14, + 88, + -1 + ], + [ + -14, + 89, + -1 + ], + [ + -14, + 88, + -1 + ], + [ + -16, + 88, + -1 + ], + [ + -18, + 86, + -1 + ], + [ + -18, + 84, + 0 + ], + [ + -19, + 82, + 0 + ], + [ + -19, + 81, + 0 + ], + [ + -19, + 79, + 0 + ], + [ + -19, + 75, + 0 + ], + [ + -19, + 71, + 0 + ], + [ + -19, + 69, + 0 + ], + [ + -20, + 69, + 0 + ], + [ + -23, + 69, + 1 + ], + [ + -25, + 69, + 1 + ] + ], + "interacts": [ + [ + 16, + 69, + 11 + ], + [ + 40.03125, + 69.125, + -7.34375 + ], + [ + 45, + 69, + -12 + ], + [ + 25.46875, + 81.40625, + 1.625 + ], + [ + 19.96875, + 87.8125, + -3.125 + ], + [ + 19, + 87, + -1 + ], + [ + 24.21875, + 81.5, + 0.28125 + ], + [ + -12, + 69, + -4 + ], + [ + -13, + 93, + -1.75 + ] + ], + "tnts": [] + }, + { + "index": 63, + "etherwarps": [], + "mines": [ + [ + -19, + 70.5, + 0 + ], + [ + -19, + 70.5, + -1 + ] + ], + "locations": [ + [ + -20, + 69, + -1 + ], + [ + -19, + 69, + -1 + ], + [ + -20, + 69, + -1 + ], + [ + -21, + 69, + -1 + ] + ], + "interacts": [ + [ + -17, + 69, + -2 + ] + ], + "tnts": [] + } +]
\ No newline at end of file diff --git a/features/dungeonRoutes/temproomdata.json b/features/dungeonRoutes/temproomdata.json index 580e84c..4f9661d 100644 --- a/features/dungeonRoutes/temproomdata.json +++ b/features/dungeonRoutes/temproomdata.json @@ -20,7 +20,8 @@ "item": 0, "chest": 0 }, - "soul": false + "soul": false, + "index": 0 }, { "name": "Mithril Cave", @@ -41,7 +42,8 @@ "soul": false, "id": [ "710,-592" - ] + ], + "index": 1 }, { "name": "Doors", @@ -62,7 +64,8 @@ "soul": false, "id": [ "642,-384" - ] + ], + "index": 2 }, { "name": "Locked Away", @@ -84,7 +87,8 @@ "soul": false, "id": [ "246,-132" - ] + ], + "index": 3 }, { "name": "Beams", @@ -106,7 +110,8 @@ "soul": false, "id": [ "750,-240" - ] + ], + "index": 4 }, { "name": "Hall", @@ -128,7 +133,8 @@ "soul": false, "id": [ "30,-204" - ] + ], + "index": 5 }, { "name": "Banners", @@ -150,7 +156,8 @@ "soul": false, "id": [ "30,-276" - ] + ], + "index": 6 }, { "name": "Andesite", @@ -172,7 +179,8 @@ "soul": false, "id": [ "30,-132" - ] + ], + "index": 7 }, { "name": "Painting", @@ -194,7 +202,8 @@ "soul": false, "id": [ "30,-96" - ] + ], + "index": 8 }, { "name": "Multicolored", @@ -216,7 +225,8 @@ "soul": false, "id": [ "66,-348" - ] + ], + "index": 9 }, { "name": "Black Flag", @@ -238,7 +248,8 @@ "soul": false, "id": [ "534,-312" - ] + ], + "index": 10 }, { "name": "Overgrown Chains", @@ -260,7 +271,8 @@ "soul": false, "id": [ "642,-168" - ] + ], + "index": 11 }, { "name": "Chains", @@ -282,7 +294,8 @@ "soul": false, "id": [ "498,-132" - ] + ], + "index": 12 }, { "name": "Golden Oasis", @@ -304,7 +317,8 @@ "soul": false, "id": [ "174,-312" - ] + ], + "index": 13 }, { "name": "Redstone Warrior", @@ -325,7 +339,8 @@ "soul": false, "id": [ "1118,-384" - ] + ], + "index": 14 }, { "name": "Silvers Sword", @@ -347,7 +362,8 @@ "soul": false, "id": [ "30,-168" - ] + ], + "index": 15 }, { "name": "Pedestal", @@ -368,7 +384,8 @@ "soul": false, "id": [ "30,-384" - ] + ], + "index": 16 }, { "name": "Temple", @@ -390,7 +407,8 @@ "soul": false, "id": [ "678,-240" - ] + ], + "index": 17 }, { "name": "Big Red Flag", @@ -412,7 +430,8 @@ "soul": false, "id": [ "102,-96" - ] + ], + "index": 18 }, { "name": "Mural", @@ -434,7 +453,8 @@ "soul": false, "id": [ "462,-132" - ] + ], + "index": 19 }, { "name": "Perch", @@ -456,7 +476,8 @@ "soul": false, "id": [ "462,-96" - ] + ], + "index": 20 }, { "name": "End", @@ -478,7 +499,8 @@ "soul": false, "id": [ "678,-168" - ] + ], + "index": 21 }, { "name": "Cage", @@ -500,7 +522,8 @@ "soul": false, "id": [ "498,-276" - ] + ], + "index": 22 }, { "name": "Sloth", @@ -522,7 +545,8 @@ "soul": false, "id": [ "66,-276" - ] + ], + "index": 23 }, { "name": "Steps", @@ -544,7 +568,8 @@ "soul": false, "id": [ "138,-204" - ] + ], + "index": 24 }, { "name": "Granite", @@ -566,7 +591,8 @@ "soul": false, "id": [ "66,-168" - ] + ], + "index": 25 }, { "name": "Crypt", @@ -587,7 +613,8 @@ "soul": true, "id": [ "438,-384" - ] + ], + "index": 26 }, { "name": "Dueces", @@ -609,7 +636,8 @@ "soul": false, "id": [ "138,-168" - ] + ], + "index": 27 }, { "name": "Red Green", @@ -631,7 +659,8 @@ "soul": false, "id": [ "570,-240" - ] + ], + "index": 28 }, { "name": "Long Hall", @@ -653,7 +682,8 @@ "soul": false, "id": [ "534,-96" - ] + ], + "index": 29 }, { "name": "Mirror", @@ -675,7 +705,8 @@ "soul": false, "id": [ "174,-168" - ] + ], + "index": 30 }, { "name": "Quad Lava", @@ -697,7 +728,8 @@ "soul": false, "id": [ "30,-348" - ] + ], + "index": 31 }, { "name": "Waterfall", @@ -719,7 +751,8 @@ "soul": false, "id": [ "210,-96" - ] + ], + "index": 32 }, { "name": "Basement", @@ -741,7 +774,8 @@ "soul": false, "id": [ "66,-96" - ] + ], + "index": 33 }, { "name": "Dip", @@ -763,7 +797,8 @@ "soul": false, "id": [ "498,-240" - ] + ], + "index": 34 }, { "name": "Water", @@ -785,7 +820,8 @@ "soul": false, "id": [ "498,-204" - ] + ], + "index": 35 }, { "name": "Dome", @@ -807,7 +843,8 @@ "soul": false, "id": [ "642,-240" - ] + ], + "index": 36 }, { "name": "Scaffolding", @@ -829,7 +866,8 @@ "soul": false, "id": [ "210,-132" - ] + ], + "index": 37 }, { "name": "Small Stairs", @@ -851,7 +889,8 @@ "soul": false, "id": [ "606,-168" - ] + ], + "index": 38 }, { "name": "Tomioka", @@ -873,7 +912,8 @@ "soul": true, "id": [ "138,-132" - ] + ], + "index": 39 }, { "name": "Mushroom", @@ -895,7 +935,8 @@ "soul": false, "id": [ "174,-132" - ] + ], + "index": 40 }, { "name": "Slabs", @@ -917,7 +958,8 @@ "soul": false, "id": [ "570,-168" - ] + ], + "index": 41 }, { "name": "Duncan", @@ -939,7 +981,8 @@ "soul": false, "id": [ "30,-240" - ] + ], + "index": 42 }, { "name": "Logs", @@ -961,7 +1004,8 @@ "soul": false, "id": [ "102,-312" - ] + ], + "index": 43 }, { "name": "Cages", @@ -983,7 +1027,8 @@ "soul": false, "id": [ "750,-168" - ] + ], + "index": 44 }, { "name": "Admin", @@ -1005,7 +1050,8 @@ "soul": true, "id": [ "102,-168" - ] + ], + "index": 45 }, { "name": "Skull", @@ -1026,7 +1072,8 @@ "soul": false, "id": [ "98,-384" - ] + ], + "index": 46 }, { "name": "Balcony", @@ -1047,7 +1094,8 @@ "soul": false, "id": [ "710,-384" - ] + ], + "index": 47 }, { "name": "Knight", @@ -1069,7 +1117,8 @@ "soul": false, "id": [ "66,-312" - ] + ], + "index": 48 }, { "name": "Sarcophagus", @@ -1091,7 +1140,8 @@ "soul": false, "id": [ "462,-204" - ] + ], + "index": 49 }, { "name": "Drop", @@ -1113,7 +1163,8 @@ "soul": false, "id": [ "462,-168" - ] + ], + "index": 50 }, { "name": "Raccoon", @@ -1135,7 +1186,8 @@ "soul": true, "id": [ "174,-96" - ] + ], + "index": 51 }, { "name": "Double Diamond", @@ -1157,7 +1209,8 @@ "soul": false, "id": [ "642,-96" - ] + ], + "index": 52 }, { "name": "Blue Skulls", @@ -1179,7 +1232,8 @@ "soul": false, "id": [ "102,-132" - ] + ], + "index": 53 }, { "name": "Leaves", @@ -1201,7 +1255,8 @@ "soul": true, "id": [ "66,-240" - ] + ], + "index": 54 }, { "name": "Withermancers", @@ -1222,7 +1277,8 @@ "soul": false, "id": [ "710,-524" - ] + ], + "index": 55 }, { "name": "Redstone Key", @@ -1244,7 +1300,8 @@ "soul": false, "id": [ "534,-168" - ] + ], + "index": 56 }, { "name": "Prison Cell", @@ -1266,7 +1323,8 @@ "soul": false, "id": [ "66,-132" - ] + ], + "index": 57 }, { "name": "Cell", @@ -1288,7 +1346,8 @@ "soul": false, "id": [ "66,-204" - ] + ], + "index": 58 }, { "name": "Arrow Trap", @@ -1310,7 +1369,8 @@ "soul": false, "id": [ "534,-204" - ] + ], + "index": 59 }, { "name": "Bridges", @@ -1331,7 +1391,8 @@ "soul": false, "id": [ "1050,-384" - ] + ], + "index": 60 }, { "name": "Cobble Wall Pillar", @@ -1353,7 +1414,8 @@ "soul": false, "id": [ "102,-348" - ] + ], + "index": 61 }, { "name": "Spikes", @@ -1375,7 +1437,8 @@ "soul": false, "id": [ "498,-168" - ] + ], + "index": 62 }, { "name": "Gold", @@ -1396,7 +1459,8 @@ "soul": false, "id": [ "166,-384" - ] + ], + "index": 63 }, { "name": "Chambers", @@ -1417,7 +1481,8 @@ "soul": false, "id": [ "506,-524" - ] + ], + "index": 64 }, { "name": "Lava Ravine", @@ -1438,7 +1503,8 @@ "soul": false, "id": [ "642,-524" - ] + ], + "index": 65 }, { "name": "Wizard", @@ -1459,7 +1525,8 @@ "soul": false, "id": [ "530,-420" - ] + ], + "index": 66 }, { "name": "Overgrown", @@ -1481,7 +1548,8 @@ "soul": false, "id": [ "714,-240" - ] + ], + "index": 67 }, { "name": "Jumping Skulls", @@ -1503,7 +1571,8 @@ "soul": false, "id": [ "102,-204" - ] + ], + "index": 68 }, { "name": "Lots of Floors", @@ -1525,7 +1594,8 @@ "soul": false, "id": [ "102,-240" - ] + ], + "index": 69 }, { "name": "Purple Flags", @@ -1546,7 +1616,8 @@ "soul": false, "id": [ "778,-384" - ] + ], + "index": 70 }, { "name": "Archway", @@ -1567,7 +1638,8 @@ "soul": false, "id": [ "574,-384" - ] + ], + "index": 71 }, { "name": "Mage", @@ -1588,7 +1660,8 @@ "soul": false, "id": [ "506,-384" - ] + ], + "index": 72 }, { "name": "Grass Ruin", @@ -1609,7 +1682,8 @@ "soul": false, "id": [ "1322,-384" - ] + ], + "index": 73 }, { "name": "Grand Library", @@ -1630,7 +1704,8 @@ "soul": false, "id": [ "1526,-384" - ] + ], + "index": 74 }, { "name": "Pit", @@ -1651,7 +1726,8 @@ "soul": false, "id": [ "690,-456" - ] + ], + "index": 75 }, { "name": "Atlas", @@ -1672,7 +1748,8 @@ "soul": false, "id": [ "778,-592" - ] + ], + "index": 76 }, { "name": "Layers", @@ -1693,7 +1770,8 @@ "soul": false, "id": [ "1050,-524" - ] + ], + "index": 77 }, { "name": "Cavern", @@ -1714,7 +1792,8 @@ "soul": false, "id": [ "822,-456" - ] + ], + "index": 78 }, { "name": "Pressure Plate", @@ -1735,7 +1814,8 @@ "soul": false, "id": [ "1186,-384" - ] + ], + "index": 79 }, { "name": "Super Tall", @@ -1756,7 +1836,8 @@ "soul": true, "id": [ "642,-592" - ] + ], + "index": 80 }, { "name": "Gravel", @@ -1777,7 +1858,8 @@ "soul": false, "id": [ "30,-420" - ] + ], + "index": 81 }, { "name": "Cathedral", @@ -1798,7 +1880,8 @@ "soul": false, "id": [ "506,-592" - ] + ], + "index": 82 }, { "name": "Red Blue", @@ -1819,7 +1902,8 @@ "soul": false, "id": [ "130,-420" - ] + ], + "index": 83 }, { "name": "Spider", @@ -1840,7 +1924,8 @@ "soul": false, "id": [ "234,-524" - ] + ], + "index": 84 }, { "name": "Deathmite", @@ -1861,7 +1946,8 @@ "soul": false, "id": [ "730,-420" - ] + ], + "index": 85 }, { "name": "Museum", @@ -1882,7 +1968,8 @@ "soul": false, "id": [ "846,-592" - ] + ], + "index": 86 }, { "name": "Market", @@ -1903,7 +1990,8 @@ "soul": false, "id": [ "574,-524" - ] + ], + "index": 87 }, { "name": "Melon", @@ -1924,7 +2012,8 @@ "soul": false, "id": [ "166,-524" - ] + ], + "index": 88 }, { "name": "Mossy", @@ -1945,7 +2034,8 @@ "soul": true, "id": [ "30,-456" - ] + ], + "index": 89 }, { "name": "Flags", @@ -1966,7 +2056,8 @@ "soul": false, "id": [ "574,-592" - ] + ], + "index": 90 }, { "name": "Well", @@ -1987,7 +2078,8 @@ "soul": false, "id": [ "438,-524" - ] + ], + "index": 91 }, { "id": [ @@ -2008,7 +2100,8 @@ "item": 0, "chest": 3 }, - "soul": false + "soul": false, + "index": 92 }, { "id": [ @@ -2029,7 +2122,8 @@ "item": 0, "chest": 3 }, - "soul": true + "soul": true, + "index": 93 }, { "name": "Catwalk", @@ -2050,7 +2144,8 @@ "soul": false, "id": [ "630,-420" - ] + ], + "index": 94 }, { "name": "Dino Dig Site", @@ -2071,7 +2166,8 @@ "soul": false, "id": [ "778,-524" - ] + ], + "index": 95 }, { "name": "Stairs", @@ -2092,7 +2188,8 @@ "soul": true, "id": [ "234,-592" - ] + ], + "index": 96 }, { "id": [ @@ -2113,7 +2210,8 @@ "item": 2, "chest": 4 }, - "soul": false + "soul": false, + "index": 97 }, { "name": "Buttons", @@ -2134,7 +2232,8 @@ "soul": false, "id": [ "438,-592" - ] + ], + "index": 98 }, { "name": "Rail Track", @@ -2155,7 +2254,8 @@ "soul": false, "id": [ "166,-592" - ] + ], + "index": 99 }, { "name": "Sanctuary", @@ -2177,7 +2277,8 @@ "soul": false, "id": [ "354,-60" - ] + ], + "index": 100 }, { "name": "Pillars", @@ -2199,7 +2300,8 @@ "soul": false, "id": [ "282,-60" - ] + ], + "index": 101 }, { "name": "Sand Dragon", @@ -2221,7 +2323,8 @@ "soul": false, "id": [ "102,-60" - ] + ], + "index": 102 }, { "name": "Tombstone", @@ -2243,7 +2346,8 @@ "soul": false, "id": [ "66,-60" - ] + ], + "index": 103 }, { "id": [ @@ -2265,7 +2369,8 @@ "item": 0, "chest": 0 }, - "soul": true + "soul": true, + "index": 104 }, { "id": [ @@ -2287,7 +2392,8 @@ "item": 1, "chest": 2 }, - "soul": false + "soul": false, + "index": 105 }, { "name": "Lava Skull", @@ -2309,7 +2415,8 @@ "soul": false, "id": [ "174,-60" - ] + ], + "index": 106 }, { "name": "Mini Rail Track", @@ -2331,7 +2438,8 @@ "soul": false, "id": [ "210,-60" - ] + ], + "index": 107 }, { "name": "Carpets", @@ -2353,7 +2461,8 @@ "soul": false, "id": [ "570,-312" - ] + ], + "index": 108 }, { "name": "Trinity", @@ -2375,7 +2484,8 @@ "soul": false, "id": [ "246,-60" - ] + ], + "index": 109 }, { "name": "Hanging Vines", @@ -2397,7 +2507,8 @@ "soul": false, "id": [ "138,-60" - ] + ], + "index": 110 }, { "name": "Miniboss", @@ -2413,7 +2524,8 @@ "174,66", "246,102", "210,66" - ] + ], + "index": 111 }, { "name": "King Midas", @@ -2427,7 +2539,8 @@ "soul": false, "id": [ "210,102" - ] + ], + "index": 112 }, { "name": "Shadow Assassin", @@ -2441,7 +2554,8 @@ "soul": false, "id": [ "318,66" - ] + ], + "index": 113 }, { "name": "Three Weirdos", @@ -2455,7 +2569,8 @@ "soul": false, "id": [ "-60,-96" - ] + ], + "index": 114 }, { "name": "Water Board", @@ -2469,7 +2584,8 @@ "soul": false, "id": [ "-60,-60" - ] + ], + "index": 115 }, { "name": "Ice Fill", @@ -2483,7 +2599,8 @@ "soul": false, "id": [ "-132,-492" - ] + ], + "index": 116 }, { "name": "Creeper Beams", @@ -2497,7 +2614,8 @@ "soul": false, "id": [ "-60,-528" - ] + ], + "index": 117 }, { "name": "Teleport Maze", @@ -2511,7 +2629,8 @@ "soul": false, "id": [ "-60,-456" - ] + ], + "index": 118 }, { "name": "Higher or Lower", @@ -2533,7 +2652,8 @@ "id": [ "-60,-204", "-96,-204" - ] + ], + "index": 119 }, { "name": "Quiz", @@ -2547,7 +2667,8 @@ "soul": false, "id": [ "-60,-600" - ] + ], + "index": 120 }, { "id": [ @@ -2568,7 +2689,8 @@ "item": 0, "chest": 1 }, - "soul": false + "soul": false, + "index": 121 }, { "name": "Bomb Defuse", @@ -2582,7 +2704,8 @@ "soul": false, "id": [ "-60,-636" - ] + ], + "index": 122 }, { "name": "Boulder", @@ -2596,7 +2719,8 @@ "soul": false, "id": [ "-60,-564" - ] + ], + "index": 123 }, { "name": "Ice Path", @@ -2610,7 +2734,8 @@ "soul": false, "id": [ "-60,-276" - ] + ], + "index": 124 }, { "name": "New Trap", @@ -2632,7 +2757,8 @@ "id": [ "-384,30", "-348,30" - ] + ], + "index": 125 }, { "name": "Old Trap", @@ -2653,7 +2779,8 @@ "soul": false, "id": [ "-312,30" - ] + ], + "index": 126 }, { "name": "Blood", @@ -2669,7 +2796,8 @@ "354,66", "138,30", "138,66" - ] + ], + "index": 127 }, { "name": "Fairy", @@ -2683,6 +2811,7 @@ "soul": false, "id": [ "462,-312" - ] + ], + "index": 128 } ]
\ No newline at end of file diff --git a/features/soopyGui/index.js b/features/soopyGui/index.js index 1d4bc45..9579194 100644 --- a/features/soopyGui/index.js +++ b/features/soopyGui/index.js @@ -36,6 +36,8 @@ class SoopyGui extends Feature { this.registerCommand("soopyv2", this.openCommand) this.registerCommand("soopy", this.openCommand) + this.registerCommand("snoopyv2", this.openCommand) + this.registerCommand("snoopy", this.openCommand) this.mainWindowElement = new SoopyBoxElement().setLocation(0.25, 0.2, 0.5, 0.6) diff --git a/features/waypoints/index.js b/features/waypoints/index.js index f9eb039..8d20a64 100644 --- a/features/waypoints/index.js +++ b/features/waypoints/index.js @@ -44,6 +44,12 @@ class Waypoints extends Feature { this.userWaypointsArr = Object.values(this.userWaypoints) this.updateWaypointsHashes() this.waypointsChanged = false + this.lastTp = 0 + this.registerEvent("messageSent", (m) => { + if (m.toLowerCase().startsWith("/warp")) { + this.lastTp = Date.now() + } + }) this.patcherWaypoints = [] @@ -176,7 +182,7 @@ class Waypoints extends Feature { minewaypoints_socket.setServer(server, World.getWorld().func_82737_E()) - if (Date.now() - this.lastSend > 1000) { + if (Date.now() - this.lastSend > 1000 && Date.now() - this.lastTp > 5000) { Scoreboard.getLines().forEach(line => { line = ChatLib.removeFormatting(line.getName()).replace(/[^0-9A-z]/g, "") if (Object.keys(areas).includes(line)) { diff --git a/utils/renderUtils.js b/utils/renderUtils.js index 51e54b1..321e821 100644 --- a/utils/renderUtils.js +++ b/utils/renderUtils.js @@ -214,6 +214,50 @@ let ret = { GL11.glDepthMask(true); GL11.glDisable(GL11.GL_BLEND); }, + drawBoxAtBlock2: function (x, y, z, colorR, colorG, colorB, w = 1, h = 1, a = 1) { + + GL11.glBlendFunc(770, 771); + GL11.glEnable(GL11.GL_BLEND); + GL11.glLineWidth(3); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(false); + GlStateManager[m.pushMatrix]() + + + Tessellator.begin(GL11.GL_LINE_STRIP).colorize(colorR, colorG, colorB, a); + + x -= w / 2 + z -= w / 2 + + Tessellator.pos(x + w, y + h, z + w); + Tessellator.pos(x + w, y + h, z); + Tessellator.pos(x, y + h, z); + Tessellator.pos(x, y + h, z + w); + Tessellator.pos(x + w, y + h, z + w); + Tessellator.pos(x + w, y, z + w); + Tessellator.pos(x + w, y, z); + Tessellator.pos(x, y, z); + Tessellator.pos(x, y, z + w); + Tessellator.pos(x, y, z); + Tessellator.pos(x, y + h, z); + Tessellator.pos(x, y, z); + Tessellator.pos(x + w, y, z); + Tessellator.pos(x + w, y + h, z); + Tessellator.pos(x + w, y, z); + Tessellator.pos(x + w, y, z + w); + Tessellator.pos(x, y, z + w); + Tessellator.pos(x, y + h, z + w); + Tessellator.pos(x + w, y + h, z + w); + + Tessellator.draw(); + + GlStateManager[m.popMatrix]() + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_BLEND); + }, drawBoxAtEntity: function (entity, colorR, colorG, colorB, width, height, partialTicks, lineWidth = 2, phase = false) { let x = entity.getX() + ((entity.getX() - entity.getLastX()) * partialTicks) let y = entity.getY() + ((entity.getY() - entity.getLastY()) * partialTicks) |