From 6567b0d3819b3e2bbc0b272cbfc2858acc96fb50 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Fri, 18 Aug 2023 14:09:05 +0800 Subject: Migrate dungeon rooms data to resource system --- .../skyblock/dungeon/secrets/DungeonSecrets.java | 124 +++--- .../skyblocker/skyblock/dungeon/secrets/Room.java | 4 +- .../dungeons/catacombs/1x1/Admin-0.skeleton | Bin 54016 -> 0 bytes .../dungeons/catacombs/1x1/Andesite-2.skeleton | Bin 60071 -> 0 bytes .../dungeons/catacombs/1x1/Arrow-Trap-1.skeleton | 3 - .../dungeons/catacombs/1x1/Banners-1.skeleton | 1 - .../dungeons/catacombs/1x1/Basement-1.skeleton | 1 - .../dungeons/catacombs/1x1/Beams-2.skeleton | Bin 40812 -> 0 bytes .../dungeons/catacombs/1x1/Big-Red-Flag-2.skeleton | Bin 54393 -> 0 bytes .../dungeons/catacombs/1x1/Black-Flag-3.skeleton | Bin 73609 -> 0 bytes .../dungeons/catacombs/1x1/Blue-Skulls-1.skeleton | 61 --- .../dungeons/catacombs/1x1/Cage-1.skeleton | 3 - .../dungeons/catacombs/1x1/Cages-2.skeleton | Bin 79289 -> 0 bytes .../dungeons/catacombs/1x1/Carpets-1.skeleton | 42 -- .../dungeons/catacombs/1x1/Cell-1.skeleton | 4 - .../dungeons/catacombs/1x1/Chains-2.skeleton | 101 ----- .../catacombs/1x1/Cobble-Wall-Pillar-2.skeleton | 17 - .../dungeons/catacombs/1x1/Dip-2.skeleton | Bin 52231 -> 0 bytes .../dungeons/catacombs/1x1/Dome-2.skeleton | Bin 67944 -> 0 bytes .../catacombs/1x1/Double-Diamond-3.skeleton | Bin 59887 -> 0 bytes .../dungeons/catacombs/1x1/Drop-2.skeleton | 55 --- .../dungeons/catacombs/1x1/Dueces-3.skeleton | Bin 73824 -> 0 bytes .../dungeons/catacombs/1x1/Duncan-1.skeleton | Bin 50596 -> 0 bytes .../dungeons/catacombs/1x1/End-2.skeleton | Bin 58841 -> 0 bytes .../dungeons/catacombs/1x1/Golden-Oasis-1.skeleton | 3 - .../dungeons/catacombs/1x1/Granite-2.skeleton | Bin 63175 -> 0 bytes .../dungeons/catacombs/1x1/Hall-0.skeleton | 3 - .../catacombs/1x1/Hanging-Vines-1.skeleton | Bin 50358 -> 0 bytes .../catacombs/1x1/Jumping-Skulls-1.skeleton | Bin 65927 -> 0 bytes .../dungeons/catacombs/1x1/Knight-3.skeleton | Bin 56966 -> 0 bytes .../dungeons/catacombs/1x1/Lava-Pool-3.skeleton | Bin 56989 -> 0 bytes .../dungeons/catacombs/1x1/Leaves-1.skeleton | 39 -- .../dungeons/catacombs/1x1/Locked-Away-1.skeleton | 2 - .../dungeons/catacombs/1x1/Logs-4.skeleton | 3 - .../dungeons/catacombs/1x1/Long-Hall-3.skeleton | Bin 69349 -> 0 bytes .../catacombs/1x1/Lots-Of-Floors-3.skeleton | 109 ----- .../catacombs/1x1/Mini-Rail-Track-3.skeleton | Bin 49753 -> 0 bytes .../dungeons/catacombs/1x1/Mirror-1.skeleton | 32 -- .../dungeons/catacombs/1x1/Multicolored-1.skeleton | 3 - .../dungeons/catacombs/1x1/Mural-1.skeleton | 145 ------ .../dungeons/catacombs/1x1/Mushroom-1.skeleton | Bin 57976 -> 0 bytes .../dungeons/catacombs/1x1/Overgrown-3.skeleton | 84 ---- .../catacombs/1x1/Overgrown-Chains-2.skeleton | 114 ----- .../dungeons/catacombs/1x1/Painting-2.skeleton | 23 - .../dungeons/catacombs/1x1/Perch-2.skeleton | Bin 67789 -> 0 bytes .../dungeons/catacombs/1x1/Pillars-1.skeleton | Bin 46942 -> 0 bytes .../dungeons/catacombs/1x1/Prison-Cell-1.skeleton | Bin 60737 -> 0 bytes .../dungeons/catacombs/1x1/Quad-Lava-2.skeleton | Bin 60820 -> 0 bytes .../dungeons/catacombs/1x1/Raccoon-4.skeleton | 218 --------- .../dungeons/catacombs/1x1/Red-Green-3.skeleton | Bin 69223 -> 0 bytes .../dungeons/catacombs/1x1/Redstone-Key-3.skeleton | Bin 66524 -> 0 bytes .../dungeons/catacombs/1x1/Sand-Dragon-1.skeleton | Bin 43279 -> 0 bytes .../dungeons/catacombs/1x1/Sarcophagus-3.skeleton | 3 - .../dungeons/catacombs/1x1/Scaffolding-2.skeleton | 133 ------ .../catacombs/1x1/Silvers-Sword-1.skeleton | 149 ------- .../dungeons/catacombs/1x1/Slabs-2.skeleton | 80 ---- .../dungeons/catacombs/1x1/Sloth-1.skeleton | Bin 57924 -> 0 bytes .../dungeons/catacombs/1x1/Small-Stairs-2.skeleton | Bin 52757 -> 0 bytes .../dungeons/catacombs/1x1/Spikes-3.skeleton | Bin 60850 -> 0 bytes .../dungeons/catacombs/1x1/Steps-1.skeleton | 3 - .../dungeons/catacombs/1x1/Stone-Window-2.skeleton | 89 ---- .../dungeons/catacombs/1x1/Temple-3.skeleton | Bin 66367 -> 0 bytes .../dungeons/catacombs/1x1/Tombstone-2.skeleton | Bin 54558 -> 0 bytes .../dungeons/catacombs/1x1/Tomioka-0.skeleton | 3 - .../dungeons/catacombs/1x1/Water-2.skeleton | Bin 65555 -> 0 bytes .../dungeons/catacombs/1x1/Waterfall-2.skeleton | Bin 54937 -> 0 bytes .../dungeons/catacombs/1x1/admin-0.skeleton | Bin 0 -> 54016 bytes .../dungeons/catacombs/1x1/andesite-2.skeleton | Bin 0 -> 60071 bytes .../dungeons/catacombs/1x1/arrow-trap-1.skeleton | 3 + .../dungeons/catacombs/1x1/banners-1.skeleton | 1 + .../dungeons/catacombs/1x1/basement-1.skeleton | 1 + .../dungeons/catacombs/1x1/beams-2.skeleton | Bin 0 -> 40812 bytes .../dungeons/catacombs/1x1/big-red-flag-2.skeleton | Bin 0 -> 54393 bytes .../dungeons/catacombs/1x1/black-flag-3.skeleton | Bin 0 -> 73609 bytes .../dungeons/catacombs/1x1/blue-skulls-1.skeleton | 61 +++ .../dungeons/catacombs/1x1/cage-1.skeleton | 3 + .../dungeons/catacombs/1x1/cages-2.skeleton | Bin 0 -> 79289 bytes .../dungeons/catacombs/1x1/carpets-1.skeleton | 42 ++ .../dungeons/catacombs/1x1/cell-1.skeleton | 4 + .../dungeons/catacombs/1x1/chains-2.skeleton | 101 +++++ .../catacombs/1x1/cobble-wall-pillar-2.skeleton | 17 + .../dungeons/catacombs/1x1/dip-2.skeleton | Bin 0 -> 52231 bytes .../dungeons/catacombs/1x1/dome-2.skeleton | Bin 0 -> 67944 bytes .../catacombs/1x1/double-diamond-3.skeleton | Bin 0 -> 59887 bytes .../dungeons/catacombs/1x1/drop-2.skeleton | 55 +++ .../dungeons/catacombs/1x1/dueces-3.skeleton | Bin 0 -> 73824 bytes .../dungeons/catacombs/1x1/duncan-1.skeleton | Bin 0 -> 50596 bytes .../dungeons/catacombs/1x1/end-2.skeleton | Bin 0 -> 58841 bytes .../dungeons/catacombs/1x1/golden-oasis-1.skeleton | 3 + .../dungeons/catacombs/1x1/granite-2.skeleton | Bin 0 -> 63175 bytes .../dungeons/catacombs/1x1/hall-0.skeleton | 3 + .../catacombs/1x1/hanging-vines-1.skeleton | Bin 0 -> 50358 bytes .../catacombs/1x1/jumping-skulls-1.skeleton | Bin 0 -> 65927 bytes .../dungeons/catacombs/1x1/knight-3.skeleton | Bin 0 -> 56966 bytes .../dungeons/catacombs/1x1/lava-pool-3.skeleton | Bin 0 -> 56989 bytes .../dungeons/catacombs/1x1/leaves-1.skeleton | 39 ++ .../dungeons/catacombs/1x1/locked-away-1.skeleton | 2 + .../dungeons/catacombs/1x1/logs-4.skeleton | 3 + .../dungeons/catacombs/1x1/long-hall-3.skeleton | Bin 0 -> 69349 bytes .../catacombs/1x1/lots-of-floors-3.skeleton | 109 +++++ .../catacombs/1x1/mini-rail-track-3.skeleton | Bin 0 -> 49753 bytes .../dungeons/catacombs/1x1/mirror-1.skeleton | 32 ++ .../dungeons/catacombs/1x1/multicolored-1.skeleton | 3 + .../dungeons/catacombs/1x1/mural-1.skeleton | 145 ++++++ .../dungeons/catacombs/1x1/mushroom-1.skeleton | Bin 0 -> 57976 bytes .../dungeons/catacombs/1x1/overgrown-3.skeleton | 84 ++++ .../catacombs/1x1/overgrown-chains-2.skeleton | 114 +++++ .../dungeons/catacombs/1x1/painting-2.skeleton | 23 + .../dungeons/catacombs/1x1/perch-2.skeleton | Bin 0 -> 67789 bytes .../dungeons/catacombs/1x1/pillars-1.skeleton | Bin 0 -> 46942 bytes .../dungeons/catacombs/1x1/prison-cell-1.skeleton | Bin 0 -> 60737 bytes .../dungeons/catacombs/1x1/quad-lava-2.skeleton | Bin 0 -> 60820 bytes .../dungeons/catacombs/1x1/raccoon-4.skeleton | 218 +++++++++ .../dungeons/catacombs/1x1/red-green-3.skeleton | Bin 0 -> 69223 bytes .../dungeons/catacombs/1x1/redstone-key-3.skeleton | Bin 0 -> 66524 bytes .../dungeons/catacombs/1x1/sand-dragon-1.skeleton | Bin 0 -> 43279 bytes .../dungeons/catacombs/1x1/sarcophagus-3.skeleton | 3 + .../dungeons/catacombs/1x1/scaffolding-2.skeleton | 133 ++++++ .../catacombs/1x1/silvers-sword-1.skeleton | 149 +++++++ .../dungeons/catacombs/1x1/slabs-2.skeleton | 80 ++++ .../dungeons/catacombs/1x1/sloth-1.skeleton | Bin 0 -> 57924 bytes .../dungeons/catacombs/1x1/small-stairs-2.skeleton | Bin 0 -> 52757 bytes .../dungeons/catacombs/1x1/spikes-3.skeleton | Bin 0 -> 60850 bytes .../dungeons/catacombs/1x1/steps-1.skeleton | 3 + .../dungeons/catacombs/1x1/stone-window-2.skeleton | 89 ++++ .../dungeons/catacombs/1x1/temple-3.skeleton | Bin 0 -> 66367 bytes .../dungeons/catacombs/1x1/tombstone-2.skeleton | Bin 0 -> 54558 bytes .../dungeons/catacombs/1x1/tomioka-0.skeleton | 3 + .../dungeons/catacombs/1x1/water-2.skeleton | Bin 0 -> 65555 bytes .../dungeons/catacombs/1x1/waterfall-2.skeleton | Bin 0 -> 54937 bytes .../dungeons/catacombs/1x2/Archway-3.skeleton | 44 -- .../dungeons/catacombs/1x2/Balcony-4.skeleton | Bin 185339 -> 0 bytes .../dungeons/catacombs/1x2/Bridges-6.skeleton | Bin 183319 -> 0 bytes .../dungeons/catacombs/1x2/Crypt-5.skeleton | Bin 125018 -> 0 bytes .../dungeons/catacombs/1x2/Doors-5.skeleton | Bin 130184 -> 0 bytes .../dungeons/catacombs/1x2/Gold-1.skeleton | 48 -- .../catacombs/1x2/Grand-Library-4.skeleton | Bin 122338 -> 0 bytes .../dungeons/catacombs/1x2/Grass-Ruin-3.skeleton | Bin 175744 -> 0 bytes .../dungeons/catacombs/1x2/Mage-4.skeleton | 97 ---- .../dungeons/catacombs/1x2/Pedestal-5.skeleton | 240 ---------- .../catacombs/1x2/Pressure-Plates-6.skeleton | 137 ------ .../dungeons/catacombs/1x2/Purple-Flags-5.skeleton | Bin 168083 -> 0 bytes .../catacombs/1x2/Redstone-Warrior-3.skeleton | Bin 156903 -> 0 bytes .../dungeons/catacombs/1x2/Skull-2.skeleton | 12 - .../dungeons/catacombs/1x2/archway-3.skeleton | 44 ++ .../dungeons/catacombs/1x2/balcony-4.skeleton | Bin 0 -> 185339 bytes .../dungeons/catacombs/1x2/bridges-6.skeleton | Bin 0 -> 183319 bytes .../dungeons/catacombs/1x2/crypt-5.skeleton | Bin 0 -> 125018 bytes .../dungeons/catacombs/1x2/doors-5.skeleton | Bin 0 -> 130184 bytes .../dungeons/catacombs/1x2/gold-1.skeleton | 48 ++ .../catacombs/1x2/grand-library-4.skeleton | Bin 0 -> 122338 bytes .../dungeons/catacombs/1x2/grass-ruin-3.skeleton | Bin 0 -> 175744 bytes .../dungeons/catacombs/1x2/mage-4.skeleton | 97 ++++ .../dungeons/catacombs/1x2/pedestal-5.skeleton | 240 ++++++++++ .../catacombs/1x2/pressure-plates-6.skeleton | 137 ++++++ .../dungeons/catacombs/1x2/purple-flags-5.skeleton | Bin 0 -> 168083 bytes .../catacombs/1x2/redstone-warrior-3.skeleton | Bin 0 -> 156903 bytes .../dungeons/catacombs/1x2/skull-2.skeleton | 12 + .../dungeons/catacombs/1x3/Catwalk-6.skeleton | 492 --------------------- .../dungeons/catacombs/1x3/Deathmite-6.skeleton | Bin 180745 -> 0 bytes .../dungeons/catacombs/1x3/Diagonal-4.skeleton | 25 -- .../dungeons/catacombs/1x3/Gravel-6.skeleton | 34 -- .../dungeons/catacombs/1x3/Red-Blue-4.skeleton | Bin 101936 -> 0 bytes .../dungeons/catacombs/1x3/Wizard-4.skeleton | Bin 182969 -> 0 bytes .../dungeons/catacombs/1x3/catwalk-6.skeleton | 492 +++++++++++++++++++++ .../dungeons/catacombs/1x3/deathmite-6.skeleton | Bin 0 -> 180745 bytes .../dungeons/catacombs/1x3/diagonal-4.skeleton | 25 ++ .../dungeons/catacombs/1x3/gravel-6.skeleton | 34 ++ .../dungeons/catacombs/1x3/red-blue-4.skeleton | Bin 0 -> 101936 bytes .../dungeons/catacombs/1x3/wizard-4.skeleton | Bin 0 -> 182969 bytes .../dungeons/catacombs/1x4/Hallway-3.skeleton | 351 --------------- .../dungeons/catacombs/1x4/Mossy-4.skeleton | Bin 168322 -> 0 bytes .../dungeons/catacombs/1x4/Pit-5.skeleton | Bin 227109 -> 0 bytes .../catacombs/1x4/Quartz-Knight-7.skeleton | 248 ----------- .../dungeons/catacombs/1x4/Waterfall-8.skeleton | Bin 320732 -> 0 bytes .../dungeons/catacombs/1x4/hallway-3.skeleton | 351 +++++++++++++++ .../dungeons/catacombs/1x4/mossy-4.skeleton | Bin 0 -> 168322 bytes .../dungeons/catacombs/1x4/pit-5.skeleton | Bin 0 -> 227109 bytes .../catacombs/1x4/quartz-knight-7.skeleton | 248 +++++++++++ .../dungeons/catacombs/1x4/waterfall-8.skeleton | Bin 0 -> 320732 bytes .../dungeons/catacombs/2x2/Atlas-6.skeleton | 125 ------ .../dungeons/catacombs/2x2/Buttons-5.skeleton | Bin 271044 -> 0 bytes .../dungeons/catacombs/2x2/Cathedral-8.skeleton | Bin 235514 -> 0 bytes .../dungeons/catacombs/2x2/Flags-7.skeleton | 271 ------------ .../catacombs/2x2/Mithril-Cave-10.skeleton | Bin 475695 -> 0 bytes .../dungeons/catacombs/2x2/Museum-5.skeleton | Bin 315072 -> 0 bytes .../dungeons/catacombs/2x2/Rail-Track-9.skeleton | 133 ------ .../dungeons/catacombs/2x2/Stairs-4.skeleton | 222 ---------- .../dungeons/catacombs/2x2/Super-Tall-6.skeleton | Bin 593719 -> 0 bytes .../dungeons/catacombs/2x2/atlas-6.skeleton | 125 ++++++ .../dungeons/catacombs/2x2/buttons-5.skeleton | Bin 0 -> 271044 bytes .../dungeons/catacombs/2x2/cathedral-8.skeleton | Bin 0 -> 235514 bytes .../dungeons/catacombs/2x2/flags-7.skeleton | 271 ++++++++++++ .../catacombs/2x2/mithril-cave-10.skeleton | Bin 0 -> 475695 bytes .../dungeons/catacombs/2x2/museum-5.skeleton | Bin 0 -> 315072 bytes .../dungeons/catacombs/2x2/rail-track-9.skeleton | 133 ++++++ .../dungeons/catacombs/2x2/stairs-4.skeleton | 222 ++++++++++ .../dungeons/catacombs/2x2/super-tall-6.skeleton | Bin 0 -> 593719 bytes .../dungeons/catacombs/L-shape/Chambers-5.skeleton | Bin 188127 -> 0 bytes .../catacombs/L-shape/Dino-Dig-Site-4.skeleton | Bin 239108 -> 0 bytes .../catacombs/L-shape/Lava-Ravine-6.skeleton | Bin 302614 -> 0 bytes .../dungeons/catacombs/L-shape/Layers-8.skeleton | Bin 175879 -> 0 bytes .../dungeons/catacombs/L-shape/Market-5.skeleton | 181 -------- .../dungeons/catacombs/L-shape/Melon-7.skeleton | 134 ------ .../dungeons/catacombs/L-shape/Spider-9.skeleton | Bin 320358 -> 0 bytes .../dungeons/catacombs/L-shape/Well-7.skeleton | Bin 284551 -> 0 bytes .../catacombs/L-shape/Withermancers-4.skeleton | Bin 240571 -> 0 bytes .../catacombs/Puzzle/Blaze-Room-1-High.skeleton | Bin 90873 -> 0 bytes .../catacombs/Puzzle/Blaze-Room-1-Low.skeleton | Bin 91661 -> 0 bytes .../dungeons/catacombs/Puzzle/Boxes-Room.skeleton | Bin 55570 -> 0 bytes .../catacombs/Puzzle/Creeper-Room.skeleton | Bin 66692 -> 0 bytes .../dungeons/catacombs/Puzzle/Defusal.skeleton | Bin 60485 -> 0 bytes .../dungeons/catacombs/Puzzle/Ice-Path.skeleton | Bin 56698 -> 0 bytes .../catacombs/Puzzle/Ice-Silverfish-Room.skeleton | Bin 62071 -> 0 bytes .../catacombs/Puzzle/Teleport-Pad-Room.skeleton | Bin 61237 -> 0 bytes .../catacombs/Puzzle/Three-Chests.skeleton | 2 - .../catacombs/Puzzle/Tic-Tac-Toe-1.skeleton | 4 - .../dungeons/catacombs/Puzzle/Trivia-Room.skeleton | 61 --- .../catacombs/Puzzle/Water Puzzle.skeleton | Bin 68504 -> 0 bytes .../dungeons/catacombs/Trap/Trap-Hard-4.skeleton | Bin 56218 -> 0 bytes .../catacombs/Trap/Trap-Very-Hard-3.skeleton | Bin 59774 -> 0 bytes .../dungeons/catacombs/l-shape/chambers-5.skeleton | Bin 0 -> 188127 bytes .../catacombs/l-shape/dino-dig-site-4.skeleton | Bin 0 -> 239108 bytes .../catacombs/l-shape/lava-ravine-6.skeleton | Bin 0 -> 302614 bytes .../dungeons/catacombs/l-shape/layers-8.skeleton | Bin 0 -> 175879 bytes .../dungeons/catacombs/l-shape/market-5.skeleton | 181 ++++++++ .../dungeons/catacombs/l-shape/melon-7.skeleton | 134 ++++++ .../dungeons/catacombs/l-shape/spider-9.skeleton | Bin 0 -> 320358 bytes .../dungeons/catacombs/l-shape/well-7.skeleton | Bin 0 -> 284551 bytes .../catacombs/l-shape/withermancers-4.skeleton | Bin 0 -> 240571 bytes .../catacombs/puzzle/blaze-room-1-high.skeleton | Bin 0 -> 90873 bytes .../catacombs/puzzle/blaze-room-1-low.skeleton | Bin 0 -> 91661 bytes .../dungeons/catacombs/puzzle/boxes-room.skeleton | Bin 0 -> 55570 bytes .../catacombs/puzzle/creeper-room.skeleton | Bin 0 -> 66692 bytes .../dungeons/catacombs/puzzle/defusal.skeleton | Bin 0 -> 60485 bytes .../dungeons/catacombs/puzzle/ice-path.skeleton | Bin 0 -> 56698 bytes .../catacombs/puzzle/ice-silverfish-room.skeleton | Bin 0 -> 62071 bytes .../catacombs/puzzle/teleport-pad-room.skeleton | Bin 0 -> 61237 bytes .../catacombs/puzzle/three-chests.skeleton | 2 + .../catacombs/puzzle/tic-tac-toe-1.skeleton | 4 + .../dungeons/catacombs/puzzle/trivia-room.skeleton | 61 +++ .../catacombs/puzzle/water-puzzle.skeleton | Bin 0 -> 68504 bytes .../dungeons/catacombs/trap/trap-hard-4.skeleton | Bin 0 -> 56218 bytes .../catacombs/trap/trap-very-hard-3.skeleton | Bin 0 -> 59774 bytes .../skyblock/dungeon/secrets/DungeonRoomsDFU.java | 6 +- 245 files changed, 4442 insertions(+), 4466 deletions(-) delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Admin-0.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Andesite-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Arrow-Trap-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Banners-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Basement-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Beams-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Big-Red-Flag-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Black-Flag-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Blue-Skulls-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Cage-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Cages-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Carpets-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Cell-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Chains-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Cobble-Wall-Pillar-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Dip-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Dome-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Double-Diamond-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Drop-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Dueces-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Duncan-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/End-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Golden-Oasis-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Granite-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Hall-0.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Hanging-Vines-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Jumping-Skulls-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Knight-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Lava-Pool-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Leaves-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Locked-Away-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Logs-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Long-Hall-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Lots-Of-Floors-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Mini-Rail-Track-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Mirror-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Multicolored-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Mural-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Mushroom-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Overgrown-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Overgrown-Chains-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Painting-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Perch-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Pillars-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Prison-Cell-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Quad-Lava-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Raccoon-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Red-Green-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Redstone-Key-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Sand-Dragon-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Sarcophagus-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Scaffolding-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Silvers-Sword-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Slabs-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Sloth-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Small-Stairs-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Spikes-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Steps-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Stone-Window-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Temple-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Tombstone-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Tomioka-0.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Water-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Waterfall-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/admin-0.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/andesite-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/arrow-trap-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/banners-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/basement-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/beams-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/big-red-flag-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/black-flag-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/blue-skulls-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/cage-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/cages-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/carpets-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/cell-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/chains-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/cobble-wall-pillar-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/dip-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/dome-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/double-diamond-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/drop-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/dueces-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/duncan-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/end-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/golden-oasis-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/granite-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/hall-0.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/hanging-vines-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/jumping-skulls-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/knight-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/lava-pool-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/leaves-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/locked-away-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/logs-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/long-hall-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/lots-of-floors-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/mini-rail-track-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/mirror-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/multicolored-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/mural-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/mushroom-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/overgrown-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/overgrown-chains-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/painting-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/perch-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/pillars-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/prison-cell-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/quad-lava-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/raccoon-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/red-green-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/redstone-key-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/sand-dragon-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/sarcophagus-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/scaffolding-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/silvers-sword-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/slabs-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/sloth-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/small-stairs-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/spikes-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/steps-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/stone-window-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/temple-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/tombstone-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/tomioka-0.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/water-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/waterfall-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Archway-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Balcony-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Bridges-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Crypt-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Doors-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Gold-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Grand-Library-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Grass-Ruin-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Mage-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Pedestal-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Pressure-Plates-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Purple-Flags-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Redstone-Warrior-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/Skull-2.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/archway-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/balcony-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/bridges-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/crypt-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/doors-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/gold-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/grand-library-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/grass-ruin-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/mage-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/pedestal-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/pressure-plates-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/purple-flags-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/redstone-warrior-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x2/skull-2.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/Catwalk-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/Deathmite-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/Diagonal-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/Gravel-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/Red-Blue-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/Wizard-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/catwalk-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/deathmite-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/diagonal-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/gravel-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/red-blue-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/wizard-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/Hallway-3.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/Mossy-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/Pit-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/Quartz-Knight-7.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/Waterfall-8.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/hallway-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/mossy-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/pit-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/quartz-knight-7.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/waterfall-8.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Atlas-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Buttons-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Cathedral-8.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Flags-7.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Mithril-Cave-10.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Museum-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Rail-Track-9.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Stairs-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/Super-Tall-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/atlas-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/buttons-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/cathedral-8.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/flags-7.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/mithril-cave-10.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/museum-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/rail-track-9.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/stairs-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/2x2/super-tall-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Chambers-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Dino-Dig-Site-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Lava-Ravine-6.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Layers-8.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Market-5.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Melon-7.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Spider-9.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Well-7.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/L-shape/Withermancers-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Blaze-Room-1-High.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Blaze-Room-1-Low.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Boxes-Room.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Creeper-Room.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Defusal.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Ice-Path.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Ice-Silverfish-Room.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Teleport-Pad-Room.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Three-Chests.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Tic-Tac-Toe-1.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Trivia-Room.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Puzzle/Water Puzzle.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Trap/Trap-Hard-4.skeleton delete mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/Trap/Trap-Very-Hard-3.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/chambers-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/dino-dig-site-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/lava-ravine-6.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/layers-8.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/market-5.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/melon-7.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/spider-9.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/well-7.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/withermancers-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/blaze-room-1-high.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/blaze-room-1-low.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/boxes-room.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/creeper-room.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/defusal.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/ice-path.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/ice-silverfish-room.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/teleport-pad-room.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/three-chests.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/tic-tac-toe-1.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/trivia-room.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/water-puzzle.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/trap/trap-hard-4.skeleton create mode 100644 src/main/resources/assets/skyblocker/dungeons/catacombs/trap/trap-very-hard-3.skeleton (limited to 'src') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java index 0a4ab9d8..5f3e9258 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java @@ -1,5 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; import com.google.gson.JsonObject; import it.unimi.dsi.fastutil.objects.Object2ByteMap; import it.unimi.dsi.fastutil.objects.Object2ByteOpenHashMap; @@ -18,6 +20,7 @@ import net.minecraft.item.FilledMapItem; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.map.MapState; +import net.minecraft.resource.Resource; import net.minecraft.text.Text; import net.minecraft.util.ActionResult; import net.minecraft.util.Identifier; @@ -34,24 +37,13 @@ import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; import java.io.ObjectInputStream; -import java.net.URISyntaxException; -import java.net.URL; -import java.nio.file.DirectoryStream; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.zip.InflaterInputStream; public class DungeonSecrets { protected static final Logger LOGGER = LoggerFactory.getLogger(DungeonSecrets.class); - /** - * Block data for dungeon rooms. See {@link me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonRoomsDFU DungeonRoomsDFU} for format details and how it's generated. - * All access to this map must check {@link #isRoomsLoaded()} to prevent concurrent modification. - */ - @SuppressWarnings("JavadocReference") - protected static final HashMap>> ROOMS_DATA = new HashMap<>(); + private static final String DUNGEONS_PATH = "dungeons"; /** * Maps the block identifier string to a custom numeric block id used in dungeon rooms data. * @@ -81,11 +73,16 @@ public class DungeonSecrets { Map.entry("minecraft:cyan_terracotta", (byte) 20), Map.entry("minecraft:black_terracotta", (byte) 21) )); - private static final String DUNGEONS_DATA_DIR = "/assets/skyblocker/dungeons"; + /** + * Block data for dungeon rooms. See {@link me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonRoomsDFU DungeonRoomsDFU} for format details and how it's generated. + * All access to this map must check {@link #isRoomsLoaded()} to prevent concurrent modification. + */ + @SuppressWarnings("JavadocReference") + protected static final HashMap>> ROOMS_DATA = new HashMap<>(); @NotNull private static final Map rooms = new HashMap<>(); - private static JsonObject roomsJson; - private static JsonObject waypointsJson; + private static final Map roomsJson = new HashMap<>(); + private static final Map waypointsJson = new HashMap<>(); @Nullable private static CompletableFuture roomsLoaded; /** @@ -109,12 +106,12 @@ public class DungeonSecrets { } @SuppressWarnings("unused") - public static JsonObject getRoomsJson() { - return roomsJson; + public static JsonObject getRoomMetadata(String room) { + return roomsJson.get(room).getAsJsonObject(); } - public static JsonObject getWaypointsJson() { - return waypointsJson; + public static JsonArray getRoomWaypoints(String room) { + return waypointsJson.get(room).getAsJsonArray(); } /** @@ -125,7 +122,8 @@ public class DungeonSecrets { if (SkyblockerConfig.get().locations.dungeons.noInitSecretWaypoints) { return; } - CompletableFuture.runAsync(DungeonSecrets::load).exceptionally(e -> { + // Execute with MinecraftClient as executor since we need to wait for MinecraftClient#resourceManager to be set + CompletableFuture.runAsync(DungeonSecrets::load, MinecraftClient.getInstance()).exceptionally(e -> { LOGGER.error("[Skyblocker] Failed to load dungeon secrets", e); return null; }); @@ -133,78 +131,56 @@ public class DungeonSecrets { WorldRenderEvents.AFTER_TRANSLUCENT.register(DungeonSecrets::render); ClientReceiveMessageEvents.GAME.register(DungeonSecrets::onChatMessage); ClientReceiveMessageEvents.GAME_CANCELED.register(DungeonSecrets::onChatMessage); - UseBlockCallback.EVENT.register((world, hand, hitResult, hitResult2) -> onUseBlock(hand, hitResult2)); + UseBlockCallback.EVENT.register((player, world, hand, hitResult) -> onUseBlock(world, hitResult)); } private static void load() { + long startTime = System.currentTimeMillis(); List> dungeonFutures = new ArrayList<>(); - URL dungeonsURL = SkyblockerMod.class.getResource(DUNGEONS_DATA_DIR); - if (dungeonsURL == null) { - LOGGER.error("[Skyblocker] Failed to load dungeon secrets, unable to find dungeon rooms data directory"); - return; - } - Path dungeonsDir = Path.of(dungeonsURL.getPath()); - if ("jar".equals(dungeonsURL.getProtocol())) { - try { - dungeonsDir = FileSystems.getFileSystem(dungeonsURL.toURI()).getPath(DUNGEONS_DATA_DIR); - } catch (URISyntaxException e) { - LOGGER.error("[Skyblocker] Failed to load dungeon secrets, unable to open dungeon rooms data directory", e); - return; + for (Map.Entry resourceEntry : MinecraftClient.getInstance().getResourceManager().findResources(DUNGEONS_PATH, id -> id.getPath().endsWith(".skeleton")).entrySet()) { + String[] path = resourceEntry.getKey().getPath().split("/"); + if (path.length != 4) { + LOGGER.error("[Skyblocker] Failed to load dungeon secrets, invalid resource identifier {}", resourceEntry.getKey()); + break; } - } - int resourcePathIndex = dungeonsDir.toString().indexOf(DUNGEONS_DATA_DIR); - try (DirectoryStream dungeons = Files.newDirectoryStream(dungeonsDir, Files::isDirectory)) { - for (Path dungeon : dungeons) { - try (DirectoryStream roomShapes = Files.newDirectoryStream(dungeon, Files::isDirectory)) { - List> roomShapeFutures = new ArrayList<>(); - HashMap> roomShapesMap = new HashMap<>(); - for (Path roomShape : roomShapes) { - roomShapeFutures.add(CompletableFuture.supplyAsync(() -> readRooms(roomShape, resourcePathIndex)).thenAccept(rooms -> roomShapesMap.put(roomShape.getFileName().toString(), rooms))); - } - ROOMS_DATA.put(dungeon.getFileName().toString(), roomShapesMap); - dungeonFutures.add(CompletableFuture.allOf(roomShapeFutures.toArray(CompletableFuture[]::new)).thenRun(() -> LOGGER.info("[Skyblocker] Loaded dungeon secrets for dungeon {} with {} room shapes and {} rooms total", dungeon.getFileName(), roomShapesMap.size(), roomShapesMap.values().stream().mapToInt(Map::size).sum()))); // TODO Change back to debug - } catch (IOException e) { - LOGGER.error("[Skyblocker] Failed to load dungeon secrets for dungeon " + dungeon.getFileName(), e); + String dungeon = path[1]; + String roomShape = path[2]; + String room = path[3].substring(0, path[3].length() - ".skeleton".length()); + ROOMS_DATA.computeIfAbsent(dungeon, dungeonKey -> new HashMap<>()); + ROOMS_DATA.get(dungeon).computeIfAbsent(roomShape, roomShapeKey -> new HashMap<>()); + dungeonFutures.add(CompletableFuture.supplyAsync(() -> readRoom(resourceEntry.getValue())).thenAcceptAsync(rooms -> { + Map roomsMap = ROOMS_DATA.get(dungeon).get(roomShape); + synchronized (roomsMap) { + roomsMap.put(room, rooms); } - } - } catch (IOException e) { - LOGGER.error("[Skyblocker] Failed to load dungeon secrets", e); + LOGGER.debug("[Skyblocker] Loaded dungeon secrets dungeon {} room shape {} room {}", dungeon, roomShape, room); + }).exceptionally(e -> { + LOGGER.error("[Skyblocker] Failed to load dungeon secrets dungeon {} room shape {} room {}", dungeon, roomShape, room, e); + return null; + })); } - // Execute with MinecraftClient as executor since we need to wait for MinecraftClient#resourceManager to be set dungeonFutures.add(CompletableFuture.runAsync(() -> { try (BufferedReader roomsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/dungeonrooms.json")); BufferedReader waypointsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/secretlocations.json"))) { - roomsJson = SkyblockerMod.GSON.fromJson(roomsReader, JsonObject.class); - waypointsJson = SkyblockerMod.GSON.fromJson(waypointsReader, JsonObject.class); - LOGGER.info("[Skyblocker] Loaded dungeon secrets json"); // TODO Change back to debug + SkyblockerMod.GSON.fromJson(roomsReader, JsonObject.class).asMap().forEach((room, jsonElement) -> roomsJson.put(room.toLowerCase(), jsonElement)); + SkyblockerMod.GSON.fromJson(waypointsReader, JsonObject.class).asMap().forEach((room, jsonElement) -> waypointsJson.put(room.toLowerCase(), jsonElement)); + LOGGER.debug("[Skyblocker] Loaded dungeon secrets json"); } catch (Exception e) { LOGGER.error("[Skyblocker] Failed to load dungeon secrets json", e); } - }, MinecraftClient.getInstance())); - roomsLoaded = CompletableFuture.allOf(dungeonFutures.toArray(CompletableFuture[]::new)).thenRun(() -> LOGGER.info("[Skyblocker] Loaded dungeon secrets for {} dungeon(s), {} room shapes, and {} rooms total", ROOMS_DATA.size(), ROOMS_DATA.values().stream().mapToInt(Map::size).sum(), ROOMS_DATA.values().stream().map(Map::values).flatMap(Collection::stream).mapToInt(Map::size).sum())).exceptionally(e -> { + })); + roomsLoaded = CompletableFuture.allOf(dungeonFutures.toArray(CompletableFuture[]::new)).thenRun(() -> LOGGER.info("[Skyblocker] Loaded dungeon secrets for {} dungeon(s), {} room shapes, and {} rooms total in {} ms", ROOMS_DATA.size(), ROOMS_DATA.values().stream().mapToInt(Map::size).sum(), ROOMS_DATA.values().stream().map(Map::values).flatMap(Collection::stream).mapToInt(Map::size).sum(), System.currentTimeMillis() - startTime)).exceptionally(e -> { LOGGER.error("[Skyblocker] Failed to load dungeon secrets", e); return null; }); + LOGGER.info("[Skyblocker] Started loading dungeon secrets in (blocked main thread for) {} ms", System.currentTimeMillis() - startTime); } - private static HashMap readRooms(Path roomShape, int resourcePathIndex) { - try (DirectoryStream rooms = Files.newDirectoryStream(roomShape, Files::isRegularFile)) { - HashMap roomsData = new HashMap<>(); - for (Path room : rooms) { - String name = room.getFileName().toString(); - //noinspection DataFlowIssue - try (ObjectInputStream in = new ObjectInputStream(new InflaterInputStream(SkyblockerMod.class.getResourceAsStream(room.toString().substring(resourcePathIndex))))) { - roomsData.put(name.substring(0, name.length() - 9), (int[]) in.readObject()); - LOGGER.info("[Skyblocker] Loaded dungeon secrets room {}", name); // TODO Change back to debug - } catch (NullPointerException | IOException | ClassNotFoundException e) { - LOGGER.error("[Skyblocker] Failed to load dungeon secrets room " + name, e); - } - } - LOGGER.info("[Skyblocker] Loaded dungeon secrets room shape {} with {} rooms", roomShape.getFileName(), roomsData.size()); // TODO Change back to debug - return roomsData; - } catch (IOException e) { - LOGGER.error("[Skyblocker] Failed to load dungeon secrets room shape " + roomShape.getFileName(), e); + private static int[] readRoom(Resource resource) throws RuntimeException { + try (ObjectInputStream in = new ObjectInputStream(new InflaterInputStream(resource.getInputStream()))) { + return (int[]) in.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); } - return null; } /** diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java index d4956d9c..0904a7f1 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java @@ -77,7 +77,7 @@ public class Room { IntSortedSet segmentsX = IntSortedSets.unmodifiable(new IntRBTreeSet(segments.stream().mapToInt(Vector2ic::x).toArray())); IntSortedSet segmentsY = IntSortedSets.unmodifiable(new IntRBTreeSet(segments.stream().mapToInt(Vector2ic::y).toArray())); shape = getShape(segmentsX, segmentsY); - roomsData = DungeonSecrets.ROOMS_DATA.getOrDefault("catacombs", Collections.emptyMap()).getOrDefault(shape.shape, Collections.emptyMap()); + roomsData = DungeonSecrets.ROOMS_DATA.getOrDefault("catacombs", Collections.emptyMap()).getOrDefault(shape.shape.toLowerCase(), Collections.emptyMap()); possibleRooms = getPossibleRooms(segmentsX, segmentsY); } @@ -287,7 +287,7 @@ public class Room { private void roomMatched(Triple> directionRooms) { Table secretWaypointsMutable = HashBasedTable.create(); String name = directionRooms.getRight().get(0); - for (JsonElement waypointElement : DungeonSecrets.getWaypointsJson().get(name).getAsJsonArray()) { + for (JsonElement waypointElement : DungeonSecrets.getRoomWaypoints(name)) { JsonObject waypoint = waypointElement.getAsJsonObject(); String secretName = waypoint.get("secretName").getAsString(); int secretIndex = Integer.parseInt(secretName.substring(0, Character.isDigit(secretName.charAt(1)) ? 2 : 1)); diff --git a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Admin-0.skeleton b/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Admin-0.skeleton deleted file mode 100644 index 4a6e7b6d..00000000 Binary files a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Admin-0.skeleton and /dev/null differ diff --git a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Andesite-2.skeleton b/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Andesite-2.skeleton deleted file mode 100644 index cae377ea..00000000 Binary files a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Andesite-2.skeleton and /dev/null differ diff --git a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Arrow-Trap-1.skeleton b/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Arrow-Trap-1.skeleton deleted file mode 100644 index 36db1b7b..00000000 --- a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/Arrow-Trap-1.skeleton +++ /dev/null @@ -1,3 +0,0 @@ -xId׺W/sOƓ/!"I:'A@ԡEIE5I ,[mva_U}|?W۳_Ͽ_aiemckg~k=lm_z_}~_}~_}~_}~_}~_}~_}~_}?Uꃰ~c_}{_}G_owe_=}D'Ot>}Dߚ':Ot