diff options
Diffstat (limited to 'features')
-rw-r--r-- | features/dungeonRoutes/index.js | 36 | ||||
-rw-r--r-- | features/dungeonRoutes/temproomdata.json | 2688 | ||||
-rw-r--r-- | features/dungeonSolvers/f7data.json | 263 | ||||
-rw-r--r-- | features/dungeonSolvers/index.js | 185 | ||||
-rw-r--r-- | features/nether/index.js | 7 |
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()) |