aboutsummaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
Diffstat (limited to 'features')
-rw-r--r--features/dungeonRoutes/index.js36
-rw-r--r--features/dungeonRoutes/temproomdata.json2688
-rw-r--r--features/dungeonSolvers/f7data.json263
-rw-r--r--features/dungeonSolvers/index.js185
-rw-r--r--features/nether/index.js7
5 files changed, 3114 insertions, 65 deletions
diff --git a/features/dungeonRoutes/index.js b/features/dungeonRoutes/index.js
index 7282822..6439f49 100644
--- a/features/dungeonRoutes/index.js
+++ b/features/dungeonRoutes/index.js
@@ -28,6 +28,16 @@ class DungeonRoutes extends Feature {
this.registerEvent("worldLoad", this.worldLoad)
this.registerStep(true, 5, () => {
+ let roomId = this.getCurrentRoomId()
+ if (this.lastRoomId !== roomId) {
+ this.lastRoomId = roomId
+ this.actionId = 0
+ this.recentEtherwarps = []
+ this.recentMines = []
+ this.recentLocations = []
+ this.recentTnts = []
+ }
+
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]
@@ -50,14 +60,34 @@ class DungeonRoutes extends Feature {
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.idMap = new Map()
+ this.fullRoomData = JSON.parse(FileLib.read("SoopyV2", "features/dungeonRoutes/temproomdata.json"))
+ this.fullRoomData.forEach((d, i) => {
+ d.id.forEach(id => {
+ this.idMap.set(id, i)
+ })
+ })
let roomData = {}
+ this.lastRoomId = undefined
- this.registerCommand("roomname", (...name) => {
- name = name.join(" ")
-
+ this.registerCommand("roomid", (...name) => {
+ ChatLib.chat(JSON.stringify(this.getCurrentRoomData(), undefined, 2))
})
}
+ getCurrentRoomData() {
+ let roomId = this.idMap.get(this.getCurrentRoomId())
+ if (roomId === undefined) return null
+
+ return this.fullRoomData[roomId]
+ }
+
+ getCurrentRoomId() {
+ let id = Scoreboard.getLineByIndex(Scoreboard.getLines().length - 1).getName().trim().split(" ").pop()
+
+ return id
+ }
+
worldLoad() {
this.recentEtherwarps = []
this.recentMines = []
diff --git a/features/dungeonRoutes/temproomdata.json b/features/dungeonRoutes/temproomdata.json
new file mode 100644
index 0000000..580e84c
--- /dev/null
+++ b/features/dungeonRoutes/temproomdata.json
@@ -0,0 +1,2688 @@
+[
+ {
+ "id": [
+ "282,66",
+ "102,66"
+ ],
+ "name": "Spawn",
+ "type": "spawn",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": false
+ },
+ {
+ "name": "Mithril Cave",
+ "type": "mobs",
+ "shape": "2x2",
+ "secrets": 10,
+ "crypts": 11,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 3,
+ "chest": 7
+ },
+ "soul": false,
+ "id": [
+ "710,-592"
+ ]
+ },
+ {
+ "name": "Doors",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 5,
+ "crypts": 7,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "642,-384"
+ ]
+ },
+ {
+ "name": "Locked Away",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "246,-132"
+ ]
+ },
+ {
+ "name": "Beams",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 2,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "750,-240"
+ ]
+ },
+ {
+ "name": "Hall",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": " ",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "30,-204"
+ ]
+ },
+ {
+ "name": "Banners",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "30,-276"
+ ]
+ },
+ {
+ "name": "Andesite",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "30,-132"
+ ]
+ },
+ {
+ "name": "Painting",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "30,-96"
+ ]
+ },
+ {
+ "name": "Multicolored",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "66,-348"
+ ]
+ },
+ {
+ "name": "Black Flag",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 3,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "534,-312"
+ ]
+ },
+ {
+ "name": "Overgrown Chains",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "642,-168"
+ ]
+ },
+ {
+ "name": "Chains",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "498,-132"
+ ]
+ },
+ {
+ "name": "Golden Oasis",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 1,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "174,-312"
+ ]
+ },
+ {
+ "name": "Redstone Warrior",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 3,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "1118,-384"
+ ]
+ },
+ {
+ "name": "Silvers Sword",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "30,-168"
+ ]
+ },
+ {
+ "name": "Pedestal",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 5,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": true,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "30,-384"
+ ]
+ },
+ {
+ "name": "Temple",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 3,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "678,-240"
+ ]
+ },
+ {
+ "name": "Big Red Flag",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 2,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "102,-96"
+ ]
+ },
+ {
+ "name": "Mural",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "crypts": 0,
+ "secrets": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "462,-132"
+ ]
+ },
+ {
+ "name": "Perch",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "462,-96"
+ ]
+ },
+ {
+ "name": "End",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "678,-168"
+ ]
+ },
+ {
+ "name": "Cage",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "498,-276"
+ ]
+ },
+ {
+ "name": "Sloth",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 1,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "66,-276"
+ ]
+ },
+ {
+ "name": "Steps",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "138,-204"
+ ]
+ },
+ {
+ "name": "Granite",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "66,-168"
+ ]
+ },
+ {
+ "name": "Crypt",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 5,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 4
+ },
+ "soul": true,
+ "id": [
+ "438,-384"
+ ]
+ },
+ {
+ "name": "Dueces",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 3,
+ "crypts": 6,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "138,-168"
+ ]
+ },
+ {
+ "name": "Red Green",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 3,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 2,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "570,-240"
+ ]
+ },
+ {
+ "name": "Long Hall",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 3,
+ "crypts": 3,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "534,-96"
+ ]
+ },
+ {
+ "name": "Mirror",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": true,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "174,-168"
+ ]
+ },
+ {
+ "name": "Quad Lava",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "30,-348"
+ ]
+ },
+ {
+ "name": "Waterfall",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 5,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "210,-96"
+ ]
+ },
+ {
+ "name": "Basement",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "66,-96"
+ ]
+ },
+ {
+ "name": "Dip",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 2,
+ "crypts": 3,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "498,-240"
+ ]
+ },
+ {
+ "name": "Water",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "498,-204"
+ ]
+ },
+ {
+ "name": "Dome",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 2,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "642,-240"
+ ]
+ },
+ {
+ "name": "Scaffolding",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "210,-132"
+ ]
+ },
+ {
+ "name": "Small Stairs",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "606,-168"
+ ]
+ },
+ {
+ "name": "Tomioka",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": true,
+ "id": [
+ "138,-132"
+ ]
+ },
+ {
+ "name": "Mushroom",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": "100k per",
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "174,-132"
+ ]
+ },
+ {
+ "name": "Slabs",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "570,-168"
+ ]
+ },
+ {
+ "name": "Duncan",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "30,-240"
+ ]
+ },
+ {
+ "name": "Logs",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 4,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "102,-312"
+ ]
+ },
+ {
+ "name": "Cages",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "750,-168"
+ ]
+ },
+ {
+ "name": "Admin",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 0,
+ "crypts": 34,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": true,
+ "id": [
+ "102,-168"
+ ]
+ },
+ {
+ "name": "Skull",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "98,-384"
+ ]
+ },
+ {
+ "name": "Balcony",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 4,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "710,-384"
+ ]
+ },
+ {
+ "name": "Knight",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 3,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "66,-312"
+ ]
+ },
+ {
+ "name": "Sarcophagus",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 3,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "462,-204"
+ ]
+ },
+ {
+ "name": "Drop",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 2,
+ "crypts": 6,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "462,-168"
+ ]
+ },
+ {
+ "name": "Raccoon",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 4,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 4
+ },
+ "soul": true,
+ "id": [
+ "174,-96"
+ ]
+ },
+ {
+ "name": "Double Diamond",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 3,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "642,-96"
+ ]
+ },
+ {
+ "name": "Blue Skulls",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 1,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "102,-132"
+ ]
+ },
+ {
+ "name": "Leaves",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": true,
+ "id": [
+ "66,-240"
+ ]
+ },
+ {
+ "name": "Withermancers",
+ "type": "mobs",
+ "shape": "L",
+ "secrets": 4,
+ "crypts": 6,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "710,-524"
+ ]
+ },
+ {
+ "name": "Redstone Key",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 3,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "534,-168"
+ ]
+ },
+ {
+ "name": "Prison Cell",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "L",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "66,-132"
+ ]
+ },
+ {
+ "name": "Cell",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 2,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "66,-204"
+ ]
+ },
+ {
+ "name": "Arrow Trap",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "534,-204"
+ ]
+ },
+ {
+ "name": "Bridges",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 6,
+ "crypts": 6,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 2,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "1050,-384"
+ ]
+ },
+ {
+ "name": "Cobble Wall Pillar",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "X",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "102,-348"
+ ]
+ },
+ {
+ "name": "Spikes",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 3,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "498,-168"
+ ]
+ },
+ {
+ "name": "Gold",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 3,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": false,
+ "id": [
+ "166,-384"
+ ]
+ },
+ {
+ "name": "Chambers",
+ "type": "mobs",
+ "shape": "L",
+ "secrets": 5,
+ "crypts": 6,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "506,-524"
+ ]
+ },
+ {
+ "name": "Lava Ravine",
+ "type": "mobs",
+ "shape": "L",
+ "secrets": 6,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "642,-524"
+ ]
+ },
+ {
+ "name": "Wizard",
+ "type": "mobs",
+ "shape": "1x3",
+ "secrets": 4,
+ "crypts": 8,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "530,-420"
+ ]
+ },
+ {
+ "name": "Overgrown",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 3,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "714,-240"
+ ]
+ },
+ {
+ "name": "Jumping Skulls",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "I",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "102,-204"
+ ]
+ },
+ {
+ "name": "Lots of Floors",
+ "type": "mobs",
+ "shape": "1x1",
+ "doors": "T",
+ "secrets": 3,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "102,-240"
+ ]
+ },
+ {
+ "name": "Purple Flags",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 5,
+ "crypts": 7,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "778,-384"
+ ]
+ },
+ {
+ "name": "Archway",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 3,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 2,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "574,-384"
+ ]
+ },
+ {
+ "name": "Mage",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 4,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "506,-384"
+ ]
+ },
+ {
+ "name": "Grass Ruin",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 3,
+ "crypts": 4,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "1322,-384"
+ ]
+ },
+ {
+ "name": "Grand Library",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 4,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "1526,-384"
+ ]
+ },
+ {
+ "name": "Pit",
+ "type": "mobs",
+ "shape": "1x4",
+ "secrets": 5,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "690,-456"
+ ]
+ },
+ {
+ "name": "Atlas",
+ "type": "mobs",
+ "shape": "2x2",
+ "secrets": 6,
+ "crypts": 5,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "778,-592"
+ ]
+ },
+ {
+ "name": "Layers",
+ "type": "mobs",
+ "shape": "L",
+ "secrets": 8,
+ "crypts": 3,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 4,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "1050,-524"
+ ]
+ },
+ {
+ "name": "Cavern",
+ "type": "mobs",
+ "shape": "1x4",
+ "secrets": 8,
+ "crypts": 3,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 2,
+ "item": 1,
+ "chest": 5
+ },
+ "soul": false,
+ "id": [
+ "822,-456"
+ ]
+ },
+ {
+ "name": "Pressure Plate",
+ "type": "mobs",
+ "shape": "1x2",
+ "secrets": 6,
+ "crypts": 6,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 2,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "1186,-384"
+ ]
+ },
+ {
+ "name": "Super Tall",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 6,
+ "crypts": 6,
+ "revive_stones": 2,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 2,
+ "item": 1,
+ "chest": 3
+ },
+ "soul": true,
+ "id": [
+ "642,-592"
+ ]
+ },
+ {
+ "name": "Gravel",
+ "type": "miniboss",
+ "shape": "1x3",
+ "secrets": 6,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 2,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 2,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "30,-420"
+ ]
+ },
+ {
+ "name": "Cathedral",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 8,
+ "crypts": 5,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 2,
+ "item": 3,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "506,-592"
+ ]
+ },
+ {
+ "name": "Red Blue",
+ "type": "miniboss",
+ "shape": "1x3",
+ "secrets": 4,
+ "crypts": 1,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "130,-420"
+ ]
+ },
+ {
+ "name": "Spider",
+ "type": "miniboss",
+ "shape": "L",
+ "secrets": 9,
+ "crypts": 3,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 2,
+ "chest": 6
+ },
+ "soul": false,
+ "id": [
+ "234,-524"
+ ]
+ },
+ {
+ "name": "Deathmite",
+ "type": "miniboss",
+ "shape": "1x3",
+ "secrets": 6,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "730,-420"
+ ]
+ },
+ {
+ "name": "Museum",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 5,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "846,-592"
+ ]
+ },
+ {
+ "name": "Market",
+ "type": "miniboss",
+ "shape": "L",
+ "secrets": 5,
+ "crypts": 4,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": true,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "574,-524"
+ ]
+ },
+ {
+ "name": "Melon",
+ "type": "miniboss",
+ "shape": "L",
+ "secrets": 7,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": true,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 6
+ },
+ "soul": false,
+ "id": [
+ "166,-524"
+ ]
+ },
+ {
+ "name": "Mossy",
+ "type": "miniboss",
+ "shape": "1x4",
+ "secrets": 4,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": true,
+ "id": [
+ "30,-456"
+ ]
+ },
+ {
+ "name": "Flags",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 7,
+ "crypts": 8,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": true,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 5
+ },
+ "soul": false,
+ "id": [
+ "574,-592"
+ ]
+ },
+ {
+ "name": "Well",
+ "type": "miniboss",
+ "shape": "L",
+ "secrets": 7,
+ "crypts": 5,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": true,
+ "secret_details": {
+ "wither": 2,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 2,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "438,-524"
+ ]
+ },
+ {
+ "id": [
+ "162,-456"
+ ],
+ "name": "Hallway",
+ "type": "miniboss",
+ "shape": "1x4",
+ "secrets": 3,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": false
+ },
+ {
+ "id": [
+ "230,-420"
+ ],
+ "name": "Diagonal",
+ "type": "miniboss",
+ "shape": "1x3",
+ "secrets": 4,
+ "crypts": 3,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": true
+ },
+ {
+ "name": "Catwalk",
+ "type": "miniboss",
+ "shape": "1x3",
+ "secrets": 6,
+ "crypts": 5,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "630,-420"
+ ]
+ },
+ {
+ "name": "Dino Dig Site",
+ "type": "miniboss",
+ "shape": "L",
+ "secrets": 4,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "778,-524"
+ ]
+ },
+ {
+ "name": "Stairs",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 4,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 3
+ },
+ "soul": true,
+ "id": [
+ "234,-592"
+ ]
+ },
+ {
+ "id": [
+ "558,-456"
+ ],
+ "name": "Quartz Knight",
+ "type": "miniboss",
+ "shape": "1x4",
+ "secrets": 7,
+ "crypts": 9,
+ "revive_stones": 1,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 2,
+ "chest": 4
+ },
+ "soul": false
+ },
+ {
+ "name": "Buttons",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 5,
+ "crypts": 21,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 5
+ },
+ "soul": false,
+ "id": [
+ "438,-592"
+ ]
+ },
+ {
+ "name": "Rail Track",
+ "type": "miniboss",
+ "shape": "2x2",
+ "secrets": 9,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 3,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 4
+ },
+ "soul": false,
+ "id": [
+ "166,-592"
+ ]
+ },
+ {
+ "name": "Sanctuary",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 10,
+ "revive_stones": 0,
+ "journals": 999,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "354,-60"
+ ]
+ },
+ {
+ "name": "Pillars",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "282,-60"
+ ]
+ },
+ {
+ "name": "Sand Dragon",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "102,-60"
+ ]
+ },
+ {
+ "name": "Tombstone",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 2,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 1,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "66,-60"
+ ]
+ },
+ {
+ "id": [
+ "30,-60"
+ ],
+ "name": "Stone Window",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 2,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 2,
+ "item": 0,
+ "chest": 0
+ },
+ "soul": true
+ },
+ {
+ "id": [
+ "318,-60"
+ ],
+ "name": "Lava Pool",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 3,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 1,
+ "chest": 2
+ },
+ "soul": false
+ },
+ {
+ "name": "Lava Skull",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 3,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 2,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "174,-60"
+ ]
+ },
+ {
+ "name": "Mini Rail Track",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 3,
+ "crypts": 3,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 2,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "210,-60"
+ ]
+ },
+ {
+ "name": "Carpets",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 4,
+ "revive_stones": 0,
+ "journals": 0,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "570,-312"
+ ]
+ },
+ {
+ "name": "Trinity",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 4,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 2,
+ "item": 1,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "246,-60"
+ ]
+ },
+ {
+ "name": "Hanging Vines",
+ "type": "rare",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 1,
+ "spiders": false,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "138,-60"
+ ]
+ },
+ {
+ "name": "Miniboss",
+ "type": "gold",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "174,66",
+ "246,102",
+ "210,66"
+ ]
+ },
+ {
+ "name": "King Midas",
+ "type": "gold",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "210,102"
+ ]
+ },
+ {
+ "name": "Shadow Assassin",
+ "type": "gold",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "318,66"
+ ]
+ },
+ {
+ "name": "Three Weirdos",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-96"
+ ]
+ },
+ {
+ "name": "Water Board",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-60"
+ ]
+ },
+ {
+ "name": "Ice Fill",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-132,-492"
+ ]
+ },
+ {
+ "name": "Creeper Beams",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-528"
+ ]
+ },
+ {
+ "name": "Teleport Maze",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-456"
+ ]
+ },
+ {
+ "name": "Higher or Lower",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false,
+ "id": [
+ "-60,-204",
+ "-96,-204"
+ ]
+ },
+ {
+ "name": "Quiz",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-600"
+ ]
+ },
+ {
+ "id": [
+ "-96,-168"
+ ],
+ "name": "Tic Tac Toe",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 1,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 0,
+ "item": 0,
+ "chest": 1
+ },
+ "soul": false
+ },
+ {
+ "name": "Bomb Defuse",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-636"
+ ]
+ },
+ {
+ "name": "Boulder",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-564"
+ ]
+ },
+ {
+ "name": "Ice Path",
+ "type": "puzzle",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "-60,-276"
+ ]
+ },
+ {
+ "name": "New Trap",
+ "type": "trap",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 3,
+ "crypts": 1,
+ "revive_stones": 0,
+ "journals": 0,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 2
+ },
+ "soul": false,
+ "id": [
+ "-384,30",
+ "-348,30"
+ ]
+ },
+ {
+ "name": "Old Trap",
+ "type": "trap",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 4,
+ "crypts": 2,
+ "revive_stones": 0,
+ "journals": 0,
+ "secret_details": {
+ "wither": 0,
+ "redstone_key": 0,
+ "bat": 1,
+ "item": 0,
+ "chest": 3
+ },
+ "soul": false,
+ "id": [
+ "-312,30"
+ ]
+ },
+ {
+ "name": "Blood",
+ "type": "blood",
+ "shape": "1x1",
+ "doors": "D",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 0,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "354,66",
+ "138,30",
+ "138,66"
+ ]
+ },
+ {
+ "name": "Fairy",
+ "type": "fairy",
+ "shape": "1x1",
+ "doors": "V",
+ "secrets": 0,
+ "crypts": 0,
+ "revive_stones": 4,
+ "journals": 0,
+ "soul": false,
+ "id": [
+ "462,-312"
+ ]
+ }
+] \ No newline at end of file
diff --git a/features/dungeonSolvers/f7data.json b/features/dungeonSolvers/f7data.json
new file mode 100644
index 0000000..8d84bcc
--- /dev/null
+++ b/features/dungeonSolvers/f7data.json
@@ -0,0 +1,263 @@
+[
+ {
+ "type": "device",
+ "location": [
+ 110,
+ 118,
+ 91
+ ],
+ "phase": 0
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 110,
+ 112,
+ 73
+ ],
+ "phase": 0
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 110,
+ 118,
+ 79
+ ],
+ "phase": 0
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 90,
+ 111,
+ 92
+ ],
+ "phase": 0
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 90,
+ 121,
+ 101
+ ],
+ "phase": 0
+ },
+ {
+ "type": "lever",
+ "location": [
+ 106,
+ 124,
+ 113
+ ],
+ "phase": 0
+ },
+ {
+ "type": "lever",
+ "location": [
+ 94,
+ 124,
+ 113
+ ],
+ "phase": 0
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 68,
+ 108,
+ 122
+ ],
+ "phase": 1
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 59,
+ 119,
+ 123
+ ],
+ "phase": 1
+ },
+ {
+ "type": "device",
+ "location": [
+ 60,
+ 131,
+ 142
+ ],
+ "phase": 1
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 47,
+ 108,
+ 122
+ ],
+ "phase": 1
+ },
+ {
+ "type": "lever",
+ "location": [
+ 27,
+ 124,
+ 127
+ ],
+ "phase": 1
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 40,
+ 123,
+ 123
+ ],
+ "phase": 1
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 39,
+ 107,
+ 142
+ ],
+ "phase": 1
+ },
+ {
+ "type": "lever",
+ "location": [
+ 23,
+ 132,
+ 138
+ ],
+ "phase": 1
+ },
+ {
+ "type": "terminal",
+ "location": [
+ -1,
+ 108,
+ 112
+ ],
+ "phase": 2
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 18,
+ 122,
+ 93
+ ],
+ "phase": 2
+ },
+ {
+ "type": "terminal",
+ "location": [
+ -1,
+ 118,
+ 93
+ ],
+ "phase": 2
+ },
+ {
+ "type": "terminal",
+ "location": [
+ -1,
+ 108,
+ 77
+ ],
+ "phase": 2
+ },
+ {
+ "type": "device",
+ "location": [
+ -1,
+ 119,
+ 74
+ ],
+ "phase": 2
+ },
+ {
+ "type": "lever",
+ "location": [
+ 14,
+ 122,
+ 55
+ ],
+ "phase": 2
+ },
+ {
+ "type": "lever",
+ "location": [
+ 2,
+ 122,
+ 55
+ ],
+ "phase": 2
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 44,
+ 120,
+ 30
+ ],
+ "phase": 3
+ },
+ {
+ "type": "device",
+ "location": [
+ 63,
+ 126,
+ 34
+ ],
+ "phase": 3
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 72,
+ 114,
+ 47
+ ],
+ "phase": 3
+ },
+ {
+ "type": "lever",
+ "location": [
+ 86,
+ 128,
+ 46
+ ],
+ "phase": 3
+ },
+ {
+ "type": "lever",
+ "location": [
+ 84,
+ 121,
+ 34
+ ],
+ "phase": 3
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 41,
+ 108,
+ 30
+ ],
+ "phase": 3
+ },
+ {
+ "type": "terminal",
+ "location": [
+ 67,
+ 108,
+ 30
+ ],
+ "phase": 3
+ }
+] \ No newline at end of file
diff --git a/features/dungeonSolvers/index.js b/features/dungeonSolvers/index.js
index 737e4e1..e04c98a 100644
--- a/features/dungeonSolvers/index.js
+++ b/features/dungeonSolvers/index.js
@@ -10,6 +10,7 @@ import ToggleSetting from "../settings/settingThings/toggle";
import { fetch } from "../../utils/networkUtils";
import { delay } from "../../utils/delayUtils";
import { Waypoint } from "../../utils/renderJavaUtils";
+import { calculateDistanceQuick } from "../../utils/utils";
const EntityBlaze = Java.type("net.minecraft.entity.monster.EntityBlaze");
let translate;
@@ -97,6 +98,7 @@ class DungeonSolvers extends Feature {
}
});
this.forgorEnabled = new ToggleSetting("Change withermancer death message to forgor ", "", true, "withermancer_forgor", this);
+ this.f7waypoints = new ToggleSetting("Waypoints for P3 F7/M7", "", true, "f7_waypoints", this);
this.registerChat("&r&c ☠ &r${player} were killed by Withermancer&r&7 and became a ghost&r&7.&r", (player, e) => {
if (this.forgorEnabled.getValue()) {
@@ -260,77 +262,138 @@ class DungeonSolvers extends Feature {
this.onWorldLoad();
+ this.registerEvent("tick", () => {
+ this.terminals.forEach(w => w.update())
+ this.levers.forEach(w => w.update())
+ this.devices.forEach(w => w.update())
+ }).registeredWhen(() => this.f7waypoints.getValue())
+ this.terminals = []
+ this.levers = []
+ this.devices = []
+ this.data = []
+ this.area = -1
+ this.registerChat("[BOSS] Goldor: You have done it, you destroyed the factory…", () => {
+ this.area = -1
+ this.areaUpdated()
+ })
+ this.registerChat("[BOSS] Goldor: Who dares trespass into my domain?", () => {
+ this.area = 0
+ this.areaUpdated()
+ })
- //TODO: finish this
- // let saidLocations = new Set()
- // let waypoints = []
- // let data = []
- // let area = 0
- // this.registerChat("", () => {
- // area++
- // })
- // this.registerStep(false, 3, () => {
- // World.getAllEntities().forEach(e => {
- // if (ChatLib.removeFormatting(e.getName()).toLowerCase().includes("inactive device")) {
- // addThing([Math.trunc(e.getX()), Math.trunc(e.getY()), Math.trunc(e.getZ())], "device")
- // }
- // if (ChatLib.removeFormatting(e.getName()).toLowerCase().includes("inactive terminal")) {
- // addThing([Math.trunc(e.getX()), Math.trunc(e.getY()), Math.trunc(e.getZ())], "terminal")
- // }
- // if (ChatLib.removeFormatting(e.getName()).toLowerCase().includes("not activated")) {
- // addThing([Math.trunc(e.getX()), Math.trunc(e.getY()), Math.trunc(e.getZ())], "lever")
- // }
- // })
- // waypoints.forEach(w => w.update())
- // })
+ this.loadf7data()
- // function addThing(location, type) {
- // if (saidLocations.has(location.join(","))) return
+ this.registerChat("${name} activated a lever! (${start}/${end})", (name, start, end) => {
+ let player = World.getPlayerByName(ChatLib.removeFormatting(name))
- // saidLocations.add(location.join(","))
+ if (!player) return
- // if (type === "lever") {
- // let finalLoc = undefined
- // for (let i = 5; i > -5; i--) {
- // if (World.getBlockAt(location[0], location[1] + i, location[2])?.getType()?.getID() === 69) {
- // finalLoc = [location[0], location[1] + i, location[2]]
- // }
- // }
- // ChatLib.chat("Loaded " + type)
- // data.push({ type: "lever", location: finalLoc, phase: area })
- // waypoints.push(new Waypoint(finalLoc[0], finalLoc[1], finalLoc[2], 1, 0, 0, { name: type + " | " + area }).startRender())
- // return
- // }
- // if (type === "terminal") {
- // let finalLoc = undefined
- // for (let x = 5; x > -5; x--) {
- // for (let y = 5; y > -5; y--) {
- // for (let z = 5; z > -5; z--) {
- // if (World.getBlockAt(location[0] + x, location[1] + y, location[2] + x)?.getType()?.getID() === 137) {
- // finalLoc = [location[0] + x, location[1] + y, location[2] + x]
- // }
- // }
- // }
- // }
- // ChatLib.chat("Loaded " + type)
- // data.push({ type: "terminal", location: finalLoc, phase: area })
- // waypoints.push(new Waypoint(finalLoc[0], finalLoc[1], finalLoc[2], 1, 0, 0, { name: type + " | " + area }).startRender())
- // return
- // }
- // ChatLib.chat("Loaded " + type)
- // waypoints.push(new Waypoint(finalLoc[0], finalLoc[1], finalLoc[2], 1, 0, 0, { name: type + " | " + area }).startRender())
- // data.push({ type: type, location: location, phase: area })
- // }
+ let closestDist = calculateDistanceQuick([this.levers[0].params.x, this.levers[0].params.y, this.levers[0].params.z], [player.getX(), player.getY(), player.getZ()])
+ let closest = this.levers[0]
+ this.levers.forEach(l => {
+ if (!l.rendering) return
+ let dist = calculateDistanceQuick([l.params.x, l.params.y, l.params.z], [player.getX(), player.getY(), player.getZ()])
+ if (dist < closestDist) {
+ closestDist = dist
+ closest = l
+ }
+ })
+ closest.stopRender()
- // this.registerCommand("getdata", () => {
- // ChatLib.chat(JSON.stringify(data))
- // })
+ if (start == "0" || start == end) {
+ this.area++
+ this.areaUpdated()
+ }
+ }).registeredWhen(() => this.f7waypoints.getValue())
+
+ this.registerChat("${name} completed a device! (${start}/${end})", (name, start, end) => {
+
+ let closest = this.devices[0]
+
+ closest.stopRender()
+
+ if (start == "0" || start == end) {
+ this.area++
+ this.areaUpdated()
+ }
+ }).registeredWhen(() => this.f7waypoints.getValue())
+
+ this.registerChat("${name} activated a terminal! (${start}/${end})", (name, start, end) => {
+ let player = World.getPlayerByName(ChatLib.removeFormatting(name))
+
+ if (!player) return
+
+ let closestDist = calculateDistanceQuick([this.terminals[0].params.x, this.terminals[0].params.y, this.terminals[0].params.z], [player.getX(), player.getY(), player.getZ()])
+ let closest = this.terminals[0]
+ this.terminals.forEach(l => {
+ if (!l.rendering) return
+ let dist = calculateDistanceQuick([l.params.x, l.params.y, l.params.z], [player.getX(), player.getY(), player.getZ()])
+ if (dist < closestDist) {
+ closestDist = dist
+ closest = l
+ }
+ })
+ closest.stopRender()
+
+
+ if (start == "0" || start == end) {
+ this.area++
+ this.areaUpdated()
+ }
+ }).registeredWhen(() => this.f7waypoints.getValue())
//§r§6Soopyboo32§r§a activated a lever! (§r§c8§r§a/8)§r
//§r§6Soopyboo32§r§a completed a device! (§r§c3§r§a/8)§r
//§r§bBossmanLeo§r§a activated a terminal! (§r§c2§r§a/8)§r
}
+ areaUpdated() {
+ this.terminals.forEach(w => w.stopRender())
+ this.levers.forEach(w => w.stopRender())
+ this.devices.forEach(w => w.stopRender())
+
+ this.terminals = []
+ this.levers = []
+ this.devices = []
+
+ if (!this.f7waypoints.getValue()) return
+
+ this.data.forEach(term => {
+ if (term.phase !== this.area) return
+
+ if (term.type === "lever") {
+ this.levers.push(new Waypoint(term.location[0], term.location[1], term.location[2], 1, 0, 0, { name: "Lever" }).startRender())
+ }
+ if (term.type === "terminal") {
+ this.terminals.push(new Waypoint(term.location[0], term.location[1], term.location[2], 1, 0, 0, { name: "Terminal" }).startRender())
+ }
+ if (term.type === "device") {
+ this.devices.push(new Waypoint(term.location[0], term.location[1], term.location[2], 1, 0, 0, { name: "Device" }).startRender())
+ }
+ })
+ }
+
+ loadf7data() {
+ this.unloadf7data()
+
+ let data = FileLib.read("SoopyV2", "features/dungeonSolvers/f7data.json")
+ data = JSON.parse(data)
+
+ this.data = data
+ }
+
+ unloadf7data() {
+ this.terminals.forEach(w => w.stopRender())
+ this.levers.forEach(w => w.stopRender())
+ this.devices.forEach(w => w.stopRender())
+
+ this.terminals = []
+ this.levers = []
+ this.devices = []
+ this.data = []
+ this.area = 0
+ }
+
step_5min() {
this.ezpz = false
if (!this.FeatureManager.features["dataLoader"].class.mayorData) return
@@ -928,7 +991,7 @@ class DungeonSolvers extends Feature {
onDisable() {
this.hudElements.forEach(h => h.delete())
-
+ this.unloadf7data()
this.initVariables();
}
}
diff --git a/features/nether/index.js b/features/nether/index.js
index 0d84003..d63cf0e 100644
--- a/features/nether/index.js
+++ b/features/nether/index.js
@@ -55,7 +55,12 @@ class Nether extends Feature {
this.disciplineOverlay = new ToggleSetting("Show overlay for zombies in dojo discipline", "", true, "dojo_discipline", this).contributor("Empa")
this.hostageWaypoints = new ToggleSetting("Show hostage waypoints", "Waypoint for location of hostage in rescue missions", true, "hostage_waypoint", this)
this.slugfishTimer = new ToggleSetting("Show timer over rod", "This may help with fishing slugfish", false, "slugfish_timer", this)
- this.registerCustom("packetReceived", this.packetReceived).registeredWhen(() => this.isInDojo())
+ let packetRecieved = this.registerCustom("packetReceived", this.packetReceived).registeredWhen(() => this.isInDojo())
+
+ try {
+ packetRecieved.trigger.setPacketClasses([net.minecraft.network.play.server.S23PacketBlockChange, net.minecraft.network.play.server.S22PacketMultiBlockChange])
+ } catch (e) { }//older ct version
+
this.registerStep(true, 1, this.step1S).registeredWhen(() => this.isInNether())
this.registerEvent("renderWorld", this.renderWorld).registeredWhen(() => this.isInNether())