diff --git a/$buildDir/classes/java/main/drm_logo_x128.png b/$buildDir/classes/java/main/drm_logo_x128.png new file mode 100644 index 0000000..63a9fc4 Binary files /dev/null and b/$buildDir/classes/java/main/drm_logo_x128.png differ diff --git a/.gitignore b/.gitignore index 2c770e0..f2cf39e 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ build # other eclipse run +/$buildDir/ diff --git a/build.gradle b/build.gradle index 38570f3..e14cd54 100644 --- a/build.gradle +++ b/build.gradle @@ -1,66 +1,137 @@ -// For those who want the bleeding edge -buildscript { - repositories { - jcenter() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" +plugins { + id 'idea' + id 'java' + id 'com.github.johnrengelman.shadow' version '7.1.2' + id 'dev.architectury.architectury-pack200' version '0.1.3' + id 'gg.essential.loom' version '0.10.0.+' + id 'org.jetbrains.kotlin.jvm' version '1.6.21' + id 'net.kyori.blossom' version '1.3.0' +} + +tasks.wrapper { + gradleVersion = '7.4' + // You can either download the binary-only version of Gradle (BIN) or + // the full version (with sources and documentation) of Gradle (ALL) + distributionType = Wrapper.DistributionType.ALL +} +version = '4.0.0' +group = 'io.github.quantizr.DungeonRooms' +archivesBaseName = 'Dungeon_Rooms' +var mod_name = 'DRM' +var mod_id = 'dungeonrooms' + +java { + toolchain.languageVersion.set(JavaLanguageVersion.of(8)) +} + +blossom { + replaceToken("@VER@", version) + replaceToken("@NAME@", mod_name) + replaceToken("@ID@", mod_id) +} + +loom { + launchConfigs { + client { + arg('--tweakClass', 'cc.polyfrost.oneconfigwrapper.OneConfigWrapper') } } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' + runs { + 'client' { + property('devauth.enabled','true') + client() + } + } + forge { + pack200Provider.set(new dev.architectury.pack200.java.Pack200Adapter()) } } -apply plugin: 'net.minecraftforge.gradle.forge' -version = "3.3.2" -group= "io.github.quantizr.DungeonRooms" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = "Dungeon_Rooms" -sourceCompatibility = targetCompatibility = 1.8 +sourceSets.main { + output.setResourcesDir(file('$buildDir/classes/java/main')) +} -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" + +repositories { + mavenCentral() + maven { url 'https://repo.polyfrost.cc/releases' } + maven { url 'https://jitpack.io' } + maven {url 'https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1'} } +configurations { + implementation.extendsFrom shadowImpl +} -sourceSets { - main { - output.resourcesDir = java.outputDir - } + +test { + useJUnitPlatform() } -minecraft { - version = "1.8.9-11.15.1.2318-1.8.9" - runDir = "run" +dependencies { + minecraft('com.mojang:minecraft:1.8.9') + mappings('de.oceanlabs.mcp:mcp_stable:22-1.8.9') + forge('net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9') + + implementation 'org.jetbrains:annotations-java5:23.0.0' + implementation 'org.joml:joml:1.10.5' + implementation 'com.github.ben-manes.caffeine:caffeine:2.9.3' - mappings = "stable_22" + modRuntimeOnly('me.djtheredstoner:DevAuth-forge-legacy:1.1.0') + + compileOnly 'cc.polyfrost:oneconfig-1.8.9-forge:0.1.0-alpha+' // Should not be included in jar + implementation 'cc.polyfrost:oneconfig-wrapper-launchwrapper:1.0.0-alpha+' // Should be included in jar } +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' +} -jar { - manifest.attributes( - 'Main-Class': 'DungeonRoomsInstallerFrame' - ) +tasks.withType(Jar) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE + archivesBaseName = 'drm' + manifest { + attributes['ModSide'] = 'CLIENT' + attributes['TweakOrder'] = '0' + attributes['TweakClass'] = 'cc.polyfrost.oneconfigwrapper.OneConfigWrapper' + attributes['ForceLoadAsMod'] = 'true' + attributes['FMLCorePluginContainsFMLMod'] = 'true' +// this['TweakClass'] = 'org.spongepowered.asm.launch.MixinTweaker' +// this['MixinConfigs'] = 'mixins.examplemod.json' + } } -processResources { - // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' +tasks.shadowJar { - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version + archiveFileName = jar.archiveFileName + relocate 'org.joml', 'io.github.quantizr.org.joml' + relocate 'com.github.benmanes.caffeine', 'io.github.quantizr.com.github.benmanes.caffeine' + + dependencies { + include(dependency('org.joml:joml:..*')) + include(dependency('cc.polyfrost:oneconfig-wrapper-launchwrapper:..*')) + include(dependency('com.github.ben-manes.caffeine:caffeine:..*')) } +} + + +tasks.named('remapJar') { + archiveClassifier = 'all' + from(tasks.shadowJar) + input = tasks.shadowJar.archiveFile +} + - // copy everything else, thats not the mcmod.info +tasks.assemble.dependsOn tasks.remapJar + +processResources { + inputs.property 'version', project.version from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' + duplicatesStrategy = 'include' + include 'mcmod.info' + expand 'version': project.version } -} +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..6c41dec --- /dev/null +++ b/gradle.properties @@ -0,0 +1,2 @@ +org.gradle.jvmargs=-Xmx2G +loom.platform=forge \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 30d399d..41d9927 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a0c9444..b1159fc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue Jan 26 23:06:02 PST 2021 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..64c5567 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,21 @@ +pluginManagement { + repositories { + mavenCentral() + gradlePluginPortal() + maven{ url "https://oss.sonatype.org/content/repositories/snapshots"} + maven{ url "https://maven.architectury.dev/"} + maven{ url "https://maven.fabricmc.net"} + maven{ url "https://maven.minecraftforge.net/"} + maven{ url "https://repo.spongepowered.org/maven/"} + maven{ url "https://repo.sk1er.club/repository/maven-releases/"} + } + resolutionStrategy { + eachPlugin { + if (requested.id.id == "gg.essential.loom") { + useModule("gg.essential:architectury-loom:${requested.version}") + } + } + } +} + +rootProject.name = "Dungeon Rooms" \ No newline at end of file diff --git a/src/main/java/io/github/quantizr/dungeonrooms/DungeonRooms.java b/src/main/java/io/github/quantizr/dungeonrooms/DungeonRooms.java deleted file mode 100644 index ed5532d..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/DungeonRooms.java +++ /dev/null @@ -1,324 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import io.github.quantizr.dungeonrooms.commands.RoomCommand; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.Waypoints; -import io.github.quantizr.dungeonrooms.gui.WaypointsGUI; -import io.github.quantizr.dungeonrooms.handlers.ConfigHandler; -import io.github.quantizr.dungeonrooms.handlers.OpenLink; -import io.github.quantizr.dungeonrooms.handlers.PacketHandler; -import io.github.quantizr.dungeonrooms.handlers.TextRenderer; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; -import io.github.quantizr.dungeonrooms.utils.Utils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.client.settings.KeyBinding; -import net.minecraft.event.ClickEvent; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.ClientCommandHandler; -import net.minecraftforge.client.event.RenderGameOverlayEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.client.registry.ClientRegistry; -import net.minecraftforge.fml.common.Loader; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.InputEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent; -import net.minecraftforge.fml.common.network.FMLNetworkEvent; -import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion; -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.lwjgl.input.Keyboard; - -import java.io.*; -import java.net.URL; -import java.net.URLConnection; -import java.nio.charset.StandardCharsets; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.concurrent.*; - -@Mod(modid = DungeonRooms.MODID, version = DungeonRooms.VERSION) -public class DungeonRooms -{ - public static final String MODID = "dungeonrooms"; - public static final String VERSION = "3.3.2"; - - Minecraft mc = Minecraft.getMinecraft(); - public static Logger logger; - - public static JsonObject roomsJson; - public static JsonObject waypointsJson; - public static HashMap> ROOM_DATA = new HashMap<>(); - - public static boolean usingSBPSecrets = false; - public static KeyBinding[] keyBindings = new KeyBinding[3]; - public static String imageHotkeyOpen = "gui"; - static int tickAmount = 1; - - public static List textToDisplay = null; - public static int textLocX = 50; - public static int textLocY = 5; - - public static List motd = null; - public static String configDir; - public static boolean firstLogin = false; - - @EventHandler - public void preInit(final FMLPreInitializationEvent event) { - ClientCommandHandler.instance.registerCommand(new RoomCommand()); - configDir = event.getModConfigurationDirectory().toString(); - - //initialize logger - logger = LogManager.getLogger(DungeonRooms.class); - Utils.setLogLevel(LogManager.getLogger(DungeonRooms.class), Level.INFO); - } - - @EventHandler - public void init(FMLInitializationEvent event) { - long time1 = System.currentTimeMillis(); - - //start room data loading executors first or else it will block later and slow down loading by ~200ms - List paths = Utils.getAllPaths("catacombs"); - final ExecutorService executor = Executors.newFixedThreadPool(4); //don't need 8 threads cause it's just 1x1 that takes longest - Future> future1x1 = executor.submit(() -> Utils.pathsToRoomData("1x1", paths)); - Future> future1x2 = executor.submit(() -> Utils.pathsToRoomData("1x2", paths)); - Future> future1x3 = executor.submit(() -> Utils.pathsToRoomData("1x3", paths)); - Future> future1x4 = executor.submit(() -> Utils.pathsToRoomData("1x4", paths)); - Future> future2x2 = executor.submit(() -> Utils.pathsToRoomData("2x2", paths)); - Future> futureLShape = executor.submit(() -> Utils.pathsToRoomData("L-shape", paths)); - Future> futurePuzzle = executor.submit(() -> Utils.pathsToRoomData("Puzzle", paths)); - Future> futureTrap = executor.submit(() -> Utils.pathsToRoomData("Trap", paths)); - - //register classes - MinecraftForge.EVENT_BUS.register(this); - MinecraftForge.EVENT_BUS.register(new DungeonManager()); - MinecraftForge.EVENT_BUS.register(new RoomDetection()); - MinecraftForge.EVENT_BUS.register(new Waypoints()); - - //reload config - ConfigHandler.reloadConfig(); - - //register keybindings - keyBindings[0] = new KeyBinding("Open Room Images in DSG/SBP", Keyboard.KEY_O, "Dungeon Rooms Mod"); - keyBindings[1] = new KeyBinding("Open Waypoint Config Menu", Keyboard.KEY_P, "Dungeon Rooms Mod"); - keyBindings[2] = new KeyBinding("Show Waypoints in Practice Mode", Keyboard.KEY_I, "Dungeon Rooms Mod"); - for (KeyBinding keyBinding : keyBindings) { - ClientRegistry.registerKeyBinding(keyBinding); - } - - //get room and waypoint info - try (BufferedReader roomsReader = new BufferedReader(new InputStreamReader(mc.getResourceManager() - .getResource(new ResourceLocation("dungeonrooms", "dungeonrooms.json")).getInputStream())); - BufferedReader waypointsReader = new BufferedReader(new InputStreamReader(mc.getResourceManager() - .getResource(new ResourceLocation("dungeonrooms", "secretlocations.json")).getInputStream())) - ) { - Gson gson = new Gson(); - roomsJson = gson.fromJson(roomsReader, JsonObject.class); - logger.info("DungeonRooms: Loaded dungeonrooms.json"); - - waypointsJson = gson.fromJson(waypointsReader, JsonObject.class); - logger.info("DungeonRooms: Loaded secretlocations.json"); - } catch (IOException e) { - e.printStackTrace(); - } - - - //set RoomData to futures - this will block if the rest of init was fast - try { - long time2 = System.currentTimeMillis(); - ROOM_DATA.put("1x1", future1x1.get()); - long time3 = System.currentTimeMillis(); - ROOM_DATA.put("1x2", future1x2.get()); - ROOM_DATA.put("1x3", future1x3.get()); - ROOM_DATA.put("1x4", future1x4.get()); - ROOM_DATA.put("2x2", future2x2.get()); - ROOM_DATA.put("L-shape", futureLShape.get()); - ROOM_DATA.put("Puzzle", futurePuzzle.get()); - ROOM_DATA.put("Trap", futureTrap.get()); - long time4 = System.currentTimeMillis(); - logger.debug("DungeonRooms: Time(ms) for init before get futures: " + (time2 - time1)); - logger.debug("DungeonRooms: Blocked Time(ms) for 1x1: " + (time3 - time2)); - logger.debug("DungeonRooms: Blocked Time(ms) remaining for other rooms: " + (time4 - time3)); - } catch (ExecutionException | InterruptedException e) { - e.printStackTrace(); - } - executor.shutdown(); - } - - @EventHandler - public void postInit(final FMLPostInitializationEvent event) { - usingSBPSecrets = Loader.isModLoaded("sbp"); - DungeonRooms.logger.info("DungeonRooms: SBP Dungeon Secrets detection: " + usingSBPSecrets); - } - - /** - * Modified from Danker's Skyblock Mod under the GNU General Public License v3.0 - * https://github.com/bowser0000/SkyblockMod/blob/master/LICENSE - * @author bowser0000 - */ - @SubscribeEvent - public void onServerConnect(FMLNetworkEvent.ClientConnectedToServerEvent event) { - if (mc.getCurrentServerData() == null) return; - if (mc.getCurrentServerData().serverIP.toLowerCase().contains("hypixel.")) { - logger.info("DungeonRooms: Connecting to Hypixel..."); - - //Packets are used in this mod solely to detect when the player picks up an item. No packets are modified or created. - event.manager.channel().pipeline().addBefore("packet_handler", "drm_packet_handler", new PacketHandler()); - logger.info("DungeonRooms: Packet Handler added"); - - new Thread(() -> { - try { - while (mc.thePlayer == null) { - //Yes, I'm too lazy to code something proper so I'm busy-waiting, shut up. no :) -carmel - //It usually waits for less than half a second - Thread.sleep(100); - } - Thread.sleep(3000); - if (mc.getCurrentServerData().serverIP.toLowerCase().contains("hypixel.")) { - logger.info("DungeonRooms: Checking for conflicting keybindings..."); - Utils.checkForConflictingHotkeys(); - - logger.info("DungeonRooms: Checking for updates..."); - URL url = new URL("https://api.github.com/repos/Quantizr/DungeonRoomsMod/releases/latest"); - URLConnection request = url.openConnection(); - request.connect(); - JsonParser json = new JsonParser(); - JsonObject latestRelease = json.parse(new InputStreamReader((InputStream) request.getContent())).getAsJsonObject(); - - String latestTag = latestRelease.get("tag_name").getAsString(); - DefaultArtifactVersion currentVersion = new DefaultArtifactVersion(VERSION); - DefaultArtifactVersion latestVersion = new DefaultArtifactVersion(latestTag.substring(1)); - - if (currentVersion.compareTo(latestVersion) < 0) { - String releaseURL = "https://github.com/Quantizr/DungeonRoomsMod/releases/latest"; - ChatComponentText update = new ChatComponentText(EnumChatFormatting.GREEN + "" + EnumChatFormatting.BOLD + " [UPDATE] "); - update.setChatStyle(update.getChatStyle().setChatClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, releaseURL))); - mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Dungeon Rooms Mod is outdated. Please update to " + latestTag + ".\n").appendSibling(update)); - } else { - logger.info("DungeonRooms: No update found"); - } - - logger.info("DungeonRooms: Getting MOTD..."); - url = new URL("https://gist.githubusercontent.com/Quantizr/01aca53e61cef5dfd08989fec600b204/raw/"); - BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8)); - String line; - motd = new ArrayList<>(); - while ((line = in.readLine()) != null) { - motd.add(line); - } - in.close(); - logger.info("DungeonRooms: MOTD has been checked"); - } - } catch (IOException | InterruptedException e) { - mc.thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Dungeon Rooms: An error has occured. See logs for more details.")); - e.printStackTrace(); - } - - }).start(); - } - } - - @SubscribeEvent - public void onTick(TickEvent.ClientTickEvent event) { - if (event.phase != TickEvent.Phase.START) return; - EntityPlayerSP player = mc.thePlayer; - - tickAmount++; - if (tickAmount % 20 == 0) { - if (player != null) { - Utils.checkForSkyblock(); - Utils.checkForCatacombs(); - tickAmount = 0; - } - } - } - - @SubscribeEvent - public void onKey(InputEvent.KeyInputEvent event) { - EntityPlayerSP player = Minecraft.getMinecraft().thePlayer; - if (keyBindings[0].isPressed()) { - if (!Utils.inCatacombs) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this hotkey inside of a dungeon room")); - return; - } - switch (imageHotkeyOpen) { - case "gui": - OpenLink.checkForLink("gui"); - break; - case "dsg": - OpenLink.checkForLink("dsg"); - break; - case "sbp": - OpenLink.checkForLink("sbp"); - break; - default: - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: hotkeyOpen config value improperly set, do \"/room set \" to change the value")); - break; - } - } - if (keyBindings[1].isPressed()) { - mc.addScheduledTask(() -> mc.displayGuiScreen(new WaypointsGUI())); - } - if (keyBindings[2].isPressed()) { - if (Waypoints.enabled && !Waypoints.practiceModeOn) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Run \"/room toggle practice\" to enable Practice Mode.")); - } else if (!Waypoints.enabled && Waypoints.practiceModeOn) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Waypoints must be enabled for Practice Mode to work.")); - } - } - } - - @SubscribeEvent - public void renderPlayerInfo(final RenderGameOverlayEvent.Post event) { - if (event.type != RenderGameOverlayEvent.ElementType.ALL) return; - if (Utils.inSkyblock) { - if (textToDisplay != null && !textToDisplay.isEmpty()) { - ScaledResolution scaledResolution = new ScaledResolution(mc); - int y = 0; - for (String line:textToDisplay) { - int roomStringWidth = mc.fontRendererObj.getStringWidth(line); - TextRenderer.drawText(mc, line, ((scaledResolution.getScaledWidth() * textLocX) / 100) - (roomStringWidth / 2), - ((scaledResolution.getScaledHeight() * textLocY) / 100) + y, 1D, true); - y += mc.fontRendererObj.FONT_HEIGHT; - } - } - } - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/commands/RoomCommand.java b/src/main/java/io/github/quantizr/dungeonrooms/commands/RoomCommand.java deleted file mode 100644 index 21c1e02..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/commands/RoomCommand.java +++ /dev/null @@ -1,614 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.commands; - -import com.google.gson.JsonObject; -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.Waypoints; -import io.github.quantizr.dungeonrooms.gui.WaypointsGUI; -import io.github.quantizr.dungeonrooms.handlers.ConfigHandler; -import io.github.quantizr.dungeonrooms.handlers.OpenLink; -import io.github.quantizr.dungeonrooms.utils.MapUtils; -import io.github.quantizr.dungeonrooms.utils.Utils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.util.BlockPos; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -import java.awt.*; -import java.awt.datatransfer.StringSelection; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -public class RoomCommand extends CommandBase { - - @Override - public String getCommandName() { - return "room"; - } - - @Override - public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName(); - } - - @Override - public List getCommandAliases() { - return Collections.singletonList("drm"); - } - - @Override - public int getRequiredPermissionLevel() { - return 0; - } - - - @Override - public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { - if (args.length == 1) { - return getListOfStringsMatchingLastWord(args, "help", "waypoints", "move", "toggle", "set", "discord"); - } - if (args.length > 1) { - if (args[0].equalsIgnoreCase("toggle")) { - return getListOfStringsMatchingLastWord(args, "help", "gui", "waypointtext", "waypointboundingbox", "waypointbeacon"); - } else if (args[0].equalsIgnoreCase("set")) { - return getListOfStringsMatchingLastWord(args, "gui", "dsg", "sbp"); - } - } - return null; - } - - @Override - public void processCommand(ICommandSender arg0, String[] arg1) { - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayer player = (EntityPlayer) arg0; - - if (arg1.length < 1) { - if (!Utils.inCatacombs) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this command in dungeons or run \"/room help\" for additional options")); - } else { - if (DungeonManager.gameStage == 2) { - for (String line : DungeonRooms.textToDisplay) { - player.addChatMessage(new ChatComponentText(line)); - } - player.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN - + "Dungeon Rooms: You can also run \"/room help\" for additional options")); - } else { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this command while clearing rooms or run \"/room help\" for additional options")); - } - } - } else { - switch (arg1[0].toLowerCase()) { - case "help": - player.addChatMessage(new ChatComponentText("\n" - + EnumChatFormatting.GOLD + "Dungeon Rooms Mod Version " + DungeonRooms.VERSION + "\n" - + EnumChatFormatting.DARK_PURPLE + "Hotkeys: (Configurable in Controls Menu)\n" - + EnumChatFormatting.AQUA + " " + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[1].getKeyCode()) + EnumChatFormatting.WHITE + " - Opens Secret Waypoints configuration GUI\n" - + EnumChatFormatting.AQUA + " " + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[0].getKeyCode()) + EnumChatFormatting.WHITE + " - (old) Opens images of secret locations\n" - + EnumChatFormatting.AQUA + " " + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[2].getKeyCode()) + EnumChatFormatting.WHITE + " - View waypoints in Practice Mode (\"/room toggle practice\")\n" - + EnumChatFormatting.DARK_PURPLE + "Commands:\n" - + EnumChatFormatting.AQUA + " /room" + EnumChatFormatting.WHITE + " - Tells you in chat what room you are standing in.\n" - + EnumChatFormatting.AQUA + " /room help" + EnumChatFormatting.WHITE + " - Displays this message.\n" - + EnumChatFormatting.AQUA + " /room waypoints" + EnumChatFormatting.WHITE + " - Opens Secret Waypoints config GUI, alternatively can be opened with hotkey\n" - + EnumChatFormatting.AQUA + " /room move " + EnumChatFormatting.WHITE + " - Moves the GUI room name text to a coordinate. and are numbers between 0 and 100. Default is 50 for and 5 for .\n" - + EnumChatFormatting.AQUA + " /room toggle [argument]" + EnumChatFormatting.WHITE + " - Run \"/room toggle help\" for full list of toggles.\n" - + EnumChatFormatting.AQUA + " /room set " + EnumChatFormatting.WHITE + " - Configure whether the hotkey opens the selector GUI or directly goes to DSG/SBP.\n" - + EnumChatFormatting.AQUA + " /room discord" + EnumChatFormatting.WHITE + " - Opens the Discord invite for this mod in your browser.\n" /* + - + EnumChatFormatting.AQUA + " /room open" + EnumChatFormatting.WHITE + " - Opens the gui for opening either DSG or SBP.\n" - + EnumChatFormatting.AQUA + " /room dsg" + EnumChatFormatting.WHITE + " - Directly opens DSG in the Discord client.\n" - + EnumChatFormatting.AQUA + " /room sbp" + EnumChatFormatting.WHITE + " - Directly opens the SBP secrets (if you have the mod installed).\n" */ - )); - break; - - case "gui": - case "open": - if (!Utils.inCatacombs) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this command in dungeons")); - return; - } - OpenLink.checkForLink("gui"); - break; - - case "dsg": - if (!Utils.inCatacombs) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this command in dungeons")); - return; - } - OpenLink.checkForLink("dsg"); - break; - - case "sbp": - if (!Utils.inCatacombs) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this command in dungeons")); - return; - } - OpenLink.checkForLink("sbp"); - break; - - case "set": - switch (arg1[1].toLowerCase()) { - case "gui": - DungeonRooms.imageHotkeyOpen = "gui"; - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Hotkey has been set to open: GUI")); - ConfigHandler.writeStringConfig("gui", "hotkeyOpen", "gui"); - break; - case "dsg": - DungeonRooms.imageHotkeyOpen = "dsg"; - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Hotkey has been set to open: DSG")); - ConfigHandler.writeStringConfig("gui", "hotkeyOpen", "dsg"); - break; - case "sbp": - DungeonRooms.imageHotkeyOpen = "sbp"; - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Hotkey has been set to open: SBP")); - ConfigHandler.writeStringConfig("gui", "hotkeyOpen", "sbp"); - break; - default: - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Valid options are ")); - break; - } - break; - - case "wp": - case "waypoint": - case "waypoints": - new Thread(() -> { mc.addScheduledTask(() -> mc.displayGuiScreen(new WaypointsGUI())); }).start(); - break; - - case "move": - DungeonRooms.textLocX = Integer.parseInt(arg1[1]); - DungeonRooms.textLocY = Integer.parseInt(arg1[2]); - ConfigHandler.writeIntConfig("gui", "scaleX", DungeonRooms.textLocX); - ConfigHandler.writeIntConfig("gui", "scaleY", DungeonRooms.textLocY); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Room GUI has been moved to " + arg1[1] + ", " + arg1[2])); - break; - - case "toggle": - String toggleHelp = "\n" - + EnumChatFormatting.GOLD + " Dungeon Rooms Mod Toggle Commands:" + "\n" - + EnumChatFormatting.AQUA + " /room toggle gui" + EnumChatFormatting.WHITE + " - Toggles displaying current room in gui.\n" - + EnumChatFormatting.AQUA + " /room toggle motd" + EnumChatFormatting.WHITE + " - Toggles displaying the Welcome/MOTD message at the start of a dungeon run.\n" - + EnumChatFormatting.AQUA + " /room toggle practice" + EnumChatFormatting.WHITE + " - Toggles Practice Mode, where waypoints are only displayed when holding down " + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[2].getKeyCode()) +"\".\n" - + EnumChatFormatting.AQUA + " /room toggle waypoints" + EnumChatFormatting.WHITE + " - Toggles Waypoints, does the same thing as pressing \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[1].getKeyCode()) +"\" then clicking \"Waypoints\".\n" - + EnumChatFormatting.AQUA + " /room toggle waypointtext" + EnumChatFormatting.WHITE + " - Toggles displaying waypoint names above waypoints.\n" - + EnumChatFormatting.AQUA + " /room toggle waypointboundingbox" + EnumChatFormatting.WHITE + " - Toggles displaying the bounding box on waypoints.\n" - + EnumChatFormatting.AQUA + " /room toggle waypointbeacon" + EnumChatFormatting.WHITE + " - Toggles displaying the beacon above waypoints.\n"; - - if (arg1.length == 1) { - player.addChatMessage(new ChatComponentText(toggleHelp)); - break; - } else { - switch (arg1[1].toLowerCase()) { - case "gui": - DungeonManager.guiToggled = !DungeonManager.guiToggled; - ConfigHandler.writeBooleanConfig("toggles", "guiToggled", DungeonManager.guiToggled); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Display room names in GUI has been set to: " + DungeonManager.guiToggled)); - break; - - case "welcome": - case "motd": - DungeonManager.motdToggled = !DungeonManager.motdToggled; - ConfigHandler.writeBooleanConfig("toggles", "motdToggled", DungeonManager.motdToggled); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Display Welcome/MOTD has been set to: " + DungeonManager.motdToggled)); - break; - - case "practice": - case "practicemode": - Waypoints.practiceModeOn = !Waypoints.practiceModeOn; - ConfigHandler.writeBooleanConfig("waypoint", "practiceModeOn", Waypoints.practiceModeOn); - if (Waypoints.practiceModeOn) { - player.addChatMessage(new ChatComponentText("§eDungeon Rooms: Practice Mode has been enabled.\n" - + "§e Waypoints will only show up while you are pressing \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[2].getKeyCode()) + "\".\n" - + "§r (Hotkey is configurable in Minecraft Controls menu)" - )); - } else { - player.addChatMessage(new ChatComponentText("§eDungeon Rooms: Practice Mode has been disabled.")); - } - break; - - case "waypoint": - case "waypoints": - Waypoints.enabled = !Waypoints.enabled; - ConfigHandler.writeBooleanConfig("waypoint", "waypointsToggled", Waypoints.enabled); - if (Waypoints.enabled) { - player.addChatMessage(new ChatComponentText("§eDungeon Rooms: Waypoints will now automatically show up when you enter a new dungeon room.")); - } else { - player.addChatMessage(new ChatComponentText("§eDungeon Rooms: Waypoints have been disabled.")); - } - break; - - case "text": - case "waypointtext": - Waypoints.showWaypointText = !Waypoints.showWaypointText; - ConfigHandler.writeBooleanConfig("waypoint", "showWaypointText", Waypoints.showWaypointText); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Show Waypoint Text has been set to: " + Waypoints.showWaypointText)); - break; - - case "boundingbox": - case "waypointboundingbox": - Waypoints.showBoundingBox = !Waypoints.showBoundingBox; - ConfigHandler.writeBooleanConfig("waypoint", "showBoundingBox", Waypoints.showBoundingBox); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Show Waypoint Bounding Box has been set to: " + Waypoints.showBoundingBox)); - break; - - case "beacon": - case "waypointbeacon": - Waypoints.showBeacon = !Waypoints.showBeacon; - ConfigHandler.writeBooleanConfig("waypoint", "showBeacon", Waypoints.showBeacon); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Show Waypoint Beacon has been set to: " + Waypoints.showBeacon)); - break; - - /* - case "dev": - case "coord": - AutoRoom.coordToggled = !AutoRoom.coordToggled; - ConfigHandler.writeBooleanConfig("toggles", "coordToggled", AutoRoom.coordToggled); - player.addChatMessage(new ChatComponentText("Display dev coords has been set to: " + AutoRoom.coordToggled)); - break; - */ - - case "override": - Utils.dungeonOverride = !Utils.dungeonOverride; - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Force inCatacombs has been set to: " + Utils.dungeonOverride)); - break; - - case "help": - default: - player.addChatMessage(new ChatComponentText(toggleHelp)); - break; - } - } - break; - - case "reload": - ConfigHandler.reloadConfig(); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Reloaded config file")); - break; - - case "discord": - try { - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Opening Dungeon Rooms Discord invite in browser...")); - Desktop.getDesktop().browse(new URI("https://discord.gg/7B5RbsArYK")); - } catch (IOException | URISyntaxException e) { - e.printStackTrace(); - } - break; - - case "relative": - if (!RoomDetection.roomDirection.equals("undefined") && RoomDetection.roomCorner != null) { - if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null) { - BlockPos relativePos = MapUtils.actualToRelative(mc.objectMouseOver.getBlockPos(), RoomDetection.roomDirection, RoomDetection.roomCorner); - player.addChatMessage(new ChatComponentText("Dungeon Rooms: You are looking at relative blockPos: " + relativePos)); - } - } else { - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Unable to get relative blockPos at this time.")); - } - break; - - case "json": - if (!Utils.inCatacombs && DungeonManager.gameStage != 2 && DungeonManager.gameStage != 3) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Use this command in dungeons")); - return; - } - if (DungeonRooms.roomsJson.get(RoomDetection.roomName) != null) { - JsonObject json = DungeonRooms.roomsJson.get(RoomDetection.roomName).getAsJsonObject(); - json.addProperty("name", RoomDetection.roomName); //add room name property - player.addChatMessage(new ChatComponentText(json.toString())); - } - break; - - //return available information about a room - case "roominfo": - if (!Utils.inCatacombs || DungeonManager.gameStage != 2) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Not in room clearing phase of dungeons")); - } - if (DungeonManager.entranceMapCorners != null) { - player.addChatMessage(new ChatComponentText("dev: entranceMapCorners = " + new ArrayList<>(Arrays.asList(DungeonManager.entranceMapCorners)))); - } else { - player.addChatMessage(new ChatComponentText("dev: entranceMapCorners = null")); - } - if (DungeonManager.entrancePhysicalNWCorner != null) { - player.addChatMessage(new ChatComponentText("dev: entrancePhysicalNWCorner = " + DungeonManager.entrancePhysicalNWCorner)); - } else { - player.addChatMessage(new ChatComponentText("dev: entrancePhysicalNWCorner = null")); - } - player.addChatMessage(new ChatComponentText("dev: currentMapSegments = " + RoomDetection.currentMapSegments)); - player.addChatMessage(new ChatComponentText("dev: currentPhysicalSegments = " + RoomDetection.currentPhysicalSegments)); - player.addChatMessage(new ChatComponentText("dev: roomName = " + RoomDetection.roomName)); - player.addChatMessage(new ChatComponentText("dev: roomSize = " + RoomDetection.roomSize)); - player.addChatMessage(new ChatComponentText("dev: roomColor = " + RoomDetection.roomColor)); - player.addChatMessage(new ChatComponentText("dev: roomCategory = " + RoomDetection.roomCategory)); - - player.addChatMessage(new ChatComponentText("dev: roomDirection = " + RoomDetection.roomDirection)); - if (RoomDetection.roomCorner != null) { - player.addChatMessage(new ChatComponentText("dev: roomCorner = " + RoomDetection.roomCorner)); - } else { - player.addChatMessage(new ChatComponentText("dev: roomCorner = null")); - } - break; - - //returns the list of BlockPos which were checked against ".skeleton" room data files before room was determined - case "blocksused": - if (!Utils.inCatacombs || DungeonManager.gameStage != 2) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Not in room clearing phase of dungeons")); - } - player.addChatMessage(new ChatComponentText(RoomDetection.blocksUsed.toString())); - break; - - //The following is for adding new rooms - case "add": - World world = mc.theWorld; - if (!Utils.inCatacombs || DungeonManager.gameStage != 2 || RoomDetection.roomDirection.equals("undefined") || RoomDetection.roomCorner == null) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Current dungeon room is undefined")); - return; - } - switch (arg1[1].toLowerCase()) { - case "chest": - if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null) { - BlockPos viewingPos = MapUtils.actualToRelative(mc.objectMouseOver.getBlockPos(), RoomDetection.roomDirection, RoomDetection.roomCorner); - if (world.getBlockState(mc.objectMouseOver.getBlockPos()).getBlock() == Blocks.chest) { - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Chest\",\n" + - " \"category\":\"chest\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Chest\",\n" + - " \"category\":\"chest\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}"), - null - ); - } else { - player.addChatMessage(new ChatComponentText("You are not looking at a Chest Secret")); - } - } else { - player.addChatMessage(new ChatComponentText("You are not looking at anything")); - } - break; - case "wither": - if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null) { - BlockPos viewingPos = MapUtils.actualToRelative(mc.objectMouseOver.getBlockPos(), RoomDetection.roomDirection, RoomDetection.roomCorner); - if (world.getBlockState(mc.objectMouseOver.getBlockPos()).getBlock() == Blocks.skull) { - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Wither Essence\",\n" + - " \"category\":\"wither\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Wither Essence\",\n" + - " \"category\":\"wither\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}"), - null - ); - } else { - player.addChatMessage(new ChatComponentText("You are not looking at a Wither Essence Secret")); - } - } else { - player.addChatMessage(new ChatComponentText("You are not looking at anything")); - } - break; - case "superboom": - if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null) { - BlockPos viewingPos = MapUtils.actualToRelative(mc.objectMouseOver.getBlockPos(), RoomDetection.roomDirection, RoomDetection.roomCorner); - if (world.getBlockState(mc.objectMouseOver.getBlockPos()).getBlock() == Blocks.stonebrick) { - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Superboom\",\n" + - " \"category\":\"superboom\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Superboom\",\n" + - " \"category\":\"superboom\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}"), - null - ); - } else { - player.addChatMessage(new ChatComponentText("You are not looking at a Superboom entrance")); - } - } else { - player.addChatMessage(new ChatComponentText("You are not looking at anything")); - } - break; - case "lever": - if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null) { - BlockPos viewingPos = MapUtils.actualToRelative(mc.objectMouseOver.getBlockPos(), RoomDetection.roomDirection, RoomDetection.roomCorner); - if (world.getBlockState(mc.objectMouseOver.getBlockPos()).getBlock() == Blocks.lever) { - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Lever\",\n" + - " \"category\":\"lever\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Lever\",\n" + - " \"category\":\"lever\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}"), - null - ); - } else { - player.addChatMessage(new ChatComponentText("You are not looking at a Lever")); - } - } else { - player.addChatMessage(new ChatComponentText("You are not looking at anything")); - } - break; - case "fairysoul": - if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.getBlockPos() != null) { - BlockPos viewingPos = MapUtils.actualToRelative(mc.objectMouseOver.getBlockPos().up(1), RoomDetection.roomDirection, RoomDetection.roomCorner); - if (world.getBlockState(mc.objectMouseOver.getBlockPos().up(1)).getBlock() == Blocks.air) { - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"Fairy Soul\",\n" + - " \"category\":\"fairysoul\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"Fairy Soul\",\n" + - " \"category\":\"fairysoul\",\n" + - " \"x\":" + viewingPos.getX() + ",\n" + - " \"y\":" + viewingPos.getY() + ",\n" + - " \"z\":" + viewingPos.getZ() + "\n" + - "}"), - null - ); - } else { - player.addChatMessage(new ChatComponentText("You are not looking at the block below a Fairy Soul")); - } - } else { - player.addChatMessage(new ChatComponentText("You are not looking at anything")); - } - break; - case "item": - BlockPos playerPos = MapUtils.actualToRelative(new BlockPos(player.posX,player.posY,player.posZ), RoomDetection.roomDirection, RoomDetection.roomCorner); - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Item\",\n" + - " \"category\":\"item\",\n" + - " \"x\":" + playerPos.getX() + ",\n" + - " \"y\":" + playerPos.getY() + ",\n" + - " \"z\":" + playerPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Item\",\n" + - " \"category\":\"item\",\n" + - " \"x\":" + playerPos.getX() + ",\n" + - " \"y\":" + playerPos.getY() + ",\n" + - " \"z\":" + playerPos.getZ() + "\n" + - "}"), - null - ); - break; - case "entrance": - BlockPos entrancePos = MapUtils.actualToRelative(new BlockPos(player.posX,player.posY + 1, player.posZ), RoomDetection.roomDirection, RoomDetection.roomCorner); - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Entrance\",\n" + - " \"category\":\"entrance\",\n" + - " \"x\":" + entrancePos.getX() + ",\n" + - " \"y\":" + entrancePos.getY() + ",\n" + - " \"z\":" + entrancePos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Entrance\",\n" + - " \"category\":\"entrance\",\n" + - " \"x\":" + entrancePos.getX() + ",\n" + - " \"y\":" + entrancePos.getY() + ",\n" + - " \"z\":" + entrancePos.getZ() + "\n" + - "}"), - null - ); - break; - case "bat": - BlockPos batPos = MapUtils.actualToRelative(new BlockPos(player.posX,player.posY + 1, player.posZ), RoomDetection.roomDirection, RoomDetection.roomCorner); - player.addChatMessage(new ChatComponentText("{\n" + - " \"secretName\":\"# - Bat\",\n" + - " \"category\":\"bat\",\n" + - " \"x\":" + batPos.getX() + ",\n" + - " \"y\":" + batPos.getY() + ",\n" + - " \"z\":" + batPos.getZ() + "\n" + - "}")); - Toolkit.getDefaultToolkit() - .getSystemClipboard() - .setContents( - new StringSelection("{\n" + - " \"secretName\":\"# - Bat\",\n" + - " \"category\":\"bat\",\n" + - " \"x\":" + batPos.getX() + ",\n" + - " \"y\":" + batPos.getY() + ",\n" + - " \"z\":" + batPos.getZ() + "\n" + - "}"), - null - ); - break; - default: - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Valid options are ")); - break; - } - break; - - default: - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Run \"/room\" by itself to see the room name or run \"/room help\" for additional options")); - } - } - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java deleted file mode 100644 index 6771ebd..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.dungeons.catacombs; - -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.utils.MapUtils; -import io.github.quantizr.dungeonrooms.utils.Utils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Vec3; -import net.minecraftforge.client.event.ClientChatReceivedEvent; -import net.minecraftforge.event.world.WorldEvent; -import net.minecraftforge.fml.common.eventhandler.EventPriority; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent; - -import java.awt.*; -import java.util.ArrayList; -import java.util.Arrays; - -public class DungeonManager { - Minecraft mc = Minecraft.getMinecraft(); - public static int gameStage = 0; //0: Not in Dungeon, 1: Entrance/Not Started, 2: Room Clear, 3: Boss, 4: Done - - public static boolean guiToggled = true; - public static boolean motdToggled = true; - - public static Integer[][] map; - public static Point[] entranceMapCorners; - public static Point entrancePhysicalNWCorner; - - public static int tickAmount = 0; - - long bloodTime = Long.MAX_VALUE; - - boolean oddRun = true; //if current run number is even or odd - - @SubscribeEvent(priority = EventPriority.HIGHEST, receiveCanceled = true) - public void onChat(ClientChatReceivedEvent event) { - if (!Utils.inCatacombs) return; - String message = event.message.getFormattedText(); - - //gameStage set from 0 to 1 in the onTick function later - if (message.startsWith("§e[NPC] §bMort§f: §rHere, I found this map when I first entered the dungeon.§r")) { - gameStage = 2; - DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); - } else if (message.startsWith("§r§c[BOSS] The Watcher§r§f: You have proven yourself. You may pass.§r")) { - bloodTime = System.currentTimeMillis() + 5000; //5 seconds because additional messages might come through - DungeonRooms.logger.info("DungeonRooms: bloodDone has been set to True"); - } else if (System.currentTimeMillis() > bloodTime && ((message.startsWith("§r§c[BOSS] ") && !message.contains(" The Watcher§r§f:")) || message.startsWith("§r§4[BOSS] "))) { - if (gameStage != 3) { - gameStage = 3; - DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); - - //this part mostly so /room json doesn't error out - RoomDetection.resetCurrentRoom(); - RoomDetection.roomName = "Boss Room"; - RoomDetection.roomCategory = "General"; - //RoomDetection.newRoom() //uncomment to display Boss Room in gui - } - } else if (message.contains("§r§c☠ §r§eDefeated §r")) { - gameStage = 4; - DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); - RoomDetection.resetCurrentRoom(); - } - } - - @SubscribeEvent - public void onTick(TickEvent.ClientTickEvent event) { - if (event.phase != TickEvent.Phase.START) return; - EntityPlayerSP player = mc.thePlayer; - - if (!Utils.inCatacombs) return; //From this point forward, everything assumes that Utils.inCatacombs == true - tickAmount++; - - if ((gameStage == 0 || gameStage == 1) && tickAmount % 20 == 0) { - - if (DungeonRooms.firstLogin) { - DungeonRooms.firstLogin = false; - mc.thePlayer.addChatMessage(new ChatComponentText("§d§l--- Dungeon Rooms Mod ---\n" - + "§e This appears to be your first time using DRM v" + DungeonRooms.VERSION + ".\n" - + "§e Press \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[1].getKeyCode()) - +"\" to configure Secret Waypoint settings, If you do not wish to use Waypoints, you can instead press \"" - + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[0].getKeyCode()) - +"\" while inside a dungeon room to view images of the secrets for that room.\n" - + "§r (If you need help, join the Discord! Run \"/room discord\" to open the Discord invite.)\n" - + "§d§l------------------------" - )); - } - - if (gameStage == 0) { - Utils.checkForConflictingHotkeys(); - gameStage = 1; - DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); - } - - Integer[][] map = MapUtils.updatedMap(); - if (map != null) { - DungeonRooms.logger.warn("DungeonRooms: Run started but gameStage is not on 2"); - gameStage = 2; - DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); - return; - } - - if (gameStage == 1 && entrancePhysicalNWCorner == null) { - if (!player.getPositionVector().equals(new Vec3(0.0D,0.0D,0.0D))) { - //this point is calculated using math, not scanning, which may cause issues when reconnecting to a run - entrancePhysicalNWCorner = MapUtils.getClosestNWPhysicalCorner(player.getPositionVector()); - DungeonRooms.logger.info("DungeonRooms: entrancePhysicalNWCorner has been set to " + entrancePhysicalNWCorner); - } - } - - if (DungeonRooms.textToDisplay == null && motdToggled) { - DungeonRooms.logger.info("DungeonRooms: Updating MOTD on screen"); - if (oddRun || !guiToggled) { //load MOTD on odd runs - if (DungeonRooms.motd != null) { - if (!DungeonRooms.motd.isEmpty()) { - DungeonRooms.textToDisplay = DungeonRooms.motd; - } - } - } - if (DungeonRooms.textToDisplay == null && guiToggled) { //if MOTD is empty or not odd run load default text - DungeonRooms.textToDisplay = new ArrayList<>(Arrays.asList( - "Dungeon Rooms: " + EnumChatFormatting.GREEN + "Press the hotkey \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[1].getKeyCode()) +"\" to configure", - EnumChatFormatting.GREEN + " waypoint settings. Alternatively, press \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[0].getKeyCode()) + "\" while in a room", - EnumChatFormatting.GREEN + "to view images of secret locations for that room.", - "(You can change the keybinds in Minecraft controls menu)" - )); - } - oddRun = !oddRun; - } - - tickAmount = 0; - } - } - - @SubscribeEvent - public void onWorldUnload(WorldEvent.Unload event) { - Utils.inCatacombs = false; - tickAmount = 0; - gameStage = 0; - - map = null; - entranceMapCorners = null; - entrancePhysicalNWCorner = null; - RoomDetection.entranceMapNullCount = 0; - - bloodTime = Long.MAX_VALUE; - - if (RoomDetection.stage2Executor != null) RoomDetection.stage2Executor.shutdown(); - - Waypoints.allSecretsMap.clear(); - - RoomDetection.resetCurrentRoom(); - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java deleted file mode 100644 index 20ddb82..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java +++ /dev/null @@ -1,453 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.dungeons.catacombs; - -import com.google.gson.JsonObject; -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.utils.MapUtils; -import io.github.quantizr.dungeonrooms.utils.RoomDetectionUtils; -import io.github.quantizr.dungeonrooms.utils.Utils; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.util.*; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent; - -import java.awt.*; -import java.util.*; -import java.util.List; -import java.util.concurrent.*; - -import static io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager.*; - -public class RoomDetection { - Minecraft mc = Minecraft.getMinecraft(); - static int stage2Ticks = 0; - - static ExecutorService stage2Executor; - - public static List currentMapSegments; - public static List currentPhysicalSegments; - - public static String roomSize = "undefined"; - public static String roomColor = "undefined"; - public static String roomCategory = "undefined"; - public static String roomName = "undefined"; - public static String roomDirection = "undefined"; - public static Point roomCorner; - - - public static HashSet currentScannedBlocks = new HashSet<>(); - public static HashMap blocksToCheck = new HashMap<>(); - public static int totalBlocksAvailableToCheck = 0; - public static List blocksUsed = new ArrayList<>(); - static Future>> futureUpdatePossibleRooms; - public static HashMap> possibleRooms; - - static long incompleteScan = 0; - static long redoScan = 0; - - static int entranceMapNullCount = 0; - - - @SubscribeEvent - public void onTick(TickEvent.ClientTickEvent event) { - if (event.phase != TickEvent.Phase.START) return; - EntityPlayerSP player = mc.thePlayer; - - if (!Utils.inCatacombs) return; - - //From this point forward, everything assumes that Utils.inCatacombs == true - if (gameStage == 2) { //Room clearing phase - stage2Ticks++; - if (stage2Ticks == 10) { - stage2Ticks = 0; - //start ExecutorService with one thread - if (stage2Executor == null || stage2Executor.isTerminated()) { - stage2Executor = Executors.newSingleThreadExecutor(); - DungeonRooms.logger.debug("DungeonRooms: New Single Thread Executor Started"); - } - //set entranceMapCorners - if (entranceMapCorners == null) { - map = MapUtils.updatedMap(); - entranceMapCorners = MapUtils.entranceMapCorners(map); - DungeonRooms.logger.info("DungeonRooms: Getting entrance map corners from hotbar map..."); - } else if (entranceMapCorners[0] == null || entranceMapCorners[1] == null) { //prevent crashes if hotbar map bugged - DungeonRooms.logger.warn("DungeonRooms: Entrance room not found, hotbar map possibly bugged"); - entranceMapNullCount++; - entranceMapCorners = null; //retry getting corners again next loop - if (entranceMapNullCount == 8) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: Error with hotbar map, perhaps your texture pack is interfering with room detection?")); - DungeonRooms.textToDisplay = new ArrayList<>(Collections.singletonList( - "Dungeon Rooms: " + EnumChatFormatting.RED + "Hotbar map may be bugged" - )); - //gameStage = 4; - //DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); - } - } else if (entrancePhysicalNWCorner == null) { - DungeonRooms.logger.warn("DungeonRooms: Entrance Room coordinates not found"); - //for when people dc and reconnect, or if initial check doesn't work - Point playerMarkerPos = MapUtils.playerMarkerPos(); - if (playerMarkerPos != null) { - Point closestNWMapCorner = MapUtils.getClosestNWMapCorner(playerMarkerPos, entranceMapCorners[0], entranceMapCorners[1]); - if (MapUtils.getMapColor(playerMarkerPos, map).equals("green") && MapUtils.getMapColor(closestNWMapCorner, map).equals("green")) { - if (!player.getPositionVector().equals(new Vec3(0.0D, 0.0D, 0.0D))) { - entrancePhysicalNWCorner = MapUtils.getClosestNWPhysicalCorner(player.getPositionVector()); - DungeonRooms.logger.info("DungeonRooms: entrancePhysicalNWCorner has been set to " + entrancePhysicalNWCorner); - } - } else { - DungeonRooms.textToDisplay = new ArrayList<>(Arrays.asList( - "Dungeon Rooms: " + EnumChatFormatting.RED + "Entrance Room coordinates not found", - EnumChatFormatting.RED + "Please go back into the middle of the Green Entrance Room." - )); - } - } - } else { - Point currentPhysicalCorner = MapUtils.getClosestNWPhysicalCorner(player.getPositionVector()); - if (currentPhysicalSegments != null && !currentPhysicalSegments.contains(currentPhysicalCorner)) { - //checks if current location is within the bounds of the last detected room - resetCurrentRoom(); //only instance of resetting room other than leaving Dungeon - } else if (incompleteScan != 0 && System.currentTimeMillis() > incompleteScan) { - incompleteScan = 0; - DungeonRooms.logger.info("DungeonRooms: Rescanning room..."); - raytraceBlocks(); - } else if (redoScan != 0 && System.currentTimeMillis() > redoScan) { - redoScan = 0; - DungeonRooms.logger.info("DungeonRooms: Clearing data and rescanning room..."); - possibleRooms = null; - raytraceBlocks(); - } - - if (currentPhysicalSegments == null || currentMapSegments == null || roomSize.equals("undefined") || roomColor.equals("undefined")) { - updateCurrentRoom(); - if (roomColor.equals("undefined")) { - DungeonRooms.textToDisplay = new ArrayList<>(Collections.singletonList("Dungeon Rooms: " - + EnumChatFormatting.RED + "Waiting for hotbar map to update...")); - } else { - switch (roomColor) { - case "brown": - case "purple": - case "orange": - raytraceBlocks(); - break; - case "yellow": - roomName = "Miniboss Room"; - newRoom(); - break; - case "green": - roomName = "Entrance Room"; - newRoom(); - break; - case "pink": - roomName = "Fairy Room"; - newRoom(); - break; - case "red": - roomName = "Blood Room"; - newRoom(); - break; - default: - roomName = "undefined"; - break; - } - } - } - } - } - - //these run every tick while in room clearing phase - - if (futureUpdatePossibleRooms != null && futureUpdatePossibleRooms.isDone()) { - try { - possibleRooms = futureUpdatePossibleRooms.get(); - futureUpdatePossibleRooms = null; - - TreeSet possibleRoomsSet = new TreeSet<>(); - - String tempDirection = "undefined"; - - for (Map.Entry> entry : possibleRooms.entrySet()) { - List possibleRoomList = entry.getValue(); - if (!possibleRoomList.isEmpty()) tempDirection = entry.getKey(); //get direction to be used if room identified - possibleRoomsSet.addAll(possibleRoomList); - } - - - if (possibleRoomsSet.size() == 0) { //no match - DungeonRooms.textToDisplay = new ArrayList<>(Arrays.asList( - "Dungeon Rooms: " + EnumChatFormatting.RED + "No Matching Rooms Detected", - EnumChatFormatting.RED + "This mod might not have data for this room.", - EnumChatFormatting.WHITE + "Retrying every 5 seconds..." - )); - redoScan = System.currentTimeMillis() + 5000; - - } else if (possibleRoomsSet.size() == 1) { //room found - roomName = possibleRoomsSet.first(); - roomDirection = tempDirection; - roomCorner = MapUtils.getPhysicalCornerPos(roomDirection, currentPhysicalSegments); - DungeonRooms.logger.info("DungeonRooms: 576 raytrace vectors sent, returning " - + currentScannedBlocks.size() + " unique line-of-sight blocks, filtered down to " - + totalBlocksAvailableToCheck + " blocks, out of which " + blocksUsed.size() - + " blocks were used to uniquely identify " + roomName + "."); - newRoom(); - - } else { //too many matches - DungeonRooms.textToDisplay = new ArrayList<>(Arrays.asList( - "Dungeon Rooms: " + EnumChatFormatting.RED + "Unable to Determine Room Name", - EnumChatFormatting.RED + "Not enough valid blocks were scanned, look at a more open area.", - EnumChatFormatting.WHITE + "Retrying every second..." - )); - - DungeonRooms.logger.debug("DungeonRooms: Possible rooms list = " + new ArrayList<>(possibleRoomsSet)); - incompleteScan = System.currentTimeMillis() + 1000; - } - } catch (ExecutionException | InterruptedException e) { - e.printStackTrace(); - } - } - } - } - - - void updateCurrentRoom() { - EntityPlayerSP player = mc.thePlayer; - map = MapUtils.updatedMap(); - if (map == null) return; - Point currentPhysicalCorner = MapUtils.getClosestNWPhysicalCorner(player.getPositionVector()); - Point currentMapCorner = MapUtils.physicalToMapCorner(currentPhysicalCorner, entrancePhysicalNWCorner, entranceMapCorners[0], entranceMapCorners[1]); - roomColor = MapUtils.getMapColor(currentMapCorner, map); - if (roomColor.equals("undefined")) return; - currentMapSegments = MapUtils.neighboringSegments(currentMapCorner, map, entranceMapCorners[0], entranceMapCorners[1], new ArrayList<>()); - currentPhysicalSegments = new ArrayList<>(); - for (Point mapCorner : currentMapSegments) { - currentPhysicalSegments.add(MapUtils.mapToPhysicalCorner(mapCorner, entrancePhysicalNWCorner, entranceMapCorners[0], entranceMapCorners[1])); - } - roomSize = MapUtils.roomSize(currentMapSegments); - roomCategory = MapUtils.roomCategory(roomSize, roomColor); - } - - public static void resetCurrentRoom() { - DungeonRooms.textToDisplay = null; - Waypoints.allFound = false; - - currentPhysicalSegments = null; - currentMapSegments = null; - - roomSize = "undefined"; - roomColor = "undefined"; - roomCategory = "undefined"; - roomName = "undefined"; - roomDirection = "undefined"; - roomCorner = null; - - currentScannedBlocks = new HashSet<>(); - blocksToCheck = new HashMap<>(); - totalBlocksAvailableToCheck = 0; - blocksUsed = new ArrayList<>(); - futureUpdatePossibleRooms = null; - possibleRooms = null; - - incompleteScan = 0; - redoScan = 0; - - Waypoints.secretNum = 0; - } - - public static void newRoom() { - if (!roomName.equals("undefined") && !roomCategory.equals("undefined")) { - //update Waypoints info - if (DungeonRooms.roomsJson.get(roomName) != null) { - Waypoints.secretNum = DungeonRooms.roomsJson.get(roomName).getAsJsonObject().get("secrets").getAsInt(); - Waypoints.allSecretsMap.putIfAbsent(roomName, new ArrayList<>(Collections.nCopies(Waypoints.secretNum, true))); - } else { - Waypoints.secretNum = 0; - Waypoints.allSecretsMap.putIfAbsent(roomName, new ArrayList<>(Collections.nCopies(0, true))); - } - Waypoints.secretsList = Waypoints.allSecretsMap.get(roomName); - - //update GUI text - if (guiToggled) { - List lineList = new ArrayList<>(); - String line = "Dungeon Rooms: You are in " + EnumChatFormatting.GREEN + roomCategory - + EnumChatFormatting.WHITE + " - " + EnumChatFormatting.GREEN + roomName; - - if (DungeonRooms.roomsJson.get(roomName) != null) { - JsonObject roomJson = DungeonRooms.roomsJson.get(roomName).getAsJsonObject(); - if (roomJson.get("fairysoul").getAsBoolean()) { - line = line + EnumChatFormatting.WHITE + " - " + EnumChatFormatting.LIGHT_PURPLE + "Fairy Soul"; - } - lineList.add(line); - - if (Waypoints.enabled && roomJson.get("secrets").getAsInt() != 0 && DungeonRooms.waypointsJson.get(roomName) == null) { - lineList.add(EnumChatFormatting.RED + "No waypoints available"); - lineList.add(EnumChatFormatting.RED + "Press \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[0].getKeyCode()) +"\" to view images"); - } - } - DungeonRooms.textToDisplay = lineList; - } - } - } - - - void raytraceBlocks() { - DungeonRooms.logger.debug("DungeonRooms: Raytracing visible blocks"); - long timeStart = System.currentTimeMillis(); - - EntityPlayerSP player = mc.thePlayer; - - List vecList = RoomDetectionUtils.vectorsToRaytrace(24); //actually creates 24^2 = 576 raytrace vectors - - Vec3 eyes = new Vec3(player.posX, player.posY + (double)player.getEyeHeight(), player.posZ); - - for (Vec3 vec : vecList) { - //The super fancy Minecraft built in raytracing function so that the mod only scan line of sight blocks! - //This is the ONLY place where this mod accesses blocks in the physical map, and they are all within FOV - MovingObjectPosition raytraceResult = player.getEntityWorld().rayTraceBlocks(eyes, vec, false,false, true); - - if (raytraceResult != null && raytraceResult.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { - //the following is filtering out blocks which we don't want for detection, note that these blocks are also line of sight - BlockPos raytracedBlockPos = raytraceResult.getBlockPos(); - if (currentScannedBlocks.contains(raytracedBlockPos)) continue; - currentScannedBlocks.add(raytracedBlockPos); - - if (!currentPhysicalSegments.contains(MapUtils.getClosestNWPhysicalCorner(raytracedBlockPos))) { - continue; //scanned block is outside of current room - } - - if (RoomDetectionUtils.blockPartOfDoorway(raytracedBlockPos)) { - continue; //scanned block may be part of a corridor - } - - IBlockState hitBlock = mc.theWorld.getBlockState(raytracedBlockPos); - int identifier = Block.getIdFromBlock(hitBlock.getBlock()) * 100 + hitBlock.getBlock().damageDropped(hitBlock); - - if (RoomDetectionUtils.whitelistedBlocks.contains(identifier)) { - blocksToCheck.put(raytracedBlockPos, identifier); //will be checked and filtered in getPossibleRooms() - } - } - } - DungeonRooms.logger.debug("DungeonRooms: Finished raytracing, amount of blocks to check = " + blocksToCheck.size()); - long timeFinish = System.currentTimeMillis(); - DungeonRooms.logger.debug("DungeonRooms: Time to raytrace and filter (in ms): " + (timeFinish - timeStart)); - - if (futureUpdatePossibleRooms == null && stage2Executor != null && !stage2Executor.isTerminated()) { //start processing in new thread to avoid lag in case of complex scan - DungeonRooms.logger.debug("DungeonRooms: Initializing Room Comparison Executor"); - futureUpdatePossibleRooms = getPossibleRooms(); - } - } - - Future>> getPossibleRooms() { - return stage2Executor.submit(() -> { - long timeStart = System.currentTimeMillis(); - //load up hashmap - HashMap> updatedPossibleRooms; - List possibleDirections; - if (possibleRooms == null) { - DungeonRooms.logger.debug("DungeonRooms: No previous possible rooms list, creating new list..."); - //no previous scans have been done, entering all possible rooms and directions - possibleDirections = MapUtils.possibleDirections(roomSize, currentMapSegments); - updatedPossibleRooms = new HashMap<>(); - for (String direction : possibleDirections) { - updatedPossibleRooms.put(direction, new ArrayList<>(DungeonRooms.ROOM_DATA.get(roomCategory).keySet())); - } - } else { - //load info from previous scan - DungeonRooms.logger.debug("DungeonRooms: Loading possible rooms from previous room scan..."); - updatedPossibleRooms = possibleRooms; - possibleDirections = new ArrayList<>(possibleRooms.keySet()); - } - - //create HashMap of the points of the corners because they will be repeatedly used for each block - HashMap directionCorners = new HashMap<>(); - for (String direction : possibleDirections) { - directionCorners.put(direction, MapUtils.getPhysicalCornerPos(direction, currentPhysicalSegments)); - } - - DungeonRooms.logger.debug("DungeonRooms: directionCorners " + directionCorners.entrySet()); - - List blocksChecked = new ArrayList<>(); - int doubleCheckedBlocks = 0; - - for (Map.Entry entry : blocksToCheck.entrySet()) { - BlockPos blockPos = entry.getKey(); - DungeonRooms.logger.debug("DungeonRooms: BlockPos being checked " + blockPos); - int combinedMatchingRooms = 0; - - for (String direction : possibleDirections) { - //get specific id for the block to compare with ".skeleton" file room data - BlockPos relative = MapUtils.actualToRelative(blockPos, direction, directionCorners.get(direction)); - long idToCheck = Utils.shortToLong((short) relative.getX(), (short) relative.getY(), - (short) relative.getZ(), entry.getValue().shortValue()); - - List matchingRooms = new ArrayList<>(); - //compare with each saved ".skeleton" room - for (String roomName : updatedPossibleRooms.get(direction)) { - int index = Arrays.binarySearch(DungeonRooms.ROOM_DATA.get(roomCategory).get(roomName), idToCheck); - if (index > -1) { - matchingRooms.add(roomName); - } - } - - //replace updatedPossibleRooms.get(direction) with the updated matchingRooms list - combinedMatchingRooms += matchingRooms.size(); - updatedPossibleRooms.put(direction, matchingRooms); - - DungeonRooms.logger.debug("DungeonRooms: direction checked = " + direction + ", longID = " + idToCheck + ", relative = " + relative); - DungeonRooms.logger.debug("DungeonRooms: updatedPossibleRooms size = " + updatedPossibleRooms.get(direction).size() + " for direction " + direction); - } - blocksChecked.add(blockPos); - - if (combinedMatchingRooms == 0) { - DungeonRooms.logger.warn("DungeonRooms: No rooms match the input blocks after checking " + blocksChecked.size() + " blocks, returning"); - break; - } - if (combinedMatchingRooms == 1) { - //scan 10 more blocks after 1 room remaining to double check - if (doubleCheckedBlocks >= 10) { - DungeonRooms.logger.debug("DungeonRooms: One room matches after checking " + blocksChecked.size() + " blocks"); - break; - } - doubleCheckedBlocks++; - } - - DungeonRooms.logger.debug("DungeonRooms: " + combinedMatchingRooms + " possible rooms after checking " + blocksChecked.size() + " blocks"); - - } - - if (blocksChecked.size() == blocksToCheck.size()) { //only print for this condition bc other conditions break to here - DungeonRooms.logger.warn("DungeonRooms: Multiple rooms match after checking all " + blocksChecked.size() + " blocks"); - } - - blocksUsed.addAll(blocksChecked); - - //add blocksToCheck size to totalBlocksAvailableToCheck and clear blocksToCheck - totalBlocksAvailableToCheck += blocksToCheck.size(); - blocksToCheck = new HashMap<>(); - - long timeFinish = System.currentTimeMillis(); - DungeonRooms.logger.debug("DungeonRooms: Time to check blocks using thread (in ms): " + (timeFinish - timeStart)); - - return updatedPossibleRooms; - }); - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/Waypoints.java b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/Waypoints.java deleted file mode 100644 index 63f7053..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/Waypoints.java +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.dungeons.catacombs; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.events.PacketEvent; -import io.github.quantizr.dungeonrooms.utils.MapUtils; -import io.github.quantizr.dungeonrooms.utils.Utils; -import io.github.quantizr.dungeonrooms.utils.WaypointUtils; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.culling.Frustum; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.network.play.server.S0DPacketCollectItem; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.BlockPos; -import net.minecraft.util.StringUtils; -import net.minecraftforge.client.event.ClientChatReceivedEvent; -import net.minecraftforge.client.event.RenderWorldLastEvent; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.fml.client.FMLClientHandler; -import net.minecraftforge.fml.common.eventhandler.EventPriority; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.InputEvent; - -import java.awt.*; -import java.util.*; -import java.util.List; - -public class Waypoints { - public static boolean enabled = true; - - public static boolean showEntrance = true; - public static boolean showSuperboom = true; - public static boolean showSecrets = true; - public static boolean showFairySouls = true; - public static boolean showStonk = true; - public static boolean sneakToDisable = true; - - public static boolean disableWhenAllFound = true; - public static boolean allFound = false; - - public static boolean showWaypointText = true; - public static boolean showBoundingBox = true; - public static boolean showBeacon = true; - - public static boolean practiceModeOn = false; - - public static int secretNum = 0; - public static int completedSecrets = 0; - - public static Map> allSecretsMap = new HashMap<>(); - public static List secretsList = new ArrayList<>(Arrays.asList(new Boolean[10])); - - static long lastSneakTime = 0; - - Frustum frustum = new Frustum(); - - @SubscribeEvent - public void onWorldRender(RenderWorldLastEvent event) { - if (!enabled) return; - if (practiceModeOn && !DungeonRooms.keyBindings[2].isKeyDown()) return; - String roomName = RoomDetection.roomName; - if (roomName.equals("undefined") || DungeonRooms.roomsJson.get(roomName) == null || secretsList == null) return; - if (DungeonRooms.waypointsJson.get(roomName) != null) { - JsonArray secretsArray = DungeonRooms.waypointsJson.get(roomName).getAsJsonArray(); - int arraySize = secretsArray.size(); - for(int i = 0; i < arraySize; i++) { - JsonObject secretsObject = secretsArray.get(i).getAsJsonObject(); - - boolean display = true; - for(int j = 1; j <= secretNum; j++) { - if (!secretsList.get(j-1)) { - if (secretsObject.get("secretName").getAsString().substring(0,2).replaceAll("[\\D]", "").equals(String.valueOf(j))) { - display = false; - break; - } - } - } - if (!display) continue; - - if (disableWhenAllFound && allFound && !secretsObject.get("category").getAsString().equals("fairysoul")) continue; - - BlockPos relative = new BlockPos(secretsObject.get("x").getAsInt(), secretsObject.get("y").getAsInt(), secretsObject.get("z").getAsInt()); - BlockPos pos = MapUtils.relativeToActual(relative, RoomDetection.roomDirection, RoomDetection.roomCorner); - Entity viewer = Minecraft.getMinecraft().getRenderViewEntity(); - frustum.setPosition(viewer.posX, viewer.posY, viewer.posZ); - if (!frustum.isBoxInFrustum(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1, 255, pos.getZ() + 1)){ - continue; - } - - - Color color; - switch (secretsObject.get("category").getAsString()) { - case "entrance": - if (!showEntrance) continue; - color = new Color(0, 255, 0); - break; - case "superboom": - if (!showSuperboom) continue; - color = new Color(255, 0, 0); - break; - case "chest": - if (!showSecrets) continue; - color = new Color(2, 213, 250); - break; - case "item": - if (!showSecrets) continue; - color = new Color(2, 64, 250); - break; - case "bat": - if (!showSecrets) continue; - color = new Color(142, 66, 0); - break; - case "wither": - if (!showSecrets) continue; - color = new Color(30, 30, 30); - break; - case "lever": - if (!showSecrets) continue; - color = new Color(250, 217, 2); - break; - case "fairysoul": - if (!showFairySouls) continue; - color = new Color(255, 85, 255); - break; - case "stonk": - if (!showStonk) continue; - color = new Color(146, 52, 235); - break; - default: - color = new Color(190, 255, 252); - } - - double viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * event.partialTicks; - double viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * event.partialTicks; - double viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * event.partialTicks; - - double x = pos.getX() - viewerX; - double y = pos.getY() - viewerY; - double z = pos.getZ() - viewerZ; - double distSq = x*x + y*y + z*z; - - GlStateManager.disableDepth(); - GlStateManager.disableCull(); - if (showBoundingBox && frustum.isBoxInFrustum(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1, pos.getY() + 1, pos.getZ() + 1)) { - WaypointUtils.drawFilledBoundingBox(new AxisAlignedBB(x, y, z, x + 1, y + 1, z + 1), color, 0.4f); - } - GlStateManager.disableTexture2D(); - if (showBeacon && distSq > 5*5) WaypointUtils.renderBeaconBeam(x, y + 1, z, color.getRGB(), 0.25f, event.partialTicks); - if (showWaypointText) WaypointUtils.renderWaypointText(secretsObject.get("secretName").getAsString(), pos.up(2), event.partialTicks); - GlStateManager.disableLighting(); - GlStateManager.enableTexture2D(); - GlStateManager.enableDepth(); - GlStateManager.enableCull(); - } - } - } - - - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onChat(ClientChatReceivedEvent event) { - if (!Utils.inCatacombs || !enabled) return; - // Action Bar - if (event.type == 2) { - String[] actionBarSections = event.message.getUnformattedText().split(" {3,}"); - - for (String section : actionBarSections) { - if (section.contains("Secrets") && section.contains("/")) { - String cleanedSection = StringUtils.stripControlCodes(section); - String[] splitSecrets = cleanedSection.split("/"); - - completedSecrets = Integer.parseInt(splitSecrets[0].replaceAll("[^0-9]", "")); - int totalSecrets = Integer.parseInt(splitSecrets[1].replaceAll("[^0-9]", "")); - - allFound = (totalSecrets == secretNum && completedSecrets == secretNum); - break; - } - } - } - } - - @SubscribeEvent - public void onInteract(PlayerInteractEvent event) { - if (!Utils.inCatacombs || !enabled) return; - if (disableWhenAllFound && allFound) return; - - if (event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - Block block = event.world.getBlockState(event.pos).getBlock(); - if (block != Blocks.chest && block != Blocks.skull) return; - String roomName = RoomDetection.roomName; - if (roomName.equals("undefined") || DungeonRooms.roomsJson.get(roomName) == null || secretsList == null) return; - if (DungeonRooms.waypointsJson.get(roomName) != null) { - JsonArray secretsArray = DungeonRooms.waypointsJson.get(roomName).getAsJsonArray(); - int arraySize = secretsArray.size(); - for(int i = 0; i < arraySize; i++) { - JsonObject secretsObject = secretsArray.get(i).getAsJsonObject(); - if (secretsObject.get("category").getAsString().equals("chest") || secretsObject.get("category").getAsString().equals("wither")) { - BlockPos relative = new BlockPos(secretsObject.get("x").getAsInt(), secretsObject.get("y").getAsInt(), secretsObject.get("z").getAsInt()); - BlockPos pos = MapUtils.relativeToActual(relative, RoomDetection.roomDirection, RoomDetection.roomCorner); - - if (pos.equals(event.pos)) { - for(int j = 1; j <= secretNum; j++) { - if (secretsObject.get("secretName").getAsString().substring(0,2).replaceAll("[\\D]", "").equals(String.valueOf(j))) { - Waypoints.secretsList.set(j-1, false); - Waypoints.allSecretsMap.replace(roomName, Waypoints.secretsList); - DungeonRooms.logger.info("DungeonRooms: Detected " + secretsObject.get("category").getAsString() + " click, turning off waypoint for secret #" + j); - break; - } - } - } - } - } - } - } - } - - @SubscribeEvent - public void onReceivePacket(PacketEvent.ReceiveEvent event) { - if (!Utils.inCatacombs || !enabled) return; - if (disableWhenAllFound && allFound) return; - Minecraft mc = Minecraft.getMinecraft(); - - if (event.packet instanceof S0DPacketCollectItem) { - S0DPacketCollectItem packet = (S0DPacketCollectItem) event.packet; - Entity entity = mc.theWorld.getEntityByID(packet.getCollectedItemEntityID()); - if (entity instanceof EntityItem) { - EntityItem item = (EntityItem) entity; - entity = mc.theWorld.getEntityByID(packet.getEntityID()); - if (entity == null) return; - String name = item.getEntityItem().getDisplayName(); - if (name.contains("Decoy") || name.contains("Defuse Kit") || name.contains("Dungeon Chest Key") || - name.contains("Healing VIII") || name.contains("Inflatable Jerry") || name.contains("Spirit Leap") || - name.contains("Training Weights") || name.contains("Trap") || name.contains("Treasure Talisman")) { - if (!entity.getCommandSenderEntity().getName().equals(mc.thePlayer.getName())) { - //Do nothing if someone else picks up the item in order to follow Hypixel rules - return; - } - String roomName = RoomDetection.roomName; - if (roomName.equals("undefined") || DungeonRooms.roomsJson.get(roomName) == null || secretsList == null) return; - if (DungeonRooms.waypointsJson.get(roomName) != null) { - JsonArray secretsArray = DungeonRooms.waypointsJson.get(roomName).getAsJsonArray(); - int arraySize = secretsArray.size(); - for(int i = 0; i < arraySize; i++) { - JsonObject secretsObject = secretsArray.get(i).getAsJsonObject(); - if (secretsObject.get("category").getAsString().equals("item") || secretsObject.get("category").getAsString().equals("bat")) { - BlockPos relative = new BlockPos(secretsObject.get("x").getAsInt(), secretsObject.get("y").getAsInt(), secretsObject.get("z").getAsInt()); - BlockPos pos = MapUtils.relativeToActual(relative, RoomDetection.roomDirection, RoomDetection.roomCorner); - - if (entity.getDistanceSq(pos) <= 36D) { - for(int j = 1; j <= secretNum; j++) { - if (secretsObject.get("secretName").getAsString().substring(0,2).replaceAll("[\\D]", "").equals(String.valueOf(j))) { - if (!Waypoints.secretsList.get(j-1)) continue; - Waypoints.secretsList.set(j-1, false); - Waypoints.allSecretsMap.replace(roomName, Waypoints.secretsList); - DungeonRooms.logger.info("DungeonRooms: " + entity.getCommandSenderEntity().getName() + " picked up " + StringUtils.stripControlCodes(name) + " from a " + secretsObject.get("category").getAsString() + " secret, turning off waypoint for secret #" + j); - return; - } - } - } - } - } - } - } - } - } - } - - - //Disable waypoint within 4 blocks away on sneak - @SubscribeEvent - public void onKey(InputEvent.KeyInputEvent event) { - if (!Utils.inCatacombs || !enabled || !sneakToDisable) return; - EntityPlayerSP player = Minecraft.getMinecraft().thePlayer; - if (FMLClientHandler.instance().getClient().gameSettings.keyBindSneak.isPressed()) { - if (System.currentTimeMillis() - lastSneakTime < 500) { //check for two taps in under half a second - String roomName = RoomDetection.roomName; - if (roomName.equals("undefined") || DungeonRooms.roomsJson.get(roomName) == null || secretsList == null) return; - if (DungeonRooms.waypointsJson.get(roomName) != null) { - JsonArray secretsArray = DungeonRooms.waypointsJson.get(roomName).getAsJsonArray(); - int arraySize = secretsArray.size(); - for(int i = 0; i < arraySize; i++) { - JsonObject secretsObject = secretsArray.get(i).getAsJsonObject(); - if (secretsObject.get("category").getAsString().equals("chest") || secretsObject.get("category").getAsString().equals("wither") - || secretsObject.get("category").getAsString().equals("item") || secretsObject.get("category").getAsString().equals("bat")) { - BlockPos relative = new BlockPos(secretsObject.get("x").getAsInt(), secretsObject.get("y").getAsInt(), secretsObject.get("z").getAsInt()); - BlockPos pos = MapUtils.relativeToActual(relative, RoomDetection.roomDirection, RoomDetection.roomCorner); - - if (player.getDistanceSq(pos) <= 16D) { - for(int j = 1; j <= secretNum; j++) { - if (secretsObject.get("secretName").getAsString().substring(0,2).replaceAll("[\\D]", "").equals(String.valueOf(j))) { - if (!Waypoints.secretsList.get(j-1)) continue; - Waypoints.secretsList.set(j-1, false); - Waypoints.allSecretsMap.replace(roomName, Waypoints.secretsList); - DungeonRooms.logger.info("DungeonRooms: Player sneaked near " + secretsObject.get("category").getAsString() + " secret, turning off waypoint for secret #" + j); - return; - } - } - } - } - } - } - } - lastSneakTime = System.currentTimeMillis(); - } - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/gui/LinkGUI.java b/src/main/java/io/github/quantizr/dungeonrooms/gui/LinkGUI.java deleted file mode 100644 index 5477752..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/gui/LinkGUI.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.gui; - -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; -import io.github.quantizr.dungeonrooms.handlers.OpenLink; -import io.github.quantizr.dungeonrooms.handlers.TextRenderer; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.event.ClickEvent; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; - - -public class LinkGUI extends GuiScreen { - - private GuiButton discordClient; - private GuiButton discordBrowser; - private GuiButton SBPSecrets; - private GuiButton close; - - @Override - public boolean doesGuiPauseGame() { - return false; - } - - @Override - public void initGui() { - super.initGui(); - - ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); - int height = sr.getScaledHeight(); - int width = sr.getScaledWidth(); - - discordClient = new GuiButton(0, width / 2 - 185, height / 6 + 96, 120, 20, "DSG Discord Client"); - discordBrowser = new GuiButton(1, width / 2 - 60, height / 6 + 96, 120, 20, "DSG Discord Browser"); - SBPSecrets = new GuiButton(2, width / 2 + 65, height / 6 + 96, 120, 20, "SBP Secrets Mod"); - close = new GuiButton(3, width / 2 - 60, height / 6 + 136, 120, 20, "Close"); - - this.buttonList.add(discordClient); - this.buttonList.add(discordBrowser); - this.buttonList.add(SBPSecrets); - this.buttonList.add(close); - } - - @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) { - this.drawDefaultBackground(); - Minecraft mc = Minecraft.getMinecraft(); - - String displayText; - if (RoomDetection.roomName.equals("undefined")) { - displayText = "Where would you like to view secrets for: " + EnumChatFormatting.RED + "undefined"; - } else { - displayText = "Where would you like to view secrets for: " + EnumChatFormatting.GREEN + RoomDetection.roomName; - } - int displayWidth = mc.fontRendererObj.getStringWidth(displayText); - TextRenderer.drawText(mc, displayText, width / 2 - displayWidth / 2, height / 6 + 56, 1D, false); - - String noteText = EnumChatFormatting.GRAY + "If you wish to have the hotkey go directly to DSG or SBP instead of this GUI run " - + EnumChatFormatting.WHITE + "/room set "; - int noteWidth = mc.fontRendererObj.getStringWidth(noteText); - TextRenderer.drawText(mc, noteText, width / 2 - noteWidth / 2, (int) (height*0.9), 1D, false); - - super.drawScreen(mouseX, mouseY, partialTicks); - } - - @Override - public void actionPerformed(GuiButton button) { - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - if (button == discordClient) { - OpenLink.openDiscord("client"); - player.closeScreen(); - } else if (button == discordBrowser) { - OpenLink.openDiscord("browser"); - player.closeScreen(); - } else if (button == SBPSecrets) { - if (DungeonRooms.usingSBPSecrets) { - OpenLink.openSBPSecrets(); - } else { - String sbpURL = "https://discord.gg/2UjaFqfPwJ"; - ChatComponentText sbp = new ChatComponentText(EnumChatFormatting.YELLOW + "" + EnumChatFormatting.UNDERLINE + sbpURL); - sbp.setChatStyle(sbp.getChatStyle().setChatClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sbpURL))); - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: You need theSkyblock Personalized (SBP) Mod for this feature, get it from ").appendSibling(sbp)); - } - player.closeScreen(); - } else if (button == close) { - player.closeScreen(); - } - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/gui/WaypointsGUI.java b/src/main/java/io/github/quantizr/dungeonrooms/gui/WaypointsGUI.java deleted file mode 100644 index fb7343d..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/gui/WaypointsGUI.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.gui; - -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.Waypoints; -import io.github.quantizr.dungeonrooms.handlers.ConfigHandler; -import io.github.quantizr.dungeonrooms.handlers.TextRenderer; -import io.github.quantizr.dungeonrooms.utils.Utils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class WaypointsGUI extends GuiScreen { - - private GuiButton waypointsEnabled; - private GuiButton practiceModeEnabled; - private GuiButton showEntrance; - private GuiButton showSuperboom; - private GuiButton showSecrets; - private GuiButton showFairySouls; - private GuiButton showStonk; - private GuiButton disableWhenAllFound; - private GuiButton sneakToDisable; - private GuiButton close; - - public static List secretButtonList = new ArrayList<>(Arrays.asList(new GuiButton[10])); - - private static boolean waypointGuiOpened = false; - - @Override - public boolean doesGuiPauseGame() { - return false; - } - - @Override - public void initGui() { - super.initGui(); - waypointGuiOpened = true; - - ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); - int height = sr.getScaledHeight(); - int width = sr.getScaledWidth(); - - waypointsEnabled = new GuiButton(0, (width / 2 - 100) + 0, height / 6 - 5, 200, 20, waypointBtnText()); - practiceModeEnabled = new GuiButton(1, (width / 2 - 100) - 110, height / 6 + 25, 200, 20, "Practice Mode: " + getOnOff(Waypoints.practiceModeOn)); - showEntrance = new GuiButton(2, (width / 2 - 100) + 110, height / 6 + 25, 200, 20, "Show Entrance Waypoints: " + getOnOff(Waypoints.showEntrance)); - showSuperboom = new GuiButton(3, (width / 2 - 100) - 110, height / 6 + 55, 200, 20, "Show Superboom Waypoints: " + getOnOff(Waypoints.showSuperboom)); - showSecrets = new GuiButton(4, (width / 2 - 100) + 110, height / 6 + 55, 200, 20, "Show Secret Waypoints: " + getOnOff(Waypoints.showSecrets)); - showFairySouls = new GuiButton(5, (width / 2 - 100) - 110, height / 6 + 85, 200, 20, "Show Fairy Soul Waypoints: " + getOnOff(Waypoints.showFairySouls)); - showStonk = new GuiButton(6, (width / 2 - 100) + 110, height / 6 + 85, 200, 20, "Show Stonk Waypoints: " + getOnOff(Waypoints.showStonk)); - sneakToDisable = new GuiButton(7, (width / 2 - 100) - 110, height / 6 + 115, 200, 20, "Double-Tap Sneak to Hide Nearby: " + getOnOff(Waypoints.sneakToDisable)); - disableWhenAllFound = new GuiButton(8, (width / 2 - 100) + 110, height / 6 + 115, 200, 20, "Disable when all secrets found: " + getOnOff(Waypoints.disableWhenAllFound)); - close = new GuiButton(9, width / 2 - 100, (height / 6) * 5, 200, 20, "Close"); - - this.buttonList.add(waypointsEnabled); - this.buttonList.add(practiceModeEnabled); - this.buttonList.add(showEntrance); - this.buttonList.add(showSuperboom); - this.buttonList.add(showSecrets); - this.buttonList.add(showFairySouls); - this.buttonList.add(showStonk); - this.buttonList.add(sneakToDisable); - this.buttonList.add(disableWhenAllFound); - this.buttonList.add(close); - - if (Utils.inCatacombs) { - if (Waypoints.secretNum > 0) { - if (Waypoints.secretNum <= 5) { - for (int i = 1; i <= Waypoints.secretNum; i++) { - int adjustPos = (-40 * (Waypoints.secretNum)) - 70 + (80 * i); - secretButtonList.set(i - 1, new GuiButton(10 + i, (width / 2) + adjustPos, height / 6 + 170, 60, 20, i + ": " + getOnOff(Waypoints.secretsList.get(i - 1)))); - this.buttonList.add(secretButtonList.get(i - 1)); - } - } else { - for (int i = 1; i <= (int) Math.ceil((double) Waypoints.secretNum / 2); i++) { - int adjustPos = (-40 * ((int) Math.ceil((double) Waypoints.secretNum / 2))) - 70 + (80 * i); - secretButtonList.set(i - 1, new GuiButton(10 + i, (width / 2) + adjustPos, height / 6 + 170, 60, 20, i + ": " + getOnOff(Waypoints.secretsList.get(i - 1)))); - this.buttonList.add(secretButtonList.get(i - 1)); - } - for (int i = (int) Math.ceil((double) Waypoints.secretNum / 2) + 1; i <= Waypoints.secretNum; i++) { - int adjustPos = (-40 * (Waypoints.secretNum - (int) Math.ceil((double) Waypoints.secretNum / 2))) - 70 + (80 * (i-(int) Math.ceil((double) Waypoints.secretNum / 2))); - secretButtonList.set(i - 1, new GuiButton(10 + i, (width / 2) + adjustPos, height / 6 + 200, 60, 20, i + ": " + getOnOff(Waypoints.secretsList.get(i - 1)))); - this.buttonList.add(secretButtonList.get(i - 1)); - } - } - } - } - } - - @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) { - this.drawDefaultBackground(); - Minecraft mc = Minecraft.getMinecraft(); - - String text1 = "§lDungeon Room Waypoints:"; - int text1Width = mc.fontRendererObj.getStringWidth(text1); - TextRenderer.drawText(mc, text1, width / 2 - text1Width / 2, height / 6 - 25, 1D, false); - - String text2 = "(Use at your own risk)"; - int text2Width = mc.fontRendererObj.getStringWidth(text2); - TextRenderer.drawText(mc, EnumChatFormatting.GRAY + text2, width / 2 - text2Width / 2, height / 6 - 15, 1D, false); - - String text3 = "Toggle Room Specific Waypoints:"; - int text3Width = mc.fontRendererObj.getStringWidth(text3); - TextRenderer.drawText(mc, text3, width / 2 - text3Width / 2, height / 6 + 140, 1D, false); - - String text4 = "(You can also press the # key matching the secret instead)"; - int text4Width = mc.fontRendererObj.getStringWidth(text4); - TextRenderer.drawText(mc, EnumChatFormatting.GRAY + text4, width / 2 - text4Width / 2, height / 6 + 150, 1D, false); - - - if (!Utils.inCatacombs) { - String errorText = "Not in dungeons"; - int errorTextWidth = mc.fontRendererObj.getStringWidth(errorText); - TextRenderer.drawText(mc, EnumChatFormatting.RED + errorText, width / 2 - errorTextWidth / 2, height / 6 + 170, 1D, false); - } else if (Waypoints.secretNum == 0) { - String errorText = "No secrets in this room"; - int errorTextWidth = mc.fontRendererObj.getStringWidth(errorText); - TextRenderer.drawText(mc, EnumChatFormatting.RED + errorText, width / 2 - errorTextWidth / 2, height / 6 + 170, 1D, false); - } - - super.drawScreen(mouseX, mouseY, partialTicks); - } - - @Override - public void actionPerformed(GuiButton button) { - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - if (button == waypointsEnabled) { - Waypoints.enabled = !Waypoints.enabled; - ConfigHandler.writeBooleanConfig("toggles", "waypointsToggled", Waypoints.enabled); - waypointsEnabled.displayString = waypointBtnText(); - if (Waypoints.enabled) { - player.addChatMessage(new ChatComponentText("§eDungeon Rooms: Waypoints will now automatically show up when you enter a new dungeon room.")); - } - } else if (button == practiceModeEnabled) { - Waypoints.practiceModeOn = !Waypoints.practiceModeOn; - ConfigHandler.writeBooleanConfig("waypoint", "practiceModeOn", Waypoints.practiceModeOn); - practiceModeEnabled.displayString = "Practice Mode: " + getOnOff(Waypoints.practiceModeOn); - if (Waypoints.practiceModeOn) { - player.addChatMessage(new ChatComponentText("§eDungeon Rooms: Practice Mode has been enabled.\n" - + "§e Waypoints will ONLY show up while you are pressing \"" + GameSettings.getKeyDisplayString(DungeonRooms.keyBindings[2].getKeyCode()) + "\".\n" - + "§r (Hotkey is configurable in Minecraft Controls menu)" - )); - } - } else if (button == showEntrance) { - Waypoints.showEntrance = !Waypoints.showEntrance; - ConfigHandler.writeBooleanConfig("waypoint", "showEntrance", Waypoints.showEntrance); - showEntrance.displayString = "Show Entrance Waypoints: " + getOnOff(Waypoints.showEntrance); - } else if (button == showSuperboom) { - Waypoints.showSuperboom = !Waypoints.showSuperboom; - ConfigHandler.writeBooleanConfig("waypoint", "showSuperboom", Waypoints.showSuperboom); - showSuperboom.displayString = "Show Superboom Waypoints: " + getOnOff(Waypoints.showSuperboom); - } else if (button == showSecrets) { - Waypoints.showSecrets = !Waypoints.showSecrets; - ConfigHandler.writeBooleanConfig("waypoint", "showSecrets", Waypoints.showSecrets); - showSecrets.displayString = "Show Secret Waypoints: " + getOnOff(Waypoints.showSecrets); - } else if (button == showFairySouls) { - Waypoints.showFairySouls = !Waypoints.showFairySouls; - ConfigHandler.writeBooleanConfig("waypoint", "showFairySouls", Waypoints.showFairySouls); - showFairySouls.displayString = "Show Fairy Soul Waypoints: " + getOnOff(Waypoints.showFairySouls); - } else if (button == showStonk) { - Waypoints.showStonk = !Waypoints.showStonk; - ConfigHandler.writeBooleanConfig("waypoint", "showStonk", Waypoints.showStonk); - showStonk.displayString = "Show Stonk Waypoints: " + getOnOff(Waypoints.showStonk); - } else if (button == sneakToDisable) { - Waypoints.sneakToDisable = !Waypoints.sneakToDisable; - ConfigHandler.writeBooleanConfig("waypoint", "sneakToDisable", Waypoints.sneakToDisable); - sneakToDisable.displayString = "Double-Tap Sneak to Hide Nearby: " + getOnOff(Waypoints.sneakToDisable); - } else if (button == disableWhenAllFound) { - Waypoints.disableWhenAllFound = !Waypoints.disableWhenAllFound; - ConfigHandler.writeBooleanConfig("waypoint", "disableWhenAllFound", Waypoints.disableWhenAllFound); - disableWhenAllFound.displayString = "Disable when all secrets found: " + getOnOff(Waypoints.disableWhenAllFound); - } - else if (button == close) { - player.closeScreen(); - } - - if (Utils.inCatacombs) { - if (Waypoints.secretNum > 0) { - for (int i = 1; i <= Waypoints.secretNum; i++) { - if (button == secretButtonList.get(i-1)) { - Waypoints.secretsList.set(i-1, !Waypoints.secretsList.get(i-1)); - if (!RoomDetection.roomName.equals("undefined")) { - Waypoints.allSecretsMap.replace(RoomDetection.roomName, Waypoints.secretsList); - } - secretButtonList.get(i-1).displayString = i + ": " + getOnOff(Waypoints.secretsList.get(i - 1)); - break; - } - } - } - } - } - - @Override - public void onGuiClosed() { - waypointGuiOpened = false; - } - - @Override - protected void keyTyped(char c, int keyCode) throws IOException - { - super.keyTyped(c, keyCode); - - if (waypointGuiOpened && Utils.inCatacombs) { - if (Waypoints.secretNum > 0) { - for (int i = 1; i <= Waypoints.secretNum; i++) { - if (keyCode-1 == i) { - Waypoints.secretsList.set(i - 1, !Waypoints.secretsList.get(i - 1)); - if (!RoomDetection.roomName.equals("undefined")) { - Waypoints.allSecretsMap.replace(RoomDetection.roomName, Waypoints.secretsList); - } - secretButtonList.get(i - 1).displayString = i + ": " + getOnOff(Waypoints.secretsList.get(i - 1)); - break; - } - } - } - } - } - - private static String waypointBtnText() { - if (Waypoints.enabled){ - return EnumChatFormatting.GREEN + "§lWaypoints Enabled"; - } else { - return EnumChatFormatting.RED + "§lWaypoints Disabled"; - } - } - - private static String getOnOff(boolean bool) { - if (bool){ - return EnumChatFormatting.GREEN + "On"; - } else { - return EnumChatFormatting.RED + "Off"; - } - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/handlers/ConfigHandler.java b/src/main/java/io/github/quantizr/dungeonrooms/handlers/ConfigHandler.java deleted file mode 100644 index ceb7c4e..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/handlers/ConfigHandler.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.handlers; - -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.Waypoints; -import net.minecraftforge.common.config.ConfigCategory; -import net.minecraftforge.common.config.Configuration; - -import java.io.File; - -public class ConfigHandler { - public static Configuration config; - private final static String file = "config/DungeonRooms.cfg"; - - public static void init() { - config = new Configuration(new File(file)); - try { - config.load(); - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - } - - public static int getInt(String category, String key) { - config = new Configuration(new File(file)); - try { - config.load(); - if (config.getCategory(category).containsKey(key)) { - return config.get(category, key, 0).getInt(); - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - return 0; - } - - public static double getDouble(String category, String key) { - config = new Configuration(new File(file)); - try { - config.load(); - if (config.getCategory(category).containsKey(key)) { - return config.get(category, key, 0D).getDouble(); - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - return 0D; - } - - public static String getString(String category, String key) { - config = new Configuration(new File(file)); - try { - config.load(); - if (config.getCategory(category).containsKey(key)) { - return config.get(category, key, "").getString(); - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - return ""; - } - - public static boolean getBoolean(String category, String key) { - config = new Configuration(new File(file)); - try { - config.load(); - if (config.getCategory(category).containsKey(key)) { - return config.get(category, key, false).getBoolean(); - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - return true; - } - - public static void writeIntConfig(String category, String key, int value) { - config = new Configuration(new File(file)); - try { - config.load(); - int set = config.get(category, key, value).getInt(); - config.getCategory(category).get(key).set(value); - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - } - - public static void writeDoubleConfig(String category, String key, double value) { - config = new Configuration(new File(file)); - try { - config.load(); - double set = config.get(category, key, value).getDouble(); - config.getCategory(category).get(key).set(value); - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - } - - public static void writeStringConfig(String category, String key, String value) { - config = new Configuration(new File(file)); - try { - config.load(); - String set = config.get(category, key, value).getString(); - config.getCategory(category).get(key).set(value); - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - } - - public static void writeBooleanConfig(String category, String key, boolean value) { - config = new Configuration(new File(file)); - try { - config.load(); - boolean set = config.get(category, key, value).getBoolean(); - config.getCategory(category).get(key).set(value); - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - } - - public static boolean hasKey(String category, String key) { - config = new Configuration(new File(file)); - try { - config.load(); - if (!config.hasCategory(category)) return false; - return config.getCategory(category).containsKey(key); - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - return false; - } - - public static void deleteCategory(String category) { - config = new Configuration(new File(file)); - try { - config.load(); - if (config.hasCategory(category)) { - config.removeCategory(new ConfigCategory(category)); - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - config.save(); - } - } - - public static void reloadConfig() { - if (!hasKey("toggles", "guiToggled")) writeBooleanConfig("toggles", "guiToggled", true); - if (!hasKey("toggles", "motdToggled")) writeBooleanConfig("toggles", "motdToggled", true); - if (!hasKey("toggles", "waypointsToggled")) writeBooleanConfig("toggles", "waypointsToggled", true); - - if (!hasKey("waypoint", "showEntrance")) writeBooleanConfig("waypoint", "showEntrance", true); - if (!hasKey("waypoint", "showSuperboom")) writeBooleanConfig("waypoint", "showSuperboom", true); - if (!hasKey("waypoint", "showSecrets")) writeBooleanConfig("waypoint", "showSecrets", true); - if (!hasKey("waypoint", "showFairySouls")) writeBooleanConfig("waypoint", "showFairySouls", true); - if (!hasKey("waypoint", "showStonk")) writeBooleanConfig("waypoint", "showStonk", true); - if (!hasKey("waypoint", "sneakToDisable")) writeBooleanConfig("waypoint", "sneakToDisable", true); - if (!hasKey("waypoint", "disableWhenAllFound")) writeBooleanConfig("waypoint", "disableWhenAllFound", true); - - if (!hasKey("waypoint", "showWaypointText")) writeBooleanConfig("waypoint", "showWaypointText", true); - if (!hasKey("waypoint", "showBoundingBox")) writeBooleanConfig("waypoint", "showBoundingBox", true); - if (!hasKey("waypoint", "showBeacon")) writeBooleanConfig("waypoint", "showBeacon", true); - - if (!hasKey("waypoint", "practiceModeOn")) writeBooleanConfig("waypoint", "practiceModeOn", false); - - if (!hasKey("gui", "scaleX")) writeIntConfig("gui", "scaleX", 50); - if (!hasKey("gui", "scaleY")) writeIntConfig("gui", "scaleY", 5); - if (!hasKey("gui", "hotkeyOpen")) writeStringConfig("gui", "hotkeyOpen", "gui"); - - //run special messages on first login - if (!hasKey("drm", "version")) { - writeStringConfig("drm", "version", DungeonRooms.VERSION); - DungeonRooms.firstLogin = true; - //writeBooleanConfig("toggles", "waypointsToggled", false); - } else if (!getString("drm", "version").equals(DungeonRooms.VERSION)) { - writeStringConfig("drm", "version", DungeonRooms.VERSION); - /* //uncomment if major update in future requires firstLogin prompt to be displayed again - DungeonRooms.firstLogin = true; - writeBooleanConfig("toggles", "waypointsToggled", false); - */ - } - - //AutoRoom.chatToggled = getBoolean("toggles", "chatToggled"); - DungeonManager.guiToggled = getBoolean("toggles", "guiToggled"); - DungeonManager.motdToggled = getBoolean("toggles", "motdToggled"); - //AutoRoom.coordToggled = getBoolean("toggles", "coordToggled"); - Waypoints.enabled = getBoolean("toggles", "waypointsToggled"); - - Waypoints.showEntrance = getBoolean("waypoint", "showEntrance"); - Waypoints.showSuperboom = getBoolean("waypoint", "showSuperboom"); - Waypoints.showSecrets = getBoolean("waypoint", "showSecrets"); - Waypoints.showFairySouls = getBoolean("waypoint", "showFairySouls"); - Waypoints.showStonk = getBoolean("waypoint", "showStonk"); - Waypoints.sneakToDisable = getBoolean("waypoint", "sneakToDisable"); - Waypoints.disableWhenAllFound = getBoolean("waypoint", "disableWhenAllFound"); - - Waypoints.showWaypointText = getBoolean("waypoint", "showWaypointText"); - Waypoints.showBoundingBox = getBoolean("waypoint", "showBoundingBox"); - Waypoints.showBeacon = getBoolean("waypoint", "showBeacon"); - - Waypoints.practiceModeOn = getBoolean("waypoint", "practiceModeOn"); - - DungeonRooms.textLocX = getInt("gui", "scaleX"); - DungeonRooms.textLocY = getInt("gui", "scaleY"); - DungeonRooms.imageHotkeyOpen = getString("gui", "hotkeyOpen"); - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java b/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java deleted file mode 100644 index d14a8e8..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.handlers; - -import com.google.gson.JsonObject; -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; -import io.github.quantizr.dungeonrooms.gui.LinkGUI; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.event.ClickEvent; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.client.ClientCommandHandler; -import net.minecraftforge.fml.client.FMLClientHandler; - -import java.awt.*; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -public class OpenLink { - - public static void checkForLink(String type){ - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayerSP player = mc.thePlayer; - - if (RoomDetection.roomName.equals("undefined") || DungeonRooms.roomsJson.get(RoomDetection.roomName) == null) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: You do not appear to be in a detected Dungeon room right now.")); - return; - } - - JsonObject roomJson = DungeonRooms.roomsJson.get(RoomDetection.roomName).getAsJsonObject(); - if (roomJson.get("dsg").getAsString().equals("null") && roomJson.get("sbp") == null) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: There are no channels/images for this room.")); - return; - } - - switch (type) { - case "gui": - mc.addScheduledTask(() -> mc.displayGuiScreen(new LinkGUI())); - break; - case "dsg": - OpenLink.openDiscord("client"); - break; - case "sbp": - if (DungeonRooms.usingSBPSecrets) { - OpenLink.openSBPSecrets(); - } else { - String sbpURL = "https://discord.gg/2UjaFqfPwJ"; - ChatComponentText sbp = new ChatComponentText(EnumChatFormatting.YELLOW + "" + EnumChatFormatting.UNDERLINE + sbpURL); - sbp.setChatStyle(sbp.getChatStyle().setChatClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sbpURL))); - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: You need the SkyblockPersonalized (SBP) Mod for this feature, get it from ").appendSibling(sbp)); - } - break; - } - - } - - public static void openDiscord(String type) { - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayerSP player = mc.thePlayer; - - if (RoomDetection.roomName.equals("undefined") || DungeonRooms.roomsJson.get(RoomDetection.roomName) == null) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: You do not appear to be in a detected Dungeon room right now.")); - return; - } - - JsonObject roomJson = DungeonRooms.roomsJson.get(RoomDetection.roomName).getAsJsonObject(); - if (roomJson.get("dsg").getAsString().equals("null")) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: There is no DSG channel for this room.")); - return; - } - try { - if (type.equals("client")){ - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Opening DSG Discord in Client...")); - Desktop.getDesktop().browse(new URI("discord://" + roomJson.get("dsg").getAsString())); - } else { - player.addChatMessage(new ChatComponentText("Dungeon Rooms: Opening DSG Discord in Browser...")); - Desktop.getDesktop().browse(new URI("https://discord.com" + roomJson.get("dsg").getAsString())); - } - } catch (IOException | URISyntaxException e) { - e.printStackTrace(); - } - } - - public static void openSBPSecrets() { - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayerSP player = mc.thePlayer; - - if (RoomDetection.roomName.equals("undefined") || DungeonRooms.roomsJson.get(RoomDetection.roomName) == null) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: You do not appear to be in a detected Dungeon room right now.")); - return; - } - - JsonObject roomJson = DungeonRooms.roomsJson.get(RoomDetection.roomName).getAsJsonObject(); - if (roomJson.get("sbp") == null) { - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED - + "Dungeon Rooms: There are no SBP images for this room.")); - return; - } - String name = roomJson.get("sbp").getAsString(); - - String category = roomJson.get("category").getAsString(); - switch (category) { - case "Puzzle": - case "Trap": - category = "puzzles"; - break; - case "L-shape": - category = "L"; - break; - } - ClientCommandHandler.instance.executeCommand(FMLClientHandler.instance().getClientPlayerEntity(), "/secretoverride " + category + " " + name); - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/handlers/PacketHandler.java b/src/main/java/io/github/quantizr/dungeonrooms/handlers/PacketHandler.java deleted file mode 100644 index d91df16..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/handlers/PacketHandler.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.handlers; - -import io.github.quantizr.dungeonrooms.events.PacketEvent; -import io.netty.channel.ChannelDuplexHandler; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.ChannelPromise; -import net.minecraft.network.Packet; -import net.minecraftforge.common.MinecraftForge; - -public class PacketHandler extends ChannelDuplexHandler { - - @Override - public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { - if (msg instanceof Packet) MinecraftForge.EVENT_BUS.post(new PacketEvent.ReceiveEvent((Packet) msg)); - super.channelRead(ctx, msg); - } - - @Override - public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { - if (msg instanceof Packet) MinecraftForge.EVENT_BUS.post(new PacketEvent.SendEvent((Packet) msg)); - super.write(ctx, msg, promise); - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/handlers/ScoreboardHandler.java b/src/main/java/io/github/quantizr/dungeonrooms/handlers/ScoreboardHandler.java deleted file mode 100644 index 9d5764c..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/handlers/ScoreboardHandler.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.handlers; - -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import net.minecraft.client.Minecraft; -import net.minecraft.scoreboard.Score; -import net.minecraft.scoreboard.ScoreObjective; -import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.scoreboard.Scoreboard; -import net.minecraft.util.StringUtils; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.stream.Collectors; - -public class ScoreboardHandler { - public static String cleanSB(String scoreboard) { - char[] nvString = StringUtils.stripControlCodes(scoreboard).toCharArray(); - StringBuilder cleaned = new StringBuilder(); - - for (char c : nvString) { - if ((int) c > 20 && (int) c < 127) { - cleaned.append(c); - } - } - - return cleaned.toString(); - } - - public static List getSidebarLines() { - List lines = new ArrayList<>(); - if (Minecraft.getMinecraft().theWorld == null) return lines; - Scoreboard scoreboard = Minecraft.getMinecraft().theWorld.getScoreboard(); - if (scoreboard == null) return lines; - - ScoreObjective objective = scoreboard.getObjectiveInDisplaySlot(1); - if (objective == null) return lines; - - Collection scores = scoreboard.getSortedScores(objective); - List list = scores.stream() - .filter(input -> input != null && input.getPlayerName() != null && !input.getPlayerName() - .startsWith("#")) - .collect(Collectors.toList()); - - if (list.size() > 15) { - scores = Lists.newArrayList(Iterables.skip(list, scores.size() - 15)); - } else { - scores = list; - } - - for (Score score : scores) { - ScorePlayerTeam team = scoreboard.getPlayersTeam(score.getPlayerName()); - lines.add(ScorePlayerTeam.formatPlayerName(team, score.getPlayerName())); - } - - return lines; - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/handlers/TextRenderer.java b/src/main/java/io/github/quantizr/dungeonrooms/handlers/TextRenderer.java deleted file mode 100644 index 93d8b5f..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/handlers/TextRenderer.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.handlers; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.util.StringUtils; - -public class TextRenderer extends Gui { - public static void drawText(Minecraft mc, String text, int x, int y, double scale, boolean outline) { - GlStateManager.pushMatrix(); - GlStateManager.scale(scale, scale, scale); - y -= mc.fontRendererObj.FONT_HEIGHT; - for (String line : text.split("\n")) { - y += mc.fontRendererObj.FONT_HEIGHT * scale; - if (outline) { - String noColourLine = StringUtils.stripControlCodes(line); - mc.fontRendererObj.drawString(noColourLine, (int) Math.round(x / scale) - 1, (int) Math.round(y / scale), 0x000000, false); - mc.fontRendererObj.drawString(noColourLine, (int) Math.round(x / scale) + 1, (int) Math.round(y / scale), 0x000000, false); - mc.fontRendererObj.drawString(noColourLine, (int) Math.round(x / scale), (int) Math.round(y / scale) - 1, 0x000000, false); - mc.fontRendererObj.drawString(noColourLine, (int) Math.round(x / scale), (int) Math.round(y / scale) + 1, 0x000000, false); - mc.fontRendererObj.drawString(line, (int) Math.round(x / scale), (int) Math.round(y / scale), 0xFFFFFF, false); - } else { - mc.fontRendererObj.drawString(line, (int) Math.round(x / scale), (int) Math.round(y / scale), 0xFFFFFF, true); - } - } - GlStateManager.popMatrix(); - GlStateManager.color(1, 1, 1, 1); - } -} - diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java deleted file mode 100644 index 2855b08..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java +++ /dev/null @@ -1,451 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.utils; - -import net.minecraft.block.material.MapColor; -import net.minecraft.client.Minecraft; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockPos; -import net.minecraft.util.Vec3; -import net.minecraft.util.Vec4b; -import net.minecraft.world.storage.MapData; - -import java.awt.*; -import java.util.*; -import java.util.List; - -public class MapUtils { - - /** - * Checks whether the Skyblock Dungeon Map is in the player's hotbar - * @return whether the map exists - */ - public static boolean mapExists() { - Minecraft mc = Minecraft.getMinecraft(); - ItemStack mapSlot = mc.thePlayer.inventory.getStackInSlot(8); //check last slot where map should be - if (mapSlot == null || mapSlot.getItem() != Items.filled_map || !mapSlot.hasDisplayName()) return false; //make sure it is a map, not SB Menu or Spirit Bow, etc - return mapSlot.getDisplayName().contains("Magical Map"); - } - - /** - * Reads the hotbar map and converts it into a 2D Integer array of RGB colors which can be used by the rest of the - * code - * - * @return null if map not found, otherwise 128x128 Array of the RGB Integer colors of each point on the map - */ - public static Integer[][] updatedMap() { - if (!mapExists()) return null; //make sure map exists - Minecraft mc = Minecraft.getMinecraft(); - ItemStack mapSlot = mc.thePlayer.inventory.getStackInSlot(8); //get map ItemStack - MapData mapData = Items.filled_map.getMapData(mapSlot, mc.theWorld); - if(mapData == null) return null; - Integer[][] map = new Integer[128][128]; - - //for loop code modified from net.minecraft.client.gui.MapItemRenderer.updateMapTexture() - for (int i = 0; i < 16384; ++i) { - int x = i % 128; //get x coordinate of pixel being read - int y = i / 128; //get y coordinate of pixel being read - int j = mapData.colors[i] & 255; - int rgba; - if (j / 4 == 0) { - rgba = (i + i / 128 & 1) * 8 + 16 << 24; - } else { - rgba = MapColor.mapColorArray[j / 4].getMapColor(j & 3); - } - map[x][y] = rgba & 0x00FFFFFF; //get rgb value from rgba - } - - return map; - } - - - /** - * This function finds the coordinates of the NW and NE corners of the entrance room on the hotbar map. This is - * later used to determine the size of the room grid on the hotbar map. Different floors have slightly different - * pixel widths of the rooms, so it is important for the mod to be able to identify the location and size of various - * portions of the room grid. Since all rooms within a floor are the same size on the hotbar map and since the - * entrance room is always there on the hotbar map, we get two corners from the entrance room to determine the - * scaling of the map as soon as the player enters. - * - * This function works by iterating through the map and looking for a green entrance room pixel. Once it finds one - * and determines that the map pixel above is a blank spot, it checks for map pixels on the left and right side. - * - * @return `entranceMapCorners[0]` is the coordinate of the left NW corner and `entranceMapCorners[1]` is the - * coordinate of the right NE corner - */ - public static Point[] entranceMapCorners(Integer[][] map) { - if (map == null) return null; - Point[] corners = new Point[2]; - - for (int x = 0; x < 128; x++) { - for (int y = 0; y < 128; y++) { - if (map[x][y] != null && map[x][y] == 31744 && map[x][y-1] != null && map[x][y-1] == 0) { //check for Green entrance room pixels and make sure row above is blank - if (map[x - 1][y] != null && map[x - 1][y] == 0) { - corners[0] = new Point(x, y); //Left corner - } else if (map[x + 1][y] != null && map[x + 1][y] == 0) { - corners[1] = new Point(x, y); //Right Corner - } - } - } - if (corners[0] != null && corners[1] != null) break; - } - return corners; - } - - /** - * @return the coordinate of the NW hotbar map corner closest to the coordinate provided - */ - public static Point getClosestNWMapCorner(Point mapPos, Point leftCorner, Point rightCorner) { - int roomWidthAndGap = rightCorner.x - leftCorner.x + 1 + 4; //+1 to count left corner block, +4 to account for gap between rooms - Point origin = new Point(leftCorner.x % roomWidthAndGap, leftCorner.y % roomWidthAndGap); - - mapPos.x = mapPos.x + 2; //shift by 2 so room borders are evenly split - mapPos.y = mapPos.y + 2; - - int x = mapPos.x - (mapPos.x % roomWidthAndGap) + origin.x; //round down to room size grid - int y = mapPos.y - (mapPos.y % roomWidthAndGap) + origin.y; - - if (x > mapPos.x) x -= roomWidthAndGap; //make sure coordinates are being rounded down (in case origin value being too large) - if (y > mapPos.y) y -= roomWidthAndGap; - - return new Point(x, y); - } - - /** - * Skyblock Dungeon maps are aligned to a 32x32 block wide grid, allowing for math only calculation of corners - * @return the coordinate of the NW physical map corner closest to the coordinate provided - */ - public static Point getClosestNWPhysicalCorner (Vec3 vectorPos) { - Vec3 shiftedPos = vectorPos.addVector(0.5, 0, 0.5); //shift by 0.5 so room borders are evenly split - shiftedPos = shiftedPos.addVector(8, 0, 8); //because Hypixel randomly shifted rooms in Skyblock 0.12.3 - int x = (int) (shiftedPos.xCoord - Math.floorMod((int) shiftedPos.xCoord, 32)); //room length 31, +1 to account for gap between rooms - int z = (int) (shiftedPos.zCoord - Math.floorMod((int) shiftedPos.zCoord, 32)); - - return new Point(x - 8 , z - 8); //-8 for same reason as above - } - - public static Point getClosestNWPhysicalCorner (BlockPos blockPos) { - return getClosestNWPhysicalCorner(new Vec3(blockPos.getX(), blockPos.getY(), blockPos.getZ())); - } - - /** - * @return the hotbar map coordinate corresponding to the physical map corner coordinate provided - */ - public static Point physicalToMapCorner(Point physicalClosestCorner, Point physicalLeftCorner, Point leftCorner, Point rightCorner) { - int roomWidthAndGap = rightCorner.x - leftCorner.x + 1 + 4; //+1 to count left corner block, +4 to account for gap between rooms - int xShift = (physicalClosestCorner.x - physicalLeftCorner.x) / 32; //how many 1x1 grids away the closest corner is from entrance - int yShift = (physicalClosestCorner.y - physicalLeftCorner.y) / 32; - - int x = leftCorner.x + (roomWidthAndGap * xShift); //translate grid distance to the map - int y = leftCorner.y + (roomWidthAndGap * yShift); - - //this function can return a value outside of 0-127 which are the bounds of the map - //must check bounds for any function using this - - return new Point(x, y); - } - - /** - * @return the physical map coordinate corresponding to the hotbar map corner coordinate provided - */ - public static Point mapToPhysicalCorner(Point mapCorner, Point physicalLeftCorner, Point leftCorner, Point rightCorner) { - int roomWidthAndGap = rightCorner.x - leftCorner.x + 1 + 4; //+1 to count left corner block, +4 to account for gap between rooms - int xShift = (mapCorner.x - leftCorner.x) / roomWidthAndGap; //how many 1x1 grids away the closest corner is from entrance - int yShift = (mapCorner.y - leftCorner.y) / roomWidthAndGap; - - int x = physicalLeftCorner.x + (32 * xShift); //translate grid distance to the physical - int y = physicalLeftCorner.y + (32 * yShift); - - return new Point(x, y); - } - - /** - * @return the color of the coordinate on the map as a String - */ - public static String getMapColor(Point point, Integer[][] map) { - int x = point.x; - int y = point.y; - - //physicalToMapCorner might be called when player is outside map zone e.g. boss room, returning a value outside - //of the map coordinates which would otherwise call getMapColor to crash - if (x < 0 || y < 0 || x > 127 || y > 127) { - return "undefined"; - } - - if (map != null) { - switch (map[x][y]) { - case 7488283: - return "brown"; - case 11685080: - return "purple"; - case 15066419: - return "yellow"; - case 31744: - return "green"; - case 15892389: - return "pink"; - case 14188339: - return "orange"; - case 16711680: - return "red"; - default: //includes default blank background color = 0 and any other possible map colors - return "undefined"; - } - } - return "undefined"; - } - - /** - * Checks a point on each side the room corner coordinate for either empty space or a connected segment, each new - * segment is recursively checked until all neighboring segments have been added to a list - * - * @return a List of the coordinates of all segments of the same room as the corner coordinate provided - */ - public static List neighboringSegments(Point originCorner, Integer[][] map, Point leftCorner, Point rightCorner, List list) { - if (!list.contains(originCorner)) { - list.add(originCorner); - } - if (!getMapColor(originCorner, map).equals("brown")) return list; //only continue if square is brown - - int roomWidth = rightCorner.x - leftCorner.x + 1; //+1 to count left corner block - - - List pointsToCheck = new ArrayList<>(); - pointsToCheck.add(new Point(originCorner.x, originCorner.y - 1)); //up - pointsToCheck.add(new Point(originCorner.x, originCorner.y + roomWidth)); //down - pointsToCheck.add(new Point(originCorner.x - 1, originCorner.y)); //left - pointsToCheck.add(new Point(originCorner.x + roomWidth, originCorner.y)); //right - - List pointsToTransform = new ArrayList<>(); //pointsToCheck +/- 4 to jump gap and calc correct closest NW corner - pointsToTransform.add(new Point(originCorner.x, originCorner.y - 1 - 4)); //up - pointsToTransform.add(new Point(originCorner.x, originCorner.y + roomWidth + 4)); //down - pointsToTransform.add(new Point(originCorner.x -1 - 4, originCorner.y)); //left - pointsToTransform.add(new Point(originCorner.x + roomWidth + 4, originCorner.y)); //right - - for (int i = 0; i < 4; i++) { - if (getMapColor(pointsToCheck.get(i), map).equals("brown")) { - Point newCorner = getClosestNWMapCorner(pointsToTransform.get(i), leftCorner, rightCorner); - - if (!list.contains(newCorner)) { - list.add(newCorner); - list = neighboringSegments(newCorner, map, leftCorner, rightCorner, list); //check for neighboring segments from the new point - } - } - } - - return list; - } - - /** - * @return the size of the room given a the location of each room segment - */ - public static String roomSize(List segments) { - //accepts either map segments or physical segments, does not matter - if (segments.size() == 1) return "1x1"; - if (segments.size() == 2) return "1x2"; - - HashSet x = new HashSet<>(); - HashSet y = new HashSet<>(); - for(Point segment:segments) { - x.add(segment.x); - y.add(segment.y); - } - if (segments.size() == 3) { - if (x.size() == 2 && y.size() == 2) return "L-shape"; - else return "1x3"; - } - if (segments.size() == 4) { - if (x.size() == 2 && y.size() == 2) return "2x2"; - else return "1x4"; - } - - return "undefined"; - } - - /** - * @return the category of the room given size and color - */ - public static String roomCategory(String roomSize, String roomColor) { - if (roomSize.equals("1x1")) { - switch (roomColor) { - case "brown": - return "1x1"; - case "purple": - return "Puzzle"; - case "orange": - return "Trap"; - case "green": - case "red": - case "pink": - case "yellow": - return "General"; - default: - return "undefined"; - } - } else { - return roomSize; - } - } - - /** - * @return the coordinate of the player marker on the map - */ - public static Point playerMarkerPos() { - if (!mapExists()) return null; //make sure map exists - Minecraft mc = Minecraft.getMinecraft(); - ItemStack mapSlot = mc.thePlayer.inventory.getStackInSlot(8); //get map ItemStack - MapData mapData = Items.filled_map.getMapData(mapSlot, mc.theWorld); - if(mapData == null) return null; - if (mapData.mapDecorations != null) { - for (Map.Entry entry : mapData.mapDecorations.entrySet()) { - if (entry.getValue().func_176110_a() == 1) { //player marker - int x = entry.getValue().func_176112_b() / 2 + 64; - int y = entry.getValue().func_176113_c() / 2 + 64; - return new Point(x, y); - } - } - } - return null; - } - - /** - * @return the location of the furthest corner in a direction given a list of segments - */ - public static Point getPhysicalCornerPos(String direction, List currentPhysicalSegments) { - //For L-shapes, this will return the fourth corner as if it were a 2x2 - TreeSet xSet = new TreeSet<>(); //TreeSet removes duplicates and sorts increasing - TreeSet ySet = new TreeSet<>(); - for(Point segment:currentPhysicalSegments) { - xSet.add(segment.x); - ySet.add(segment.y); - } - - switch (direction) { - case "NW": - return new Point(xSet.first(), ySet.first()); - case "NE": - return new Point(xSet.last() + 30, ySet.first()); - case "SE": - return new Point(xSet.last() + 30, ySet.last() + 30); - case "SW": - return new Point(xSet.first(), ySet.last() + 30); - } - return null; - } - - /** - * Rooms such as L-shape rooms only have one possible direction, so it is much faster to only have to compare one - * direction instead of rotating it 4 times. Similarly, rectangular shaped rooms have two possible directions, - * saving time instead of rotating it 4 times. Square shaped rooms must be checked in all four directions. - * - * @return the possible rotation directions which need to be checked - */ - public static List possibleDirections(String roomSize, List currentRoomSegments) { - //can take physical or hotbar segments - //eliminates two possibilities for rectangular rooms, three possibilities for L-shape - List directions = new ArrayList<>(); - if (roomSize.equals("1x1") || roomSize.equals("2x2")) { - directions.add("NW"); - directions.add("NE"); - directions.add("SE"); - directions.add("SW"); - } else { - TreeSet xSet = new TreeSet<>(); //TreeSet removes duplicates and sorts increasing - TreeSet ySet = new TreeSet<>(); - for(Point segment:currentRoomSegments) { - xSet.add(segment.x); - ySet.add(segment.y); - } - if (roomSize.equals("L-shape")) { - List x = new ArrayList<>(xSet); - List y = new ArrayList<>(ySet); - - if (!currentRoomSegments.contains(new Point(x.get(0), y.get(0)))) directions.add("SW"); - else if (!currentRoomSegments.contains(new Point(x.get(0), y.get(1)))) directions.add("SE"); - else if (!currentRoomSegments.contains(new Point(x.get(1), y.get(0)))) directions.add("NW"); - else if (!currentRoomSegments.contains(new Point(x.get(1), y.get(1)))) directions.add("NE"); - - } else if (roomSize.startsWith("1x")) { //not 1x1 bc else statement earlier - if (xSet.size() >= 2 && ySet.size() == 1) { - directions.add("NW"); - directions.add("SE"); - } else if (xSet.size() == 1 && ySet.size() >= 2) { - directions.add("NE"); - directions.add("SW"); - } - } - } - return directions; - } - - /** - * @return the actual coordinate of a block given the relative coordinate - */ - public static BlockPos actualToRelative(BlockPos actual, String cornerDirection, Point locationOfCorner) { - double x = 0; - double z = 0; - switch (cornerDirection) { - case "NW": - x = actual.getX() - locationOfCorner.getX(); - z = actual.getZ() - locationOfCorner.getY(); //.getY in a point is the MC Z coord - break; - case "NE": - x = actual.getZ() - locationOfCorner.getY(); - z = -(actual.getX() - locationOfCorner.getX()); - break; - case "SE": - x = -(actual.getX() - locationOfCorner.getX()); - z = -(actual.getZ() - locationOfCorner.getY()); - break; - case "SW": - x = -(actual.getZ() - locationOfCorner.getY()); - z = actual.getX() - locationOfCorner.getX(); - break; - } - return new BlockPos(x, actual.getY(), z); - } - - /** - * @return the relative coordinate of a block given the actual coordinate - */ - public static BlockPos relativeToActual(BlockPos relative, String cornerDirection, Point locationOfCorner) { - double x = 0; - double z = 0; - switch (cornerDirection) { - case "NW": - x = relative.getX() + locationOfCorner.getX(); - z = relative.getZ() + locationOfCorner.getY(); //.getY in a point is the MC Z coord - break; - case "NE": - x = -(relative.getZ() - locationOfCorner.getX()); - z = relative.getX() + locationOfCorner.getY(); - break; - case "SE": - x = -(relative.getX() - locationOfCorner.getX()); - z = -(relative.getZ() - locationOfCorner.getY()); - break; - case "SW": - x = relative.getZ() + locationOfCorner.getX(); - z = -(relative.getX() - locationOfCorner.getY()); - break; - } - return new BlockPos(x, relative.getY(), z); - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/Utils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/Utils.java deleted file mode 100644 index 60aa1cd..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/Utils.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.utils; - -import io.github.quantizr.dungeonrooms.DungeonRooms; -import io.github.quantizr.dungeonrooms.handlers.ScoreboardHandler; -import net.minecraft.client.Minecraft; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.client.settings.KeyBinding; -import net.minecraft.scoreboard.ScoreObjective; -import net.minecraft.util.ChatComponentText; -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.core.LoggerContext; -import org.apache.logging.log4j.core.config.BaseConfiguration; -import org.apache.logging.log4j.core.config.LoggerConfig; - -import java.io.*; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.*; -import java.util.stream.Stream; -import java.util.zip.InflaterInputStream; - -public class Utils { - public static boolean inSkyblock = false; - public static boolean inCatacombs = false; - public static boolean dungeonOverride = false; - - /** - * Taken from Danker's Skyblock Mod under the GNU General Public License v3.0 - * https://github.com/bowser0000/SkyblockMod/blob/master/LICENSE - * @author bowser0000 - */ - public static void checkForSkyblock() { - if (dungeonOverride) { - inSkyblock = true; - return; - } - Minecraft mc = Minecraft.getMinecraft(); - if (mc != null && mc.theWorld != null && !mc.isSingleplayer()) { - ScoreObjective scoreboardObj = mc.theWorld.getScoreboard().getObjectiveInDisplaySlot(1); - if (scoreboardObj != null) { - String scObjName = ScoreboardHandler.cleanSB(scoreboardObj.getDisplayName()); - if (scObjName.contains("SKYBLOCK")) { - inSkyblock = true; - return; - } - } - } - inSkyblock = false; - } - - /** - * Taken from Danker's Skyblock Mod under the GNU General Public License v3.0 - * https://github.com/bowser0000/SkyblockMod/blob/master/LICENSE - * @author bowser0000 - */ - public static void checkForCatacombs() { - if (dungeonOverride) { - inCatacombs = true; - return; - } - if (inSkyblock) { - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs")) { - inCatacombs = true; - return; - } - } - } - inCatacombs = false; - } - - - public static void checkForConflictingHotkeys() { - Minecraft mc = Minecraft.getMinecraft(); - for (KeyBinding drmKeybind : DungeonRooms.keyBindings) { - for (KeyBinding keybinding : mc.gameSettings.keyBindings) { - if (drmKeybind.getKeyCode() != 0 && drmKeybind != keybinding && drmKeybind.getKeyCode() == keybinding.getKeyCode()) { - mc.thePlayer.addChatMessage(new ChatComponentText("§d§l--- Dungeon Rooms Mod ---\n" - + " §r§cThe hotkey \"" + GameSettings.getKeyDisplayString(drmKeybind.getKeyCode()) - + "\", which is used to " + drmKeybind.getKeyDescription() + ", has a conflict with a " - + "keybinding from \"" + keybinding.getKeyCategory() + "\".\n §c§lPlease go into the " - + "Minecraft Controls menu and change one of the keybindings.\n" - + "§d§l------------------------" - )); - } - } - } - - } - - /** - * @return List of the paths to every .skeleton room data file - */ - public static List getAllPaths (String folderName) { - List paths = new ArrayList<>(); - try { - URI uri = DungeonRooms.class.getResource("/assets/dungeonrooms/" + folderName).toURI(); - Path Path; - FileSystem fileSystem = null; - if (uri.getScheme().equals("jar")) { - fileSystem = FileSystems.newFileSystem(uri, Collections.emptyMap()); - Path = fileSystem.getPath("/assets/dungeonrooms/" + folderName); - } else { - Path = Paths.get(uri); - } - Stream walk = Files.walk(Path, 3); - for (Iterator it = walk.iterator(); it.hasNext();) { - Path path = it.next(); - String name = path.getFileName().toString(); - if (name.endsWith(".skeleton")) paths.add(path); - } - if (fileSystem != null) fileSystem.close(); - } catch (URISyntaxException | IOException e) { - e.printStackTrace(); - } - return paths; - } - - /** - * Converts the .skeleton files into a readable format. - * @return room data as a hashmap - */ - public static HashMap pathsToRoomData (String parentFolder, List allPaths) { - HashMap allRoomData = new HashMap<>(); - try { - for (Path path : allPaths) { - if (!path.getParent().getFileName().toString().equals(parentFolder)) continue; - String name = path.getFileName().toString(); - InputStream input = DungeonRooms.class.getResourceAsStream(path.toString()); - ObjectInputStream data = new ObjectInputStream(new InflaterInputStream(input)); - long[] roomData = (long[]) data.readObject(); - allRoomData.put(name.substring(0, name.length() - 9), roomData); - DungeonRooms.logger.debug("DungeonRooms: Loaded " + name); - } - } catch (IOException | ClassNotFoundException e) { - e.printStackTrace(); - } - DungeonRooms.logger.info("DungeonRooms: Loaded " + allRoomData.size() + " " + parentFolder + " rooms"); - return allRoomData; - } - - /** - * Used to set the log level of just this mod - */ - public static void setLogLevel(Logger logger, Level level) { - final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); - BaseConfiguration config = (BaseConfiguration) ctx.getConfiguration(); - - LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName()); - LoggerConfig specificConfig = loggerConfig; - - if (!loggerConfig.getName().equals(logger.getName())) { - specificConfig = new LoggerConfig(logger.getName(), level, true); - specificConfig.setParent(loggerConfig); - config.addLogger(logger.getName(), specificConfig); - } - specificConfig.setLevel(level); - ctx.updateLoggers(); - } - - /** - * Packs block info into a single 8 byte primitive long. Normally, first pair of bytes will be x coordinate, second - * pair will be y coordinate, third pair will be z coordinate, and last pair will be block id and metadata. - * @return primitive long containing block info - */ - public static long shortToLong(short a, short b, short c, short d) { - return ((long)((a << 16) | (b & 0xFFFF)) << 32) | (((c << 16) | (d & 0xFFFF)) & 0xFFFFFFFFL); - } - - /** - * @return Array of four shorts containing the values stored in the long - */ - public static short[] longToShort(long l) { - return new short[]{(short) (l >> 48), (short) (l >> 32), (short) (l >> 16), (short) (l)}; - } -} diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/WaypointUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/WaypointUtils.java deleted file mode 100644 index e613c00..0000000 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/WaypointUtils.java +++ /dev/null @@ -1,272 +0,0 @@ -/* - * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons - * Copyright 2021 Quantizr(_risk) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package io.github.quantizr.dungeonrooms.utils; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.WorldRenderer; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.entity.Entity; -import net.minecraft.util.*; -import org.lwjgl.opengl.GL11; - -import java.awt.*; - -public class WaypointUtils { - private static final ResourceLocation beaconBeam = new ResourceLocation("textures/entity/beacon_beam.png"); - - /** - * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 - * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE - * @author Moulberry - */ - public static void renderBeaconBeam(double x, double y, double z, int rgb, float alphaMultiplier, float partialTicks) { - int height = 300; - int bottomOffset = 0; - int topOffset = bottomOffset + height; - - Tessellator tessellator = Tessellator.getInstance(); - WorldRenderer worldrenderer = tessellator.getWorldRenderer(); - - Minecraft.getMinecraft().getTextureManager().bindTexture(beaconBeam); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0F); - GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0F); - GlStateManager.disableLighting(); - GlStateManager.enableCull(); - GlStateManager.enableTexture2D(); - GlStateManager.tryBlendFuncSeparate(770, 1, 1, 0); - GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - - double time = Minecraft.getMinecraft().theWorld.getTotalWorldTime() + (double)partialTicks; - double d1 = MathHelper.func_181162_h(-time * 0.2D - (double)MathHelper.floor_double(-time * 0.1D)); - - float r = ((rgb >> 16) & 0xFF) / 255f; - float g = ((rgb >> 8) & 0xFF) / 255f; - float b = (rgb & 0xFF) / 255f; - double d2 = time * 0.025D * -1.5D; - double d4 = 0.5D + Math.cos(d2 + 2.356194490192345D) * 0.2D; - double d5 = 0.5D + Math.sin(d2 + 2.356194490192345D) * 0.2D; - double d6 = 0.5D + Math.cos(d2 + (Math.PI / 4D)) * 0.2D; - double d7 = 0.5D + Math.sin(d2 + (Math.PI / 4D)) * 0.2D; - double d8 = 0.5D + Math.cos(d2 + 3.9269908169872414D) * 0.2D; - double d9 = 0.5D + Math.sin(d2 + 3.9269908169872414D) * 0.2D; - double d10 = 0.5D + Math.cos(d2 + 5.497787143782138D) * 0.2D; - double d11 = 0.5D + Math.sin(d2 + 5.497787143782138D) * 0.2D; - double d14 = -1.0D + d1; - double d15 = (double)(height) * 2.5D + d14; - worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR); - worldrenderer.pos(x + d4, y + topOffset, z + d5).tex(1.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d4, y + bottomOffset, z + d5).tex(1.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d6, y + bottomOffset, z + d7).tex(0.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d6, y + topOffset, z + d7).tex(0.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d10, y + topOffset, z + d11).tex(1.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d10, y + bottomOffset, z + d11).tex(1.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d8, y + bottomOffset, z + d9).tex(0.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d8, y + topOffset, z + d9).tex(0.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d6, y + topOffset, z + d7).tex(1.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d6, y + bottomOffset, z + d7).tex(1.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d10, y + bottomOffset, z + d11).tex(0.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d10, y + topOffset, z + d11).tex(0.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d8, y + topOffset, z + d9).tex(1.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - worldrenderer.pos(x + d8, y + bottomOffset, z + d9).tex(1.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d4, y + bottomOffset, z + d5).tex(0.0D, d14).color(r, g, b, 1.0F).endVertex(); - worldrenderer.pos(x + d4, y + topOffset, z + d5).tex(0.0D, d15).color(r, g, b, alphaMultiplier).endVertex(); - tessellator.draw(); - - GlStateManager.disableCull(); - double d12 = -1.0D + d1; - double d13 = height + d12; - - worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR); - worldrenderer.pos(x + 0.2D, y + topOffset, z + 0.2D).tex(1.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.2D, y + bottomOffset, z + 0.2D).tex(1.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.8D, y + bottomOffset, z + 0.2D).tex(0.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.8D, y + topOffset, z + 0.2D).tex(0.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.8D, y + topOffset, z + 0.8D).tex(1.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.8D, y + bottomOffset, z + 0.8D).tex(1.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.2D, y + bottomOffset, z + 0.8D).tex(0.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.2D, y + topOffset, z + 0.8D).tex(0.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.8D, y + topOffset, z + 0.2D).tex(1.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.8D, y + bottomOffset, z + 0.2D).tex(1.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.8D, y + bottomOffset, z + 0.8D).tex(0.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.8D, y + topOffset, z + 0.8D).tex(0.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.2D, y + topOffset, z + 0.8D).tex(1.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - worldrenderer.pos(x + 0.2D, y + bottomOffset, z + 0.8D).tex(1.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.2D, y + bottomOffset, z + 0.2D).tex(0.0D, d12).color(r, g, b, 0.25F).endVertex(); - worldrenderer.pos(x + 0.2D, y + topOffset, z + 0.2D).tex(0.0D, d13).color(r, g, b, 0.25F*alphaMultiplier).endVertex(); - tessellator.draw(); - } - - /** - * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 - * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE - * @author Moulberry - */ - public static void drawFilledBoundingBox(AxisAlignedBB aabb, Color c, float alphaMultiplier) { - GlStateManager.enableBlend(); - GlStateManager.disableLighting(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - GlStateManager.disableTexture2D(); - - Tessellator tessellator = Tessellator.getInstance(); - WorldRenderer worldrenderer = tessellator.getWorldRenderer(); - - GlStateManager.color(c.getRed()/255f, c.getGreen()/255f, c.getBlue()/255f, c.getAlpha()/255f*alphaMultiplier); - - //vertical - worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - worldrenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); - tessellator.draw(); - worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - worldrenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); - tessellator.draw(); - - - GlStateManager.color(c.getRed()/255f*0.8f, c.getGreen()/255f*0.8f, c.getBlue()/255f*0.8f, c.getAlpha()/255f*alphaMultiplier); - - //x - worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - worldrenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); - tessellator.draw(); - worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - worldrenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); - tessellator.draw(); - - - GlStateManager.color(c.getRed()/255f*0.9f, c.getGreen()/255f*0.9f, c.getBlue()/255f*0.9f, c.getAlpha()/255f*alphaMultiplier); - //z - worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - worldrenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); - tessellator.draw(); - worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - worldrenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); - worldrenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); - tessellator.draw(); - GlStateManager.enableTexture2D(); - GlStateManager.disableBlend(); - } - - /** - * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 - * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE - * @author Moulberry - */ - public static void renderWaypointText(String str, BlockPos loc, float partialTicks) { - GlStateManager.alphaFunc(516, 0.1F); - - GlStateManager.pushMatrix(); - - Entity viewer = Minecraft.getMinecraft().getRenderViewEntity(); - double viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * partialTicks; - double viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * partialTicks; - double viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * partialTicks; - - double x = loc.getX() + 0.5 - viewerX; - double y = loc.getY() - viewerY - viewer.getEyeHeight(); - double z = loc.getZ() + 0.5 - viewerZ; - - double distSq = x*x + y*y + z*z; - double dist = Math.sqrt(distSq); - if(distSq > 144) { - x *= 12/dist; - y *= 12/dist; - z *= 12/dist; - } - GlStateManager.translate(x, y, z); - GlStateManager.translate(0, viewer.getEyeHeight(), 0); - - drawNametag(str); - - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0, -0.25f, 0); - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - - drawNametag(EnumChatFormatting.YELLOW.toString()+Math.round(dist)+"m"); - - GlStateManager.popMatrix(); - - GlStateManager.disableLighting(); - } - - /** - * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 - * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE - * @author Moulberry - */ - public static void drawNametag(String str) { - FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj; - float f = 1.6F; - float f1 = 0.016666668F * f; - GlStateManager.pushMatrix(); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.scale(-f1, -f1, f1); - GlStateManager.disableLighting(); - GlStateManager.depthMask(false); - GlStateManager.disableDepth(); - GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - Tessellator tessellator = Tessellator.getInstance(); - WorldRenderer worldrenderer = tessellator.getWorldRenderer(); - int i = 0; - - int j = fontrenderer.getStringWidth(str) / 2; - GlStateManager.disableTexture2D(); - worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR); - worldrenderer.pos(-j - 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(-j - 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(j + 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(j + 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - tessellator.draw(); - GlStateManager.enableTexture2D(); - fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, 553648127); - GlStateManager.depthMask(true); - - fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, -1); - - GlStateManager.enableDepth(); - GlStateManager.enableBlend(); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.popMatrix(); - } - -} diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/ChatTransmitter.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/ChatTransmitter.kt new file mode 100644 index 0000000..872a422 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/ChatTransmitter.kt @@ -0,0 +1,71 @@ +package io.github.quantizr.dungeonrooms + + +import net.minecraft.client.Minecraft +import net.minecraft.util.ChatComponentText +import net.minecraft.util.IChatComponent +import net.minecraftforge.client.event.ClientChatReceivedEvent +import net.minecraftforge.common.MinecraftForge +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent +import java.util.* +import java.util.concurrent.ConcurrentLinkedQueue + +/** + * Taken from dg-LTS under the GNU General Public License v3.0 + * https://github.com/dg-continuum/dg-LTS + * @author kingstefan26 + */ +class ChatTransmitter { + + @SubscribeEvent + fun onTick(clientTickEvent: ClientTickEvent) { + if (clientTickEvent.phase != TickEvent.Phase.START && Minecraft.getMinecraft().thePlayer == null) return + if (!receiveQueue.isEmpty()) { + val event = ClientChatReceivedEvent(1.toByte(), receiveQueue.poll()) + MinecraftForge.EVENT_BUS.post(event) + if (!event.isCanceled) { + Minecraft.getMinecraft().thePlayer.addChatMessage(event.message) + } + } + } + + companion object { + const val PREFIX = "DungeonRooms: " + var receiveQueue: Queue = ConcurrentLinkedQueue() + fun addToQueue(chat: String, noDupe: Boolean) { + addToQueue(ChatComponentText(chat.replace("@", "§")), noDupe) + } + + @JvmOverloads + fun addToQueue(chat: ChatComponentText, noDupe: Boolean = false) { + if (noDupe && receiveQueue.stream().anyMatch { it == chat }) return + receiveQueue.add(chat) + } + @JvmOverloads + fun addToQueue(chat: IChatComponent) { + receiveQueue.add(chat) + } + + @JvmStatic + fun addToQueue(s: String) { + addToQueue(s, false) + } + + @JvmStatic + fun addToQueueWPrefix(s: String) { + addToQueue(PREFIX + s, false) + } + + @JvmStatic + fun sendDebugChat(iChatComponent: IChatComponent) { + if (DRMConfig.debug) addToQueue(iChatComponent as ChatComponentText) + } + + @JvmStatic + fun sendDebugChat(text: String?) { + sendDebugChat(ChatComponentText(text)) + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/DRMConfig.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/DRMConfig.kt new file mode 100644 index 0000000..e77729d --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/DRMConfig.kt @@ -0,0 +1,121 @@ +package io.github.quantizr.dungeonrooms + +import cc.polyfrost.oneconfig.config.Config +import cc.polyfrost.oneconfig.config.annotations.* +import cc.polyfrost.oneconfig.config.core.OneKeyBind +import cc.polyfrost.oneconfig.config.data.InfoType +import cc.polyfrost.oneconfig.config.data.Mod +import cc.polyfrost.oneconfig.config.data.ModType +import cc.polyfrost.oneconfig.libs.universal.UKeyboard.KEY_I +import cc.polyfrost.oneconfig.libs.universal.UKeyboard.KEY_NONE +import cc.polyfrost.oneconfig.libs.universal.UKeyboard.KEY_O +import cc.polyfrost.oneconfig.libs.universal.UKeyboard.KEY_P +import io.github.quantizr.dungeonrooms.ChatTransmitter.Companion.addToQueue + +object DRMConfig : + Config(Mod("DungeonsRoomsMod", ModType.SKYBLOCK, "/assets/dungeonrooms/logo.png"), DungeonRooms.MODID + ".json") { + + fun init(){ + initialize() + addListener("practiceModeOn") { + addToQueue( + """ + §eDungeon Rooms: Practice Mode has been enabled. + §e Waypoints will ONLY show up while you are pressing ${practiceModeKeyBind.display} + §r (Hotkey is configurable in Minecraft Controls menu) + """.trimIndent() + ) + } + } + + @Switch(name = "Display Room Names In Gui", subcategory = "General") + var guiToggled = true + + @Switch(name = "Display Welcome/MOTD", subcategory = "General") + var motdToggled = true + + @KeyBind(name = "Quick Access Gui Key", subcategory = "General") + var waypointGuiKey = OneKeyBind(KEY_P) + + @KeyBind(name = "Force Refresh RoomDetection (Map Data)", subcategory = "General") + var refreshMapKeybind = OneKeyBind(KEY_NONE) + + @Dropdown(name = "Secret Image Provider", options = ["gui", "dsg", "sbp"], subcategory = "Secret Images") + var imageHotkeyOpen = 0 + + @KeyBind(name = "Keybinding For Opening Room Images From DSG/SBP", size = 2, subcategory = "Secret Images") + var openSecretImages = OneKeyBind(KEY_O) + + @Switch(name = "Debug mode", subcategory = "Debug") + var debug = false + + @Switch(name = "Waypoints Enabled", category = "Waypoints", subcategory = "Preferences", size = 2) + var waypointsEnabled = true + + @Switch(name = "Double-Tap Sneak To Hide Nearby", category = "Waypoints", subcategory = "Preferences") + var sneakToDisable = true + + @Switch(name = "Disable When All Secrets Found", category = "Waypoints", subcategory = "Preferences") + var disableWhenAllFound = true + + @Switch(name = "Enable Pathfinding To Waypoints", subcategory = "Pathfinding", category = "Waypoints") + var pathfindingEnabled = true + + @Slider(name = "Pathfinding Refresh Rate (In Ticks)", min = 1f, max = 40f, category = "Waypoints", subcategory = "Pathfinding") + var pathfindingRefreshRate: Int = 20 + + @Dropdown( + description = "Select pathfinding algorithm", + name = "Pathfinding Algorithm", + options = ["THETA* (recommended)", "A* Diagonal", "A* Fine-Grid"], + subcategory = "Pathfinding", + category = "Waypoints" + ) + var secretPathfindStrategy = 0 + + @Info( + text = "See waypoints when the key is pressed, useful for practice.", + category = "Waypoints", + subcategory = "Practice Mode", + size = 2, + type = InfoType.INFO + ) + var dummy = false + + @KeyBind(name = "Keybinding For Practice Mode", category = "Waypoints", subcategory = "Practice Mode") + var practiceModeKeyBind = OneKeyBind(KEY_I) + + @Switch(name = "Practice Mode", category = "Waypoints", subcategory = "Practice Mode") + var practiceModeOn = false + + @Checkbox(name = "Show Entrance Waypoints", category = "Waypoints", subcategory = "Visibility") + var showEntrance = true + + @Checkbox(name = "Show Superboom Waypoints", category = "Waypoints", subcategory = "Visibility") + var showSuperboom = true + + @Checkbox(name = "Show Secret Waypoints", category = "Waypoints", subcategory = "Visibility") + var showSecrets = true + + @Checkbox(name = "Show Fairy Soul Waypoints", category = "Waypoints", subcategory = "Visibility") + var showFairySouls = true + + @Checkbox(name = "Show Stonk Waypoints", category = "Waypoints", subcategory = "Visibility") + var showStonk = true + + @Switch(name = "Show Waypoint Text", category = "Waypoints", subcategory = "Appearance") + var showWaypointText = true + + @Switch(name = "Show Bounding Box", category = "Waypoints", subcategory = "Appearance") + var showBoundingBox = true + + @Switch(name = "Show Beacon", category = "Waypoints", subcategory = "Appearance") + var showBeacon = true + + @Slider(name = "Offset x", min = 0F, max = 100F, subcategory = "Hud") + var textLocX = 50 + + @Slider(name = "Offset y", min = 0F, max = 100F, subcategory = "Hud") + var textLocY = 5 + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/DungeonRooms.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/DungeonRooms.kt new file mode 100644 index 0000000..49ead31 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/DungeonRooms.kt @@ -0,0 +1,262 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms + +import com.google.common.util.concurrent.ThreadFactoryBuilder +import com.google.gson.Gson +import com.google.gson.JsonObject +import io.github.quantizr.dungeonrooms.commands.RoomCommand +import io.github.quantizr.dungeonrooms.dungeons.DungeonManager +import io.github.quantizr.dungeonrooms.dungeons.RoomDetection +import io.github.quantizr.dungeonrooms.dungeons.Waypoints +import io.github.quantizr.dungeonrooms.dungeons.data.meta.SecretMetaData +import io.github.quantizr.dungeonrooms.gui.WaypointsGUI +import io.github.quantizr.dungeonrooms.handlers.OpenLink.checkForLink +import io.github.quantizr.dungeonrooms.handlers.PacketHandler +import io.github.quantizr.dungeonrooms.handlers.TextRenderer.drawText +import io.github.quantizr.dungeonrooms.test.PathfindTest +import io.github.quantizr.dungeonrooms.utils.BlockCache +import io.github.quantizr.dungeonrooms.utils.Utils +import io.github.quantizr.dungeonrooms.utils.Utils.checkForCatacombs +import io.github.quantizr.dungeonrooms.utils.Utils.checkForSkyblock +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.ScaledResolution +import net.minecraft.event.ClickEvent +import net.minecraft.util.ChatComponentText +import net.minecraft.util.EnumChatFormatting +import net.minecraftforge.client.ClientCommandHandler +import net.minecraftforge.client.event.RenderGameOverlayEvent +import net.minecraftforge.common.MinecraftForge +import net.minecraftforge.fml.common.Loader +import net.minecraftforge.fml.common.Mod +import net.minecraftforge.fml.common.event.FMLInitializationEvent +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.InputEvent +import net.minecraftforge.fml.common.gameevent.TickEvent +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent +import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientConnectedToServerEvent +import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion +import org.apache.commons.io.IOUtils +import org.apache.logging.log4j.LogManager +import org.apache.logging.log4j.Logger +import java.io.File +import java.io.IOException +import java.net.URL +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors + +@Mod(modid = DungeonRooms.MODID, version = DungeonRooms.VERSION) +class DungeonRooms { + val mc: Minecraft = Minecraft.getMinecraft() + val motd: MutableList = ArrayList() + var textToDisplay: List = emptyList() + private var tickAmount = 1 + + @Mod.EventHandler + fun preInit(event: FMLPreInitializationEvent) { + ClientCommandHandler.instance.registerCommand(RoomCommand()) + + //initialize logger + logger = LogManager.getLogger(instance::class.java) +// if(debug) Utils.setLogLevel(LogManager.getLogger(DungeonRooms::class.java), Level.DEBUG) + } + + val roomDetection = RoomDetection() + val roomDataLoader = RoomDataLoader() + val dungeonManager = DungeonManager() + val waypoints = Waypoints() + + + private fun isFirstLaunch(): Boolean{ + val controlfile = File(System.getProperty("user.dir") + File.separator + "drmFirstLaunchControlFile") + + if(!controlfile.exists()){ + controlfile.createNewFile() + return true + } + return false + } + + @Mod.EventHandler + fun init(event: FMLInitializationEvent?) { + + DRMConfig.init() + roomDataLoader.startAsyncLoad() + firstLogin = isFirstLaunch() + + //register classes + MinecraftForge.EVENT_BUS.register(this) + MinecraftForge.EVENT_BUS.register(BlockCache) + + MinecraftForge.EVENT_BUS.register(ChatTransmitter()) + MinecraftForge.EVENT_BUS.register(dungeonManager) + MinecraftForge.EVENT_BUS.register(roomDetection) + MinecraftForge.EVENT_BUS.register(waypoints) + if (DRMConfig.debug) MinecraftForge.EVENT_BUS.register(PathfindTest()) + + roomDataLoader.blockTillLoad() + + Thread { + try { + logger.info("DungeonRooms: Checking for updates...") + val gson = Gson() + val thaobject = gson.fromJson( + IOUtils.toString(URL("https://api.github.com/repos/Quantizr/DungeonRoomsMod/releases/latest")), + JsonObject::class.java + ) + val latestTag = thaobject.get("tag_name").asString + val currentVersion = DefaultArtifactVersion(VERSION) + val latestVersion = DefaultArtifactVersion(latestTag.substring(1)) + if (currentVersion < latestVersion) { + val releaseURL = "https://github.com/Quantizr/DungeonRoomsMod/releases/latest" + val update = ChatComponentText("${EnumChatFormatting.GREEN}${EnumChatFormatting.BOLD} [UPDATE] ") + update.chatStyle.chatClickEvent = ClickEvent(ClickEvent.Action.OPEN_URL, releaseURL) + ChatTransmitter.addToQueue( + ChatComponentText("${EnumChatFormatting.RED}Dungeon Rooms Mod is outdated. Please update to $latestTag.").appendSibling( + update + ) + ) + } else { + logger.info("DungeonRooms: No update found") + } + + logger.info("DungeonRooms: Getting MOTD...") + val motdText = + IOUtils.toString(URL("https://gist.githubusercontent.com/Quantizr/01aca53e61cef5dfd08989fec600b204/raw/")) + motd.addAll(motdText.split(System.lineSeparator())) + logger.info("DungeonRooms: MOTD has been checked") + + } catch (e: IOException) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: An error has occured. See logs for more details.") + e.printStackTrace() + } catch (e: InterruptedException) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: An error has occured. See logs for more details.") + e.printStackTrace() + } + }.start() + } + + @Mod.EventHandler + fun postInit(event: FMLPostInitializationEvent?) { + usingSBPSecrets = Loader.isModLoaded("sbp") + logger.info("DungeonRooms: SBP Dungeon Secrets detection: $usingSBPSecrets") + } + + fun getJsonSecretList(): Pair>? { + if (roomDetection.roomName == "undefined") return null + + val room = roomDataLoader.roomData[roomDetection.roomName] ?: return null + + return Pair(room.id, room.secrets.toList()) + } + + /** + * Modified from Danker's Skyblock Mod under the GNU General Public License v3.0 + * https://github.com/bowser0000/SkyblockMod/blob/master/LICENSE + * @author bowser0000 + */ + @SubscribeEvent + fun onServerConnect(event: ClientConnectedToServerEvent) { + if (mc.currentServerData == null) return + if (!mc.currentServerData.serverIP.lowercase().contains("hypixel.")) return + + logger.info("DungeonRooms: Connecting to Hypixel...") + // Packets are used in this mod solely to detect when the player picks up an item. No packets are modified or created. + event.manager.channel().pipeline().addBefore("packet_handler", "drm_packet_handler", PacketHandler()) + logger.info("DungeonRooms: Packet Handler added") + } + + @SubscribeEvent + fun onTick(event: ClientTickEvent) { + if (event.phase != TickEvent.Phase.START) return + tickAmount++ + if (tickAmount % 20 == 0) { + if (mc.thePlayer != null) { + checkForSkyblock() + checkForCatacombs() + tickAmount = 0 + } + } + } + + @SubscribeEvent + fun onKey(event: InputEvent.KeyInputEvent?) { + when { + DRMConfig.openSecretImages.isActive -> { + if (!Utils.inCatacombs) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: Use this hotkey inside of a dungeon room") + return + } + when (DRMConfig.imageHotkeyOpen) { + 0 -> checkForLink("gui") + 1 -> checkForLink("dsg") + 2 -> checkForLink("sbp") + else -> ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: hotkeyOpen config value improperly set, do \"/room set \" to change the value") + } + } + DRMConfig.waypointGuiKey.isActive -> { + mc.addScheduledTask { mc.displayGuiScreen(WaypointsGUI()) } + } + DRMConfig.practiceModeKeyBind.isActive -> { + if (DRMConfig.waypointsEnabled && !DRMConfig.practiceModeOn) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: Run \"/room toggle practice\" to enable Practice Mode.") + + } else if (!DRMConfig.waypointsEnabled && DRMConfig.practiceModeOn) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: Waypoints must be enabled for Practice Mode to work.") + + } + } + } + } + + @SubscribeEvent + fun renderPlayerInfo(event: RenderGameOverlayEvent.Post) { + if (event.type != RenderGameOverlayEvent.ElementType.ALL) return + if (!Utils.inSkyblock) return + if (textToDisplay.isNotEmpty()) { + val scaledResolution = ScaledResolution(mc) + var y = 0 + for (line in textToDisplay) { + val roomStringWidth = mc.fontRendererObj.getStringWidth(line) + drawText( + mc, line, scaledResolution.scaledWidth * DRMConfig.textLocX / 100 - roomStringWidth / 2, + scaledResolution.scaledHeight * DRMConfig.textLocY / 100 + y, 1.0, true + ) + y += mc.fontRendererObj.FONT_HEIGHT + } + } + } + + + companion object { + @Mod.Instance + @JvmStatic + lateinit var instance: DungeonRooms + private set + + const val MODID = "@ID@" + const val VERSION = "@VER@" + lateinit var logger: Logger + var usingSBPSecrets = false + private set + + var firstLogin = false + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/RoomDataLoader.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/RoomDataLoader.kt new file mode 100644 index 0000000..307b293 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/RoomDataLoader.kt @@ -0,0 +1,170 @@ +package io.github.quantizr.dungeonrooms + +import com.google.gson.Gson +import com.google.gson.JsonArray +import com.google.gson.JsonObject +import io.github.quantizr.dungeonrooms.dungeons.data.meta.DungeonRoom +import io.github.quantizr.dungeonrooms.dungeons.data.meta.RoomMetaData +import io.github.quantizr.dungeonrooms.dungeons.data.meta.SecretMetaData +import io.github.quantizr.dungeonrooms.utils.Utils +import java.io.InputStreamReader +import java.util.HashMap +import java.util.concurrent.ExecutionException +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors +import java.util.concurrent.Future + +class RoomDataLoader { + + companion object { + const val roomDataPath = "/assets/dungeonrooms/dungeonrooms.json" + const val secretLocPath = "/assets/dungeonrooms/secretlocations.json" + } + + private var executor: ExecutorService = Executors.newFixedThreadPool(4) + + // debug info + private var blockedTime: Long = 0 + private var blockedTimeFor1x1: Long = 0 + private var asyncLoadStart: Long = 0 + private var asyncLoadTime: Long = 0 + + // the actual data exposed to the world + var ROOM_DATA = HashMap>() + lateinit var roomData: Map + + // temporary vars used while loading the data + private lateinit var future1x1: Future> + private lateinit var future1x2: Future> + private lateinit var future1x3: Future> + private lateinit var future1x4: Future> + private lateinit var future2x2: Future> + private lateinit var futureLShape: Future> + private lateinit var futurePuzzle: Future> + private lateinit var futureTrap: Future> + + private lateinit var roomsJson: JsonObject + private lateinit var waypointsJson: JsonObject + + fun startAsyncLoad(){ + asyncLoadStart = System.currentTimeMillis() + + // load the room skeletons + val paths = Utils.getAllPaths("catacombs") + future1x1 = executor.submit> { Utils.pathsToRoomData("1x1", paths) } + future1x2 = executor.submit> { Utils.pathsToRoomData("1x2", paths) } + future1x3 = executor.submit> { Utils.pathsToRoomData("1x3", paths) } + future1x4 = executor.submit> { Utils.pathsToRoomData("1x4", paths) } + future2x2 = executor.submit> { Utils.pathsToRoomData("2x2", paths) } + futureLShape = executor.submit> { Utils.pathsToRoomData("L-shape", paths) } + futurePuzzle = executor.submit> { Utils.pathsToRoomData("Puzzle", paths) } + futureTrap = executor.submit> { Utils.pathsToRoomData("Trap", paths) } + + // get room and waypoint info + executor.submit { + val gson = Gson() + this::class.java.getResourceAsStream(roomDataPath) + .use { fis -> + fis?.let { + InputStreamReader(fis).use { yas -> + roomsJson = gson.fromJson(yas, JsonObject::class.java) + DungeonRooms.logger.info("DungeonRooms: Loaded dungeonrooms.json") + } + } + } + this::class.java.getResourceAsStream(secretLocPath) + .use { fis -> + fis?.let { + InputStreamReader(fis).use { yas -> + waypointsJson = gson.fromJson(yas, JsonObject::class.java) + DungeonRooms.logger.info("DungeonRooms: Loaded secretlocations.json") + } + } + } + + constructRooms() + } + } + + fun blockTillLoad() { + // set RoomData to futures - this will block if the rest of init was fast + try { + val oneByOneStart = System.currentTimeMillis() + ROOM_DATA["1x1"] = future1x1.get() + + val restOfRoomsStart = System.currentTimeMillis() + ROOM_DATA["1x2"] = future1x2.get() + ROOM_DATA["1x3"] = future1x3.get() + ROOM_DATA["1x4"] = future1x4.get() + ROOM_DATA["2x2"] = future2x2.get() + ROOM_DATA["L-shape"] = futureLShape.get() + ROOM_DATA["Puzzle"] = futurePuzzle.get() + ROOM_DATA["Trap"] = futureTrap.get() + + this.asyncLoadTime = oneByOneStart - asyncLoadStart + this.blockedTimeFor1x1 = restOfRoomsStart - oneByOneStart + this.blockedTime = System.currentTimeMillis() - restOfRoomsStart + + } catch (e: ExecutionException) { + e.printStackTrace() + } catch (e: InterruptedException) { + e.printStackTrace() + } + + DungeonRooms.logger.debug("DungeonRooms: Time(ms) for init before get futures: $asyncLoadTime") + DungeonRooms.logger.debug("DungeonRooms: Blocked Time(ms) for 1x1: $blockedTimeFor1x1") + DungeonRooms.logger.debug("DungeonRooms: Blocked Time(ms) remaining for other rooms: $blockedTime") + + executor.shutdown() + } + + + private fun deconstructRoomData(): Map { + + val tmpMap = HashMap() + + roomsJson.entrySet().forEach {(name, element) -> + if(element is JsonObject && element.has("category")) { + val roomData = RoomMetaData(element.get("category").asString, element.get("secrets").asInt, element.get("fairysoul").asBoolean, element.get("dsg").asString, if(element.has("sbp")) element.get("sbp").asString else "null") + tmpMap[name] = roomData + } + } + + return tmpMap + } + + private fun deconstructSecretLocationMetadata(): Map> { + + val tmp = HashMap>() + + waypointsJson.entrySet().forEach { (name, element) -> + if(element is JsonArray) { + + val secrets = element.map { it.asJsonObject }.map{ SecretMetaData(it.get("secretName").asString, it.get("category").asString, it.get("x").asInt, it.get("y").asInt, it.get("z").asInt) }.toTypedArray() + + tmp[name] = secrets + } + } + + return tmp + } + + + private fun constructRooms(){ + val roomMetaData = deconstructRoomData() + val secretMetaData = deconstructSecretLocationMetadata() + + val tmp = HashMap() + + secretMetaData.forEach { (secretName, secrets) -> + roomMetaData.forEach { (metaName, meta) -> + if(secretName == metaName) { + tmp[secretName] = DungeonRoom(secretName, meta, secrets) + } + } + } + println("Example room data: ${tmp["Perch-2"]}") + roomData = tmp + } + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/commands/RoomCommand.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/commands/RoomCommand.kt new file mode 100644 index 0000000..4079a65 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/commands/RoomCommand.kt @@ -0,0 +1,573 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.commands + +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.ChatTransmitter +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.dungeons.DungeonManager +import io.github.quantizr.dungeonrooms.dungeons.DungeonRunStage +import io.github.quantizr.dungeonrooms.gui.WaypointsGUI +import io.github.quantizr.dungeonrooms.handlers.OpenLink +import io.github.quantizr.dungeonrooms.utils.MapUtils +import io.github.quantizr.dungeonrooms.utils.Utils +import net.minecraft.client.Minecraft +import net.minecraft.command.CommandBase +import net.minecraft.command.ICommandSender +import net.minecraft.entity.player.EntityPlayer +import net.minecraft.init.Blocks +import net.minecraft.util.BlockPos +import net.minecraft.util.ChatComponentText +import net.minecraft.util.EnumChatFormatting +import net.minecraft.util.MovingObjectPosition +import net.minecraft.world.World +import java.awt.Desktop +import java.awt.Toolkit +import java.awt.datatransfer.StringSelection +import java.io.IOException +import java.net.URI +import java.net.URISyntaxException + +class RoomCommand : CommandBase() { + override fun getCommandName(): String { + return "room" + } + + override fun getCommandUsage(arg0: ICommandSender): String { + return "/$commandName" + } + + override fun getCommandAliases(): List { + return listOf("drm") + } + + override fun getRequiredPermissionLevel(): Int { + return 0 + } + + override fun addTabCompletionOptions(sender: ICommandSender, args: Array, pos: BlockPos): List? { + if (args.size == 1) { + return getListOfStringsMatchingLastWord(args, "help", "waypoints", "move", "toggle", "set", "discord") + } + if (args.size > 1) { + if (args[0].equals("toggle", ignoreCase = true)) { + return getListOfStringsMatchingLastWord( + args, + "help", + "gui", + "waypointtext", + "waypointboundingbox", + "waypointbeacon" + ) + } else if (args[0].equals("set", ignoreCase = true)) { + return getListOfStringsMatchingLastWord(args, "gui", "dsg", "sbp") + } + } + return null + } + + override fun processCommand(arg0: ICommandSender, arg1: Array) { + val mc = Minecraft.getMinecraft() + val player = arg0 as EntityPlayer + if (arg1.isEmpty()) { + if (!Utils.inCatacombs) { + ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}Dungeon Rooms: Use this command in dungeons or run \"/room help\" for additional options" + ) + + } else { + if (DungeonRooms.instance.dungeonManager.gameStage == DungeonRunStage.RoomClear) { + DungeonRooms.instance.textToDisplay.forEach { ChatTransmitter.addToQueue(it) } + + ChatTransmitter.addToQueue( + "${EnumChatFormatting.GREEN}Dungeon Rooms: You can also run \"/room help\" for additional options" + ) + + } else { + ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}Dungeon Rooms: Use this command while clearing rooms or run \"/room help\" for additional options" + ) + + } + } + } else { + when (arg1[0].lowercase()) { + "help" -> ChatTransmitter.addToQueue( + """ + ${EnumChatFormatting.GOLD}Dungeon Rooms Mod Version ${DungeonRooms.VERSION} + ${EnumChatFormatting.DARK_PURPLE}Hotkeys: (Configurable in Controls Menu) + ${EnumChatFormatting.AQUA} ${DRMConfig.waypointGuiKey.display}${EnumChatFormatting.WHITE} - Opens Secret Waypoints configuration GUI + ${EnumChatFormatting.AQUA} ${DRMConfig.openSecretImages.display}${EnumChatFormatting.WHITE} - (old) Opens images of secret locations + ${EnumChatFormatting.AQUA} ${DRMConfig.practiceModeKeyBind.display}${EnumChatFormatting.WHITE} - View waypoints in Practice Mode ("/room toggle practice") + ${EnumChatFormatting.DARK_PURPLE}Commands: + ${EnumChatFormatting.AQUA} /room${EnumChatFormatting.WHITE} - Tells you in chat what room you are standing in. + ${EnumChatFormatting.AQUA} /room help${EnumChatFormatting.WHITE} - Displays this message. + ${EnumChatFormatting.AQUA} /room waypoints${EnumChatFormatting.WHITE} - Opens Secret Waypoints config GUI, alternatively can be opened with hotkey + ${EnumChatFormatting.AQUA} /room move ${EnumChatFormatting.WHITE} - Moves the GUI room name text to a coordinate. and are numbers between 0 and 100. Default is 50 for and 5 for . + ${EnumChatFormatting.AQUA} /room toggle [argument]${EnumChatFormatting.WHITE} - Run "/room toggle help" for full list of toggles. + ${EnumChatFormatting.AQUA} /room set ${EnumChatFormatting.WHITE} - Configure whether the hotkey opens the selector GUI or directly goes to DSG/SBP. + ${EnumChatFormatting.AQUA} /room discord${EnumChatFormatting.WHITE} - Opens the Discord invite for this mod in your browser. + """.trimIndent() + ) + + "gui", "open" -> { + if (!Utils.inCatacombs) { + ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}Dungeon Rooms: Use this command in dungeons" + ) + return + } + OpenLink.checkForLink("gui") + } + + "dsg" -> { + if (!Utils.inCatacombs) { + ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}Dungeon Rooms: Use this command in dungeons" + ) + return + } + OpenLink.checkForLink("dsg") + } + + "sbp" -> { + if (!Utils.inCatacombs) { + ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}Dungeon Rooms: Use this command in dungeons" + ) + return + } + OpenLink.checkForLink("sbp") + } + + "set" -> when (arg1[1].lowercase()) { + "gui" -> { + DRMConfig.imageHotkeyOpen = 0 + ChatTransmitter.addToQueue("Dungeon Rooms: Hotkey has been set to open: GUI") + } + + "dsg" -> { + DRMConfig.imageHotkeyOpen = 1 + ChatTransmitter.addToQueue("Dungeon Rooms: Hotkey has been set to open: DSG") + } + + "sbp" -> { + DRMConfig.imageHotkeyOpen = 2 + ChatTransmitter.addToQueue("Dungeon Rooms: Hotkey has been set to open: SBP") + } + + else -> ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}Dungeon Rooms: Valid options are " + ) + + } + + "wp", "waypoint", "waypoints" -> Thread { mc.addScheduledTask { mc.displayGuiScreen(WaypointsGUI()) } }.start() + "move" -> { + DRMConfig.textLocX = arg1[1].toInt() + DRMConfig.textLocY = arg1[2].toInt() + ChatTransmitter.addToQueue("Dungeon Rooms: Room GUI has been moved to ${arg1[1]}, ${arg1[2]}") + } + + "toggle" -> { + val toggleHelp = """ + ${EnumChatFormatting.GOLD} Dungeon Rooms Mod Toggle Commands: + ${EnumChatFormatting.AQUA} /room toggle gui${EnumChatFormatting.WHITE} - Toggles displaying current room in gui. + ${EnumChatFormatting.AQUA} /room toggle motd${EnumChatFormatting.WHITE} - Toggles displaying the Welcome/MOTD message at the start of a dungeon run. + ${EnumChatFormatting.AQUA} /room toggle practice${EnumChatFormatting.WHITE} - Toggles Practice Mode, where waypoints are only displayed when holding down ${ + DRMConfig.practiceModeKeyBind.display + }".${EnumChatFormatting.AQUA} /room toggle waypoints${EnumChatFormatting.WHITE} - Toggles Waypoints, does the same thing as pressing "${ + DRMConfig.waypointGuiKey.display + }" then clicking "Waypoints". + ${EnumChatFormatting.AQUA} /room toggle waypointtext${EnumChatFormatting.WHITE} - Toggles displaying waypoint names above waypoints. + ${EnumChatFormatting.AQUA} /room toggle waypointboundingbox${EnumChatFormatting.WHITE} - Toggles displaying the bounding box on waypoints. + ${EnumChatFormatting.AQUA} /room toggle waypointbeacon${EnumChatFormatting.WHITE} - Toggles displaying the beacon above waypoints. + """.trimIndent() + if (arg1.size == 1) { + ChatTransmitter.addToQueue(toggleHelp) + } else { + when (arg1[1].lowercase()) { + "gui" -> { + DRMConfig.guiToggled = !DRMConfig.guiToggled + ChatTransmitter.addToQueue("Dungeon Rooms: Display room names in GUI has been set to: " + DRMConfig.guiToggled) + } + + "welcome", "motd" -> { + DRMConfig.motdToggled = !DRMConfig.motdToggled + ChatTransmitter.addToQueue("Dungeon Rooms: Display Welcome/MOTD has been set to: " + DRMConfig.motdToggled) + } + + "practice", "practicemode" -> { + DRMConfig.practiceModeOn = !DRMConfig.practiceModeOn + if (DRMConfig.practiceModeOn) { + ChatTransmitter.addToQueue( + """ + §eDungeon Rooms: Practice Mode has been enabled. + §e Waypoints will only show up while you are pressing "${ + DRMConfig.practiceModeKeyBind.display + }". + §r (Hotkey is configurable in Minecraft Controls menu) + """.trimIndent() + ) + + } else { + ChatTransmitter.addToQueue("§eDungeon Rooms: Practice Mode has been disabled.") + } + } + + "waypoint", "waypoints" -> { + DRMConfig.waypointsEnabled = !DRMConfig.waypointsEnabled + if (DRMConfig.waypointsEnabled) { + ChatTransmitter.addToQueue("§eDungeon Rooms: Waypoints will now automatically show up when you enter a new dungeon room.") + } else { + ChatTransmitter.addToQueue("§eDungeon Rooms: Waypoints have been disabled.") + } + } + + "text", "waypointtext" -> { + DRMConfig.showWaypointText = !DRMConfig.showWaypointText + ChatTransmitter.addToQueue("Dungeon Rooms: Show Waypoint Text has been set to: " + DRMConfig.showWaypointText) + } + + "boundingbox", "waypointboundingbox" -> { + DRMConfig.showBoundingBox = !DRMConfig.showBoundingBox + ChatTransmitter.addToQueue("Dungeon Rooms: Show Waypoint Bounding Box has been set to: " + DRMConfig.showBoundingBox) + } + + "beacon", "waypointbeacon" -> { + DRMConfig.showBeacon = !DRMConfig.showBeacon + ChatTransmitter.addToQueue("Dungeon Rooms: Show Waypoint Beacon has been set to: " + DRMConfig.showBeacon) + } + + "override" -> { + Utils.dungeonOverride = !Utils.dungeonOverride + ChatTransmitter.addToQueue("Dungeon Rooms: Force inCatacombs has been set to: " + Utils.dungeonOverride) + } + + "help" -> ChatTransmitter.addToQueue(toggleHelp) + else -> ChatTransmitter.addToQueue(toggleHelp) + } + } + } + + "discord" -> try { + ChatTransmitter.addToQueue("Dungeon Rooms: Opening Dungeon Rooms Discord invite in browser...") + Desktop.getDesktop().browse(URI("https://discord.gg/7B5RbsArYK")) + } catch (e: IOException) { + e.printStackTrace() + } catch (e: URISyntaxException) { + e.printStackTrace() + } + + "relative" -> if (DungeonRooms.instance.roomDetection.roomDirection != "undefined" && DungeonRooms.instance.roomDetection.roomCorner != null) { + if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.blockPos != null) { + val relativePos = MapUtils.actualToRelative( + mc.objectMouseOver.blockPos, + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + ChatTransmitter.addToQueue("Dungeon Rooms: You are looking at relative blockPos: $relativePos") + } + } else { + ChatTransmitter.addToQueue("Dungeon Rooms: Unable to get relative blockPos at this time.") + } + + "json" -> { + if (!Utils.inCatacombs && DungeonRooms.instance.dungeonManager.gameStage != DungeonRunStage.RoomClear && DungeonRooms.instance.dungeonManager.gameStage != DungeonRunStage.Boss) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: Use this command in dungeons") + return + } + val room = DungeonRooms.instance.roomDataLoader.roomData[DungeonRooms.instance.roomDetection.roomName] + + if(room != null){ + ChatTransmitter.addToQueue(room.toString()) + } + } + + "roominfo" -> { + if (!Utils.inCatacombs || DungeonRooms.instance.dungeonManager.gameStage != DungeonRunStage.RoomClear) { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: Not in room clearing phase of dungeons") + } + if (DungeonManager.entranceMapCorners != null) { + ChatTransmitter.addToQueue("dev: entranceMapCorners = ${listOf(DungeonManager.entranceMapCorners)}") + + } else { + ChatTransmitter.addToQueue("dev: entranceMapCorners = null") + } + if (DungeonManager.entrancePhysicalNWCorner != null) { + ChatTransmitter.addToQueue("dev: entrancePhysicalNWCorner = ${DungeonManager.entrancePhysicalNWCorner}") + } else { + ChatTransmitter.addToQueue("dev: entrancePhysicalNWCorner = null") + } + ChatTransmitter.addToQueue("dev: currentMapSegments = ${DungeonRooms.instance.roomDetection.currentMapSegments}") + ChatTransmitter.addToQueue("dev: currentPhysicalSegments = ${DungeonRooms.instance.roomDetection.currentPhysicalSegments}") + ChatTransmitter.addToQueue("dev: roomName = ${DungeonRooms.instance.roomDetection.roomName}") + ChatTransmitter.addToQueue("dev: roomSize = ${DungeonRooms.instance.roomDetection.roomSize}") + ChatTransmitter.addToQueue("dev: roomColor = ${DungeonRooms.instance.roomDetection.roomColor}") + ChatTransmitter.addToQueue("dev: roomCategory = ${DungeonRooms.instance.roomDetection.roomCategory}") + ChatTransmitter.addToQueue("dev: roomDirection = ${DungeonRooms.instance.roomDetection.roomDirection}") + if (DungeonRooms.instance.roomDetection.roomCorner != null) { + ChatTransmitter.addToQueue("dev: roomCorner = " + DungeonRooms.instance.roomDetection.roomCorner) + } else { + ChatTransmitter.addToQueue("dev: roomCorner = null") + } + } + + "blocksused" -> { + if (!Utils.inCatacombs || DungeonRooms.instance.dungeonManager.gameStage != DungeonRunStage.RoomClear) { + player.addChatMessage( + ChatComponentText("${EnumChatFormatting.RED}Dungeon Rooms: Not in room clearing phase of dungeons") + ) + } + ChatTransmitter.addToQueue(DungeonRooms.instance.roomDetection.blocksUsed.toString()) + } + + "add" -> { + val world: World = mc.theWorld + if (!Utils.inCatacombs || DungeonRooms.instance.dungeonManager.gameStage != DungeonRunStage.RoomClear || DungeonRooms.instance.roomDetection.roomDirection == "undefined" || DungeonRooms.instance.roomDetection.roomCorner == null) { + player.addChatMessage( + ChatComponentText( + "${EnumChatFormatting.RED}Dungeon Rooms: Current dungeon room is undefined" + ) + ) + return + } + when (arg1[1].lowercase()) { + "chest" -> if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.blockPos != null) { + val viewingPos = MapUtils.actualToRelative( + mc.objectMouseOver.blockPos, + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + if (world.getBlockState(mc.objectMouseOver.blockPos).block === Blocks.chest) { + player.addChatMessage( + ChatComponentText( + """{ + "secretName":"# - Chest", + "category":"chest", + "x":${viewingPos.x}, + "y":${viewingPos.y}, + "z":${viewingPos.z} + }""" + ) + ) + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ + "secretName":"# - Chest", + "category":"chest", + "x":${viewingPos.x}, + "y":${viewingPos.y}, + "z":${viewingPos.z} + }""".trimIndent() + ), + null + ) + } else { + ChatTransmitter.addToQueue("You are not looking at a Chest Secret") + } + } else { + ChatTransmitter.addToQueue("You are not looking at anything") + } + + "wither" -> if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.blockPos != null) { + val viewingPos = MapUtils.actualToRelative( + mc.objectMouseOver.blockPos, + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + if (world.getBlockState(mc.objectMouseOver.blockPos).block === Blocks.skull) { + player.addChatMessage( + ChatComponentText( + """{ "secretName":"# - Wither Essence", "category":"wither", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ) + ) + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"# - Wither Essence", "category":"wither", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ), + null + ) + } else { + ChatTransmitter.addToQueue("You are not looking at a Wither Essence Secret") + } + } else { + ChatTransmitter.addToQueue("You are not looking at anything") + } + + "superboom" -> if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.blockPos != null) { + val viewingPos = MapUtils.actualToRelative( + mc.objectMouseOver.blockPos, + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + if (world.getBlockState(mc.objectMouseOver.blockPos).block === Blocks.stonebrick) { + player.addChatMessage( + ChatComponentText( + """{ "secretName":"# - Superboom", "category":"superboom", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ) + ) + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"# - Superboom", "category":"superboom", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ), + null + ) + } else { + ChatTransmitter.addToQueue("You are not looking at a Superboom entrance") + } + } else { + ChatTransmitter.addToQueue("You are not looking at anything") + } + + "lever" -> if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.blockPos != null) { + val viewingPos = MapUtils.actualToRelative( + mc.objectMouseOver.blockPos, + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + if (world.getBlockState(mc.objectMouseOver.blockPos).block === Blocks.lever) { + player.addChatMessage( + ChatComponentText( + """{ "secretName":"# - Lever", "category":"lever", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ) + ) + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"# - Lever", "category":"lever", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ), + null + ) + } else { + ChatTransmitter.addToQueue("You are not looking at a Lever") + } + } else { + ChatTransmitter.addToQueue("You are not looking at anything") + } + + "fairysoul" -> if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && mc.objectMouseOver.blockPos != null) { + val viewingPos = MapUtils.actualToRelative( + mc.objectMouseOver.blockPos.up(1), + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + if (world.getBlockState(mc.objectMouseOver.blockPos.up(1)).block === Blocks.air) { + ChatTransmitter.addToQueue( + """{ "secretName":"Fairy Soul", "category":"fairysoul", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ) + + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"Fairy Soul", "category":"fairysoul", "x":${viewingPos.x}, "y":${viewingPos.y}, "z":${viewingPos.z}}""" + ), + null + ) + } else { + ChatTransmitter.addToQueue("You are not looking at the block below a Fairy Soul") + } + } else { + ChatTransmitter.addToQueue("You are not looking at anything") + } + + "item" -> { + val playerPos = MapUtils.actualToRelative( + BlockPos(player.posX, player.posY, player.posZ), + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + ChatTransmitter.addToQueue( + """{ "secretName":"# - Item", "category":"item", "x":${playerPos.x}, "y":${playerPos.y}, "z":${playerPos.z}}""" + ) + + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"# - Item", "category":"item", "x":${playerPos.x}, "y":${playerPos.y}, "z":${playerPos.z}}""" + ), + null + ) + } + + "entrance" -> { + val entrancePos = MapUtils.actualToRelative( + BlockPos(player.posX, player.posY + 1, player.posZ), + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + ChatTransmitter.addToQueue( + """{ "secretName":"# - Entrance", "category":"entrance", "x":${entrancePos.x}, "y":${entrancePos.y}, "z":${entrancePos.z}}""" + ) + + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"# - Entrance", "category":"entrance", "x":${entrancePos.x}, "y":${entrancePos.y}, "z":${entrancePos.z}}""" + ), + null + ) + } + + "bat" -> { + val batPos = MapUtils.actualToRelative( + BlockPos(player.posX, player.posY + 1, player.posZ), + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + ChatTransmitter.addToQueue( + """{ "secretName":"# - Bat", "category":"bat", "x":${batPos.x}, "y":${batPos.y}, "z":${batPos.z}}""" + ) + + Toolkit.getDefaultToolkit() + .systemClipboard + .setContents( + StringSelection( + """{ "secretName":"# - Bat", "category":"bat", "x":${batPos.x}, "y":${batPos.y}, "z":${batPos.z}}""" + ), + null + ) + } + + else -> ChatTransmitter.addToQueue( + EnumChatFormatting.RED + .toString() + "Dungeon Rooms: Valid options are " + ) + + } + } + + else -> ChatTransmitter.addToQueue( + EnumChatFormatting.RED + .toString() + "Dungeon Rooms: Run \"/room\" by itself to see the room name or run \"/room help\" for additional options" + ) + + } + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/DungeonManager.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/DungeonManager.kt new file mode 100644 index 0000000..fc47651 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/DungeonManager.kt @@ -0,0 +1,171 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.dungeons + +import io.github.quantizr.dungeonrooms.ChatTransmitter +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.DungeonRooms.Companion.instance +import io.github.quantizr.dungeonrooms.pathfinding.CachedPathFinder +import io.github.quantizr.dungeonrooms.utils.MapUtils +import io.github.quantizr.dungeonrooms.utils.Utils +import net.minecraft.client.Minecraft +import net.minecraft.util.EnumChatFormatting +import net.minecraft.util.Vec3 +import net.minecraftforge.client.event.ClientChatReceivedEvent +import net.minecraftforge.event.world.WorldEvent +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent +import java.awt.Point +import java.util.* + +class DungeonManager { + val mc: Minecraft = Minecraft.getMinecraft() + private var bloodTime = Long.MAX_VALUE + private var oddRun = true //if current run number is even or odd + @SubscribeEvent(priority = EventPriority.HIGHEST, receiveCanceled = true) + fun onChat(event: ClientChatReceivedEvent) { + if (!Utils.inCatacombs) return + val message = event.message.formattedText + + //gameStage set from 0 to 1 in the onTick function later + if (message.startsWith("§e[NPC] §bMort§f: §rHere, I found this map when I first entered the dungeon.§r")) { + gameStage = DungeonRunStage.RoomClear + DungeonRooms.logger.info("DungeonRooms: gameStage set to $gameStage") + } else if (message.startsWith("§r§c[BOSS] The Watcher§r§f: You have proven yourself. You may pass.§r")) { + bloodTime = System.currentTimeMillis() + 5000 //5 seconds because additional messages might come through + DungeonRooms.logger.info("DungeonRooms: bloodDone has been set to True") + } else if (System.currentTimeMillis() > bloodTime && (message.startsWith("§r§c[BOSS] ") && !message.contains(" The Watcher§r§f:") || message.startsWith( + "§r§4[BOSS] " + )) + ) { + if (gameStage != DungeonRunStage.RoomClear) { + gameStage = DungeonRunStage.RoomClear + DungeonRooms.logger.info("DungeonRooms: gameStage set to $gameStage") + + //this part mostly so /room json doesn't error out + instance.roomDetection.resetCurrentRoom() + instance.roomDetection.roomName = "Boss Room" + instance.roomDetection.roomCategory = "General" + //RoomDetection.newRoom() //uncomment to display Boss Room in gui + } + } else if (message.contains("§r§c☠ §r§eDefeated §r")) { + gameStage = DungeonRunStage.Boss + DungeonRooms.logger.info("DungeonRooms: gameStage set to $gameStage") + instance.roomDetection.resetCurrentRoom() + } + } + + @SubscribeEvent + fun onTick(event: ClientTickEvent) { + if (event.phase != TickEvent.Phase.START) return + val player = mc.thePlayer + if (!Utils.inCatacombs) return //From this point forward, everything assumes that Utils.inCatacombs == true + tickAmount++ + if ((gameStage == DungeonRunStage.NotInDungeon || gameStage == DungeonRunStage.NotStarted) && tickAmount % 20 == 0) { + if (DungeonRooms.firstLogin) { + DungeonRooms.firstLogin = false + ChatTransmitter.addToQueue( + """ + §d§l--- Dungeon Rooms Mod --- + §e This appears to be your first time using DRM v${DungeonRooms.VERSION}. + §e Press "${DRMConfig.waypointGuiKey.display}" to configure Secret Waypoint settings, If you do not wish to use Waypoints, you can instead press "${DRMConfig.openSecretImages.display}" while inside a dungeon room to view images of the secrets for that room. + §r (If you need help, join the Discord! Run "/room discord" to open the Discord invite.) + §d§l------------------------ + """.trimIndent() + ) + + } + if (gameStage == DungeonRunStage.NotInDungeon) { + gameStage = DungeonRunStage.NotStarted + DungeonRooms.logger.info("DungeonRooms: gameStage set to $gameStage") + } + if (MapUtils.updatedMap() != null) { + DungeonRooms.logger.warn("DungeonRooms: Run started but gameStage is not on 2") + gameStage = DungeonRunStage.RoomClear + DungeonRooms.logger.info("DungeonRooms: gameStage set to $gameStage") + return + } + if (gameStage == DungeonRunStage.NotStarted && entrancePhysicalNWCorner == null) { + if (player.positionVector != Vec3(0.0, 0.0, 0.0)) { + //this point is calculated using math, not scanning, which may cause issues when reconnecting to a run + entrancePhysicalNWCorner = MapUtils.getClosestNWPhysicalCorner(player.positionVector) + DungeonRooms.logger.info("DungeonRooms: entrancePhysicalNWCorner has been set to $entrancePhysicalNWCorner") + } + } + if (DRMConfig.motdToggled) { + DungeonRooms.logger.info("DungeonRooms: Updating MOTD on screen") + if (oddRun || !DRMConfig.guiToggled) { // load MOTD on odd runs + if (instance.motd.isNotEmpty()) { + instance.textToDisplay = instance.motd + } + } + if (DRMConfig.guiToggled) { //if MOTD is empty or not odd run load default text + instance.textToDisplay = ArrayList( + listOf( + "Dungeon Rooms: ${EnumChatFormatting.GREEN}Press the hotkey \"${ + DRMConfig.waypointGuiKey.display + }\" to configure", + "${EnumChatFormatting.GREEN}waypoint settings. Alternatively, press \"${ + DRMConfig.openSecretImages.display + }\" while in a room", + "${EnumChatFormatting.GREEN}to view images of secret locations for that room.", + "(You can change the keybinds in Minecraft controls menu)" + ) + ) + } + oddRun = !oddRun + } + tickAmount = 0 + } + } + + @SubscribeEvent + fun onWorldUnload(event: WorldEvent.Unload?) { + Utils.inCatacombs = false + tickAmount = 0 + gameStage = DungeonRunStage.NotInDungeon + map = null + entranceMapCorners = null + entrancePhysicalNWCorner = null + instance.roomDetection.entranceMapNullCount = 0 + bloodTime = Long.MAX_VALUE + instance.roomDetection.stage2Executor.shutdown() + instance.waypoints.allSecretsMap.clear() + instance.roomDetection.resetCurrentRoom() + } + + var gameStage = DungeonRunStage.NotInDungeon + + companion object { +// @JvmField +// var gameStage = 0 //0: Not in Dungeon, 1: Entrance/Not Started, 2: Room Clear, 3: Boss, 4: Done + + @JvmField + var map: Array>? = null + + @JvmField + var entranceMapCorners: Array? = null + + @JvmField + var entrancePhysicalNWCorner: Point? = null + var tickAmount = 0 + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/DungeonRunStage.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/DungeonRunStage.kt new file mode 100644 index 0000000..2fe21b8 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/DungeonRunStage.kt @@ -0,0 +1,5 @@ +package io.github.quantizr.dungeonrooms.dungeons + +enum class DungeonRunStage { + NotInDungeon, NotStarted, RoomClear, Boss, Done +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/RoomDetection.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/RoomDetection.kt new file mode 100644 index 0000000..da3570c --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/RoomDetection.kt @@ -0,0 +1,589 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.dungeons + +import io.github.quantizr.dungeonrooms.ChatTransmitter +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.dungeons.data.room.RoomColor +import io.github.quantizr.dungeonrooms.dungeons.data.room.RoomSize +import io.github.quantizr.dungeonrooms.gui.WaypointsGUI +import io.github.quantizr.dungeonrooms.handlers.OpenLink +import io.github.quantizr.dungeonrooms.utils.MapUtils +import io.github.quantizr.dungeonrooms.utils.RoomDetectionUtils +import io.github.quantizr.dungeonrooms.utils.Utils +import net.minecraft.block.Block +import net.minecraft.client.Minecraft +import net.minecraft.util.BlockPos +import net.minecraft.util.EnumChatFormatting +import net.minecraft.util.MovingObjectPosition +import net.minecraft.util.Vec3 +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.InputEvent +import net.minecraftforge.fml.common.gameevent.TickEvent +import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent +import java.awt.Point +import java.util.* +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors +import java.util.concurrent.Future + +class RoomDetection { + val mc: Minecraft = Minecraft.getMinecraft() + + @SubscribeEvent + fun onKey(event: InputEvent.KeyInputEvent?) { + when { + DRMConfig.refreshMapKeybind.isActive -> { + entranceMapNullCount = 0 + stage2Ticks = 0 + } + } + } + + @SubscribeEvent + fun onTick(event: ClientTickEvent) { + if (event.phase != TickEvent.Phase.START) return + if (!Utils.inCatacombs) return + + // From this point forward, everything assumes that Utils.inCatacombs == true + if (DungeonRooms.instance.dungeonManager.gameStage != DungeonRunStage.RoomClear) return + + // Room clearing phase + stage2Ticks++ + if (stage2Ticks == 10) { + stage2Ticks = 0 + //start ExecutorService with one thread + if (stage2Executor.isTerminated) { + DungeonRooms.logger.info("DungeonRooms: New Single Thread Executor Started") + stage2Executor = Executors.newSingleThreadExecutor() + } + //set entranceMapCorners + if (DungeonManager.entranceMapCorners == null) { + DungeonManager.map = MapUtils.updatedMap() + DungeonManager.entranceMapCorners = MapUtils.entranceMapCorners(DungeonManager.map) + DungeonRooms.logger.info("DungeonRooms: Getting entrance map corners from hotbar map...") + } else if (DungeonManager.entranceMapCorners!![0] == null || DungeonManager.entranceMapCorners!![1] == null) { //prevent crashes if hotbar map bugged + DungeonRooms.logger.warn("DungeonRooms: Entrance room not found, hotbar map possibly bugged") + entranceMapNullCount++ + DungeonManager.entranceMapCorners = null // retry getting corners again next loop + if (entranceMapNullCount == 8) { + ChatTransmitter.addToQueue( + "${EnumChatFormatting.RED}DungeonRooms: Error with hotbar map, perhaps your texture pack is interfering with room detection?" + ) + DungeonRooms.instance.textToDisplay = ArrayList( + listOf( + "Dungeon Rooms: ${EnumChatFormatting.RED}Hotbar map may be bugged" + ) + ) + //gameStage = 4; + //DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); + } + } else if (DungeonManager.entrancePhysicalNWCorner == null) { + DungeonRooms.logger.warn("DungeonRooms: Entrance Room coordinates not found") + // for when people dc and reconnect, or if initial check doesn't work + val playerMarkerPos = MapUtils.playerMarkerPos() + if (playerMarkerPos != null) { + val closestNWMapCorner = MapUtils.getClosestNWMapCorner( + playerMarkerPos, + DungeonManager.entranceMapCorners!![0]!!, + DungeonManager.entranceMapCorners!![1]!! + ) + if (MapUtils.getMapColor(playerMarkerPos, DungeonManager.map) == RoomColor.GREEN + && MapUtils.getMapColor(closestNWMapCorner, DungeonManager.map) == RoomColor.GREEN + ) { + if (mc.thePlayer.positionVector != Vec3(0.0, 0.0, 0.0)) { + DungeonManager.entrancePhysicalNWCorner = + MapUtils.getClosestNWPhysicalCorner(mc.thePlayer.positionVector) + DungeonRooms.logger.info("DungeonRooms: entrancePhysicalNWCorner has been set to ${DungeonManager.entrancePhysicalNWCorner}") + } + } else { + DungeonRooms.instance.textToDisplay = ArrayList( + listOf( + "Dungeon Rooms: ${EnumChatFormatting.RED}Entrance Room coordinates not found", + "${EnumChatFormatting.RED}Please go back into the middle of the Green Entrance Room." + ) + ) + } + } + } else { + val currentPhysicalCorner = MapUtils.getClosestNWPhysicalCorner(mc.thePlayer.positionVector) + if (!currentPhysicalSegments.contains(currentPhysicalCorner)) { + // checks if current location is within the bounds of the last detected room + resetCurrentRoom() // only instance of resetting room other than leaving Dungeon + } else if (incompleteScan != 0L && System.currentTimeMillis() > incompleteScan) { + incompleteScan = 0 + DungeonRooms.logger.info("DungeonRooms: Rescanning room...") + raytraceBlocks() + } else if (redoScan != 0L && System.currentTimeMillis() > redoScan) { + redoScan = 0 + DungeonRooms.logger.info("DungeonRooms: Clearing data and rescanning room...") + thaPossibleRooms = null + raytraceBlocks() + } + if (roomSize == RoomSize.undefined || roomColor == RoomColor.UNDEFINED) { + updateCurrentRoom() + if (roomColor == RoomColor.UNDEFINED) { + DungeonRooms.instance.textToDisplay = ArrayList( + listOf( + "Dungeon Rooms: ${EnumChatFormatting.RED}Waiting for hotbar map to update..." + ) + ) + } else { + when (roomColor) { + RoomColor.BROWN, RoomColor.PURPLE, RoomColor.ORANGE -> raytraceBlocks() + RoomColor.YELLOW -> { + roomName = "Miniboss Room" + newRoom() + } + + RoomColor.GREEN -> { + roomName = "Entrance Room" + newRoom() + } + + RoomColor.PINK -> { + roomName = "Fairy Room" + newRoom() + } + + RoomColor.RED -> { + roomName = "Blood Room" + newRoom() + } + + else -> roomName = "undefined" + } + } + } + } + } + + // these run every tick while in room clearing phase + if (futureUpdatePossibleRooms != null && futureUpdatePossibleRooms!!.isDone) { + thaPossibleRooms = futureUpdatePossibleRooms!!.get() + futureUpdatePossibleRooms = null + val possibleRoomsSet = TreeSet() + var tempDirection = "undefined" + for ((key, possibleRoomList) in thaPossibleRooms!!) { + if (possibleRoomList.isNotEmpty()) { + tempDirection = + key // get direction to be used if room identified + possibleRoomsSet.addAll(possibleRoomList) + } + } + when (possibleRoomsSet.size) { + // no match + 0 -> { + DungeonRooms.instance.textToDisplay = listOf( + "Dungeon Rooms: ${EnumChatFormatting.RED}No Matching Rooms Detected", + "${EnumChatFormatting.RED}This mod might not have data for this room.", + "${EnumChatFormatting.WHITE}Retrying every 5 seconds..." + ) + + redoScan = System.currentTimeMillis() + 5000 + } + //room found + 1 -> { + roomName = possibleRoomsSet.first() + roomDirection = tempDirection + roomCorner = MapUtils.getPhysicalCornerPos(roomDirection, currentPhysicalSegments) + DungeonRooms.logger.info( + "DungeonRooms: 576 raytrace vectors sent, returning ${currentScannedBlocks.size} unique line-of-sight blocks, filtered down to $totalBlocksAvailableToCheck blocks, out of which ${blocksUsed.size} blocks were used to uniquely identify $roomName." + ) + newRoom() + } + // too many matches + else -> { + DungeonRooms.instance.textToDisplay = listOf( + "Dungeon Rooms: ${EnumChatFormatting.RED}Unable to Determine Room Name", + "${EnumChatFormatting.RED}Not enough valid blocks were scanned, look at a more open area.", + "${EnumChatFormatting.WHITE}Retrying every second..." + ) + + DungeonRooms.logger.info("DungeonRooms: Possible rooms list = ${ArrayList(possibleRoomsSet)}") + incompleteScan = System.currentTimeMillis() + 1000 + } + } + } + } + + private fun updateCurrentRoom() { + DungeonManager.map = MapUtils.updatedMap() + if (DungeonManager.map == null) { + return + } + val currentPhysicalCorner = MapUtils.getClosestNWPhysicalCorner(mc.thePlayer.positionVector) + val currentMapCorner = MapUtils.physicalToMapCorner( + currentPhysicalCorner, + DungeonManager.entrancePhysicalNWCorner!!, + DungeonManager.entranceMapCorners!![0]!!, + DungeonManager.entranceMapCorners!![1]!! + ) + roomColor = MapUtils.getMapColor(currentMapCorner, DungeonManager.map) + if (roomColor == RoomColor.UNDEFINED) { + println("DungeonRooms: Room color is undefined") + return + } + currentMapSegments = MapUtils.neighboringSegments( + currentMapCorner, + DungeonManager.map, + DungeonManager.entranceMapCorners!![0]!!, + DungeonManager.entranceMapCorners!![1]!!, + ArrayList() + ) + currentPhysicalSegments = ArrayList() + for (mapCorner in currentMapSegments) { + currentPhysicalSegments.add( + MapUtils.mapToPhysicalCorner( + mapCorner, + DungeonManager.entrancePhysicalNWCorner!!, + DungeonManager.entranceMapCorners!![0]!!, + DungeonManager.entranceMapCorners!![1]!! + ) + ) + } + roomSize = MapUtils.roomSize(currentMapSegments) + roomCategory = MapUtils.roomCategory(roomSize, roomColor) + } + + private fun raytraceBlocks() { + DungeonRooms.logger.info("DungeonRooms: Raytracing visible blocks") + val timeStart = System.currentTimeMillis() + + val player = mc.thePlayer + val eyes = Vec3(player.posX, player.posY + player.getEyeHeight().toDouble(), player.posZ) + + val blocksToCheck = HashMap().also { blocksToCheck -> + // create a list of vectors to check + RoomDetectionUtils.vectorsToRaytrace(24) + // raytrace block + .map { player.entityWorld.rayTraceBlocks(eyes, it, false, false, true) } + + // filter out entities/nulls + .filter { Objects.nonNull(it) } + .filter { it.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK } + + // get block position + .map { it.blockPos } + .forEach { raytracedBlockPos -> + if (!currentScannedBlocks.contains(raytracedBlockPos)) { + currentScannedBlocks.add(raytracedBlockPos) + // scanned block is outside of current room + if (currentPhysicalSegments.contains(MapUtils.getClosestNWPhysicalCorner(raytracedBlockPos))) { + // scanned block may be part of a corridor + if (!RoomDetectionUtils.blockPartOfDoorway(raytracedBlockPos)) { + val hitBlock = mc.theWorld.getBlockState(raytracedBlockPos) + val identifier = + Block.getIdFromBlock(hitBlock.block) * 100 + hitBlock.block.damageDropped(hitBlock) + if (RoomDetectionUtils.whitelistedBlocks.contains(identifier)) { + blocksToCheck[raytracedBlockPos] = + identifier // will be checked and filtered in getPossibleRooms() + } + } + } + } + + } + } + DungeonRooms.logger.info("DungeonRooms: Finished raytracing, amount of blocks to check: ${blocksToCheck.size}") + DungeonRooms.logger.info("DungeonRooms: Time to raytrace and filter (in ms): ${System.currentTimeMillis() - timeStart}") + + if (futureUpdatePossibleRooms == null && !stage2Executor.isTerminated) { + // start processing in new thread to avoid lag in case of complex scan + DungeonRooms.logger.info("DungeonRooms: Initializing Room Comparison Executor") + + val timeStart = System.currentTimeMillis() + // Load up hashmap + val updatedPossibleRooms: HashMap>? + val possibleDirections: List + if (thaPossibleRooms != null) { + // load info from previous scan + DungeonRooms.logger.info("DungeonRooms: Loading possible rooms from previous room scan...") + updatedPossibleRooms = thaPossibleRooms + possibleDirections = ArrayList(thaPossibleRooms!!.keys) + + } else { + DungeonRooms.logger.info("DungeonRooms: No previous possible rooms list, creating new list...") + // no previous scans have been done, entering all possible rooms and directions + possibleDirections = MapUtils.possibleDirections(roomSize, currentMapSegments) + updatedPossibleRooms = HashMap() + for (direction in possibleDirections) { + updatedPossibleRooms[direction] = + ArrayList(DungeonRooms.instance.roomDataLoader.ROOM_DATA[roomCategory]?.keys ?: emptyList()) + } + } + + //create HashMap of the points of the corners because they will be repeatedly used for each block + val directionCorners = HashMap() + for (direction in possibleDirections) { + val physicalCornerPos = MapUtils.getPhysicalCornerPos(direction, currentPhysicalSegments) + if (physicalCornerPos != null) { + directionCorners[direction] = physicalCornerPos + } + } + DungeonRooms.logger.info("DungeonRooms: directionCorners " + directionCorners.entries) + val blocksChecked: MutableList = ArrayList() + var doubleCheckedBlocks = 0 + for ((pos, blck) in blocksToCheck) { + DungeonRooms.logger.info("DungeonRooms: BlockPos being checked $pos") + var combinedMatchingRooms = 0 + for (direction in possibleDirections) { + //get specific id for the block to compare with ".skeleton" file room data + val relative = MapUtils.actualToRelative(pos, direction, directionCorners[direction]!!) + val idToCheck = Utils.shortToLong( + relative.x.toShort(), + relative.y.toShort(), + relative.z.toShort(), + blck.toShort() + ) + val matchingRooms: MutableList = ArrayList() + // compare with each saved ".skeleton" room + for (roomName in updatedPossibleRooms!![direction]!!) { + val index = DungeonRooms.instance.roomDataLoader.ROOM_DATA[roomCategory]!![roomName]?.let { + Arrays.binarySearch( + it, idToCheck + ) + } + if (index != null) { + if (index > -1) { + matchingRooms.add(roomName) + } + } + } + + //replace updatedPossibleRooms.get(direction) with the updated matchingRooms list + combinedMatchingRooms += matchingRooms.size + updatedPossibleRooms[direction] = matchingRooms + DungeonRooms.logger.info("DungeonRooms: direction checked = $direction, longID = $idToCheck, relative = $relative") + DungeonRooms.logger.info("DungeonRooms: updatedPossibleRooms size = ${updatedPossibleRooms[direction]!!.size} for direction $direction") + } + blocksChecked.add(pos) + + when (combinedMatchingRooms) { + 0 -> { + DungeonRooms.logger.warn("DungeonRooms: No rooms match the input blocks after checking ${blocksChecked.size} blocks, returning") + break + } + + 1 -> { + // scan 10 more blocks after 1 room remaining to double-check + if (doubleCheckedBlocks >= 10) { + DungeonRooms.logger.info("DungeonRooms: One room matches after checking " + blocksChecked.size + " blocks") + break + } + doubleCheckedBlocks++ + } + } + DungeonRooms.logger.info("DungeonRooms: $combinedMatchingRooms possible rooms after checking ${blocksChecked.size} blocks") + } + + // only print for this condition bc other conditions break to here + if (blocksChecked.size == blocksToCheck.size) { + DungeonRooms.logger.warn("DungeonRooms: Multiple rooms match after checking all ${blocksChecked.size} blocks") + } + blocksUsed.addAll(blocksChecked) + + // add blocksToCheck size to totalBlocksAvailableToCheck and clear blocksToCheck + totalBlocksAvailableToCheck += blocksToCheck.size + DungeonRooms.logger.info("DungeonRooms: Time to check blocks using thread (in ms): ${System.currentTimeMillis() - timeStart}") + + futureUpdatePossibleRooms = calculatePossibleRooms(blocksToCheck) + } + } + + private fun calculatePossibleRooms(thaBlocksToCheck: Map): Future>> { + return stage2Executor.submit>?> { + try { + val timeStart = System.currentTimeMillis() + // Load up hashmap + val updatedPossibleRooms: HashMap>? + val possibleDirections: List + if (thaPossibleRooms != null) { + // load info from previous scan + DungeonRooms.logger.info("DungeonRooms: Loading possible rooms from previous room scan...") + updatedPossibleRooms = thaPossibleRooms + possibleDirections = ArrayList(thaPossibleRooms!!.keys) + } else { + DungeonRooms.logger.info("DungeonRooms: No previous possible rooms list, creating new list...") + // no previous scans have been done, entering all possible rooms and directions + possibleDirections = MapUtils.possibleDirections(roomSize, currentMapSegments) + updatedPossibleRooms = HashMap() + for (direction in possibleDirections) { + updatedPossibleRooms[direction] = + ArrayList(DungeonRooms.instance.roomDataLoader.ROOM_DATA[roomCategory]?.keys ?: emptyList()) + } + } + + //create HashMap of the points of the corners because they will be repeatedly used for each block + val directionCorners = HashMap() + for (direction in possibleDirections) { + val physicalCornerPos = MapUtils.getPhysicalCornerPos(direction, currentPhysicalSegments) + if (physicalCornerPos != null) { + directionCorners[direction] = physicalCornerPos + } + } + DungeonRooms.logger.info("DungeonRooms: directionCorners ${directionCorners.entries}") + val blocksChecked: MutableList = ArrayList() + var doubleCheckedBlocks = 0 + for ((pos, blck) in thaBlocksToCheck) { + DungeonRooms.logger.info("DungeonRooms: BlockPos being checked $pos") + var combinedMatchingRooms = 0 + for (direction in possibleDirections) { + //get specific id for the block to compare with ".skeleton" file room data + val relative = MapUtils.actualToRelative(pos, direction, directionCorners[direction]!!) + val idToCheck = Utils.shortToLong( + relative.x.toShort(), + relative.y.toShort(), + relative.z.toShort(), + blck.toShort() + ) + val matchingRooms: MutableList = ArrayList() + // compare with each saved ".skeleton" room + for (roomName in updatedPossibleRooms!![direction]!!) { + val index = DungeonRooms.instance.roomDataLoader.ROOM_DATA[roomCategory]!![roomName]?.let { + Arrays.binarySearch( + it, idToCheck + ) + } + if (index != null) { + if (index > -1) { + matchingRooms.add(roomName) + } + } + } + + //replace updatedPossibleRooms.get(direction) with the updated matchingRooms list + combinedMatchingRooms += matchingRooms.size + updatedPossibleRooms[direction] = matchingRooms + DungeonRooms.logger.info("DungeonRooms: direction checked = $direction, longID = $idToCheck, relative = $relative") + DungeonRooms.logger.info("DungeonRooms: updatedPossibleRooms size = ${updatedPossibleRooms[direction]!!.size} for direction $direction") + } + blocksChecked.add(pos) + if (combinedMatchingRooms == 0) { + DungeonRooms.logger.warn("DungeonRooms: No rooms match the input blocks after checking ${blocksChecked.size} blocks, returning") + break + } + if (combinedMatchingRooms == 1) { + // scan 10 more blocks after 1 room remaining to double-check + if (doubleCheckedBlocks >= 10) { + DungeonRooms.logger.info("DungeonRooms: One room matches after checking ${blocksChecked.size} blocks") + break + } + doubleCheckedBlocks++ + } + DungeonRooms.logger.info("DungeonRooms: $combinedMatchingRooms possible rooms after checking ${blocksChecked.size} blocks") + } + + // only print for this condition bc other conditions break to here + if (blocksChecked.size == thaBlocksToCheck.size) { + DungeonRooms.logger.warn("DungeonRooms: Multiple rooms match after checking all ${blocksChecked.size} blocks") + } + blocksUsed.addAll(blocksChecked) + + // add blocksToCheck size to totalBlocksAvailableToCheck and clear blocksToCheck + totalBlocksAvailableToCheck += thaBlocksToCheck.size + val timeFinish = System.currentTimeMillis() + DungeonRooms.logger.info("DungeonRooms: Time to check blocks using thread (in ms): ${timeFinish - timeStart}") + return@submit updatedPossibleRooms + } catch (e: Exception) { + DungeonRooms.logger.error("DungeonRooms: Error in Room Comparison Executor", e) + e.printStackTrace() + return@submit HashMap>() + } + } + } + + var stage2Executor: ExecutorService = Executors.newSingleThreadExecutor() + + private var stage2Ticks = 0 + var currentMapSegments: List = ArrayList() + var currentPhysicalSegments: MutableList = ArrayList() + var roomSize = RoomSize.undefined + var roomColor = RoomColor.UNDEFINED + var roomCategory = "undefined" + var roomName = "undefined" + var roomDirection = "undefined" + var roomCorner: Point? = null + private var currentScannedBlocks = HashSet() + private var totalBlocksAvailableToCheck = 0 + var blocksUsed: MutableList = ArrayList() + private var futureUpdatePossibleRooms: Future>>? = null + private var thaPossibleRooms: HashMap>? = null + private var incompleteScan = 0L + private var redoScan = 0L + var entranceMapNullCount = 0 + fun resetCurrentRoom() { + DungeonRooms.instance.textToDisplay = emptyList() + DungeonRooms.instance.waypoints.allFound = false + currentPhysicalSegments = emptyList().toMutableList() + currentMapSegments = emptyList() + roomSize = RoomSize.undefined + roomColor = RoomColor.UNDEFINED + roomCategory = "undefined" + roomName = "undefined" + roomDirection = "undefined" + roomCorner = null + currentScannedBlocks = HashSet() + totalBlocksAvailableToCheck = 0 + blocksUsed = ArrayList() + futureUpdatePossibleRooms = null + thaPossibleRooms = null + incompleteScan = 0 + redoScan = 0 + DungeonRooms.instance.waypoints.secretCount = 0 + DungeonRooms.instance.waypoints.donePathfindFutures.clear() + + } + + private fun newRoom() { + if (roomName == "undefined" || roomCategory == "undefined") return + // update Waypoints info + val roomJson = DungeonRooms.instance.roomDataLoader.roomData[roomName] + if (roomJson != null) { + DungeonRooms.instance.waypoints.secretCount = roomJson.data.secrets + DungeonRooms.instance.waypoints.allSecretsMap.putIfAbsent(roomName, ArrayList(Collections.nCopies(DungeonRooms.instance.waypoints.secretCount, true))) + } else { + DungeonRooms.instance.waypoints.secretCount = 0 + DungeonRooms.instance.waypoints.allSecretsMap.putIfAbsent(roomName, ArrayList(Collections.nCopies(0, true))) + } + + DungeonRooms.instance.waypoints.allSecretsMap[roomName]?.let { + DungeonRooms.instance.waypoints.secretCompletionList = it.toMutableList() + } + + + //update GUI text + if (DRMConfig.guiToggled) { + val lineList: MutableList = ArrayList() + val roomJson = DungeonRooms.instance.roomDataLoader.roomData[roomName] + if (roomJson != null) { + var line = "Dungeon Rooms: You are in ${EnumChatFormatting.GREEN}$roomCategory${EnumChatFormatting.WHITE} - ${EnumChatFormatting.GREEN}$roomName" + if (roomJson.data.fairysoul) { + line += "${EnumChatFormatting.WHITE} - ${EnumChatFormatting.LIGHT_PURPLE}Fairy Soul" + } + lineList.add(line) + } else if (DRMConfig.waypointsEnabled){ + lineList.add("${EnumChatFormatting.RED}No waypoints available") + lineList.add("${EnumChatFormatting.RED}Press \"${DRMConfig.openSecretImages.display}\" to view images") + } + DungeonRooms.instance.textToDisplay = lineList + } + + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/Waypoints.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/Waypoints.kt new file mode 100644 index 0000000..a53b115 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/Waypoints.kt @@ -0,0 +1,442 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.dungeons + +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.events.PacketEvent.ReceiveEvent +import io.github.quantizr.dungeonrooms.pathfinding.CachedPathFinder +import io.github.quantizr.dungeonrooms.pathfinding.PfPath +import io.github.quantizr.dungeonrooms.utils.MapUtils +import io.github.quantizr.dungeonrooms.utils.Utils +import io.github.quantizr.dungeonrooms.utils.WaypointUtils +import kotlinx.coroutines.Deferred +import net.minecraft.client.Minecraft +import net.minecraft.client.renderer.GlStateManager +import net.minecraft.client.renderer.culling.Frustum +import net.minecraft.entity.item.EntityItem +import net.minecraft.init.Blocks +import net.minecraft.network.play.server.S0DPacketCollectItem +import net.minecraft.util.AxisAlignedBB +import net.minecraft.util.BlockPos +import net.minecraft.util.StringUtils +import net.minecraftforge.client.event.ClientChatReceivedEvent +import net.minecraftforge.client.event.RenderWorldLastEvent +import net.minecraftforge.event.entity.player.PlayerInteractEvent +import net.minecraftforge.fml.client.FMLClientHandler +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.InputEvent +import net.minecraftforge.fml.common.gameevent.TickEvent +import org.joml.Vector3i +import java.awt.Color +import java.util.concurrent.ConcurrentHashMap + +class Waypoints { + private var frustum = Frustum() + private var completedSecrets = 0 + + val cachedPathFinder = CachedPathFinder() + + var allFound = false + var secretCount = 0 + var allSecretsMap: MutableMap?> = HashMap() + var secretCompletionList: MutableList = ArrayList(BooleanArray(10).toList()) + + private var tickCounter = 0 + + + // user loc <-> pfjob + // this is used as a "last result cache", + // since new the player is moving, and we want to save the last processed path + val donePathfindFutures: MutableMap = HashMap() + + + @SubscribeEvent + fun onTick(event: TickEvent.ClientTickEvent) { + if (event.phase != TickEvent.Phase.START) return + if (!DRMConfig.waypointsEnabled) return + if (!DRMConfig.pathfindingEnabled) return + if (DRMConfig.practiceModeOn && !DRMConfig.practiceModeKeyBind.isActive) return + if (DRMConfig.disableWhenAllFound && allFound) return + + updateFinishedFutures() + tickCounter++ + if (tickCounter % DRMConfig.pathfindingRefreshRate != 0) return + tickCounter = 0 + + val (_, secretList) = DungeonRooms.instance.getJsonSecretList() ?: return + + secretList.stream() + .filter { it.category == "chest" || it.category == "wither" || it.category == "item" || it.category == "bat" } + + // make sure the secret is not done / and only target the first secret in the chain + .filter { secret -> + val nmbr = getSecretNumber(secret.secretName) + nmbr in (1..secretCount) && secretCompletionList[nmbr - 1] + } + .forEach { + val pos = getSecretPos(it.x, it.y, it.z) + val scrtLoc = Vector3i(pos.x, pos.y, pos.z) + cachedPathFinder.createPathAsync( + Vector3i( + Minecraft.getMinecraft().thePlayer.posX.toInt(), + Minecraft.getMinecraft().thePlayer.posY.toInt(), + Minecraft.getMinecraft().thePlayer.posZ.toInt() + ), + scrtLoc, + id = it.secretName, + lockProcessingThisTarget = true + ) { path -> + donePathfindFutures[scrtLoc] = path + } + } + + + } + + + private fun updateFinishedFutures(){ + // remove cached pathfind jobs that are leading to done secrets + val (_, secretList) = DungeonRooms.instance.getJsonSecretList() ?: return + secretList.stream() + .filter { secret -> + val nmbr = getSecretNumber(secret.secretName) + nmbr in (1..secretCount) && !secretCompletionList[nmbr - 1] + } + + // for each completed secret + .forEach { + // remove competed secrets from display + + donePathfindFutures + .filter { (_, job) -> job.id == it.secretName } + .forEach { (loc, _) -> donePathfindFutures.remove(loc) } + + } + + } + + + @SubscribeEvent + fun onWorldRender(event: RenderWorldLastEvent) { + if (!DRMConfig.waypointsEnabled) return + if (DRMConfig.practiceModeOn && !DRMConfig.practiceModeKeyBind.isActive) return + if (DRMConfig.disableWhenAllFound && allFound) return + + if(DRMConfig.pathfindingEnabled){ + donePathfindFutures.forEach { (_, points) -> + WaypointUtils.drawLinesVec3(points.path, Color(255, 0, 0, 255), Color(0, 255, 0, 255), 2.0f, event.partialTicks, true) + } + } + + val (_, secretList) = DungeonRooms.instance.getJsonSecretList() ?: return + val viewer = Minecraft.getMinecraft().renderViewEntity + frustum.setPosition(viewer.posX, viewer.posY, viewer.posZ) + + secretList.stream() + // don't render fairy souls + .filter { it.category != "fairysoul" } + + // make sure the secret is not done + .filter { secret -> + val nmbr = getSecretNumber(secret.secretName) + nmbr in (1..secretCount) && secretCompletionList[nmbr - 1] + } + + // make sure we are looking at it + .filter { + val pos = getSecretPos(it.x, it.y, it.z) + frustum.isBoxInFrustum( + pos.x.toDouble(), + pos.y.toDouble(), + pos.z.toDouble(), + (pos.x + 1).toDouble(), + 255.0, + (pos.z + 1).toDouble() + ) + } + + // render the beacon-text + .forEach { + val pos = getSecretPos(it.x, it.y, it.z) + val color = when (it.category) { + "entrance" -> { + if (!DRMConfig.showEntrance) return@forEach + Color(0, 255, 0) + } + + "superboom" -> { + if (!DRMConfig.showSuperboom) return@forEach + Color(255, 0, 0) + } + + "chest" -> { + if (!DRMConfig.showSecrets) return@forEach + Color(2, 213, 250) + } + + "item" -> { + if (!DRMConfig.showSecrets) return@forEach + Color(2, 64, 250) + } + + "bat" -> { + if (!DRMConfig.showSecrets) return@forEach + Color(142, 66, 0) + } + + "wither" -> { + if (!DRMConfig.showSecrets) return@forEach + Color(30, 30, 30) + } + + "lever" -> { + if (!DRMConfig.showSecrets) return@forEach + Color(250, 217, 2) + } + + "fairysoul" -> { + if (!DRMConfig.showFairySouls) return@forEach + Color(255, 85, 255) + } + + "stonk" -> { + if (!DRMConfig.showStonk) return@forEach + Color(146, 52, 235) + } + + else -> Color(190, 255, 252) + } + val viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * event.partialTicks + val viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * event.partialTicks + val viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * event.partialTicks + val x = pos.x - viewerX + val y = pos.y - viewerY + val z = pos.z - viewerZ + val distSq = x * x + y * y + z * z + GlStateManager.disableDepth() + GlStateManager.disableCull() + if (DRMConfig.showBoundingBox && frustum.isBoxInFrustum( + pos.x.toDouble(), + pos.y.toDouble(), + pos.z.toDouble(), + (pos.x + 1).toDouble(), + (pos.y + 1).toDouble(), + (pos.z + 1).toDouble() + ) + ) { + WaypointUtils.drawFilledBoundingBox(AxisAlignedBB(x, y, z, x + 1, y + 1, z + 1), color, 0.4f) + } + GlStateManager.disableTexture2D() + if (DRMConfig.showBeacon && distSq > 5 * 5) { + WaypointUtils.renderBeaconBeam( + x, + y + 1, + z, + color.rgb, + 0.25f, + event.partialTicks + ) + } + if (DRMConfig.showWaypointText) { + WaypointUtils.renderWaypointText( + it.secretName, + pos.up(2), + event.partialTicks + ) + } + GlStateManager.disableLighting() + GlStateManager.enableTexture2D() + GlStateManager.enableDepth() + GlStateManager.enableCull() + } + } + + @SubscribeEvent(priority = EventPriority.HIGHEST) + fun onChat(event: ClientChatReceivedEvent) { + if (!Utils.inCatacombs || !DRMConfig.waypointsEnabled) return + // Action Bar + if (event.type.toInt() != 2) return + event.message.unformattedText.split(" {3,}".toRegex()).forEach { section -> + if (section.contains("Secrets") && section.contains("/")) { + val cleanedSection = StringUtils.stripControlCodes(section) + val splitSecrets = cleanedSection.split("/") + completedSecrets = splitSecrets[0].replace("[^0-9]".toRegex(), "").toInt() + val totalSecrets = splitSecrets[1].replace("[^0-9]".toRegex(), "").toInt() + allFound = totalSecrets == secretCount && completedSecrets == secretCount + return + } + } + } + + @SubscribeEvent + fun onInteract(event: PlayerInteractEvent) { + if (!Utils.inCatacombs || !DRMConfig.waypointsEnabled) return + if (DRMConfig.disableWhenAllFound && allFound) return + if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) return + val block = event.world.getBlockState(event.pos).block + if (block != Blocks.chest && block != Blocks.skull) return + + + val (roomId, secretList) = DungeonRooms.instance.getJsonSecretList() ?: return + + secretList.stream() + .filter { it.category == "chest" || it.category == "wither" } + .filter { getSecretPos(it.x, it.y, it.z) == event.pos } + .filter { getSecretNumber(it.secretName) in (1..secretCount) } + .forEach { + val nmbr = getSecretNumber(it.secretName) + secretCompletionList[nmbr - 1] = false + allSecretsMap.replace(roomId, secretCompletionList) + DungeonRooms.logger.info("DungeonRooms: Detected ${it.category} click, turning off waypoint for secret #$nmbr") + } + } + + @SubscribeEvent + fun onReceivePacket(event: ReceiveEvent) { + if (!Utils.inCatacombs || !DRMConfig.waypointsEnabled) return + if (DRMConfig.disableWhenAllFound && allFound) return + + if (event.packet !is S0DPacketCollectItem) return + val packet = event.packet as S0DPacketCollectItem + + val mc = Minecraft.getMinecraft() + var entity = mc.theWorld.getEntityByID(packet.collectedItemEntityID) ?: return + if (entity !is EntityItem) return + val item = entity // smart casting shat itself and I have to use this + entity = mc.theWorld.getEntityByID(packet.entityID) ?: return + val name = item.entityItem.displayName + if (!name.contains("Decoy") && + !name.contains("Defuse Kit") && + !name.contains("Dungeon Chest Key") && + !name.contains("Healing VIII") && + !name.contains("Inflatable Jerry") && + !name.contains("Spirit Leap") && + !name.contains("Training Weights") && + !name.contains("Trap") && + !name.contains("Treasure Talisman") + ) { + return + } + if (entity.commandSenderEntity.name != mc.thePlayer.name) { + // Do nothing if someone else picks up the item in order to follow Hypixel rules (laugh haha lol) + return + } + + val (roomId, secretList) = DungeonRooms.instance.getJsonSecretList() ?: return + + secretList.stream() + .filter { it.category == "item" || it.category == "bat" } // only bats and items + .filter { entity.getDistanceSq(getSecretPos(it.x, it.y, it.z)) <= 36 } // within 6 blocks + + // map the secret name to the secret number, so we don't recalc it every time + .map { secret -> + Pair(secret, getSecretNumber(secret.secretName)) + } + + // get current secret + .filter { (_, nmbr) -> + nmbr in (1..secretCount) + } + + // check if secret is already found + .filter { (_, nmbr) -> + secretCompletionList[nmbr - 1] + } + + // finish the secret + .forEach { (secret, nmbr) -> + secretCompletionList[nmbr - 1] = false + allSecretsMap.replace(roomId, secretCompletionList) + DungeonRooms.logger.info( + "DungeonRooms: ${entity.commandSenderEntity.name} picked up ${ + StringUtils.stripControlCodes( + name + ) + } from a ${secret.category} secret, turning off waypoint for secret #$nmbr" + ) + return@forEach + } + + } + + private fun getSecretPos(x: Int, y: Int, z: Int): BlockPos { + return MapUtils.relativeToActual( + BlockPos(x, y, z), + DungeonRooms.instance.roomDetection.roomDirection, + DungeonRooms.instance.roomDetection.roomCorner!! + ) + } + + + private fun getSecretNumber(secretName: String): Int { + val substring = secretName.substring(0, 2).replace("\\D".toRegex(), "") + return try { + substring.toInt() + } catch (e: NumberFormatException) { + 0 + } + } + + private var lastSneakTime: Long = 0 + + // Disable waypoint within 4 blocks away on sneak + @SubscribeEvent + fun onKey(event: InputEvent.KeyInputEvent?) { + if (!Utils.inCatacombs || !DRMConfig.waypointsEnabled || !DRMConfig.sneakToDisable) return + if (!FMLClientHandler.instance().client.gameSettings.keyBindSneak.isPressed) return + + val tmp = lastSneakTime // use temp value cuz we want to update the time at the start and not the end + lastSneakTime = System.currentTimeMillis() + + // check for two taps in under half a second + if ((System.currentTimeMillis() - tmp) >= 500) return + + val player = Minecraft.getMinecraft().thePlayer + + + val (roomId, secretList) = DungeonRooms.instance.getJsonSecretList() ?: return + + secretList.stream() + .filter { it.category == "chest" || it.category == "wither" || it.category == "item" || it.category == "bat" } + .filter { player.getDistanceSq(getSecretPos(it.x, it.y, it.z)) <= 16 } // within 4 blocks + + // map the secret name to the secret number, so we don't recalc it every time + .map { secret -> Pair(secret, getSecretNumber(secret.secretName)) } + + // get current secret + .filter { (_, nmbr) -> + nmbr in (1..secretCount) + } + + // check if secret is already found + .filter { (_, nmbr) -> + secretCompletionList[nmbr - 1] + } + + // finish the secret + .forEach { (secret, nmbr) -> + secretCompletionList[nmbr - 1] = false + allSecretsMap.replace(roomId, secretCompletionList) + DungeonRooms.logger.info("DungeonRooms: Player sneaked near ${secret.category} secret, turning off waypoint for secret #$nmbr") + return@forEach + } + } + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/DungeonRoom.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/DungeonRoom.kt new file mode 100644 index 0000000..c47b911 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/DungeonRoom.kt @@ -0,0 +1,3 @@ +package io.github.quantizr.dungeonrooms.dungeons.data.meta + +data class DungeonRoom(val id: String, val data: RoomMetaData, val secrets: Array) diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/RoomMetaData.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/RoomMetaData.kt new file mode 100644 index 0000000..578898f --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/RoomMetaData.kt @@ -0,0 +1,3 @@ +package io.github.quantizr.dungeonrooms.dungeons.data.meta + +data class RoomMetaData(val category: String, val secrets: Int, val fairysoul: Boolean, val dgs: String, val sbp: String) diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/SecretMetaData.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/SecretMetaData.kt new file mode 100644 index 0000000..07dbef4 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/meta/SecretMetaData.kt @@ -0,0 +1,3 @@ +package io.github.quantizr.dungeonrooms.dungeons.data.meta + +data class SecretMetaData(val secretName: String, val category: String, val x: Int, val y: Int, val z: Int) diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/room/RoomColor.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/room/RoomColor.kt new file mode 100644 index 0000000..557ef5a --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/room/RoomColor.kt @@ -0,0 +1,5 @@ +package io.github.quantizr.dungeonrooms.dungeons.data.room + +enum class RoomColor { + BROWN, PURPLE, ORANGE, YELLOW, GREEN, PINK, RED, UNDEFINED +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/room/RoomSize.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/room/RoomSize.kt new file mode 100644 index 0000000..c58e1d3 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/dungeons/data/room/RoomSize.kt @@ -0,0 +1,5 @@ +package io.github.quantizr.dungeonrooms.dungeons.data.room + +enum class RoomSize { + `1x1`, `1x2`, `1x3`, `1x4`, `2x2`, `L-shape`, undefined +} \ No newline at end of file diff --git a/src/main/java/io/github/quantizr/dungeonrooms/events/PacketEvent.java b/src/main/kotlin/io/github/quantizr/dungeonrooms/events/PacketEvent.kt similarity index 55% rename from src/main/java/io/github/quantizr/dungeonrooms/events/PacketEvent.java rename to src/main/kotlin/io/github/quantizr/dungeonrooms/events/PacketEvent.kt index 19d4d22..42c7bce 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/events/PacketEvent.java +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/events/PacketEvent.kt @@ -15,12 +15,11 @@ * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ +package io.github.quantizr.dungeonrooms.events -package io.github.quantizr.dungeonrooms.events; - -import net.minecraft.network.Packet; -import net.minecraftforge.fml.common.eventhandler.Cancelable; -import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraft.network.Packet +import net.minecraftforge.fml.common.eventhandler.Cancelable +import net.minecraftforge.fml.common.eventhandler.Event /** * Taken from Skytils under the GNU Affero General Public License v3.0 @@ -28,32 +27,22 @@ * @author My-Name-Is-Jeff (lily) */ @Cancelable -public class PacketEvent extends Event { - - public Direction direction; - public Packet packet; +open class PacketEvent(@JvmField var packet: Packet<*>) : Event() { + var direction: Direction? = null - public PacketEvent(Packet packet) { - this.packet = packet; - } - - public static class ReceiveEvent extends PacketEvent { - public ReceiveEvent(Packet packet) { - super(packet); - this.direction = Direction.INBOUND; + class ReceiveEvent(packet: Packet<*>) : PacketEvent(packet) { + init { + direction = Direction.INBOUND } } - public static class SendEvent extends PacketEvent { - public SendEvent(Packet packet) { - super(packet); - this.direction = Direction.OUTBOUND; + class SendEvent(packet: Packet<*>) : PacketEvent(packet) { + init { + direction = Direction.OUTBOUND } } - enum Direction { - INBOUND, - OUTBOUND + enum class Direction { + INBOUND, OUTBOUND } - } \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/gui/LinkGUI.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/gui/LinkGUI.kt new file mode 100644 index 0000000..4922fe4 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/gui/LinkGUI.kt @@ -0,0 +1,101 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.gui + +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.handlers.OpenLink +import io.github.quantizr.dungeonrooms.handlers.TextRenderer +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.GuiButton +import net.minecraft.client.gui.GuiScreen +import net.minecraft.client.gui.ScaledResolution +import net.minecraft.entity.player.EntityPlayer +import net.minecraft.event.ClickEvent +import net.minecraft.util.ChatComponentText +import net.minecraft.util.EnumChatFormatting + +class LinkGUI : GuiScreen() { + private var discordClient: GuiButton? = null + private var discordBrowser: GuiButton? = null + private var SBPSecrets: GuiButton? = null + private var close: GuiButton? = null + override fun doesGuiPauseGame(): Boolean { + return false + } + + override fun initGui() { + super.initGui() + val sr = ScaledResolution(Minecraft.getMinecraft()) + val height = sr.scaledHeight + val width = sr.scaledWidth + discordClient = GuiButton(0, width / 2 - 185, height / 6 + 96, 120, 20, "DSG Discord Client") + discordBrowser = GuiButton(1, width / 2 - 60, height / 6 + 96, 120, 20, "DSG Discord Browser") + SBPSecrets = GuiButton(2, width / 2 + 65, height / 6 + 96, 120, 20, "SBP Secrets Mod") + close = GuiButton(3, width / 2 - 60, height / 6 + 136, 120, 20, "Close") + buttonList.add(discordClient) + buttonList.add(discordBrowser) + buttonList.add(SBPSecrets) + buttonList.add(close) + } + + override fun drawScreen(mouseX: Int, mouseY: Int, partialTicks: Float) { + drawDefaultBackground() + val mc = Minecraft.getMinecraft() + val displayText: String + displayText = if (DungeonRooms.instance.roomDetection.roomName == "undefined") { + "Where would you like to view secrets for: ${EnumChatFormatting.RED}undefined" + } else { + "Where would you like to view secrets for: ${EnumChatFormatting.GREEN}${DungeonRooms.instance.roomDetection.roomName}" + } + val displayWidth = mc.fontRendererObj.getStringWidth(displayText) + TextRenderer.drawText(mc, displayText, width / 2 - displayWidth / 2, height / 6 + 56, 1.0, false) + val noteText = + ("${EnumChatFormatting.GRAY}If you wish to have the hotkey go directly to DSG or SBP instead of this GUI run ${EnumChatFormatting.WHITE}/room set ") + val noteWidth = mc.fontRendererObj.getStringWidth(noteText) + TextRenderer.drawText(mc, noteText, width / 2 - noteWidth / 2, (height * 0.9).toInt(), 1.0, false) + super.drawScreen(mouseX, mouseY, partialTicks) + } + + public override fun actionPerformed(button: GuiButton) { + val player: EntityPlayer = Minecraft.getMinecraft().thePlayer + if (button === discordClient) { + OpenLink.openDiscord("client") + player.closeScreen() + } else if (button === discordBrowser) { + OpenLink.openDiscord("browser") + player.closeScreen() + } else if (button === SBPSecrets) { + if (DungeonRooms.usingSBPSecrets) { + OpenLink.openSBPSecrets() + } else { + val sbpURL = "https://discord.gg/2UjaFqfPwJ" + val sbp = + ChatComponentText(EnumChatFormatting.YELLOW.toString() + "" + EnumChatFormatting.UNDERLINE + sbpURL) + sbp.chatStyle = sbp.chatStyle.setChatClickEvent(ClickEvent(ClickEvent.Action.OPEN_URL, sbpURL)) + player.addChatMessage( + ChatComponentText( + "${EnumChatFormatting.RED}Dungeon Rooms: You need theSkyblock Personalized (SBP) Mod for this feature, get it from " + ).appendSibling(sbp) + ) + } + player.closeScreen() + } else if (button === close) { + player.closeScreen() + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/gui/WaypointsGUI.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/gui/WaypointsGUI.kt new file mode 100644 index 0000000..d533f06 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/gui/WaypointsGUI.kt @@ -0,0 +1,335 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.gui + +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.handlers.TextRenderer +import io.github.quantizr.dungeonrooms.utils.Utils +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.GuiButton +import net.minecraft.client.gui.GuiScreen +import net.minecraft.client.gui.ScaledResolution +import net.minecraft.entity.player.EntityPlayer +import net.minecraft.util.ChatComponentText +import net.minecraft.util.EnumChatFormatting +import java.io.IOException +import java.util.* +import kotlin.math.ceil + +class WaypointsGUI : GuiScreen() { + private var waypointsEnabled: GuiButton? = null + private var practiceModeEnabled: GuiButton? = null + private var showEntrance: GuiButton? = null + private var showSuperboom: GuiButton? = null + private var showSecrets: GuiButton? = null + private var showFairySouls: GuiButton? = null + private var showStonk: GuiButton? = null + private var disableWhenAllFound: GuiButton? = null + private var sneakToDisable: GuiButton? = null + private var close: GuiButton? = null + override fun doesGuiPauseGame(): Boolean { + return false + } + + override fun initGui() { + super.initGui() + waypointGuiOpened = true + val sr = ScaledResolution(Minecraft.getMinecraft()) + val height = sr.scaledHeight + val width = sr.scaledWidth + waypointsEnabled = GuiButton(0, width / 2 - 100 + 0, height / 6 - 5, 200, 20, waypointBtnText()) + practiceModeEnabled = GuiButton( + 1, + width / 2 - 100 - 110, + height / 6 + 25, + 200, + 20, + "Practice Mode: " + getOnOff(DRMConfig.practiceModeOn) + ) + showEntrance = GuiButton( + 2, + width / 2 - 100 + 110, + height / 6 + 25, + 200, + 20, + "Show Entrance Waypoints: " + getOnOff(DRMConfig.showEntrance) + ) + showSuperboom = GuiButton( + 3, + width / 2 - 100 - 110, + height / 6 + 55, + 200, + 20, + "Show Superboom Waypoints: " + getOnOff(DRMConfig.showSuperboom) + ) + showSecrets = GuiButton( + 4, + width / 2 - 100 + 110, + height / 6 + 55, + 200, + 20, + "Show Secret Waypoints: " + getOnOff(DRMConfig.showSecrets) + ) + showFairySouls = GuiButton( + 5, + width / 2 - 100 - 110, + height / 6 + 85, + 200, + 20, + "Show Fairy Soul Waypoints: " + getOnOff(DRMConfig.showFairySouls) + ) + showStonk = GuiButton( + 6, + width / 2 - 100 + 110, + height / 6 + 85, + 200, + 20, + "Show Stonk Waypoints: " + getOnOff(DRMConfig.showStonk) + ) + sneakToDisable = GuiButton( + 7, + width / 2 - 100 - 110, + height / 6 + 115, + 200, + 20, + "Double-Tap Sneak to Hide Nearby: " + getOnOff(DRMConfig.sneakToDisable) + ) + disableWhenAllFound = GuiButton( + 8, + width / 2 - 100 + 110, + height / 6 + 115, + 200, + 20, + "Disable when all secrets found: " + getOnOff(DRMConfig.disableWhenAllFound) + ) + close = GuiButton(9, width / 2 - 100, height / 6 * 5, 200, 20, "Close") + buttonList.add(waypointsEnabled) + buttonList.add(practiceModeEnabled) + buttonList.add(showEntrance) + buttonList.add(showSuperboom) + buttonList.add(showSecrets) + buttonList.add(showFairySouls) + buttonList.add(showStonk) + buttonList.add(sneakToDisable) + buttonList.add(disableWhenAllFound) + buttonList.add(close) + if (Utils.inCatacombs) { + if (DungeonRooms.instance.waypoints.secretCount > 0) { + if (DungeonRooms.instance.waypoints.secretCount <= 5) { + for (i in 1..DungeonRooms.instance.waypoints.secretCount) { + val adjustPos = -40 * DungeonRooms.instance.waypoints.secretCount - 70 + 80 * i + secretButtonList[i - 1] = GuiButton( + 10 + i, width / 2 + adjustPos, height / 6 + 170, 60, 20, "$i: " + getOnOff( + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + ) + ) + buttonList.add(secretButtonList[i - 1]) + } + } else { + for (i in 1..ceil(DungeonRooms.instance.waypoints.secretCount.toDouble() / 2).toInt()) { + val adjustPos = -40 * ceil(DungeonRooms.instance.waypoints.secretCount.toDouble() / 2).toInt() - 70 + 80 * i + secretButtonList[i - 1] = GuiButton( + 10 + i, width / 2 + adjustPos, height / 6 + 170, 60, 20, "$i: " + getOnOff( + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + ) + ) + buttonList.add(secretButtonList[i - 1]) + } + for (i in (ceil((DungeonRooms.instance.waypoints.secretCount / 2).toDouble()) + 1).toInt() .. DungeonRooms.instance.waypoints.secretCount) { + val adjustPos = -40 * (DungeonRooms.instance.waypoints.secretCount - ceil(DungeonRooms.instance.waypoints.secretCount.toDouble() / 2) + .toInt()) - 70 + 80 * (i - ceil(DungeonRooms.instance.waypoints.secretCount.toDouble() / 2).toInt()) + secretButtonList[i - 1] = GuiButton( + 10 + i, width / 2 + adjustPos, height / 6 + 200, 60, 20, "$i: " + getOnOff( + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + ) + ) + buttonList.add(secretButtonList[i - 1]) + } + } + } + } + } + + override fun drawScreen(mouseX: Int, mouseY: Int, partialTicks: Float) { + drawDefaultBackground() + val mc = Minecraft.getMinecraft() + val text1 = "§lDungeon Room Waypoints:" + val text1Width = mc.fontRendererObj.getStringWidth(text1) + TextRenderer.drawText(mc, text1, width / 2 - text1Width / 2, height / 6 - 25, 1.0, false) + val text2 = "(Use at your own risk)" + val text2Width = mc.fontRendererObj.getStringWidth(text2) + TextRenderer.drawText( + mc, + EnumChatFormatting.GRAY.toString() + text2, + width / 2 - text2Width / 2, + height / 6 - 15, + 1.0, + false + ) + val text3 = "Toggle Room Specific Waypoints:" + val text3Width = mc.fontRendererObj.getStringWidth(text3) + TextRenderer.drawText(mc, text3, width / 2 - text3Width / 2, height / 6 + 140, 1.0, false) + val text4 = "(You can also press the # key matching the secret instead)" + val text4Width = mc.fontRendererObj.getStringWidth(text4) + TextRenderer.drawText( + mc, + EnumChatFormatting.GRAY.toString() + text4, + width / 2 - text4Width / 2, + height / 6 + 150, + 1.0, + false + ) + if (!Utils.inCatacombs) { + val errorText = "Not in dungeons" + val errorTextWidth = mc.fontRendererObj.getStringWidth(errorText) + TextRenderer.drawText( + mc, + EnumChatFormatting.RED.toString() + errorText, + width / 2 - errorTextWidth / 2, + height / 6 + 170, + 1.0, + false + ) + } else if (DungeonRooms.instance.waypoints.secretCount == 0) { + val errorText = "No secrets in this room" + val errorTextWidth = mc.fontRendererObj.getStringWidth(errorText) + TextRenderer.drawText( + mc, + EnumChatFormatting.RED.toString() + errorText, + width / 2 - errorTextWidth / 2, + height / 6 + 170, + 1.0, + false + ) + } + super.drawScreen(mouseX, mouseY, partialTicks) + } + + public override fun actionPerformed(button: GuiButton) { + val player: EntityPlayer = Minecraft.getMinecraft().thePlayer + if (button === waypointsEnabled) { + DRMConfig.waypointsEnabled = !DRMConfig.waypointsEnabled + waypointsEnabled!!.displayString = waypointBtnText() + if (DRMConfig.waypointsEnabled) { + player.addChatMessage(ChatComponentText("§eDungeon Rooms: Waypoints will now automatically show up when you enter a new dungeon room.")) + } + } else if (button === practiceModeEnabled) { + DRMConfig.practiceModeOn = !DRMConfig.practiceModeOn + practiceModeEnabled!!.displayString = "Practice Mode: " + getOnOff(DRMConfig.practiceModeOn) + if (DRMConfig.practiceModeOn) { + player.addChatMessage( + ChatComponentText( + """ + §eDungeon Rooms: Practice Mode has been enabled. + §e Waypoints will ONLY show up while you are pressing "${ + DRMConfig.practiceModeKeyBind.display + }". + §r (Hotkey is configurable in Minecraft Controls menu) + """.trimIndent() + ) + ) + } + } else if (button === showEntrance) { + DRMConfig.showEntrance = !DRMConfig.showEntrance + showEntrance!!.displayString = "Show Entrance Waypoints: " + getOnOff(DRMConfig.showEntrance) + } else if (button === showSuperboom) { + DRMConfig.showSuperboom = !DRMConfig.showSuperboom + showSuperboom!!.displayString = "Show Superboom Waypoints: " + getOnOff(DRMConfig.showSuperboom) + } else if (button === showSecrets) { + DRMConfig.showSecrets = !DRMConfig.showSecrets + showSecrets!!.displayString = "Show Secret Waypoints: " + getOnOff(DRMConfig.showSecrets) + } else if (button === showFairySouls) { + DRMConfig.showFairySouls = !DRMConfig.showFairySouls + showFairySouls!!.displayString = "Show Fairy Soul Waypoints: " + getOnOff(DRMConfig.showFairySouls) + } else if (button === showStonk) { + DRMConfig.showStonk = !DRMConfig.showStonk + showStonk!!.displayString = "Show Stonk Waypoints: " + getOnOff(DRMConfig.showStonk) + } else if (button === sneakToDisable) { + DRMConfig.sneakToDisable = !DRMConfig.sneakToDisable + sneakToDisable!!.displayString = "Double-Tap Sneak to Hide Nearby: " + getOnOff(DRMConfig.sneakToDisable) + } else if (button === disableWhenAllFound) { + DRMConfig.disableWhenAllFound = !DRMConfig.disableWhenAllFound + disableWhenAllFound!!.displayString = + "Disable when all secrets found: " + getOnOff(DRMConfig.disableWhenAllFound) + } else if (button === close) { + player.closeScreen() + } + if (Utils.inCatacombs) { + if (DungeonRooms.instance.waypoints.secretCount > 0) { + for (i in 1..DungeonRooms.instance.waypoints.secretCount) { + if (button === secretButtonList[i - 1]) { + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] = !DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + if (DungeonRooms.instance.roomDetection.roomName != "undefined") { + DungeonRooms.instance.waypoints.allSecretsMap.replace(DungeonRooms.instance.roomDetection.roomName, DungeonRooms.instance.waypoints.secretCompletionList) + } + secretButtonList[i - 1].displayString = "$i: " + getOnOff( + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + ) + break + } + } + } + } + } + + override fun onGuiClosed() { + waypointGuiOpened = false + } + + @Throws(IOException::class) + override fun keyTyped(c: Char, keyCode: Int) { + super.keyTyped(c, keyCode) + if (waypointGuiOpened && Utils.inCatacombs) { + if (DungeonRooms.instance.waypoints.secretCount > 0) { + for (i in 1..DungeonRooms.instance.waypoints.secretCount) { + if (keyCode - 1 == i) { + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] = !DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + if (DungeonRooms.instance.roomDetection.roomName != "undefined") { + DungeonRooms.instance.waypoints.allSecretsMap.replace(DungeonRooms.instance.roomDetection.roomName, DungeonRooms.instance.waypoints.secretCompletionList) + } + secretButtonList[i - 1].displayString = "$i: " + getOnOff( + DungeonRooms.instance.waypoints.secretCompletionList!![i - 1] + ) + break + } + } + } + } + } + + companion object { + var secretButtonList: MutableList = ArrayList(listOf(*arrayOfNulls(10))) + private var waypointGuiOpened = false + private fun waypointBtnText(): String { + return if (DRMConfig.waypointsEnabled) { + EnumChatFormatting.GREEN.toString() + "§lWaypoints Enabled" + } else { + EnumChatFormatting.RED.toString() + "§lWaypoints Disabled" + } + } + + private fun getOnOff(bool: Boolean): String { + return if (bool) { + EnumChatFormatting.GREEN.toString() + "On" + } else { + EnumChatFormatting.RED.toString() + "Off" + } + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/OpenLink.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/OpenLink.kt new file mode 100644 index 0000000..437af38 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/OpenLink.kt @@ -0,0 +1,107 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.handlers + +import io.github.quantizr.dungeonrooms.ChatTransmitter +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.gui.LinkGUI +import net.minecraft.client.Minecraft +import net.minecraft.event.ClickEvent +import net.minecraft.util.ChatComponentText +import net.minecraft.util.EnumChatFormatting +import net.minecraftforge.client.ClientCommandHandler +import net.minecraftforge.fml.client.FMLClientHandler +import java.awt.Desktop +import java.io.IOException +import java.net.URI +import java.net.URISyntaxException + +object OpenLink { + @JvmStatic + fun checkForLink(type: String?) { + val mc = Minecraft.getMinecraft() + + DungeonRooms.instance.roomDataLoader.roomData[DungeonRooms.instance.roomDetection.roomName]?.let { + if (it.data.dgs == "null" && it.data.sbp == "null") { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: There are no channels/images for this room.") + return + } + } + + when (type) { + "gui" -> mc.addScheduledTask { mc.displayGuiScreen(LinkGUI()) } + "dsg" -> openDiscord("client") + "sbp" -> if (DungeonRooms.usingSBPSecrets) { + openSBPSecrets() + } else { + val sbpURL = "https://discord.gg/2UjaFqfPwJ" + val sbp = ChatComponentText("${EnumChatFormatting.YELLOW}${EnumChatFormatting.UNDERLINE}$sbpURL") + sbp.chatStyle = sbp.chatStyle.setChatClickEvent(ClickEvent(ClickEvent.Action.OPEN_URL, sbpURL)) + val thacomponent = ChatComponentText( + "${EnumChatFormatting.RED}Dungeon Rooms: You need the SkyblockPersonalized (SBP) Mod for this feature, get it from " + ).appendSibling(sbp) + ChatTransmitter.addToQueue(thacomponent) + } + } + } + + fun openDiscord(type: String) { + val mc = Minecraft.getMinecraft() + val player = mc.thePlayer + + val room = DungeonRooms.instance.roomDataLoader.roomData[DungeonRooms.instance.roomDetection.roomName] ?: return + + if (room.data.dgs == "null") { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: There is no DSG channel for this room.") + return + } + try { + if (type == "client") { + player.addChatMessage(ChatComponentText("Dungeon Rooms: Opening DSG Discord in Client...")) + Desktop.getDesktop().browse(URI("discord://" + room.data.dgs)) + } else { + player.addChatMessage(ChatComponentText("Dungeon Rooms: Opening DSG Discord in Browser...")) + Desktop.getDesktop().browse(URI("https://discord.com" + room.data.dgs)) + } + } catch (e: IOException) { + e.printStackTrace() + } catch (e: URISyntaxException) { + e.printStackTrace() + } + } + + fun openSBPSecrets() { + + val room = DungeonRooms.instance.roomDataLoader.roomData[DungeonRooms.instance.roomDetection.roomName] ?: return + + if (room.data.sbp == "null") { + ChatTransmitter.addToQueue("${EnumChatFormatting.RED}Dungeon Rooms: There are no SBP images for this room.") + return + } + val name = room.data.sbp + var category = room.data.category + when (category) { + "Puzzle", "Trap" -> category = "puzzles" + "L-shape" -> category = "L" + } + ClientCommandHandler.instance.executeCommand( + FMLClientHandler.instance().clientPlayerEntity, + "/secretoverride $category $name" + ) + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/PacketHandler.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/PacketHandler.kt new file mode 100644 index 0000000..10677ba --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/PacketHandler.kt @@ -0,0 +1,40 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.handlers + +import io.github.quantizr.dungeonrooms.events.PacketEvent.ReceiveEvent +import io.github.quantizr.dungeonrooms.events.PacketEvent.SendEvent +import io.netty.channel.ChannelDuplexHandler +import io.netty.channel.ChannelHandlerContext +import io.netty.channel.ChannelPromise +import net.minecraft.network.Packet +import net.minecraftforge.common.MinecraftForge + +class PacketHandler : ChannelDuplexHandler() { + @Throws(Exception::class) + override fun channelRead(ctx: ChannelHandlerContext, msg: Any) { + if (msg is Packet<*>) MinecraftForge.EVENT_BUS.post(ReceiveEvent(msg)) + super.channelRead(ctx, msg) + } + + @Throws(Exception::class) + override fun write(ctx: ChannelHandlerContext, msg: Any, promise: ChannelPromise) { + if (msg is Packet<*>) MinecraftForge.EVENT_BUS.post(SendEvent(msg)) + super.write(ctx, msg, promise) + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/ScoreboardHandler.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/ScoreboardHandler.kt new file mode 100644 index 0000000..7344494 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/ScoreboardHandler.kt @@ -0,0 +1,66 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.handlers + +import com.google.common.collect.Iterables +import com.google.common.collect.Lists +import net.minecraft.client.Minecraft +import net.minecraft.scoreboard.Score +import net.minecraft.scoreboard.ScorePlayerTeam +import net.minecraft.util.StringUtils +import java.util.stream.Collectors + +object ScoreboardHandler { + @JvmStatic + fun cleanSB(scoreboard: String?): String { + val nvString = StringUtils.stripControlCodes(scoreboard).toCharArray() + val cleaned = StringBuilder() + for (c in nvString) { + if (c.code in 21..126) { + cleaned.append(c) + } + } + return cleaned.toString() + } + + @JvmStatic + val sidebarLines: List + get() { + val lines: MutableList = ArrayList() + if (Minecraft.getMinecraft().theWorld == null) return lines + val scoreboard = Minecraft.getMinecraft().theWorld.scoreboard ?: return lines + val objective = scoreboard.getObjectiveInDisplaySlot(1) ?: return lines + var scores = scoreboard.getSortedScores(objective) + val list = scores.stream() + .filter { input: Score? -> + input != null && input.playerName != null && !input.playerName + .startsWith("#") + } + .collect(Collectors.toList()) + scores = if (list.size > 15) { + Lists.newArrayList(Iterables.skip(list, scores.size - 15)) + } else { + list + } + for (score in scores) { + val team = scoreboard.getPlayersTeam(score.playerName) + lines.add(ScorePlayerTeam.formatPlayerName(team, score.playerName)) + } + return lines + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/TextRenderer.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/TextRenderer.kt new file mode 100644 index 0000000..f45335d --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/handlers/TextRenderer.kt @@ -0,0 +1,73 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.handlers + +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.Gui +import net.minecraft.client.renderer.GlStateManager +import net.minecraft.util.StringUtils +import kotlin.math.roundToInt + +object TextRenderer : Gui() { + @JvmStatic + fun drawText(mc: Minecraft, text: String, x: Int, yy: Int, scale: Double, outline: Boolean) { + var y = yy + GlStateManager.pushMatrix() + GlStateManager.scale(scale, scale, scale) + y -= mc.fontRendererObj.FONT_HEIGHT + for (line in text.split("\n".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()) { + y += (mc.fontRendererObj.FONT_HEIGHT * scale).toInt() + if (outline) { + val noColourLine = StringUtils.stripControlCodes(line) + mc.fontRendererObj.drawString( + noColourLine, ((x / scale).roundToInt() - 1).toFloat(), (y / scale).roundToInt() + .toFloat(), 0x000000, false + ) + mc.fontRendererObj.drawString( + noColourLine, ((x / scale).roundToInt() + 1).toFloat(), (y / scale).roundToInt() + .toFloat(), 0x000000, false + ) + mc.fontRendererObj.drawString( + noColourLine, + (x / scale).roundToInt().toFloat(), + ((y / scale).roundToInt() - 1).toFloat(), + 0x000000, + false + ) + mc.fontRendererObj.drawString( + noColourLine, + (x / scale).roundToInt().toFloat(), + ((y / scale).roundToInt() + 1).toFloat(), + 0x000000, + false + ) + mc.fontRendererObj.drawString( + line, (x / scale).roundToInt().toFloat(), (y / scale).roundToInt() + .toFloat(), 0xFFFFFF, false + ) + } else { + mc.fontRendererObj.drawString( + line, (x / scale).roundToInt().toFloat(), (y / scale).roundToInt() + .toFloat(), 0xFFFFFF, true + ) + } + } + GlStateManager.popMatrix() + GlStateManager.color(1f, 1f, 1f, 1f) + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/BlockedChecker.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/BlockedChecker.kt new file mode 100644 index 0000000..252bab4 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/BlockedChecker.kt @@ -0,0 +1,5 @@ +package io.github.quantizr.dungeonrooms.pathfinding + +interface BlockedChecker { + fun isBlocked(x: Int, y: Int, z: Int): Boolean +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/CachedPathFinder.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/CachedPathFinder.kt new file mode 100644 index 0000000..570f939 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/CachedPathFinder.kt @@ -0,0 +1,146 @@ +package io.github.quantizr.dungeonrooms.pathfinding + +import com.github.benmanes.caffeine.cache.Caffeine +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.CachedAlgBuilder +import io.github.quantizr.dungeonrooms.test.PathfindTest +import io.github.quantizr.dungeonrooms.utils.BlockCache +import kotlinx.coroutines.* +import net.minecraft.client.Minecraft +import net.minecraft.init.Blocks +import net.minecraft.util.AxisAlignedBB +import net.minecraft.util.BlockPos +import org.joml.Vector3d +import org.joml.Vector3i +import java.util.* +import java.util.concurrent.ConcurrentHashMap +import kotlin.math.floor + + +class CachedPathFinder { + + private val algBuilder = CachedAlgBuilder(this) + + private val pathfindCache = Caffeine.newBuilder() + .maximumSize(500) + .build { job: PfJob -> + val stat = algBuilder.buildPfAlg(job.to) + val now = System.nanoTime() + stat.pathfind(job) + if (DRMConfig.debug) { + PathfindTest.textToDisplay = listOf("Pathfinding took: ${(System.nanoTime() - now) / 1000000}ms") + } + return@build PfPath(job.id, stat.route) + } + + val defaultAccessor: BlockedChecker = object : BlockedChecker { + val playerWidth = 0.3f + val preBuilt = Blocks.stone.getStateFromMeta(2) + + private val cache = Caffeine.newBuilder() + .maximumSize(250_000) + .build { key: Vector3i -> + if(Minecraft.getMinecraft().theWorld == null) return@build null + val wX = key.x / 2.0f + val wY = key.y / 2.0f + val wZ = key.z / 2.0f + val bb = AxisAlignedBB.fromBounds( + (wX - playerWidth).toDouble(), + wY.toDouble(), + (wZ - playerWidth).toDouble(), + (wX + playerWidth).toDouble(), + (wY + 1.9f).toDouble(), + (wZ + playerWidth).toDouble() + ) + + val i = floor(bb.minX).toInt() + val j = floor(bb.maxX + 1.0).toInt() + val k = floor(bb.minY).toInt() + val l = floor(bb.maxY + 1.0).toInt() + val i1 = floor(bb.minZ).toInt() + val j1 = floor(bb.maxZ + 1.0).toInt() + val blockPos = BlockPos.MutableBlockPos() + val list = ArrayList() + for (k1 in i until j) { + for (l1 in i1 until j1) { + for (i2 in k - 1 until l) { + blockPos[k1, i2] = l1 + val blockState = BlockCache.getBlockState(blockPos) ?: return@build true + if (blockState.block.material.blocksMovement()) { + if (!blockState.block.isFullCube || i2 != k - 1) { + if (blockState != preBuilt) { + if (blockState.block.isFullCube) { + return@build true + } + try { + blockState.block.addCollisionBoxesToList( + Minecraft.getMinecraft().theWorld, + blockPos, + blockState, + bb, + list, + null + ) + } catch (e: Exception) { + return@build true + } + if (list.isNotEmpty()) { + return@build true + } + } + } + } + } + } + } + return@build false + } + + override fun isBlocked(x: Int, y: Int, z: Int): Boolean { + return cache[Vector3i(x, y, z)]!! + } + + } + + private val scope = CoroutineScope(Dispatchers.Default) + + fun destroy() { + scope.cancel() + pathfindCache.invalidateAll() + algBuilder.destroy() + } + + private val currProcesed: MutableMap = ConcurrentHashMap() + + /** + * [lockProcessingThisTarget] if true prevents multiple pathfinds from being processed at the same time + * to one destination + */ + fun createPathAsync( + start: Vector3i, + target: Vector3i, + room: BlockedChecker = defaultAccessor, + id: String = UUID.randomUUID().toString(), + lockProcessingThisTarget: Boolean = false, + callback: (PfPath) -> Unit = {} + ) { + if(lockProcessingThisTarget) { + if (currProcesed[target] == true) { + return + } + currProcesed[target] = true + } + scope.async { + val path = pathfindCache[PfJob( + start, + Vector3d(target).add(.5, .5, .5), + room, + id + )]!! + callback(path) + if(lockProcessingThisTarget) currProcesed[target] = false + } + } + + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/PfJob.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/PfJob.kt new file mode 100644 index 0000000..0164b39 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/PfJob.kt @@ -0,0 +1,6 @@ +package io.github.quantizr.dungeonrooms.pathfinding + +import org.joml.Vector3d +import org.joml.Vector3i + +data class PfJob(val from: Vector3i, val to: Vector3d, val room: BlockedChecker, val id: String) \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/PfPath.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/PfPath.kt new file mode 100644 index 0000000..941ca56 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/PfPath.kt @@ -0,0 +1,6 @@ +package io.github.quantizr.dungeonrooms.pathfinding + +import org.joml.Vector3d +import java.util.* + +data class PfPath(val id: String, val path: LinkedList) \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/AStarUtil.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/AStarUtil.kt new file mode 100644 index 0000000..318eb0c --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/AStarUtil.kt @@ -0,0 +1,48 @@ +package io.github.quantizr.dungeonrooms.pathfinding.algorithms + +import net.minecraft.util.MathHelper +import org.joml.Vector3d +import org.joml.Vector3i +import java.util.* +import kotlin.math.sqrt + +object AStarUtil { + class Node(val coordinate: Vector3i) { + var f = Float.MAX_VALUE + var g = Float.MAX_VALUE + var cacheMarker = 0 + + var parent: Node? = null + } + + fun reconstructPath(current: Node): LinkedList { + val route = LinkedList() + var curr: Node? = current + while (curr!!.parent != null) { + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + curr = curr.parent + } + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + return route + } + + fun distSq(x: Float, y: Float, z: Float): Float { + return MathHelper.sqrt_float(x * x + y * y + z * z) + } + + fun distSq(x: Int, y: Int, z: Int): Float { + return sqrt((x * x + y * y + z * z).toDouble()).toFloat() + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/CachedAlgBuilder.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/CachedAlgBuilder.kt new file mode 100644 index 0000000..10dcbbc --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/CachedAlgBuilder.kt @@ -0,0 +1,34 @@ +package io.github.quantizr.dungeonrooms.pathfinding.algorithms + +import com.github.benmanes.caffeine.cache.Caffeine +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.pathfinding.CachedPathFinder +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.impl.AStarCornerCut +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.impl.AStarFineGrid +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.impl.ThetaStar +import org.joml.Vector3d +import java.time.Duration + +class CachedAlgBuilder(val parent: CachedPathFinder) { + // since we pathfind to the same destination and the world does not change, + // we can cache open nodes in the A* family of algorithms + private val cache = Caffeine.newBuilder() + .maximumSize(11) + .expireAfterWrite(Duration.ofMinutes(2)) + .build { _: Vector3d -> + return@build when (DRMConfig.secretPathfindStrategy) { + 0 -> ThetaStar(parent.defaultAccessor) + 1 -> AStarCornerCut(parent.defaultAccessor) + 2 -> AStarFineGrid(parent.defaultAccessor) + else -> ThetaStar(parent.defaultAccessor) + } + } + + fun buildPfAlg(destination: Vector3d): IPathfinderAlgorithm { + return cache.get(destination)!! + } + + fun destroy() { + cache.invalidateAll() + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/IPathfinderAlgorithm.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/IPathfinderAlgorithm.kt new file mode 100644 index 0000000..882667a --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/IPathfinderAlgorithm.kt @@ -0,0 +1,18 @@ +package io.github.quantizr.dungeonrooms.pathfinding.algorithms + +import io.github.quantizr.dungeonrooms.pathfinding.BlockedChecker +import io.github.quantizr.dungeonrooms.pathfinding.PfJob +import org.joml.Vector3d +import org.joml.Vector3i +import java.util.* + + +abstract class IPathfinderAlgorithm(open val roomAccessor: BlockedChecker) { + var route = LinkedList() + protected set + + abstract fun pathfind(from: Vector3i, to:Vector3d, timeout: Float = 2000f): Boolean + fun pathfind(job: PfJob): Boolean { + return pathfind(job.from, job.to) + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/AStarCornerCut.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/AStarCornerCut.kt new file mode 100644 index 0000000..423eda5 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/AStarCornerCut.kt @@ -0,0 +1,182 @@ +package io.github.quantizr.dungeonrooms.pathfinding.algorithms.impl + +import io.github.quantizr.dungeonrooms.pathfinding.BlockedChecker +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.AStarUtil.Node +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.IPathfinderAlgorithm +import net.minecraft.util.AxisAlignedBB +import net.minecraft.util.MathHelper +import org.joml.Vector3d +import org.joml.Vector3i +import java.util.* + +class AStarCornerCut(private val room: BlockedChecker) : IPathfinderAlgorithm(room) { + private var dx: Int = 0 + private var dy: Int = 0 + private var dz: Int = 0 + + + private lateinit var destinationBB: AxisAlignedBB + private val nodeMap: MutableMap = HashMap() + + + private val open = PriorityQueue( + Comparator.comparing { a: Node? -> a?.f ?: Float.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.x ?: Int.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.y ?: Int.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.z ?: Int.MAX_VALUE } + ) + + + private var lastSx = 0 + private var lastSy = 0 + private var lastSz = 0 + + private var pfindIdx = 0 + + + private fun openNode(x: Int, y: Int, z: Int): Node { + val cord = Vector3i(x, y, z) + return nodeMap.getOrPut(cord) { + Node(cord) + } + } + + private fun distSq(x: Float, y: Float, z: Float): Float { + return MathHelper.sqrt_float(x * x + y * y + z * z) + } + + + override fun pathfind(from: Vector3i, to: Vector3d, timeout: Float): Boolean { + dx = (to.x * 2).toInt() + dy = (to.y * 2).toInt() + dz = (to.z * 2).toInt() + destinationBB = AxisAlignedBB.fromBounds( + (dx - 2).toDouble(), + (dy - 2).toDouble(), + (dz - 2).toDouble(), + (dx + 2).toDouble(), + (dy + 2).toDouble(), + (dz + 2).toDouble() + ) + + pfindIdx++ + if (lastSx != (from.x * 2) + || lastSy != (from.y * 2) + || lastSz != (from.z * 2) + ) { + open.clear() + } + lastSx = (from.x * 2) + lastSy = (from.y * 2) + lastSz = (from.z * 2) + + val startNode = openNode(dx, dy, dz) + val goalNode = openNode(lastSx, lastSy, lastSz) + if (goalNode.parent != null) { + val route = LinkedList() + var curr: Node? = goalNode + while (curr!!.parent != null) { + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + curr = curr.parent + } + route.addLast(Vector3d(curr.coordinate.x / 2.0, curr.coordinate.y / 2.0 + 0.1, curr.coordinate.z / 2.0)) + this.route = route + return true + } + startNode.g = 0f + startNode.f = 0f + goalNode.g = Int.MAX_VALUE.toFloat() + goalNode.f = Int.MAX_VALUE.toFloat() + open.add(startNode) + + val end = System.currentTimeMillis() + timeout + + while (!open.isEmpty()) { + if (System.currentTimeMillis() > end) { + return false + } + val n = open.poll() + if (n != null) { + if (n.cacheMarker == pfindIdx) continue + n.cacheMarker = pfindIdx + } + if (n === goalNode) { + // route = reconstructPath(startNode) + val route = LinkedList() + var curr: Node? = goalNode + while (curr!!.parent != null) { + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + curr = curr.parent + } + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + this.route = route + return true + } + for (z in -1..1) { + for (y in -1..1) { + for (x in -1..1) { + if (x == 0 && y == 0 && z == 0) continue + val neighbor = openNode( + n?.coordinate!!.x + x, n.coordinate.y + y, n.coordinate.z + z + ) + + // check blocked. + if (!(destinationBB.minX <= neighbor.coordinate.x + && neighbor.coordinate.x <= destinationBB.maxX + && destinationBB.minY <= neighbor.coordinate.y + && neighbor.coordinate.y <= destinationBB.maxY + && destinationBB.minZ <= neighbor.coordinate.z + && neighbor.coordinate.z <= destinationBB.maxZ // near destination + || + !roomAccessor.isBlocked(neighbor.coordinate.x, neighbor.coordinate.y, neighbor.coordinate.z) + ) + ) { // not blocked + continue + } + if (neighbor.cacheMarker == pfindIdx) continue + val gScore = + n.g.plus( + MathHelper.sqrt_float((x * x + y * y + z * z).toFloat()) + ) // altho it's sq, it should be fine + if (gScore < neighbor.g) { + neighbor.parent = n + neighbor.g = gScore + neighbor.f = gScore + distSq( + (goalNode.coordinate.x - neighbor.coordinate.x).toFloat(), + (goalNode.coordinate.y - neighbor.coordinate.y).toFloat(), + (goalNode.coordinate.z - neighbor.coordinate.z).toFloat() + ) + open.add(neighbor) + } else if (neighbor.cacheMarker != pfindIdx) { + neighbor.f = gScore + distSq( + (goalNode.coordinate.x - neighbor.coordinate.x).toFloat(), + (goalNode.coordinate.y - neighbor.coordinate.y).toFloat(), + (goalNode.coordinate.z - neighbor.coordinate.z).toFloat() + ) + open.add(neighbor) + } + } + } + } + } + return true + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/AStarFineGrid.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/AStarFineGrid.kt new file mode 100644 index 0000000..d5adce4 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/AStarFineGrid.kt @@ -0,0 +1,173 @@ +package io.github.quantizr.dungeonrooms.pathfinding.algorithms.impl + +import io.github.quantizr.dungeonrooms.pathfinding.BlockedChecker +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.AStarUtil +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.AStarUtil.Node +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.IPathfinderAlgorithm +import net.minecraft.util.AxisAlignedBB +import net.minecraft.util.EnumFacing +import net.minecraft.util.MathHelper +import org.joml.Vector3d +import org.joml.Vector3i +import java.util.* + +class AStarFineGrid(room: BlockedChecker) : IPathfinderAlgorithm(room) { + var dx: Int = 0 + var dy: Int = 0 + var dz: Int = 0 + + + private lateinit var destinationBB: AxisAlignedBB + private val nodeMap: MutableMap = HashMap() + + private val open = PriorityQueue( + Comparator.comparing { a: Node? -> a?.f ?: Float.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.x ?: Int.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.y ?: Int.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.z ?: Int.MAX_VALUE } + ) + + var lastSx = 0 + var lastSy = 0 + var lastSz = 0 + + + override fun pathfind(from: Vector3i, to: Vector3d, timeout: Float): Boolean { + pfindIdx++ + + dx = (to.x * 2).toInt() + dy = (to.y * 2).toInt() + dz = (to.z * 2).toInt() + destinationBB = AxisAlignedBB.fromBounds( + (dx - 2).toDouble(), + (dy - 2).toDouble(), + (dz - 2).toDouble(), + (dx + 2).toDouble(), + (dy + 2).toDouble(), + (dz + 2).toDouble() + ) + + if (lastSx != from.x * 2 || lastSy != from.y * 2 || lastSz != from.z * 2 + ) open.clear() + lastSx = from.x * 2 + lastSy = from.y * 2 + lastSz = from.z * 2 + val startNode = openNode(dx, dy, dz) + val goalNode = openNode(lastSx, lastSy, lastSz) + startNode.g = 0f + startNode.f = 0f + goalNode.g = Int.MAX_VALUE.toFloat() + goalNode.f = Int.MAX_VALUE.toFloat() + if (goalNode.parent != null) { + val route = LinkedList() + var curr: Node? = goalNode + while (curr!!.parent != null) { + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + curr = curr.parent + } + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + this.route = route + return true + } + open.add(startNode) + val end = System.currentTimeMillis() + timeout + while (!open.isEmpty()) { + if (System.currentTimeMillis() > end) { + return false + } + val n = open.poll() + if (n != null) { + if (n.cacheMarker == pfindIdx) continue + n.cacheMarker = pfindIdx + if (n === goalNode) { + val route = LinkedList() + var curr: Node? = goalNode + while (curr!!.parent != null) { + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + curr = curr.parent + } + route.addLast( + Vector3d( + curr.coordinate.x / 2.0, + curr.coordinate.y / 2.0 + 0.1, + curr.coordinate.z / 2.0 + ) + ) + this.route = route + return true + } + } + for (value in EnumFacing.VALUES) { + val neighbor = openNode( + n!!.coordinate.x + value.frontOffsetX, + n.coordinate.y + value.frontOffsetY, + n.coordinate.z + value.frontOffsetZ + ) + + // check blocked. + if (destinationBB.minX <= neighbor.coordinate.x + && neighbor.coordinate.x <= destinationBB.maxX + && destinationBB.minY <= neighbor.coordinate.y + && neighbor.coordinate.y <= destinationBB.maxY + && destinationBB.minZ <= neighbor.coordinate.z + && neighbor.coordinate.z <= destinationBB.maxZ // near destination + || !roomAccessor.isBlocked( + neighbor.coordinate.x, + neighbor.coordinate.y, + neighbor.coordinate.z + ) + ) { + val gScore = n.g + 1 + val distSq = AStarUtil.distSq( + (goalNode.coordinate.x - neighbor.coordinate.x).toFloat(), + (goalNode.coordinate.y - neighbor.coordinate.y).toFloat(), + (goalNode.coordinate.z - neighbor.coordinate.z).toFloat() + ) + if (gScore < neighbor.g) { + neighbor.parent = n + neighbor.g = gScore + neighbor.f = gScore + distSq + open.add(neighbor) + } else if (neighbor.cacheMarker != pfindIdx) { + neighbor.f = gScore + distSq + open.add(neighbor) + } + } + // not blocked + } + } + return true + } + + private var pfindIdx = 0 + + + private fun openNode(x: Int, y: Int, z: Int): Node { + val coordinate = Vector3i(x, y, z) + var node = nodeMap[coordinate] + if (node == null) { + node = Node(coordinate) + nodeMap[coordinate] = node + } + return node + } + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/ThetaStar.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/ThetaStar.kt new file mode 100644 index 0000000..7fc86fe --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/pathfinding/algorithms/impl/ThetaStar.kt @@ -0,0 +1,187 @@ +package io.github.quantizr.dungeonrooms.pathfinding.algorithms.impl + +import io.github.quantizr.dungeonrooms.pathfinding.BlockedChecker +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.AStarUtil +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.AStarUtil.Node +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.AStarUtil.reconstructPath +import io.github.quantizr.dungeonrooms.pathfinding.algorithms.IPathfinderAlgorithm +import net.minecraft.util.AxisAlignedBB +import net.minecraft.util.EnumFacing +import org.joml.Vector3d +import org.joml.Vector3f +import org.joml.Vector3i +import java.util.* + +class ThetaStar(room: BlockedChecker) : IPathfinderAlgorithm(room) { + private var dx: Int = 0 + private var dy: Int = 0 + private var dz: Int = 0 + + + private lateinit var destinationBB: AxisAlignedBB + private val nodeMap: MutableMap = HashMap() + + private val open = PriorityQueue( + Comparator.comparing { a: Node? -> a?.f ?: Float.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.x ?: Int.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.y ?: Int.MAX_VALUE } + .thenComparing { _, a: Node? -> a?.coordinate?.z ?: Int.MAX_VALUE } + ) + + private var lastSx = 0 + private var lastSy = 0 + private var lastSz = 0 + + private var cacheMarker = 0 + + private fun openNode(x: Int, y: Int, z: Int): Node { + val coordinate = Vector3i(x, y, z) + return nodeMap.computeIfAbsent(coordinate) { Node(coordinate) } + } + + /** + * raytrace and check if the path is blocked along the way + */ + private fun lineofsight(a: Node?, b: Node?): Boolean { + if (a == null || b == null) return false + val s = Vector3f(a.coordinate) + val e = Vector3f(b.coordinate) + val dd = Vector3f() + e.sub(s, dd) + val len = dd.length() + dd.normalize() + + var d = 0 + while (d <= len) { + val x = s.x().toInt() + val y = s.y().toInt() + val z = s.z().toInt() + if (roomAccessor.isBlocked(x, y, z)) return false + if (roomAccessor.isBlocked(x + 1, y, z + 1)) return false + if (roomAccessor.isBlocked(x - 1, y, z - 1)) return false + if (roomAccessor.isBlocked(x + 1, y, z - 1)) return false + if (roomAccessor.isBlocked(x - 1, y, z + 1)) return false + s.add(dd) + d += 1 + } + return true + + } + + override fun pathfind(from: Vector3i, to: Vector3d, timeout: Float): Boolean { + cacheMarker++ + + dx = (to.x * 2).toInt() + dy = (to.y * 2).toInt() + dz = (to.z * 2).toInt() + destinationBB = AxisAlignedBB.fromBounds( + (dx - 2).toDouble(), + (dy - 2).toDouble(), + (dz - 2).toDouble(), + (dx + 2).toDouble(), + (dy + 2).toDouble(), + (dz + 2).toDouble() + ) + + val i = from.x * 2 + val i1 = from.y * 2 + val i2 = from.z * 2 + if (lastSx != i || lastSy != i1 || lastSz != i2) { + open.clear() + } + lastSx = i + lastSy = i1 + lastSz = i2 + if (roomAccessor.isBlocked(lastSx, lastSy, lastSz)) return false + val startNode = openNode(dx, dy, dz) + val goalNode = openNode(lastSx, lastSy, lastSz) + startNode.g = 0f + startNode.f = 0f + goalNode.g = Float.MAX_VALUE + goalNode.f = Float.MAX_VALUE + if (goalNode.parent != null) { + this.route = reconstructPath(goalNode) + return true + } + open.add(startNode) + val end = System.currentTimeMillis() + timeout + while (!open.isEmpty()) { + if (System.currentTimeMillis() > end) { + return false + } + val n = open.poll() + + + if (n != null) { + if (n.cacheMarker == cacheMarker) { + continue + } + n.cacheMarker = cacheMarker + } + + if (n === goalNode) { + this.route = reconstructPath(goalNode) + return true + } + for (value in EnumFacing.VALUES) { + n!! + val neighbor = openNode( + n.coordinate.x + value.frontOffsetX, + n.coordinate.y + value.frontOffsetY, + n.coordinate.z + value.frontOffsetZ + ) + + if (destinationBB.minX <= neighbor.coordinate.x + && neighbor.coordinate.x <= destinationBB.maxX + && destinationBB.minY <= neighbor.coordinate.y + && neighbor.coordinate.y <= destinationBB.maxY + && destinationBB.minZ <= neighbor.coordinate.z + && neighbor.coordinate.z <= destinationBB.maxZ + || !roomAccessor.isBlocked( + neighbor.coordinate.x, + neighbor.coordinate.y, + neighbor.coordinate.z + ) + ) { + if (neighbor.cacheMarker != cacheMarker) { + var flag = false + val distSq = AStarUtil.distSq( + goalNode.coordinate.x - neighbor.coordinate.x, + goalNode.coordinate.y - neighbor.coordinate.y, + goalNode.coordinate.z - neighbor.coordinate.z + ) + val parent = n.parent + if (parent != null) { + val tempGScore = parent.g + AStarUtil.distSq( + parent.coordinate.x - neighbor.coordinate.x, + parent.coordinate.y - neighbor.coordinate.y, + parent.coordinate.z - neighbor.coordinate.z + ) + if (tempGScore < neighbor.g && lineofsight(parent, neighbor)) { + neighbor.parent = parent + neighbor.g = tempGScore + neighbor.f = tempGScore + distSq + open.add(neighbor) + flag = true + } + } + if (!flag) { + val gScore = n.g + 1 + if (gScore < neighbor.g) { + neighbor.parent = n + neighbor.g = gScore + neighbor.f = gScore + distSq + open.add(neighbor) + } else if (neighbor.cacheMarker != cacheMarker) { + neighbor.f = neighbor.g + distSq + open.add(neighbor) + } + } + } + } + } + } + return true + } + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/test/PathfindTest.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/test/PathfindTest.kt new file mode 100644 index 0000000..20c9cfd --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/test/PathfindTest.kt @@ -0,0 +1,87 @@ +package io.github.quantizr.dungeonrooms.test + +import io.github.quantizr.dungeonrooms.DRMConfig +import io.github.quantizr.dungeonrooms.handlers.TextRenderer +import io.github.quantizr.dungeonrooms.pathfinding.CachedPathFinder +import io.github.quantizr.dungeonrooms.pathfinding.PfPath +import io.github.quantizr.dungeonrooms.utils.WaypointUtils +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.ScaledResolution +import net.minecraftforge.client.event.RenderGameOverlayEvent +import net.minecraftforge.client.event.RenderWorldLastEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent +import org.joml.Vector3i +import java.awt.Color + + +class PathfindTest { + + val pathFinder: CachedPathFinder = CachedPathFinder() + + companion object { + var textToDisplay: List = emptyList() + } + + private val donePathfindFutures: MutableMap = HashMap() + + @SubscribeEvent + fun onTick(event: TickEvent.ClientTickEvent) { + if (event.phase != TickEvent.Phase.START || Minecraft.getMinecraft().thePlayer == null) return + if (!Minecraft.getMinecraft().isSingleplayer || !DRMConfig.debug) return + + val locs = listOf(Vector3i(10, 6, 10), Vector3i(10, 6, 15)) + + for (loc in locs) { + pathFinder.createPathAsync( + Vector3i( + Minecraft.getMinecraft().thePlayer.posX.toInt(), + Minecraft.getMinecraft().thePlayer.posY.toInt(), + Minecraft.getMinecraft().thePlayer.posZ.toInt() + ), + loc, + lockProcessingThisTarget = true + ) { + donePathfindFutures[loc] = it + } + + } + } + + @SubscribeEvent + fun onWorldRender(event: RenderWorldLastEvent) { + if (!Minecraft.getMinecraft().isSingleplayer || !DRMConfig.debug) return + donePathfindFutures.forEach { (_, points) -> + WaypointUtils.drawLinesVec3( + points.path, + Color(255, 0, 0, 255), + Color(0, 255, 0, 255), + 2.0f, + event.partialTicks, + true + ) + } + } + + + @SubscribeEvent + fun renderPlayerInfo(event: RenderGameOverlayEvent.Post) { + if (event.type != RenderGameOverlayEvent.ElementType.ALL) return + if (!Minecraft.getMinecraft().isSingleplayer || !DRMConfig.debug) return + val mc = Minecraft.getMinecraft() + if (textToDisplay.isNotEmpty()) { + val scaledResolution = ScaledResolution(mc) + var y = 0 + for (line in textToDisplay) { + val roomStringWidth = mc.fontRendererObj.getStringWidth(line) + TextRenderer.drawText( + mc, line, scaledResolution.scaledWidth * DRMConfig.textLocX / 100 - roomStringWidth / 2, + scaledResolution.scaledHeight * DRMConfig.textLocY / 100 + y, 1.0, true + ) + y += mc.fontRendererObj.FONT_HEIGHT + } + } + } + + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/BlockCache.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/BlockCache.kt new file mode 100644 index 0000000..f0cf140 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/BlockCache.kt @@ -0,0 +1,49 @@ +package io.github.quantizr.dungeonrooms.utils + +import com.github.benmanes.caffeine.cache.Caffeine +import net.minecraft.block.Block +import net.minecraft.block.state.IBlockState +import net.minecraft.client.Minecraft +import net.minecraft.util.BlockPos +import net.minecraftforge.event.world.WorldEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import org.joml.Vector3d +import org.joml.Vector3i +import java.time.Duration + +object BlockCache { + private val cache = Caffeine.newBuilder() + .maximumSize(30_000) + .build { key: BlockPos? -> + Minecraft.getMinecraft().theWorld.getBlockState(key) + } + + @SubscribeEvent + fun onWorldLoad(e: WorldEvent.Load?) { + cache.invalidateAll() + } + + fun getBlockState(pos: Vector3d): IBlockState? { + return cache[BlockPos(pos.x, pos.y, pos.z)] + } + + fun getBlockState(pos: BlockPos, skip: Boolean = false): IBlockState? { + if(skip){ + return Minecraft.getMinecraft().theWorld.getBlockState(pos) + } + return cache[pos] + } + + fun getBlockState(pos: Vector3i): IBlockState? { + return cache[BlockPos(pos.x, pos.y, pos.z)] + } + + fun getBlock(pos: Vector3i): Block { + return cache[BlockPos(pos.x, pos.y, pos.z)]!!.block + } + + fun getBlock(pos: BlockPos): Block { + return cache[pos]!!.block + } + +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/DungeonRoomInfoRegistry.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/DungeonRoomInfoRegistry.kt new file mode 100755 index 0000000..5d1a7e9 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/DungeonRoomInfoRegistry.kt @@ -0,0 +1,45 @@ +package io.github.quantizr.dungeonrooms.utils + +import com.google.gson.Gson +import com.google.gson.JsonObject +import io.github.quantizr.dungeonrooms.DungeonRooms +import org.apache.commons.io.IOUtils +import org.apache.logging.log4j.LogManager +import org.apache.logging.log4j.Logger +import java.io.* +import java.util.* + +object DungeonRoomInfoRegistry { + val logger: Logger = LogManager.getLogger("DungeonRoomInfoRegistry") + + val thing: MutableSet = HashSet() + + + @JvmStatic + fun loadAll(dir: File) { + val gson = Gson() + + val lines = IOUtils.readLines( + Objects.requireNonNull( + DungeonRooms::class.java.getResourceAsStream("/roomdataindex.txt") + ) + ) + for (name in lines) { + if (name.endsWith(".json")) { + try { + DungeonRooms::class.java.getResourceAsStream("/$name") + .use { fis -> + fis?.let { + InputStreamReader(fis).use { yas -> + thing.add(gson.fromJson(yas, JsonObject::class.java)) + } + } + } + } catch (e: Exception) { + logger.error(name) + e.printStackTrace() + } + } + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/MapUtils.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/MapUtils.kt new file mode 100644 index 0000000..1590725 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/MapUtils.kt @@ -0,0 +1,448 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.utils + +import io.github.quantizr.dungeonrooms.dungeons.data.room.RoomColor +import io.github.quantizr.dungeonrooms.dungeons.data.room.RoomSize +import net.minecraft.block.material.MapColor +import net.minecraft.client.Minecraft +import net.minecraft.init.Items +import net.minecraft.util.BlockPos +import net.minecraft.util.Vec3 +import java.awt.Point +import java.util.* + +object MapUtils { + /** + * Checks whether the Skyblock Dungeon Map is in the player's hotbar + * @return whether the map exists + */ + fun mapExists(): Boolean { + val mc = Minecraft.getMinecraft() + val mapSlot = mc.thePlayer.inventory.getStackInSlot(8) //check last slot where map should be + return if (mapSlot == null || mapSlot.item !== Items.filled_map || !mapSlot.hasDisplayName()) false else mapSlot.displayName.contains( + "Magical Map" + ) //make sure it is a map, not SB Menu or Spirit Bow, etc + } + + /** + * Reads the hotbar map and converts it into a 2D Integer array of RGB colors which can be used by the rest of the + * code + * + * @return null if map not found, otherwise 128x128 Array of the RGB Integer colors of each point on the map + */ + fun updatedMap(): Array>? { + if (!mapExists()) return null //make sure map exists + val mc = Minecraft.getMinecraft() + val mapSlot = mc.thePlayer.inventory.getStackInSlot(8) //get map ItemStack + val mapData = Items.filled_map.getMapData(mapSlot, mc.theWorld) ?: return null + val map = Array(128) { arrayOfNulls(128) } + + //for loop code modified from net.minecraft.client.gui.MapItemRenderer.updateMapTexture() + for (i in 0..16383) { + val x = i % 128 //get x coordinate of pixel being read + val y = i / 128 //get y coordinate of pixel being read + val j = mapData.colors[i].toInt() and 255 + var rgba: Int + rgba = if (j / 4 == 0) { + (i + i / 128 and 1) * 8 + 16 shl 24 + } else { + MapColor.mapColorArray[j / 4].getMapColor(j and 3) + } + map[x][y] = rgba and 0x00FFFFFF //get rgb value from rgba + } + return map + } + + /** + * This function finds the coordinates of the NW and NE corners of the entrance room on the hotbar map. This is + * later used to determine the size of the room grid on the hotbar map. Different floors have slightly different + * pixel widths of the rooms, so it is important for the mod to be able to identify the location and size of various + * portions of the room grid. Since all rooms within a floor are the same size on the hotbar map and since the + * entrance room is always there on the hotbar map, we get two corners from the entrance room to determine the + * scaling of the map as soon as the player enters. + * + * This function works by iterating through the map and looking for a green entrance room pixel. Once it finds one + * and determines that the map pixel above is a blank spot, it checks for map pixels on the left and right side. + * + * @return `entranceMapCorners[0]` is the coordinate of the left NW corner and `entranceMapCorners[1]` is the + * coordinate of the right NE corner + */ + fun entranceMapCorners(map: Array>?): Array? { + if (map == null) return null + val corners = arrayOfNulls(2) + for (x in 0..127) { + for (y in 0..127) { + if (map[x][y] != null && map[x][y] == 31744 && map[x][y - 1] != null && map[x][y - 1] == 0) { //check for Green entrance room pixels and make sure row above is blank + if (map[x - 1][y] != null && map[x - 1][y] == 0) { + corners[0] = Point(x, y) //Left corner + } else if (map[x + 1][y] != null && map[x + 1][y] == 0) { + corners[1] = Point(x, y) //Right Corner + } + } + } + if (corners[0] != null && corners[1] != null) break + } + return corners + } + + /** + * @return the coordinate of the NW hotbar map corner closest to the coordinate provided + */ + fun getClosestNWMapCorner(mapPos: Point, leftCorner: Point, rightCorner: Point): Point { + val roomWidthAndGap = + rightCorner.x - leftCorner.x + 1 + 4 //+1 to count left corner block, +4 to account for gap between rooms + val origin = Point(leftCorner.x % roomWidthAndGap, leftCorner.y % roomWidthAndGap) + mapPos.x = mapPos.x + 2 //shift by 2 so room borders are evenly split + mapPos.y = mapPos.y + 2 + var x = mapPos.x - mapPos.x % roomWidthAndGap + origin.x //round down to room size grid + var y = mapPos.y - mapPos.y % roomWidthAndGap + origin.y + if (x > mapPos.x) x -= roomWidthAndGap //make sure coordinates are being rounded down (in case origin value being too large) + if (y > mapPos.y) y -= roomWidthAndGap + return Point(x, y) + } + + /** + * Skyblock Dungeon maps are aligned to a 32x32 block wide grid, allowing for math only calculation of corners + * @return the coordinate of the NW physical map corner closest to the coordinate provided + */ + fun getClosestNWPhysicalCorner(vectorPos: Vec3): Point { + var shiftedPos = vectorPos.addVector(0.5, 0.0, 0.5) //shift by 0.5 so room borders are evenly split + shiftedPos = shiftedPos.addVector(8.0, 0.0, 8.0) //because Hypixel randomly shifted rooms in Skyblock 0.12.3 + val x = (shiftedPos.xCoord - Math.floorMod( + shiftedPos.xCoord.toInt(), + 32 + )).toInt() //room length 31, +1 to account for gap between rooms + val z = (shiftedPos.zCoord - Math.floorMod(shiftedPos.zCoord.toInt(), 32)).toInt() + return Point(x - 8, z - 8) //-8 for same reason as above + } + + fun getClosestNWPhysicalCorner(blockPos: BlockPos): Point { + return getClosestNWPhysicalCorner(Vec3(blockPos.x.toDouble(), blockPos.y.toDouble(), blockPos.z.toDouble())) + } + + /** + * @return the hotbar map coordinate corresponding to the physical map corner coordinate provided + */ + fun physicalToMapCorner( + physicalClosestCorner: Point, + physicalLeftCorner: Point, + leftCorner: Point, + rightCorner: Point + ): Point { + val roomWidthAndGap = + rightCorner.x - leftCorner.x + 1 + 4 //+1 to count left corner block, +4 to account for gap between rooms + val xShift = + (physicalClosestCorner.x - physicalLeftCorner.x) / 32 //how many 1x1 grids away the closest corner is from entrance + val yShift = (physicalClosestCorner.y - physicalLeftCorner.y) / 32 + val x = leftCorner.x + roomWidthAndGap * xShift //translate grid distance to the map + val y = leftCorner.y + roomWidthAndGap * yShift + + //this function can return a value outside of 0-127 which are the bounds of the map + //must check bounds for any function using this + return Point(x, y) + } + + /** + * @return the physical map coordinate corresponding to the hotbar map corner coordinate provided + */ + fun mapToPhysicalCorner(mapCorner: Point, physicalLeftCorner: Point, leftCorner: Point, rightCorner: Point): Point { + val roomWidthAndGap = + rightCorner.x - leftCorner.x + 1 + 4 //+1 to count left corner block, +4 to account for gap between rooms + val xShift = + (mapCorner.x - leftCorner.x) / roomWidthAndGap //how many 1x1 grids away the closest corner is from entrance + val yShift = (mapCorner.y - leftCorner.y) / roomWidthAndGap + val x = physicalLeftCorner.x + 32 * xShift //translate grid distance to the physical + val y = physicalLeftCorner.y + 32 * yShift + return Point(x, y) + } + + /** + * @return the color of the coordinate on the map as a String + */ + fun getMapColor(point: Point, map: Array>?): RoomColor { + val x = point.x + val y = point.y + + //physicalToMapCorner might be called when player is outside map zone e.g. boss room, returning a value outside + // the map coordinates which would otherwise call getMapColor to crash + if (x < 0 || y < 0 || x > 127 || y > 127) { + return RoomColor.UNDEFINED + } + return if (map != null) { + when (map[x][y]) { + 7488283 -> RoomColor.BROWN + 11685080 -> RoomColor.PURPLE + 15066419 -> RoomColor.YELLOW + 31744 -> RoomColor.GREEN + 15892389 -> RoomColor.PINK + 14188339 -> RoomColor.ORANGE + 16711680 -> RoomColor.RED + else -> RoomColor.UNDEFINED + } + } else RoomColor.UNDEFINED + } + + /** + * Checks a point on each side the room corner coordinate for either empty space or a connected segment, each new + * segment is recursively checked until all neighboring segments have been added to a list + * + * @return a List of the coordinates of all segments of the same room as the corner coordinate provided + */ + fun neighboringSegments( + originCorner: Point, + map: Array>?, + leftCorner: Point, + rightCorner: Point, + list: MutableList + ): MutableList { + var list = list + if (!list.contains(originCorner)) { + list.add(originCorner) + } + if (getMapColor(originCorner, map) != RoomColor.BROWN) return list //only continue if square is brown + val roomWidth = rightCorner.x - leftCorner.x + 1 //+1 to count left corner block + val pointsToCheck: MutableList = ArrayList() + pointsToCheck.add(Point(originCorner.x, originCorner.y - 1)) //up + pointsToCheck.add(Point(originCorner.x, originCorner.y + roomWidth)) //down + pointsToCheck.add(Point(originCorner.x - 1, originCorner.y)) //left + pointsToCheck.add(Point(originCorner.x + roomWidth, originCorner.y)) //right + val pointsToTransform: MutableList = + ArrayList() //pointsToCheck +/- 4 to jump gap and calc correct closest NW corner + pointsToTransform.add(Point(originCorner.x, originCorner.y - 1 - 4)) //up + pointsToTransform.add(Point(originCorner.x, originCorner.y + roomWidth + 4)) //down + pointsToTransform.add(Point(originCorner.x - 1 - 4, originCorner.y)) //left + pointsToTransform.add(Point(originCorner.x + roomWidth + 4, originCorner.y)) //right + for (i in 0..3) { + if (getMapColor(pointsToCheck[i], map) == RoomColor.BROWN) { + val newCorner = getClosestNWMapCorner(pointsToTransform[i], leftCorner, rightCorner) + if (!list.contains(newCorner)) { + list.add(newCorner) + list = neighboringSegments( + newCorner, + map, + leftCorner, + rightCorner, + list + ) //check for neighboring segments from the new point + } + } + } + return list + } + + /** + * @return the size of the room given a location of each room segment + */ + fun roomSize(segments: List): RoomSize { + //accepts either map segments or physical segments, does not matter + if (segments.size == 1) return RoomSize.`1x1` + if (segments.size == 2) return RoomSize.`1x2` + val x = HashSet() + val y = HashSet() + for (segment in segments) { + x.add(segment.x) + y.add(segment.y) + } + if (segments.size == 3) { + return if (x.size == 2 && y.size == 2) RoomSize.`L-shape` else RoomSize.`1x3` + } + return if (segments.size == 4) { + if (x.size == 2 && y.size == 2) RoomSize.`2x2` else RoomSize.`1x4` + } else RoomSize.undefined + } + + /** + * @return the category of the room given size and color + */ + fun roomCategory(roomSize: RoomSize, roomColor: RoomColor): String { + return if (roomSize == RoomSize.`1x1`) { + when (roomColor) { + RoomColor.BROWN -> "1x1" + RoomColor.PURPLE -> "Puzzle" + RoomColor.ORANGE -> "Trap" + RoomColor.GREEN, RoomColor.RED, RoomColor.PINK, RoomColor.YELLOW -> "General" + else -> "undefined" + } + } else { + roomSize.toString() + } + } + + /** + * @return the coordinate of the player marker on the map + */ + fun playerMarkerPos(): Point? { + if (!mapExists()) return null // make sure map exists + val mc = Minecraft.getMinecraft() + val mapSlot = mc.thePlayer.inventory.getStackInSlot(8) // get map ItemStack + val mapData = Items.filled_map.getMapData(mapSlot, mc.theWorld) ?: return null + if (mapData.mapDecorations != null) { + for ((_, value) in mapData.mapDecorations) { + if (value.func_176110_a().toInt() == 1) { // player marker + val x = value.func_176112_b() / 2 + 64 + val y = value.func_176113_c() / 2 + 64 + return Point(x, y) + } + } + } + return null + } + + /** + * @return the location of the furthest corner in a direction given a list of segments + */ + fun getPhysicalCornerPos(direction: String?, currentPhysicalSegments: List): Point? { + // For L-shapes, this will return the fourth corner as if it were a 2x2 + val xSet = TreeSet() // TreeSet removes duplicates and sorts increasing + val ySet = TreeSet() + for (segment in currentPhysicalSegments) { + xSet.add(segment.x) + ySet.add(segment.y) + } + when (direction) { + "NW" -> return Point(xSet.first(), ySet.first()) + "NE" -> return Point(xSet.last() + 30, ySet.first()) + "SE" -> return Point(xSet.last() + 30, ySet.last() + 30) + "SW" -> return Point(xSet.first(), ySet.last() + 30) + } + return null + } + + /** + * Rooms such as L-shape rooms only have one possible direction, so it is much faster to only have to compare one + * direction instead of rotating it 4 times. Similarly, rectangular shaped rooms have two possible directions, + * saving time instead of rotating it 4 times. Square shaped rooms must be checked in all four directions. + * + * @return the possible rotation directions which need to be checked + */ + fun possibleDirections(roomSize: RoomSize, currentRoomSegments: List): List { + //can take physical or hotbar segments + //eliminates two possibilities for rectangular rooms, three possibilities for L-shape + val directions: MutableList = ArrayList() + if (roomSize == RoomSize.`1x1` || roomSize == RoomSize.`2x2`) { + directions.add("NW") + directions.add("NE") + directions.add("SE") + directions.add("SW") + } else { + val xSet = TreeSet() //TreeSet removes duplicates and sorts increasing + val ySet = TreeSet() + for (segment in currentRoomSegments) { + xSet.add(segment.x) + ySet.add(segment.y) + } + if (roomSize == RoomSize.`L-shape`) { + val x: List = ArrayList(xSet) + val y: List = ArrayList(ySet) + if (!currentRoomSegments.contains( + Point( + x[0], + y[0] + ) + ) + ) directions.add("SW") else if (!currentRoomSegments.contains( + Point( + x[0], y[1] + ) + ) + ) directions.add("SE") else if (!currentRoomSegments.contains( + Point( + x[1], + y[0] + ) + ) + ) directions.add("NW") else if (!currentRoomSegments.contains( + Point( + x[1], y[1] + ) + ) + ) directions.add("NE") + } else if (roomSize.toString().startsWith("1x")) { //not 1x1 bc else statement earlier + if (xSet.size >= 2 && ySet.size == 1) { + directions.add("NW") + directions.add("SE") + } else if (xSet.size == 1 && ySet.size >= 2) { + directions.add("NE") + directions.add("SW") + } + } + } + return directions + } + + /** + * @return the actual coordinate of a block given the relative coordinate + */ + fun actualToRelative(actual: BlockPos, cornerDirection: String?, locationOfCorner: Point): BlockPos { + var x = 0.0 + var z = 0.0 + when (cornerDirection) { + "NW" -> { + x = actual.x - locationOfCorner.getX() + z = actual.z - locationOfCorner.getY() //.getY in a point is the MC Z coord + } + + "NE" -> { + x = actual.z - locationOfCorner.getY() + z = -(actual.x - locationOfCorner.getX()) + } + + "SE" -> { + x = -(actual.x - locationOfCorner.getX()) + z = -(actual.z - locationOfCorner.getY()) + } + + "SW" -> { + x = -(actual.z - locationOfCorner.getY()) + z = actual.x - locationOfCorner.getX() + } + } + return BlockPos(x, actual.y.toDouble(), z) + } + + /** + * @return the relative coordinate of a block given the actual coordinate + */ + fun relativeToActual(relative: BlockPos, cornerDirection: String?, locationOfCorner: Point): BlockPos { + var x = 0.0 + var z = 0.0 + when (cornerDirection) { + "NW" -> { + x = relative.x + locationOfCorner.getX() + z = relative.z + locationOfCorner.getY() //.getY in a point is the MC Z coord + } + + "NE" -> { + x = -(relative.z - locationOfCorner.getX()) + z = relative.x + locationOfCorner.getY() + } + + "SE" -> { + x = -(relative.x - locationOfCorner.getX()) + z = -(relative.z - locationOfCorner.getY()) + } + + "SW" -> { + x = relative.z + locationOfCorner.getX() + z = -(relative.x - locationOfCorner.getY()) + } + } + return BlockPos(x, relative.y.toDouble(), z) + } +} \ No newline at end of file diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/RoomDetectionUtils.java b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/RoomDetectionUtils.kt similarity index 50% rename from src/main/java/io/github/quantizr/dungeonrooms/utils/RoomDetectionUtils.java rename to src/main/kotlin/io/github/quantizr/dungeonrooms/utils/RoomDetectionUtils.kt index 881719e..12c1ffc 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/RoomDetectionUtils.java +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/RoomDetectionUtils.kt @@ -15,21 +15,19 @@ * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ +package io.github.quantizr.dungeonrooms.utils -package io.github.quantizr.dungeonrooms.utils; +import net.minecraft.client.Minecraft +import net.minecraft.util.BlockPos +import net.minecraft.util.MathHelper +import net.minecraft.util.Vec3 +import kotlin.math.abs +import kotlin.math.atan +import kotlin.math.tan -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.util.BlockPos; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; - -import java.util.*; -import java.util.List; - -public class RoomDetectionUtils { - public static final double DEG_TO_RAD = Math.PI / 180.0; - public static final double RAD_TO_DEG = 180.0 / Math.PI; +object RoomDetectionUtils { + private const val DEG_TO_RAD = Math.PI / 180.0 + private const val RAD_TO_DEG = 180.0 / Math.PI /** * This is a variation of Minecraft's Entity.getVectorForRotation but Minecraft and I seem to interpret yaw and @@ -37,12 +35,12 @@ public class RoomDetectionUtils { * * @return vector corresponding to a rotation */ - public static Vec3 getVectorFromRotation(float yaw, float pitch) { - float f = MathHelper.cos(-yaw * (float) DEG_TO_RAD - (float) Math.PI); - float f1 = MathHelper.sin(-yaw * (float) DEG_TO_RAD - (float) Math.PI); - float f2 = -MathHelper.cos(-pitch * (float) DEG_TO_RAD); - float f3 = MathHelper.sin(-pitch * (float) DEG_TO_RAD); - return new Vec3( f1 * f2, f3, f * f2); + private fun getVectorFromRotation(yaw: Float, pitch: Float): Vec3 { + val f = MathHelper.cos(-yaw * DEG_TO_RAD.toFloat() - Math.PI.toFloat()) + val f1 = MathHelper.sin(-yaw * DEG_TO_RAD.toFloat() - Math.PI.toFloat()) + val f2 = -MathHelper.cos(-pitch * DEG_TO_RAD.toFloat()) + val f3 = MathHelper.sin(-pitch * DEG_TO_RAD.toFloat()) + return Vec3((f1 * f2).toDouble(), f3.toDouble(), (f * f2).toDouble()) } /** @@ -54,37 +52,35 @@ public static Vec3 getVectorFromRotation(float yaw, float pitch) { * * @return a List of vectors which are within the player's FOV */ - public static List vectorsToRaytrace (int vectorQuantity) { + fun vectorsToRaytrace(vectorQuantity: Int): List { //real # of vectors is vectorQuantity^2 - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayerSP player = mc.thePlayer; - List vectorList = new ArrayList<>(); + val mc = Minecraft.getMinecraft() + val player = mc.thePlayer + val vectorList: MutableList = ArrayList() //get vector location of player's eyes - Vec3 eyes = new Vec3(player.posX, player.posY + (double)player.getEyeHeight(), player.posZ); - float aspectRatio = (float) mc.displayWidth / (float) mc.displayHeight; + val eyes = Vec3(player.posX, player.posY + player.getEyeHeight().toDouble(), player.posZ) + val aspectRatio = mc.displayWidth.toFloat() / mc.displayHeight.toFloat() //Vertical FOV: Minecraft FOV setting multiplied by FOV modifier (sprinting, speed effect, etc) - double fovV = mc.gameSettings.fovSetting * mc.thePlayer.getFovModifier(); + val fovV = (mc.gameSettings.fovSetting * mc.thePlayer.fovModifier).toDouble() //Horizontal FOV: Thanks Minecraft for being weird and making it this complicated to calculate - double fovH = Math.atan(aspectRatio * Math.tan(fovV * DEG_TO_RAD / 2)) * 2 * RAD_TO_DEG; - - float verticalSpacing = (float) (fovV * 0.8 / vectorQuantity); // * 0.8 to leave some boundary space - float horizontalSpacing = (float) (fovH * 0.9 / vectorQuantity); // * 0.9 to leave some boundary space - - float playerYaw = player.rotationYaw; - float playerPitch = player.rotationPitch; - + val fovH = atan(aspectRatio * tan(fovV * DEG_TO_RAD / 2)) * 2 * RAD_TO_DEG + val verticalSpacing = (fovV * 0.8 / vectorQuantity).toFloat() // * 0.8 to leave some boundary space + val horizontalSpacing = (fovH * 0.9 / vectorQuantity).toFloat() // * 0.9 to leave some boundary space + var playerYaw = player.rotationYaw + var playerPitch = player.rotationPitch if (mc.gameSettings.thirdPersonView == 2) { //dumb but easy method of modifying vector direction if player is in reverse 3rd person //does not account for the increased 3rd person FOV, but all vectors are within player view so who cares - playerYaw = playerYaw + 180.0F; - playerPitch = -playerPitch; + playerYaw += 180.0f + playerPitch = -playerPitch } - - for (float h = (float) -(vectorQuantity - 1) / 2; h <= (float) (vectorQuantity - 1) / 2; h++) { - for (float v = (float) -(vectorQuantity - 1) / 2; v <= (float) (vectorQuantity - 1) / 2; v++) { - float yaw = h * horizontalSpacing; - float pitch = v * verticalSpacing; + var h = -(vectorQuantity - 1).toFloat() / 2 + while (h <= (vectorQuantity - 1).toFloat() / 2) { + var v = -(vectorQuantity - 1).toFloat() / 2 + while (v <= (vectorQuantity - 1).toFloat() / 2) { + val yaw = h * horizontalSpacing + val pitch = v * verticalSpacing /* yaw and pitch are evenly spread out, but yaw needs to be scaled because MC FOV stretching weird. @@ -92,47 +88,49 @@ public static List vectorsToRaytrace (int vectorQuantity) { "/ (Math.abs(v/(vectorQuantity))+1)" because Higher FOVs do not stretch out the corners of the screen as much as the rest of the screen, which would otherwise cause corner vectors to be outside FOV */ - float yawScaled = yaw * ((playerPitch*playerPitch/8100)+1) / (Math.abs(v/(vectorQuantity))+1); + val yawScaled = yaw * (playerPitch * playerPitch / 8100 + 1) / (abs(v / vectorQuantity) + 1) //turn rotation into vector - Vec3 direction = getVectorFromRotation(yawScaled + playerYaw, pitch + playerPitch); + val direction = getVectorFromRotation(yawScaled + playerYaw, pitch + playerPitch) //add the new direction vector * 64 (meaning when the vector is raytraced, it will return the first // block up to 64 blocks away) to the eyes vector to create the vector which will be raytraced - vectorList.add(eyes.addVector(direction.xCoord * 64, direction.yCoord * 64, direction.zCoord * 64)); + vectorList.add(eyes.addVector(direction.xCoord * 64, direction.yCoord * 64, direction.zCoord * 64)) + v++ } + h++ } - return vectorList; + return vectorList } /** * list of whitelisted blocks which the raytraced blocks will be filtered with */ - public static HashSet whitelistedBlocks = new HashSet<>(Arrays.asList( - //These are the blocks which are stored in the ".skeleton" files - 100, //Stone - 103, //Diorite - 104, //Polished Diorite - 105, //Andesite - 106, //Polished Andesite - 200, //Grass - 300, //Dirt - 301, //Coarse Dirt - 400, //Cobblestone - 700, //Bedrock - 1800, //Oak Leaves - 3507, //Gray Wool - 4300, //Double Stone Slab - 4800, //Mossy Cobblestone - 8200, //Clay - 9800, //Stone Bricks - 9801, //Mossy Stone Bricks - 9803, //Chiseled Stone Bricks - 15907, //Gray Stained Clay - 15909, //Cyan Stained Clay + var whitelistedBlocks = HashSet( + mutableListOf( //These are the blocks which are stored in the ".skeleton" files + 100, //Stone + 103, //Diorite + 104, //Polished Diorite + 105, //Andesite + 106, //Polished Andesite + 200, //Grass + 300, //Dirt + 301, //Coarse Dirt + 400, //Cobblestone + 700, //Bedrock + 1800, //Oak Leaves + 3507, //Gray Wool + 4300, //Double Stone Slab + 4800, //Mossy Cobblestone + 8200, //Clay + 9800, //Stone Bricks + 9801, //Mossy Stone Bricks + 9803, //Chiseled Stone Bricks + 15907, //Gray Stained Clay + 15909, //Cyan Stained Clay 15915 //Black Stained Clay - )); - + ) + ) /** * Checks if a block is part of a doorway (assuming the room is a 1x1), meaning that for larger rooms such as 2x2s, @@ -141,23 +139,19 @@ public static List vectorsToRaytrace (int vectorQuantity) { * * @return whether a block would be part of a doorway. */ - public static boolean blockPartOfDoorway(BlockPos blockToCheck) { + fun blockPartOfDoorway(blockToCheck: BlockPos): Boolean { //will also return true for blocks in the middle of rooms where there would be a doorway if it were a 1x1 - if (blockToCheck.getY() < 66 || blockToCheck.getY() > 73) return false; - - int relX = Math.floorMod((blockToCheck.getX() - 8), 32); - int relZ = Math.floorMod((blockToCheck.getZ() - 8), 32); - - if (relX >= 13 && relX <= 17) { - if (relZ <= 2) return true; - if (relZ >= 28) return true; + if (blockToCheck.y < 66 || blockToCheck.y > 73) return false + val relX = Math.floorMod(blockToCheck.x - 8, 32) + val relZ = Math.floorMod(blockToCheck.z - 8, 32) + if (relX in 13..17) { + if (relZ <= 2) return true + if (relZ >= 28) return true } - - if (relZ >= 13 && relZ <= 17) { - if (relX <= 2) return true; - if (relX >= 28) return true; + if (relZ in 13..17) { + if (relX <= 2) return true + if (relX >= 28) return true } - - return false; + return false } -} +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/Utils.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/Utils.kt new file mode 100644 index 0000000..adb7e57 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/Utils.kt @@ -0,0 +1,177 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.utils + +import io.github.quantizr.dungeonrooms.DungeonRooms +import io.github.quantizr.dungeonrooms.handlers.ScoreboardHandler.cleanSB +import io.github.quantizr.dungeonrooms.handlers.ScoreboardHandler.sidebarLines +import net.minecraft.client.Minecraft +import org.apache.logging.log4j.Level +import org.apache.logging.log4j.LogManager +import org.apache.logging.log4j.Logger +import org.apache.logging.log4j.core.LoggerContext +import org.apache.logging.log4j.core.config.BaseConfiguration +import org.apache.logging.log4j.core.config.LoggerConfig +import java.io.File +import java.io.ObjectInputStream +import java.net.URI +import java.nio.file.* +import java.util.* +import java.util.stream.Stream +import java.util.zip.InflaterInputStream +import kotlin.collections.ArrayList +import kotlin.collections.HashMap + +object Utils { + @JvmField + var inSkyblock = false + + @JvmField + var inCatacombs = false + var dungeonOverride = false + + /** + * Taken from Danker's Skyblock Mod under the GNU General Public License v3.0 + * https://github.com/bowser0000/SkyblockMod/blob/master/LICENSE + * @author bowser0000 + */ + @JvmStatic + fun checkForSkyblock() { + if (dungeonOverride) { + inSkyblock = true + return + } + val mc = Minecraft.getMinecraft() + if (mc?.theWorld != null && !mc.isSingleplayer) { + val scoreboardObj = mc.theWorld.scoreboard.getObjectiveInDisplaySlot(1) + if (scoreboardObj != null) { + val scObjName = cleanSB(scoreboardObj.displayName) + if (scObjName.contains("SKYBLOCK")) { + inSkyblock = true + return + } + } + } + inSkyblock = false + } + + /** + * Taken from Danker's Skyblock Mod under the GNU General Public License v3.0 + * https://github.com/bowser0000/SkyblockMod/blob/master/LICENSE + * @author bowser0000 + */ + @JvmStatic + fun checkForCatacombs() { + if (dungeonOverride) { + inCatacombs = true + return + } + if (inSkyblock) { + val scoreboard = sidebarLines + for (s in scoreboard) { + val sCleaned = cleanSB(s) + if (sCleaned.contains("The Catacombs")) { + inCatacombs = true + return + } + } + } + inCatacombs = false + } + + + fun yas(){ + + } + + /** + * @return List of the paths to every .skeleton room data file + */ + @JvmStatic + fun getAllPaths(folderName: String): List { + return ArrayList().also { paths -> + val uri: URI = this::class.java.getResource("/assets/dungeonrooms/$folderName").toURI() + val myPath: Path = if (uri.scheme.equals("jar")) { + val fileSystem: FileSystem = + FileSystems.newFileSystem(uri, emptyMap()) + fileSystem.getPath("/assets/dungeonrooms/$folderName") + } else { + Paths.get(uri) + } + + Files.walk(myPath, 3) + .filter { p: Path -> p.toString().endsWith(".skeleton") } + .forEach { p: Path -> paths.add(p) } + } + } + + /** + * Converts the .skeleton files into a readable format. + * @return room data as a hashmap + */ + fun pathsToRoomData(parentFolder: String, allPaths: List): HashMap { + val allRoomData = HashMap() + + for (path in allPaths) { + if (path.parent.fileName.toString() == parentFolder) { + val name = path.fileName.toString() + val file = "/assets" + path.toString().split("assets")[1] + val input = DungeonRooms::instance::class.java.getResourceAsStream(file) + val data = ObjectInputStream(InflaterInputStream(input)) + val roomData = data.readObject() as LongArray + allRoomData[name.replace(".skeleton", "")] = roomData + DungeonRooms.logger.debug("DungeonRooms: Loaded $name") + } + } + DungeonRooms.logger.info("DungeonRooms: Loaded ${allRoomData.size} $parentFolder rooms") + return allRoomData + } + + /** + * Used to set the log level of just this mod + */ + fun setLogLevel(logger: Logger, level: Level?) { + val ctx = LogManager.getContext(false) as LoggerContext + val config = ctx.configuration as BaseConfiguration + val loggerConfig = config.getLoggerConfig(logger.name) + var specificConfig = loggerConfig + if (loggerConfig.name != logger.name) { + specificConfig = LoggerConfig(logger.name, level, true) + specificConfig.parent = loggerConfig + config.addLogger(logger.name, specificConfig) + } + specificConfig.level = level + ctx.updateLoggers() + } + + /** + * Packs block info into a single 8 byte primitive long. Normally, first a pair of bytes will be x coordinate, second + * pair will be y coordinate, third pair will be z coordinate, and last pair will be block id and metadata. + * @return primitive long containing block info + */ + fun shortToLong(a: Short, b: Short, c: Short, d: Short): Long { + return (a.toInt() shl 16 or (b.toInt() and 0xFFFF)).toLong() shl 32 or ((c.toInt() shl 16 or (d.toInt() and 0xFFFF)).toLong() and 0xFFFFFFFFL) + } + + /** + * @return Array of four shorts containing the values stored in the long + */ + fun longToShort(l: Long): ShortArray { + return shortArrayOf((l shr 48).toShort(), (l shr 32).toShort(), (l shr 16).toShort(), l.toShort()) + } +} \ No newline at end of file diff --git a/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/WaypointUtils.kt b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/WaypointUtils.kt new file mode 100644 index 0000000..7fe0cf4 --- /dev/null +++ b/src/main/kotlin/io/github/quantizr/dungeonrooms/utils/WaypointUtils.kt @@ -0,0 +1,334 @@ +/* + * Dungeon Rooms Mod - Secret Waypoints for Hypixel Skyblock Dungeons + * Copyright 2021 Quantizr(_risk) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ +package io.github.quantizr.dungeonrooms.utils + +import io.github.quantizr.dungeonrooms.test.PathfindTest +import net.minecraft.client.Minecraft +import net.minecraft.client.renderer.GlStateManager +import net.minecraft.client.renderer.Tessellator +import net.minecraft.client.renderer.vertex.DefaultVertexFormats +import net.minecraft.util.* +import org.joml.Vector3d +import org.lwjgl.opengl.GL11 +import java.awt.Color +import kotlin.math.cos +import kotlin.math.roundToInt +import kotlin.math.sin +import kotlin.math.sqrt + +object WaypointUtils { + private val beaconBeam = ResourceLocation("textures/entity/beacon_beam.png") + + /** + * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 + * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE + * @author Moulberry + */ + fun renderBeaconBeam(x: Double, y: Double, z: Double, rgb: Int, alphaMultiplier: Float, partialTicks: Float) { + val height = 300 + val bottomOffset = 0 + val topOffset = bottomOffset + height + val tessellator = Tessellator.getInstance() + val worldrenderer = tessellator.worldRenderer + Minecraft.getMinecraft().textureManager.bindTexture(beaconBeam) + GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, 10497.0f) + GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, 10497.0f) + GlStateManager.disableLighting() + GlStateManager.enableCull() + GlStateManager.enableTexture2D() + GlStateManager.tryBlendFuncSeparate(770, 1, 1, 0) + GlStateManager.enableBlend() + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + val time = Minecraft.getMinecraft().theWorld.totalWorldTime + partialTicks.toDouble() + val d1 = MathHelper.func_181162_h(-time * 0.2 - MathHelper.floor_double(-time * 0.1).toDouble()) + val r = (rgb shr 16 and 0xFF) / 255f + val g = (rgb shr 8 and 0xFF) / 255f + val b = (rgb and 0xFF) / 255f + val d2 = time * 0.025 * -1.5 + val d4 = 0.5 + cos(d2 + 2.356194490192345) * 0.2 + val d5 = 0.5 + sin(d2 + 2.356194490192345) * 0.2 + val d6 = 0.5 + cos(d2 + Math.PI / 4.0) * 0.2 + val d7 = 0.5 + sin(d2 + Math.PI / 4.0) * 0.2 + val d8 = 0.5 + cos(d2 + 3.9269908169872414) * 0.2 + val d9 = 0.5 + sin(d2 + 3.9269908169872414) * 0.2 + val d10 = 0.5 + cos(d2 + 5.497787143782138) * 0.2 + val d11 = 0.5 + sin(d2 + 5.497787143782138) * 0.2 + val d14 = -1.0 + d1 + val d15 = height.toDouble() * 2.5 + d14 + worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR) + worldrenderer.pos(x + d4, y + topOffset, z + d5).tex(1.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d4, y + bottomOffset, z + d5).tex(1.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d6, y + bottomOffset, z + d7).tex(0.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d6, y + topOffset, z + d7).tex(0.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d10, y + topOffset, z + d11).tex(1.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d10, y + bottomOffset, z + d11).tex(1.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d8, y + bottomOffset, z + d9).tex(0.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d8, y + topOffset, z + d9).tex(0.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d6, y + topOffset, z + d7).tex(1.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d6, y + bottomOffset, z + d7).tex(1.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d10, y + bottomOffset, z + d11).tex(0.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d10, y + topOffset, z + d11).tex(0.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d8, y + topOffset, z + d9).tex(1.0, d15).color(r, g, b, alphaMultiplier).endVertex() + worldrenderer.pos(x + d8, y + bottomOffset, z + d9).tex(1.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d4, y + bottomOffset, z + d5).tex(0.0, d14).color(r, g, b, 1.0f).endVertex() + worldrenderer.pos(x + d4, y + topOffset, z + d5).tex(0.0, d15).color(r, g, b, alphaMultiplier).endVertex() + tessellator.draw() + GlStateManager.disableCull() + val d12 = -1.0 + d1 + val d13 = height + d12 + worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR) + worldrenderer.pos(x + 0.2, y + topOffset, z + 0.2).tex(1.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.2, y + bottomOffset, z + 0.2).tex(1.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.8, y + bottomOffset, z + 0.2).tex(0.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.8, y + topOffset, z + 0.2).tex(0.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.8, y + topOffset, z + 0.8).tex(1.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.8, y + bottomOffset, z + 0.8).tex(1.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.2, y + bottomOffset, z + 0.8).tex(0.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.2, y + topOffset, z + 0.8).tex(0.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.8, y + topOffset, z + 0.2).tex(1.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.8, y + bottomOffset, z + 0.2).tex(1.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.8, y + bottomOffset, z + 0.8).tex(0.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.8, y + topOffset, z + 0.8).tex(0.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.2, y + topOffset, z + 0.8).tex(1.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + worldrenderer.pos(x + 0.2, y + bottomOffset, z + 0.8).tex(1.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.2, y + bottomOffset, z + 0.2).tex(0.0, d12).color(r, g, b, 0.25f).endVertex() + worldrenderer.pos(x + 0.2, y + topOffset, z + 0.2).tex(0.0, d13).color(r, g, b, 0.25f * alphaMultiplier) + .endVertex() + tessellator.draw() + } + + /** + * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 + * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE + * @author Moulberry + */ + fun drawFilledBoundingBox(aabb: AxisAlignedBB, c: Color, alphaMultiplier: Float) { + GlStateManager.enableBlend() + GlStateManager.disableLighting() + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + GlStateManager.disableTexture2D() + val tessellator = Tessellator.getInstance() + val worldrenderer = tessellator.worldRenderer + GlStateManager.color(c.red / 255f, c.green / 255f, c.blue / 255f, c.alpha / 255f * alphaMultiplier) + + //vertical + worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION) + worldrenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex() + tessellator.draw() + worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION) + worldrenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex() + tessellator.draw() + GlStateManager.color( + c.red / 255f * 0.8f, + c.green / 255f * 0.8f, + c.blue / 255f * 0.8f, + c.alpha / 255f * alphaMultiplier + ) + + //x + worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION) + worldrenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex() + tessellator.draw() + worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION) + worldrenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex() + tessellator.draw() + GlStateManager.color( + c.red / 255f * 0.9f, + c.green / 255f * 0.9f, + c.blue / 255f * 0.9f, + c.alpha / 255f * alphaMultiplier + ) + //z + worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION) + worldrenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex() + tessellator.draw() + worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION) + worldrenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex() + worldrenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex() + tessellator.draw() + GlStateManager.enableTexture2D() + GlStateManager.disableBlend() + } + + /** + * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 + * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE + * @author Moulberry + */ + fun renderWaypointText(str: String?, loc: BlockPos, partialTicks: Float) { + GlStateManager.alphaFunc(516, 0.1f) + GlStateManager.pushMatrix() + val viewer = Minecraft.getMinecraft().renderViewEntity + val viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * partialTicks + val viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * partialTicks + val viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * partialTicks + var x = loc.x + 0.5 - viewerX + var y = loc.y - viewerY - viewer.eyeHeight + var z = loc.z + 0.5 - viewerZ + val distSq = x * x + y * y + z * z + val dist = sqrt(distSq) + if (distSq > 144) { + x *= 12 / dist + y *= 12 / dist + z *= 12 / dist + } + GlStateManager.translate(x, y, z) + GlStateManager.translate(0f, viewer.eyeHeight, 0f) + drawNametag(str) + GlStateManager.rotate(-Minecraft.getMinecraft().renderManager.playerViewY, 0.0f, 1.0f, 0.0f) + GlStateManager.rotate(Minecraft.getMinecraft().renderManager.playerViewX, 1.0f, 0.0f, 0.0f) + GlStateManager.translate(0f, -0.25f, 0f) + GlStateManager.rotate(-Minecraft.getMinecraft().renderManager.playerViewX, 1.0f, 0.0f, 0.0f) + GlStateManager.rotate(Minecraft.getMinecraft().renderManager.playerViewY, 0.0f, 1.0f, 0.0f) + drawNametag(EnumChatFormatting.YELLOW.toString() + dist.roundToInt() + "m") + GlStateManager.popMatrix() + GlStateManager.disableLighting() + } + + /** + * Taken from NotEnoughUpdates under Creative Commons Attribution-NonCommercial 3.0 + * https://github.com/Moulberry/NotEnoughUpdates/blob/master/LICENSE + * @author Moulberry + */ + fun drawNametag(str: String?) { + val fontrenderer = Minecraft.getMinecraft().fontRendererObj + val f = 1.6f + val f1 = 0.016666668f * f + GlStateManager.pushMatrix() + GL11.glNormal3f(0.0f, 1.0f, 0.0f) + GlStateManager.rotate(-Minecraft.getMinecraft().renderManager.playerViewY, 0.0f, 1.0f, 0.0f) + GlStateManager.rotate(Minecraft.getMinecraft().renderManager.playerViewX, 1.0f, 0.0f, 0.0f) + GlStateManager.scale(-f1, -f1, f1) + GlStateManager.disableLighting() + GlStateManager.depthMask(false) + GlStateManager.disableDepth() + GlStateManager.enableBlend() + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + val tessellator = Tessellator.getInstance() + val worldrenderer = tessellator.worldRenderer + val i = 0 + val j = fontrenderer.getStringWidth(str) / 2 + GlStateManager.disableTexture2D() + worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR) + worldrenderer.pos((-j - 1).toDouble(), (-1 + i).toDouble(), 0.0).color(0.0f, 0.0f, 0.0f, 0.25f).endVertex() + worldrenderer.pos((-j - 1).toDouble(), (8 + i).toDouble(), 0.0).color(0.0f, 0.0f, 0.0f, 0.25f).endVertex() + worldrenderer.pos((j + 1).toDouble(), (8 + i).toDouble(), 0.0).color(0.0f, 0.0f, 0.0f, 0.25f).endVertex() + worldrenderer.pos((j + 1).toDouble(), (-1 + i).toDouble(), 0.0).color(0.0f, 0.0f, 0.0f, 0.25f).endVertex() + tessellator.draw() + GlStateManager.enableTexture2D() + fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, 553648127) + GlStateManager.depthMask(true) + fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, -1) + GlStateManager.enableDepth() + GlStateManager.enableBlend() + GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f) + GlStateManager.popMatrix() + } + + + fun getTotalLength(pos: List): Long { + var total = 0.0 + for (i in 0 until pos.size - 1) { + total += pos[i].distance(pos[i + 1]) + } + return total.toLong() + } + + fun drawLinesVec3( + poses: List, + colour: Color, + colorMax: Color, + thickness: Float, + partialTicks: Float, + depth: Boolean + ) { + val render = Minecraft.getMinecraft().renderViewEntity + val worldRenderer = Tessellator.getInstance().worldRenderer + val realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks + val realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks + val realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks + GlStateManager.pushMatrix() + GlStateManager.translate(-realX, -realY, -realZ) + GlStateManager.disableTexture2D() + GlStateManager.disableLighting() + GL11.glDisable(GL11.GL_TEXTURE_2D) + GlStateManager.enableBlend() + GlStateManager.disableAlpha() + GL11.glLineWidth(thickness) + if (!depth) { + GlStateManager.disableDepth() + GlStateManager.depthMask(false) + } + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + + GlStateManager.color(1f, 1f, 1f, 1f) + worldRenderer.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR) + + + val totalLength = getTotalLength(poses) + for (pos in poses) { + // mix two color based on distance in a gradient + + var progress = (totalLength - pos.x) / totalLength + if(progress < 0) progress = 0.0 + val r = ((colorMax.red + ((colour.red - colorMax.red) * progress)).toFloat() / 255.0f) + val g = ((colorMax.green + ((colour.green - colorMax.green) * progress)).toFloat() / 255.0f) + val b = ((colorMax.blue + ((colour.blue - colorMax.blue) * progress)).toFloat() / 255.0f) + val a = ((colorMax.alpha + ((colour.alpha - colorMax.alpha) * progress)).toFloat() / 255.0f) + + worldRenderer.pos(pos.x, pos.y, pos.z).color(r, g, b, a).endVertex() + } + Tessellator.getInstance().draw() + GlStateManager.translate(realX, realY, realZ) + GlStateManager.disableBlend() + GlStateManager.enableAlpha() + GlStateManager.enableTexture2D() + if (!depth) { + GlStateManager.enableDepth() + GlStateManager.depthMask(true) + } + GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f) + GlStateManager.popMatrix() + GL11.glLineWidth(1f) + } + +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/00d66020-b34e-429d-9fd3-696bc15cfce2.json b/src/main/resources/dgroomdata/00d66020-b34e-429d-9fd3-696bc15cfce2.json new file mode 100644 index 0000000..9d751d7 --- /dev/null +++ b/src/main/resources/dgroomdata/00d66020-b34e-429d-9fd3-696bc15cfce2.json @@ -0,0 +1,1672 @@ +{ + "isUserMade": false, + "shape": 1, + "color": 63, + "blocks": [ + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 98, + 98, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 98, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 159, + 159, + 159, + 159, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 1, + 1, + 98, + 98, + 159, + 159, + 159, + 159, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 144, + 0, + 0, + 0, + 1, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 98, + 98, + 0, + 144, + 144, + 0, + 98, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 50, + 0, + 0, + 0, + 17, + 0, + 0, + 18, + 18, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 136, + 5, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 98, + 98, + 98, + 98, + 98, + 1, + 98, + 0, + 5, + 134, + 0, + 0, + 0, + 0, + 5, + 136, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 98, + 98, + 98, + 98, + 98, + 1, + 1, + 134, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 98, + 98, + 98, + 1, + 98, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 51, + 109, + 109, + 109, + 109, + 109, + 51, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 144, + 0, + 0, + 0, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 4, + 48, + 4, + 4, + 4, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 48, + 4, + 48, + 48, + 48, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 144, + 0, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 0, + 0, + 144, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + ], + "uuid": "00d66020-b34e-429d-9fd3-696bc15cfce2", + "name": "red-green", + "processorId": "default", + "properties": {}, + "mechanics": { + "chest-1": { + "mechType": "Secret", + "secretPoint": { + "x": 16, + "y": 5, + "z": 2 + }, + "secretType": "CHEST", + "preRequisite": [ + "door-1:open" + ] + }, + "door-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 15, + "y": 7, + "z": 8 + }, + { + "x": 15, + "y": 6, + "z": 8 + }, + { + "x": 15, + "y": 5, + "z": 8 + }, + { + "x": 15, + "y": 4, + "z": 8 + }, + { + "x": 16, + "y": 7, + "z": 8 + }, + { + "x": 16, + "y": 6, + "z": 8 + }, + { + "x": 16, + "y": 5, + "z": 8 + }, + { + "x": 16, + "y": 4, + "z": 8 + }, + { + "x": 17, + "y": 7, + "z": 8 + }, + { + "x": 17, + "y": 6, + "z": 8 + }, + { + "x": 17, + "y": 5, + "z": 8 + }, + { + "x": 17, + "y": 4, + "z": 8 + } + ] + }, + "preRequisite": [ + "lever-1:triggered" + ], + "mechType": "OnewayDoor" + }, + "lever-1": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 16, + "y": -9, + "z": 2 + }, + "preRequisite": [], + "triggering": "door-1" + }, + "lever-2": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 16, + "y": 15, + "z": 28 + }, + "preRequisite": [], + "triggering": "door-2" + }, + "door-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 15, + "y": -6, + "z": 29 + }, + { + "x": 15, + "y": -7, + "z": 29 + }, + { + "x": 15, + "y": -8, + "z": 29 + }, + { + "x": 15, + "y": -9, + "z": 29 + }, + { + "x": 16, + "y": -6, + "z": 29 + }, + { + "x": 16, + "y": -7, + "z": 29 + }, + { + "x": 16, + "y": -8, + "z": 29 + }, + { + "x": 16, + "y": -9, + "z": 29 + }, + { + "x": 17, + "y": -6, + "z": 29 + }, + { + "x": 17, + "y": -7, + "z": 29 + }, + { + "x": 17, + "y": -8, + "z": 29 + }, + { + "x": 17, + "y": -9, + "z": 29 + } + ] + }, + "preRequisite": [ + "lever-2:triggered" + ], + "mechType": "OnewayDoor" + }, + "itemdrop-1": { + "mechType": "Secret", + "secretPoint": { + "x": 16, + "y": -9, + "z": 30 + }, + "secretType": "ITEM_DROP", + "preRequisite": [] + }, + "itemdrop-2": { + "mechType": "Secret", + "secretPoint": { + "x": 29, + "y": 7, + "z": 18 + }, + "secretType": "ITEM_DROP", + "preRequisite": [ + "superboom-1:open" + ] + }, + "crypt-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 6, + "y": 14, + "z": 20 + }, + { + "x": 6, + "y": 13, + "z": 20 + }, + { + "x": 7, + "y": 14, + "z": 20 + }, + { + "x": 7, + "y": 13, + "z": 20 + }, + { + "x": 8, + "y": 14, + "z": 20 + }, + { + "x": 8, + "y": 13, + "z": 20 + }, + { + "x": 6, + "y": 14, + "z": 21 + }, + { + "x": 6, + "y": 13, + "z": 21 + }, + { + "x": 7, + "y": 14, + "z": 21 + }, + { + "x": 7, + "y": 13, + "z": 21 + }, + { + "x": 8, + "y": 14, + "z": 21 + }, + { + "x": 8, + "y": 13, + "z": 21 + }, + { + "x": 6, + "y": 14, + "z": 22 + }, + { + "x": 6, + "y": 13, + "z": 22 + }, + { + "x": 7, + "y": 14, + "z": 22 + }, + { + "x": 7, + "y": 13, + "z": 22 + }, + { + "x": 8, + "y": 14, + "z": 22 + }, + { + "x": 8, + "y": 13, + "z": 22 + }, + { + "x": 6, + "y": 14, + "z": 23 + }, + { + "x": 6, + "y": 13, + "z": 23 + }, + { + "x": 7, + "y": 14, + "z": 23 + }, + { + "x": 7, + "y": 13, + "z": 23 + }, + { + "x": 8, + "y": 14, + "z": 23 + }, + { + "x": 8, + "y": 13, + "z": 23 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "crypt-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 24, + "y": 14, + "z": 20 + }, + { + "x": 24, + "y": 13, + "z": 20 + }, + { + "x": 25, + "y": 14, + "z": 20 + }, + { + "x": 25, + "y": 13, + "z": 20 + }, + { + "x": 26, + "y": 14, + "z": 20 + }, + { + "x": 26, + "y": 13, + "z": 20 + }, + { + "x": 24, + "y": 14, + "z": 21 + }, + { + "x": 24, + "y": 13, + "z": 21 + }, + { + "x": 25, + "y": 14, + "z": 21 + }, + { + "x": 25, + "y": 13, + "z": 21 + }, + { + "x": 26, + "y": 14, + "z": 21 + }, + { + "x": 26, + "y": 13, + "z": 21 + }, + { + "x": 24, + "y": 14, + "z": 22 + }, + { + "x": 24, + "y": 13, + "z": 22 + }, + { + "x": 25, + "y": 14, + "z": 22 + }, + { + "x": 25, + "y": 13, + "z": 22 + }, + { + "x": 26, + "y": 14, + "z": 22 + }, + { + "x": 26, + "y": 13, + "z": 22 + }, + { + "x": 24, + "y": 14, + "z": 23 + }, + { + "x": 24, + "y": 13, + "z": 23 + }, + { + "x": 25, + "y": 14, + "z": 23 + }, + { + "x": 25, + "y": 13, + "z": 23 + }, + { + "x": 26, + "y": 14, + "z": 23 + }, + { + "x": 26, + "y": 13, + "z": 23 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "superboom-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 25, + "y": 9, + "z": 17 + }, + { + "x": 25, + "y": 8, + "z": 17 + }, + { + "x": 25, + "y": 7, + "z": 17 + }, + { + "x": 25, + "y": 9, + "z": 18 + }, + { + "x": 25, + "y": 8, + "z": 18 + }, + { + "x": 25, + "y": 7, + "z": 18 + }, + { + "x": 25, + "y": 9, + "z": 19 + }, + { + "x": 25, + "y": 8, + "z": 19 + }, + { + "x": 25, + "y": 7, + "z": 19 + } + ] + }, + "preRequisite": [], + "mechType": "BreakableWall" + } + }, + "totalSecrets": 3 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/01949106-2ddc-4601-9b4c-e934f5d373a6.json b/src/main/resources/dgroomdata/01949106-2ddc-4601-9b4c-e934f5d373a6.json new file mode 100644 index 0000000..baedf79 --- /dev/null +++ b/src/main/resources/dgroomdata/01949106-2ddc-4601-9b4c-e934f5d373a6.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,1,1,0,0,0,0,0,0,0,139,1,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,69,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,159,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,1,139,0,0,0,0,0,0,0,1,139,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,101,101,101,98,1,1,50,0,0,0,0,0,50,1,1,109,101,101,101,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,0,0,0,0,98,98,1,0,0,0,0,0,139,98,98,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,159,144,0,0,0,0,0,98,98,1,0,0,0,0,0,139,98,109,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,109,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,144,0,0,0,0,98,98,0,0,0,0,0,0,0,109,98,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,-1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,109,109,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,-1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,-1,0,0,0,0,0,109,98,0,0,0,0,0,0,18,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,0,0,0,0,0,109,98,139,0,0,0,0,0,139,98,98,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,50,0,0,0,0,98,98,1,0,0,0,0,0,139,98,98,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,101,101,101,98,1,1,50,0,0,0,0,0,50,1,1,98,101,101,101,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,50,0,0,0,0,139,139,0,0,0,0,0,0,0,139,1,50,0,0,0,50,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,50,0,0,0,0,1,139,0,0,0,0,0,0,0,139,1,50,0,0,0,50,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"01949106-2ddc-4601-9b4c-e934f5d373a6","name":"Redstone-key","processorId":"default","properties":{},"mechanics":{"key-slot":{"secretPoint":{"x":24,"y":-2,"z":28},"preRequisite":["door-1:open","redstone-key:found"],"mechType":"Dummy"},"chest-1":{"mechType":"Secret","secretPoint":{"x":8,"y":-8,"z":29},"secretType":"CHEST","preRequisite":["door-2:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":4,"y":0,"z":6},"preRequisite":["crypt-1:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":21,"y":4,"z":25},{"x":21,"y":3,"z":25},{"x":21,"y":2,"z":25},{"x":21,"y":1,"z":25},{"x":21,"y":0,"z":25},{"x":21,"y":-1,"z":25},{"x":21,"y":4,"z":26},{"x":21,"y":3,"z":26},{"x":21,"y":2,"z":26},{"x":21,"y":1,"z":26},{"x":21,"y":0,"z":26},{"x":21,"y":-1,"z":26},{"x":21,"y":4,"z":27},{"x":21,"y":3,"z":27},{"x":21,"y":2,"z":27},{"x":21,"y":1,"z":27},{"x":21,"y":0,"z":27},{"x":21,"y":-1,"z":27}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"door-2":{"secretPoint":{"offsetPointList":[{"x":8,"y":-2,"z":19},{"x":8,"y":-2,"z":20},{"x":8,"y":-2,"z":21},{"x":8,"y":-2,"z":22}]},"preRequisite":["key-slot:click"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":26,"y":-1,"z":26},"secretType":"ITEM_DROP","preRequisite":["door-1:open"]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":4,"y":0,"z":25},{"x":4,"y":-1,"z":25},{"x":5,"y":0,"z":25},{"x":5,"y":-1,"z":25},{"x":6,"y":0,"z":25},{"x":6,"y":-1,"z":25},{"x":7,"y":0,"z":25},{"x":7,"y":-1,"z":25},{"x":4,"y":0,"z":26},{"x":4,"y":-1,"z":26},{"x":5,"y":0,"z":26},{"x":5,"y":-1,"z":26},{"x":6,"y":0,"z":26},{"x":6,"y":-1,"z":26},{"x":7,"y":0,"z":26},{"x":7,"y":-1,"z":26},{"x":4,"y":0,"z":27},{"x":4,"y":-1,"z":27},{"x":5,"y":0,"z":27},{"x":5,"y":-1,"z":27},{"x":6,"y":0,"z":27},{"x":6,"y":-1,"z":27},{"x":7,"y":0,"z":27},{"x":7,"y":-1,"z":27}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":23,"y":-2,"z":19},{"x":23,"y":-3,"z":19},{"x":24,"y":-2,"z":19},{"x":24,"y":-3,"z":19},{"x":25,"y":-2,"z":19},{"x":25,"y":-3,"z":19},{"x":23,"y":-2,"z":20},{"x":23,"y":-3,"z":20},{"x":24,"y":-2,"z":20},{"x":24,"y":-3,"z":20},{"x":25,"y":-2,"z":20},{"x":25,"y":-3,"z":20},{"x":23,"y":-2,"z":21},{"x":23,"y":-3,"z":21},{"x":24,"y":-2,"z":21},{"x":24,"y":-3,"z":21},{"x":25,"y":-2,"z":21},{"x":25,"y":-3,"z":21},{"x":23,"y":-2,"z":22},{"x":23,"y":-3,"z":22},{"x":24,"y":-2,"z":22},{"x":24,"y":-3,"z":22},{"x":25,"y":-2,"z":22},{"x":25,"y":-3,"z":22}]},"preRequisite":[],"mechType":"Tomb"},"redstone-key":{"mechType":"Secret","secretPoint":{"x":5,"y":0,"z":11},"secretType":"ESSENCE","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":23,"y":-2,"z":10},{"x":23,"y":-3,"z":10},{"x":24,"y":-2,"z":10},{"x":24,"y":-3,"z":10},{"x":25,"y":-2,"z":10},{"x":25,"y":-3,"z":10},{"x":23,"y":-2,"z":11},{"x":23,"y":-3,"z":11},{"x":24,"y":-2,"z":11},{"x":24,"y":-3,"z":11},{"x":25,"y":-2,"z":11},{"x":25,"y":-3,"z":11},{"x":23,"y":-2,"z":12},{"x":23,"y":-3,"z":12},{"x":24,"y":-2,"z":12},{"x":24,"y":-3,"z":12},{"x":25,"y":-2,"z":12},{"x":25,"y":-3,"z":12},{"x":23,"y":-2,"z":13},{"x":23,"y":-3,"z":13},{"x":24,"y":-2,"z":13},{"x":24,"y":-3,"z":13},{"x":25,"y":-2,"z":13},{"x":25,"y":-3,"z":13}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":0,"z":5},{"x":5,"y":-1,"z":5},{"x":6,"y":0,"z":5},{"x":6,"y":-1,"z":5},{"x":7,"y":0,"z":5},{"x":7,"y":-1,"z":5},{"x":8,"y":0,"z":5},{"x":8,"y":-1,"z":5},{"x":5,"y":0,"z":6},{"x":5,"y":-1,"z":6},{"x":6,"y":0,"z":6},{"x":6,"y":-1,"z":6},{"x":7,"y":0,"z":6},{"x":7,"y":-1,"z":6},{"x":8,"y":0,"z":6},{"x":8,"y":-1,"z":6},{"x":5,"y":0,"z":7},{"x":5,"y":-1,"z":7},{"x":6,"y":0,"z":7},{"x":6,"y":-1,"z":7},{"x":7,"y":0,"z":7},{"x":7,"y":-1,"z":7},{"x":8,"y":0,"z":7},{"x":8,"y":-1,"z":7}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":0,"z":18},{"x":5,"y":-1,"z":18},{"x":5,"y":-2,"z":18},{"x":5,"y":0,"z":19},{"x":5,"y":-1,"z":19},{"x":5,"y":-2,"z":19},{"x":5,"y":0,"z":20},{"x":5,"y":-1,"z":20},{"x":5,"y":-2,"z":20}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/02b94b9a-8990-446a-993a-9b59de987b16.json b/src/main/resources/dgroomdata/02b94b9a-8990-446a-993a-9b59de987b16.json new file mode 100644 index 0000000..2497da0 --- /dev/null +++ b/src/main/resources/dgroomdata/02b94b9a-8990-446a-993a-9b59de987b16.json @@ -0,0 +1,1468 @@ +{ + "isUserMade": false, + "shape": 1, + "color": 63, + "blocks": [ + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 98, + 139, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 139, + 139, + 0, + 0, + 0, + 1, + 98, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 139, + 139, + 0, + 0, + 0, + 1, + 98, + 5, + 164, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 5, + 164, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 125, + 125, + 126, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 139, + 139, + 0, + 0, + 0, + 139, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 1, + 1, + 126, + 0, + 0, + 0, + 0, + 0, + 109, + 98, + 98, + 98, + 44, + 44, + 44, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 162, + 162, + 162, + 162, + 1, + 50, + 1, + 98, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + -1, + -1, + -1, + -1, + 1, + 98, + 98, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 139, + 139, + 0, + 0, + 139, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 139, + 109, + 0, + 139, + 139, + 0, + 0, + 139, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 139, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 139, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 98, + 0, + 139, + 139, + 0, + 0, + 139, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 1, + 98, + 98, + 98, + 98, + 98, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 126, + 126, + 98, + 0, + 139, + 139, + 0, + 0, + 139, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 109, + 109, + 98, + 98, + 98, + 98, + 98, + 1, + 0, + 0, + 0, + 0, + 0, + 5, + 5, + 126, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 139, + 139, + 5, + 5, + 139, + 139, + 50, + 98, + 98, + 1, + 0, + 0, + 0, + 0, + 0, + 5, + 5, + 98, + 98, + 159, + 159, + 159, + 159, + 159, + 159, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 139, + 139, + 164, + 164, + 139, + 139, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 139, + 98, + 44, + 44, + 98, + 98, + 44, + 44, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 139, + 139, + 50, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 44, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 44, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 139, + 139, + 0, + 0, + 139, + 139, + 0, + 98, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 139, + 139, + 50, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + ], + "uuid": "02b94b9a-8990-446a-993a-9b59de987b16", + "name": "Golden-oasis", + "processorId": "default", + "properties": {}, + "mechanics": { + "chest-2": { + "mechType": "Secret", + "secretPoint": { + "x": 13, + "y": -7, + "z": 24 + }, + "secretType": "CHEST", + "preRequisite": [ + "door-2:open" + ] + }, + "key-slot": { + "secretPoint": { + "x": 11, + "y": 1, + "z": 4 + }, + "preRequisite": [ + "door-1:open", + "redstone-key:found" + ], + "mechType": "Dummy" + }, + "chest-1": { + "mechType": "Secret", + "secretPoint": { + "x": 14, + "y": -7, + "z": 26 + }, + "secretType": "CHEST", + "preRequisite": [ + "door-2:open" + ] + }, + "lever-1": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 30, + "y": 1, + "z": 26 + }, + "preRequisite": [], + "triggering": "door-1" + }, + "door-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 5, + "y": 2, + "z": 12 + }, + { + "x": 5, + "y": 1, + "z": 12 + }, + { + "x": 5, + "y": 0, + "z": 12 + }, + { + "x": 5, + "y": -1, + "z": 12 + }, + { + "x": 6, + "y": 2, + "z": 12 + }, + { + "x": 6, + "y": 1, + "z": 12 + }, + { + "x": 6, + "y": 0, + "z": 12 + }, + { + "x": 6, + "y": -1, + "z": 12 + }, + { + "x": 7, + "y": 2, + "z": 12 + }, + { + "x": 7, + "y": 1, + "z": 12 + }, + { + "x": 7, + "y": 0, + "z": 12 + }, + { + "x": 7, + "y": -1, + "z": 12 + }, + { + "x": 8, + "y": 2, + "z": 12 + }, + { + "x": 8, + "y": 1, + "z": 12 + }, + { + "x": 8, + "y": 0, + "z": 12 + }, + { + "x": 8, + "y": -1, + "z": 12 + } + ] + }, + "preRequisite": [ + "lever-1:triggered" + ], + "mechType": "OnewayDoor" + }, + "door-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 0, + "z": 26 + }, + { + "x": 28, + "y": 0, + "z": 26 + }, + { + "x": 29, + "y": 0, + "z": 26 + } + ] + }, + "preRequisite": [ + "key-slot:click" + ], + "mechType": "OnewayDoor" + }, + "redstone-key": { + "mechType": "Secret", + "secretPoint": { + "x": 13, + "y": 1, + "z": 9 + }, + "secretType": "ESSENCE", + "preRequisite": [] + }, + "crypt-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 0, + "z": 5 + }, + { + "x": 27, + "y": -1, + "z": 5 + }, + { + "x": 28, + "y": 0, + "z": 5 + }, + { + "x": 28, + "y": -1, + "z": 5 + }, + { + "x": 29, + "y": 0, + "z": 5 + }, + { + "x": 29, + "y": -1, + "z": 5 + }, + { + "x": 30, + "y": 0, + "z": 5 + }, + { + "x": 30, + "y": -1, + "z": 5 + }, + { + "x": 27, + "y": 0, + "z": 6 + }, + { + "x": 27, + "y": -1, + "z": 6 + }, + { + "x": 28, + "y": 0, + "z": 6 + }, + { + "x": 28, + "y": -1, + "z": 6 + }, + { + "x": 29, + "y": 0, + "z": 6 + }, + { + "x": 29, + "y": -1, + "z": 6 + }, + { + "x": 30, + "y": 0, + "z": 6 + }, + { + "x": 30, + "y": -1, + "z": 6 + }, + { + "x": 27, + "y": 0, + "z": 7 + }, + { + "x": 27, + "y": -1, + "z": 7 + }, + { + "x": 28, + "y": 0, + "z": 7 + }, + { + "x": 28, + "y": -1, + "z": 7 + }, + { + "x": 29, + "y": 0, + "z": 7 + }, + { + "x": 29, + "y": -1, + "z": 7 + }, + { + "x": 30, + "y": 0, + "z": 7 + }, + { + "x": 30, + "y": -1, + "z": 7 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + } + }, + "totalSecrets": 1 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/05ba6123-3468-4ec3-8e32-0553a8e5d3b2.json b/src/main/resources/dgroomdata/05ba6123-3468-4ec3-8e32-0553a8e5d3b2.json new file mode 100644 index 0000000..edcdbbd --- /dev/null +++ b/src/main/resources/dgroomdata/05ba6123-3468-4ec3-8e32-0553a8e5d3b2.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,98,1,98,98,109,109,0,0,0,0,0,109,109,98,98,98,4,0,0,0,0,0,4,0,0,0,0,0,4,4,98,98,98,98,98,98,1,0,0,0,0,0,0,0,98,98,98,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,4,0,0,0,0,0,0,0,0,0,67,98,98,0,0,0,0,0,0,0,0,0,0,44,44,44,44,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,11,109,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,44,44,44,44,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,109,109,109,109,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,11,109,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,44,44,44,44,98,1,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,4,0,0,0,0,0,0,0,0,0,0,98,98,4,0,0,0,0,0,4,0,0,0,0,0,4,4,1,98,98,98,109,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,98,98,109,0,0,0,0,0,0,0,109,4,98,98,4,4,0,154,0,4,4,4,0,154,0,4,4,4,1,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,109,109,0,0,0,0,0,0,0,109,4,98,98,98,98,98,98,98,98,98,1,98,98,98,98,98,98,98,98,98,98,98,98,98,5,5,0,0,0,0,0,5,5,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,11,11,4,98,109,0,0,0,0,0,0,0,0,0,0,4,98,1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,125,125,125,5,0,0,0,0,65,5,5,85,0,85,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,109,109,0,109,109,0,11,0,0,0,0,0,0,0,0,67,98,1,1,98,98,109,109,109,109,98,98,98,98,98,98,98,98,98,98,98,98,125,125,125,0,0,0,0,0,0,5,5,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,4,98,98,98,98,1,0,0,0,0,98,98,1,98,98,98,98,98,98,98,98,1,0,0,0,0,0,0,0,0,0,0,0,85,0,85,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,4,98,98,98,98,98,5,5,5,5,98,98,98,98,98,98,98,98,98,98,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,159,98,98,98,98,-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,98,98,98,0,0,0,0,98,1,98,98,98,98,98,98,98,98,109,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,0,0,0,0,109,109,98,98,109,109,109,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,17,5,5,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,161,0,0,109,109,161,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,1,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,4,4,67,4,4,4,67,67,4,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,1,0,144,0,144,98,98,0,0,144,144,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,159,159,159,159,159,159,159,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,1,98,98,1,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,1,98,98,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,139,0,126,126,109,109,4,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,4,109,17,0,0,0,17,1,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,0,0,126,126,125,125,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,44,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,125,125,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,44,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,44,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,44,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,65,0,0,0,0,0,44,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,17,17,0,0,0,17,44,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,109,109,109,109,109,98,98,98,109,109,109,109,109,98,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,98,109,109,109,109,109,98,4,98,109,109,109,109,109,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,159,159,159,159,159,98,1,98,159,159,159,159,159,98,98,139,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,139,98,98,159,159,159,159,159,98,1,98,159,159,159,159,159,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,109,109,109,109,109,98,4,98,109,109,109,109,109,98,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,98,109,109,109,109,109,98,98,98,109,109,109,109,109,1,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,17,0,0,0,0,65,17,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,109,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,109,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,11,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,17,0,0,0,0,0,17,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,139,0,0,0,109,109,4,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,4,109,109,0,0,0,139,1,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,1,98,98,1,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,109,98,98,98,1,98,98,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,159,109,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,109,1,98,98,98,109,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,109,109,98,98,98,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,139,1,0,0,18,18,109,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,161,0,0,109,109,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,126,126,126,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,126,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,109,109,109,98,98,109,109,0,0,0,0,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,98,98,98,98,98,98,98,98,1,98,0,0,0,0,98,98,98,109,109,109,109,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1,98,98,98,98,159,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,98,98,98,4,1,1,98,98,98,98,5,5,5,5,98,98,98,98,98,98,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,98,98,98,98,67,67,67,98,1,98,98,109,109,109,109,1,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,1,139,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,0,0,0,98,98,98,98,98,98,98,98,98,98,1,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,144,0,144,0,98,1,17,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,0,0,0,109,98,98,98,98,98,98,98,98,98,98,1,98,109,0,0,0,0,0,0,0,0,0,1,1,0,0,0,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,159,159,159,98,98,1,139,0,0,0,0,0,0,0,1,98,98,98,98,98,98,0,0,0,109,98,98,1,98,98,98,98,98,98,98,98,98,98,98,0,0,0,17,0,0,0,0,1,1,0,0,0,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,98,98,98,98,1,0,0,0,0,0,0,0,139,1,98,98,98,98,98,0,0,0,98,98,109,109,98,98,109,109,109,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,109,109,98,98,98,1,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,1,98,159,0,0,0,0,0,0,0,0,0,0,109,109,98,4,109,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,159,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,159,144,0,0,0,0,0,0,0,0,0,109,98,98,4,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,159,98,98,17,0,0,0,0,0,0,0,0,1,1,109,109,109,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,159,144,0,0,0,0,0,0,0,0,0,109,98,98,4,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,159,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,98,98,139,0,0,0,0,0,0,0,139,98,98,98,4,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,159,98,98,98,0,0,0,0,0,0,0,98,1,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"05ba6123-3468-4ec3-8e32-0553a8e5d3b2","name":"Flags","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":60,"y":17,"z":42},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":15,"y":38,"z":42},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":38,"y":-3,"z":59},"secretType":"CHEST","preRequisite":[]},"door-1a":{"secretPoint":{"offsetPointList":[{"x":34,"y":4,"z":49},{"x":34,"y":3,"z":49},{"x":34,"y":2,"z":49},{"x":34,"y":1,"z":49},{"x":34,"y":0,"z":49},{"x":34,"y":-1,"z":49},{"x":35,"y":4,"z":49},{"x":35,"y":3,"z":49},{"x":35,"y":2,"z":49},{"x":35,"y":1,"z":49},{"x":35,"y":0,"z":49},{"x":35,"y":-1,"z":49},{"x":36,"y":4,"z":49},{"x":36,"y":3,"z":49},{"x":36,"y":2,"z":49},{"x":36,"y":1,"z":49},{"x":36,"y":0,"z":49},{"x":36,"y":-1,"z":49},{"x":37,"y":4,"z":49},{"x":37,"y":3,"z":49},{"x":37,"y":2,"z":49},{"x":37,"y":1,"z":49},{"x":37,"y":0,"z":49},{"x":37,"y":-1,"z":49}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":32,"y":1,"z":32},"preRequisite":[],"triggering":"door-1a"},"bat-1":{"mechType":"Secret","secretPoint":{"x":52,"y":4,"z":39},"secretType":"BAT","preRequisite":[]},"chest-4":{"mechType":"Secret","secretPoint":{"x":15,"y":38,"z":28},"secretType":"CHEST","preRequisite":[]},"chest-5":{"mechType":"Secret","secretPoint":{"x":12,"y":27,"z":8},"secretType":"CHEST","preRequisite":[]},"crypt-7":{"secretPoint":{"offsetPointList":[{"x":9,"y":38,"z":34},{"x":9,"y":37,"z":34},{"x":10,"y":38,"z":34},{"x":10,"y":37,"z":34},{"x":11,"y":38,"z":34},{"x":11,"y":37,"z":34},{"x":12,"y":38,"z":34},{"x":12,"y":37,"z":34},{"x":9,"y":38,"z":35},{"x":9,"y":37,"z":35},{"x":10,"y":38,"z":35},{"x":10,"y":37,"z":35},{"x":11,"y":38,"z":35},{"x":11,"y":37,"z":35},{"x":12,"y":38,"z":35},{"x":12,"y":37,"z":35},{"x":9,"y":38,"z":36},{"x":9,"y":37,"z":36},{"x":10,"y":38,"z":36},{"x":10,"y":37,"z":36},{"x":11,"y":38,"z":36},{"x":11,"y":37,"z":36},{"x":12,"y":38,"z":36},{"x":12,"y":37,"z":36}]},"preRequisite":[],"mechType":"Tomb"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":54,"y":-1,"z":24},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":36,"y":28,"z":32},{"x":36,"y":27,"z":32},{"x":37,"y":28,"z":32},{"x":37,"y":27,"z":32},{"x":38,"y":28,"z":32},{"x":38,"y":27,"z":32},{"x":39,"y":28,"z":32},{"x":39,"y":27,"z":32},{"x":36,"y":28,"z":33},{"x":36,"y":27,"z":33},{"x":37,"y":28,"z":33},{"x":37,"y":27,"z":33},{"x":38,"y":28,"z":33},{"x":38,"y":27,"z":33},{"x":39,"y":28,"z":33},{"x":39,"y":27,"z":33}]},"preRequisite":[],"mechType":"Tomb"},"door-1b":{"secretPoint":{"offsetPointList":[{"x":27,"y":4,"z":15},{"x":27,"y":3,"z":15},{"x":27,"y":2,"z":15},{"x":27,"y":1,"z":15},{"x":27,"y":0,"z":15},{"x":27,"y":-1,"z":15},{"x":28,"y":4,"z":15},{"x":28,"y":3,"z":15},{"x":28,"y":2,"z":15},{"x":28,"y":1,"z":15},{"x":28,"y":0,"z":15},{"x":28,"y":-1,"z":15},{"x":29,"y":4,"z":15},{"x":29,"y":3,"z":15},{"x":29,"y":2,"z":15},{"x":29,"y":1,"z":15},{"x":29,"y":0,"z":15},{"x":29,"y":-1,"z":15},{"x":30,"y":4,"z":15},{"x":30,"y":3,"z":15},{"x":30,"y":2,"z":15},{"x":30,"y":1,"z":15},{"x":30,"y":0,"z":15},{"x":30,"y":-1,"z":15}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":36,"y":28,"z":37},{"x":36,"y":27,"z":37},{"x":37,"y":28,"z":37},{"x":37,"y":27,"z":37},{"x":38,"y":28,"z":37},{"x":38,"y":27,"z":37},{"x":39,"y":28,"z":37},{"x":39,"y":27,"z":37},{"x":36,"y":28,"z":38},{"x":36,"y":27,"z":38},{"x":37,"y":28,"z":38},{"x":37,"y":27,"z":38},{"x":38,"y":28,"z":38},{"x":38,"y":27,"z":38},{"x":39,"y":28,"z":38},{"x":39,"y":27,"z":38}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":14,"y":16,"z":52},{"x":14,"y":15,"z":52},{"x":15,"y":16,"z":52},{"x":15,"y":15,"z":52},{"x":16,"y":16,"z":52},{"x":16,"y":15,"z":52},{"x":14,"y":16,"z":53},{"x":14,"y":15,"z":53},{"x":15,"y":16,"z":53},{"x":15,"y":15,"z":53},{"x":16,"y":16,"z":53},{"x":16,"y":15,"z":53},{"x":14,"y":16,"z":54},{"x":14,"y":15,"z":54},{"x":15,"y":16,"z":54},{"x":15,"y":15,"z":54},{"x":16,"y":16,"z":54},{"x":16,"y":15,"z":54},{"x":14,"y":16,"z":55},{"x":14,"y":15,"z":55},{"x":15,"y":16,"z":55},{"x":15,"y":15,"z":55},{"x":16,"y":16,"z":55},{"x":16,"y":15,"z":55}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":14,"y":18,"z":44},{"x":14,"y":17,"z":44},{"x":15,"y":18,"z":44},{"x":15,"y":17,"z":44},{"x":16,"y":18,"z":44},{"x":16,"y":17,"z":44},{"x":17,"y":18,"z":44},{"x":17,"y":17,"z":44},{"x":14,"y":18,"z":45},{"x":14,"y":17,"z":45},{"x":15,"y":18,"z":45},{"x":15,"y":17,"z":45},{"x":16,"y":18,"z":45},{"x":16,"y":17,"z":45},{"x":17,"y":18,"z":45},{"x":17,"y":17,"z":45},{"x":14,"y":18,"z":46},{"x":14,"y":17,"z":46},{"x":15,"y":18,"z":46},{"x":15,"y":17,"z":46},{"x":16,"y":18,"z":46},{"x":16,"y":17,"z":46},{"x":17,"y":18,"z":46},{"x":17,"y":17,"z":46}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":14,"y":18,"z":18},{"x":14,"y":17,"z":18},{"x":15,"y":18,"z":18},{"x":15,"y":17,"z":18},{"x":16,"y":18,"z":18},{"x":16,"y":17,"z":18},{"x":17,"y":18,"z":18},{"x":17,"y":17,"z":18},{"x":14,"y":18,"z":19},{"x":14,"y":17,"z":19},{"x":15,"y":18,"z":19},{"x":15,"y":17,"z":19},{"x":16,"y":18,"z":19},{"x":16,"y":17,"z":19},{"x":17,"y":18,"z":19},{"x":17,"y":17,"z":19},{"x":14,"y":18,"z":20},{"x":14,"y":17,"z":20},{"x":15,"y":18,"z":20},{"x":15,"y":17,"z":20},{"x":16,"y":18,"z":20},{"x":16,"y":17,"z":20},{"x":17,"y":18,"z":20},{"x":17,"y":17,"z":20}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":20,"y":16,"z":21},{"x":20,"y":15,"z":21},{"x":21,"y":16,"z":21},{"x":21,"y":15,"z":21},{"x":22,"y":16,"z":21},{"x":22,"y":15,"z":21},{"x":23,"y":16,"z":21},{"x":23,"y":15,"z":21},{"x":20,"y":16,"z":22},{"x":20,"y":15,"z":22},{"x":21,"y":16,"z":22},{"x":21,"y":15,"z":22},{"x":22,"y":16,"z":22},{"x":22,"y":15,"z":22},{"x":23,"y":16,"z":22},{"x":23,"y":15,"z":22},{"x":20,"y":16,"z":23},{"x":20,"y":15,"z":23},{"x":21,"y":16,"z":23},{"x":21,"y":15,"z":23},{"x":22,"y":16,"z":23},{"x":22,"y":15,"z":23},{"x":23,"y":16,"z":23},{"x":23,"y":15,"z":23}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":7} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/067df8a7-9d28-4fdd-a538-c6d38f126cd2.json b/src/main/resources/dgroomdata/067df8a7-9d28-4fdd-a538-c6d38f126cd2.json new file mode 100644 index 0000000..29a626d --- /dev/null +++ b/src/main/resources/dgroomdata/067df8a7-9d28-4fdd-a538-c6d38f126cd2.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":49,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,144,139,139,4,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,171,171,1,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,171,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,101,1,101,101,101,101,1,0,0,0,0,1,0,0,0,0,0,0,0,0,171,144,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,44,98,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,44,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,98,98,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,98,1,44,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,98,44,44,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,98,1,98,98,98,98,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,98,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,139,0,4,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,98,98,0,0,0,98,109,159,159,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,0,0,0,118,0,0,0,159,159,98,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,109,159,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,1,1,109,0,0,0,0,0,1,98,109,0,0,0,0,0,0,0,0,1,0,0,0,0,0,98,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,5,126,126,0,0,0,0,109,0,0,0,0,0,0,109,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,5,0,0,0,0,0,0,109,0,0,0,0,0,0,0,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,144,159,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,139,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,44,159,98,1,98,0,0,0,98,109,109,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,118,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,159,98,98,98,1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,98,98,98,1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,98,98,98,1,98,109,1,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,144,159,98,109,1,98,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,118,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,5,0,0,0,0,0,109,0,0,0,0,0,0,144,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,0,0,0,0,0,109,0,0,0,0,0,0,0,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,0,0,0,0,109,1,1,98,109,1,0,0,0,0,0,0,1,109,98,1,0,0,0,0,1,0,0,0,0,0,98,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,98,98,0,0,0,0,0,0,0,0,0,0,98,159,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,164,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,5,98,109,0,0,0,0,0,0,0,0,0,144,159,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,5,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,118,0,0,0,118,0,0,0,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,109,0,0,85,0,0,0,109,109,0,0,0,109,109,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,44,0,0,0,0,0,0,0,0,98,98,98,0,0,0,98,0,159,159,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"067df8a7-9d28-4fdd-a538-c6d38f126cd2","name":"Dino-dig-site","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":25,"y":22,"z":30},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":55,"y":-18,"z":52},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":47,"y":-13,"z":37},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":31,"y":0,"z":43},{"x":31,"y":-1,"z":43},{"x":32,"y":0,"z":43},{"x":32,"y":-1,"z":43},{"x":33,"y":0,"z":43},{"x":33,"y":-1,"z":43},{"x":31,"y":0,"z":44},{"x":31,"y":-1,"z":44},{"x":32,"y":0,"z":44},{"x":32,"y":-1,"z":44},{"x":33,"y":0,"z":44},{"x":33,"y":-1,"z":44},{"x":31,"y":0,"z":45},{"x":31,"y":-1,"z":45},{"x":32,"y":0,"z":45},{"x":32,"y":-1,"z":45},{"x":33,"y":0,"z":45},{"x":33,"y":-1,"z":45},{"x":31,"y":0,"z":46},{"x":31,"y":-1,"z":46},{"x":32,"y":0,"z":46},{"x":32,"y":-1,"z":46},{"x":33,"y":0,"z":46},{"x":33,"y":-1,"z":46},{"x":31,"y":0,"z":47},{"x":31,"y":-1,"z":47},{"x":32,"y":0,"z":47},{"x":32,"y":-1,"z":47},{"x":33,"y":0,"z":47},{"x":33,"y":-1,"z":47}]},"preRequisite":[],"mechType":"Tomb"},"bat-1":{"mechType":"Secret","secretPoint":{"x":10,"y":-22,"z":35},"secretType":"BAT","preRequisite":[]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":24,"y":0,"z":21},{"x":24,"y":-1,"z":21},{"x":25,"y":0,"z":21},{"x":25,"y":-1,"z":21},{"x":26,"y":0,"z":21},{"x":26,"y":-1,"z":21},{"x":24,"y":0,"z":22},{"x":24,"y":-1,"z":22},{"x":25,"y":0,"z":22},{"x":25,"y":-1,"z":22},{"x":26,"y":0,"z":22},{"x":26,"y":-1,"z":22},{"x":24,"y":0,"z":23},{"x":24,"y":-1,"z":23},{"x":25,"y":0,"z":23},{"x":25,"y":-1,"z":23},{"x":26,"y":0,"z":23},{"x":26,"y":-1,"z":23},{"x":24,"y":0,"z":24},{"x":24,"y":-1,"z":24},{"x":25,"y":0,"z":24},{"x":25,"y":-1,"z":24},{"x":26,"y":0,"z":24},{"x":26,"y":-1,"z":24},{"x":24,"y":0,"z":25},{"x":24,"y":-1,"z":25},{"x":25,"y":0,"z":25},{"x":25,"y":-1,"z":25},{"x":26,"y":0,"z":25},{"x":26,"y":-1,"z":25}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":51,"y":13,"z":51},{"x":51,"y":12,"z":51},{"x":52,"y":13,"z":51},{"x":52,"y":12,"z":51},{"x":53,"y":13,"z":51},{"x":53,"y":12,"z":51},{"x":54,"y":13,"z":51},{"x":54,"y":12,"z":51},{"x":55,"y":13,"z":51},{"x":55,"y":12,"z":51},{"x":51,"y":13,"z":52},{"x":51,"y":12,"z":52},{"x":52,"y":13,"z":52},{"x":52,"y":12,"z":52},{"x":53,"y":13,"z":52},{"x":53,"y":12,"z":52},{"x":54,"y":13,"z":52},{"x":54,"y":12,"z":52},{"x":55,"y":13,"z":52},{"x":55,"y":12,"z":52},{"x":51,"y":13,"z":53},{"x":51,"y":12,"z":53},{"x":52,"y":13,"z":53},{"x":52,"y":12,"z":53},{"x":53,"y":13,"z":53},{"x":53,"y":12,"z":53},{"x":54,"y":13,"z":53},{"x":54,"y":12,"z":53},{"x":55,"y":13,"z":53},{"x":55,"y":12,"z":53}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":51,"y":13,"z":43},{"x":51,"y":12,"z":43},{"x":52,"y":13,"z":43},{"x":52,"y":12,"z":43},{"x":53,"y":13,"z":43},{"x":53,"y":12,"z":43},{"x":54,"y":13,"z":43},{"x":54,"y":12,"z":43},{"x":55,"y":13,"z":43},{"x":55,"y":12,"z":43},{"x":51,"y":13,"z":44},{"x":51,"y":12,"z":44},{"x":52,"y":13,"z":44},{"x":52,"y":12,"z":44},{"x":53,"y":13,"z":44},{"x":53,"y":12,"z":44},{"x":54,"y":13,"z":44},{"x":54,"y":12,"z":44},{"x":55,"y":13,"z":44},{"x":55,"y":12,"z":44},{"x":51,"y":13,"z":45},{"x":51,"y":12,"z":45},{"x":52,"y":13,"z":45},{"x":52,"y":12,"z":45},{"x":53,"y":13,"z":45},{"x":53,"y":12,"z":45},{"x":54,"y":13,"z":45},{"x":54,"y":12,"z":45},{"x":55,"y":13,"z":45},{"x":55,"y":12,"z":45}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":24,"y":26,"z":36},{"x":24,"y":25,"z":36},{"x":24,"y":24,"z":36},{"x":24,"y":23,"z":36},{"x":24,"y":22,"z":36},{"x":25,"y":26,"z":36},{"x":25,"y":25,"z":36},{"x":25,"y":24,"z":36},{"x":25,"y":23,"z":36},{"x":25,"y":22,"z":36},{"x":26,"y":26,"z":36},{"x":26,"y":25,"z":36},{"x":26,"y":24,"z":36},{"x":26,"y":23,"z":36},{"x":26,"y":22,"z":36}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/07ce87bb-a49a-412b-a8f7-c9dde9f884de.json b/src/main/resources/dgroomdata/07ce87bb-a49a-412b-a8f7-c9dde9f884de.json new file mode 100644 index 0000000..9335d49 --- /dev/null +++ b/src/main/resources/dgroomdata/07ce87bb-a49a-412b-a8f7-c9dde9f884de.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,1,67,0,0,0,0,0,0,50,67,67,0,0,0,0,0,67,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,1,4,0,0,0,0,0,0,0,67,4,50,0,0,0,0,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,1,4,0,0,0,0,0,0,0,67,1,98,0,0,0,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,1,1,98,0,0,0,0,0,1,1,67,4,101,0,101,4,4,67,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,1,1,1,5,0,0,0,0,98,98,0,0,0,0,191,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,1,98,67,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,101,0,101,4,4,1,1,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,191,0,109,1,1,1,98,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,109,4,1,1,98,0,0,0,1,98,1,67,0,0,0,4,4,67,67,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,139,4,67,109,109,109,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,4,44,44,44,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,4,0,0,0,67,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,67,0,0,0,67,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,139,4,67,0,0,0,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,109,4,1,1,101,101,101,101,101,1,1,4,101,0,101,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,1,1,1,1,0,0,0,0,0,98,98,0,0,0,0,0,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,4,4,1,1,4,0,0,0,0,5,5,0,0,0,0,0,0,0,0,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,4,145,85,0,0,134,134,0,0,85,0,0,85,0,145,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,1,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,85,0,0,85,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,44,1,1,1,1,0,0,0,0,0,0,0,85,0,0,85,0,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,44,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,4,145,0,0,0,0,0,0,0,85,0,0,85,0,145,67,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,4,0,0,0,0,0,0,0,65,0,0,0,5,5,0,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"07ce87bb-a49a-412b-a8f7-c9dde9f884de","name":"Lots-of-floors","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":2,"y":6,"z":6},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":26,"y":14,"z":8},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":6,"y":-1,"z":29},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":10,"z":5},{"x":11,"y":9,"z":5},{"x":11,"y":8,"z":5},{"x":11,"y":7,"z":5},{"x":11,"y":6,"z":5},{"x":11,"y":10,"z":6},{"x":11,"y":9,"z":6},{"x":11,"y":8,"z":6},{"x":11,"y":7,"z":6},{"x":11,"y":6,"z":6},{"x":11,"y":10,"z":7},{"x":11,"y":9,"z":7},{"x":11,"y":8,"z":7},{"x":11,"y":7,"z":7},{"x":11,"y":6,"z":7}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":13,"y":-8,"z":15},"preRequisite":[],"triggering":"door-1"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-7,"z":20},{"x":15,"y":-8,"z":20},{"x":16,"y":-7,"z":20},{"x":16,"y":-8,"z":20},{"x":17,"y":-7,"z":20},{"x":17,"y":-8,"z":20},{"x":15,"y":-7,"z":21},{"x":15,"y":-8,"z":21},{"x":16,"y":-7,"z":21},{"x":16,"y":-8,"z":21},{"x":17,"y":-7,"z":21},{"x":17,"y":-8,"z":21},{"x":15,"y":-7,"z":22},{"x":15,"y":-8,"z":22},{"x":16,"y":-7,"z":22},{"x":16,"y":-8,"z":22},{"x":17,"y":-7,"z":22},{"x":17,"y":-8,"z":22},{"x":15,"y":-7,"z":23},{"x":15,"y":-8,"z":23},{"x":16,"y":-7,"z":23},{"x":16,"y":-8,"z":23},{"x":17,"y":-7,"z":23},{"x":17,"y":-8,"z":23}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":0,"z":22},{"x":6,"y":1,"z":22},{"x":6,"y":0,"z":22},{"x":6,"y":-1,"z":22},{"x":7,"y":2,"z":22},{"x":7,"y":1,"z":22},{"x":7,"y":0,"z":22},{"x":7,"y":-1,"z":22}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/0877607a-b8a2-433a-b893-f4de7c83378a.json b/src/main/resources/dgroomdata/0877607a-b8a2-433a-b893-f4de7c83378a.json new file mode 100644 index 0000000..f8efe85 --- /dev/null +++ b/src/main/resources/dgroomdata/0877607a-b8a2-433a-b893-f4de7c83378a.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,159,159,159,1,98,35,139,0,0,0,0,0,0,1,98,98,0,7,7,1,98,1,4,1,4,1,1,4,1,1,1,1,1,1,1,1,1,7,50,0,0,0,0,0,0,0,0,0,139,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,159,159,159,98,98,7,0,0,0,0,0,0,0,0,101,0,0,0,139,7,98,1,1,50,0,188,98,98,1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,109,109,109,109,98,98,7,0,0,0,0,0,0,0,0,0,0,0,0,0,35,98,1,1,0,0,0,0,18,7,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,134,5,7,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,67,67,0,0,0,0,18,7,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,134,5,103,7,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,98,0,0,0,0,0,18,7,1,1,1,1,1,1,1,1,1,35,35,35,0,0,0,0,0,0,0,0,0,0,144,7,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,-1,98,0,0,0,0,35,0,0,0,0,98,109,0,0,0,0,98,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,1,1,35,35,0,0,0,0,0,0,0,0,5,5,5,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,-1,98,98,0,0,0,35,1,35,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,164,164,5,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,7,7,7,0,0,0,98,98,0,0,159,1,7,7,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,4,7,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,159,159,7,0,139,7,109,0,0,0,7,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,7,7,159,7,1,109,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,109,50,0,0,0,0,0,0,159,159,159,159,1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,35,7,1,98,159,0,0,0,0,0,0,0,0,1,98,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,7,4,1,1,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,44,35,1,4,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,35,35,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,44,44,4,4,1,44,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,35,7,7,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,44,44,4,1,4,1,1,44,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,7,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,44,44,44,4,4,1,4,1,1,1,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,50,35,7,1,1,1,1,1,1,1,139,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,44,44,4,4,1,4,1,1,1,4,4,1,44,44,44,0,0,7,7,0,0,0,0,0,7,1,1,1,1,1,1,1,1,50,0,0,0,0,0,0,0,0,0,7,7,1,1,1,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,4,4,1,4,4,1,4,1,1,1,44,44,159,35,1,1,1,1,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,98,98,1,1,0,0,0,0,35,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,171,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,1,1,1,1,1,1,4,4,1,1,1,1,98,98,4,98,1,1,1,1,0,0,0,0,159,159,1,1,1,1,1,1,1,1,1,98,0,0,0,0,171,171,171,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,1,1,4,1,4,4,1,4,1,4,4,1,4,4,98,1,1,1,1,1,0,0,0,159,0,159,1,1,1,1,1,1,1,1,98,1,1,0,0,171,0,0,171,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,1,4,1,4,4,1,1,1,1,1,1,1,1,4,1,1,98,1,1,1,1,1,0,0,0,0,0,0,0,0,98,1,1,1,1,1,98,1,1,159,139,0,0,0,0,0,0,0,1,1,1,0,0,67,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,1,1,1,1,1,4,1,1,4,4,1,1,1,1,4,98,1,1,1,1,159,0,0,0,0,0,0,0,0,139,98,1,1,1,1,98,1,1,1,7,7,7,7,0,0,0,0,1,98,98,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,4,1,1,1,4,1,1,4,4,4,4,1,1,4,1,98,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,98,4,4,4,1,1,98,1,1,0,44,44,1,98,98,4,4,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,1,1,1,1,4,4,1,1,1,4,1,1,1,1,4,98,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,98,4,4,4,1,1,98,1,1,44,44,4,4,1,4,4,1,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,1,4,4,4,1,4,1,1,1,1,4,4,1,1,1,1,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,98,4,4,1,4,1,98,1,1,1,1,4,1,4,1,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,1,4,1,4,4,4,4,1,1,1,4,4,1,4,1,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,98,4,4,1,1,1,1,1,4,4,4,1,1,4,4,4,1,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,1,4,4,1,1,1,1,1,4,1,1,1,1,4,1,98,1,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,1,1,98,4,1,1,1,1,98,98,98,1,4,4,4,98,98,1,4,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,44,44,44,44,44,1,1,4,1,1,4,1,1,1,1,1,4,4,1,1,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,1,98,4,1,1,4,1,98,98,98,1,1,4,1,98,98,1,4,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,98,1,1,1,98,98,1,1,4,4,4,4,98,1,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,1,98,4,1,4,4,67,67,1,4,4,1,1,1,1,1,1,4,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,98,98,4,4,1,1,1,4,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,4,1,1,1,4,67,4,4,1,1,1,1,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,98,1,98,1,98,98,98,1,98,98,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,98,4,4,4,4,4,67,67,1,1,1,1,4,4,4,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,4,159,159,1,4,4,4,4,4,1,4,4,1,1,1,1,1,159,0,0,98,139,0,0,0,0,0,0,0,0,0,1,1,1,98,4,67,67,1,1,98,98,98,4,1,4,4,1,98,4,4,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,4,101,139,1,4,1,4,1,4,1,4,4,1,4,98,1,1,159,0,0,139,98,0,0,0,0,0,0,0,0,0,1,1,1,98,1,4,67,67,1,98,98,1,4,1,4,1,98,98,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,101,0,4,1,1,1,4,1,1,1,4,4,4,98,1,1,159,159,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,98,4,4,1,4,1,98,4,4,4,4,4,4,1,1,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,43,159,4,159,159,4,159,159,1,159,159,98,1,1,1,1,35,7,0,0,0,0,0,0,0,0,1,1,1,1,1,98,1,1,4,1,4,98,4,67,1,1,67,67,4,4,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,4,4,1,0,0,4,101,101,1,0,0,98,1,1,1,1,1,1,7,159,0,0,0,0,0,0,1,1,1,1,1,98,4,1,1,1,1,98,1,44,44,44,44,44,44,44,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,44,1,4,4,0,101,4,0,0,1,0,0,98,1,1,1,1,1,1,1,1,159,1,1,1,0,0,1,1,1,1,1,1,1,4,67,4,1,98,98,98,0,0,0,0,98,98,4,67,67,67,-1,-1,-1,-1],[-1,-1,-1,-1,7,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,126,126,3,98,98,98,98,98,4,67,67,4,4,98,98,98,0,0,0,0,98,98,0,5,134,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,4,4,1,1,4,4,1,1,3,134,3,3,4,4,1,1,1,1,67,4,1,4,98,0,0,0,0,0,0,0,0,0,134,134,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,98,98,1,1,1,1,4,1,4,1,1,1,1,3,4,125,3,4,1,4,4,1,67,4,4,4,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,98,98,1,1,1,4,1,4,4,4,4,4,1,1,1,1,4,4,4,4,4,1,1,1,1,4,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,4,1,4,4,4,1,4,1,1,4,1,4,4,1,1,4,4,4,4,4,4,4,98,98,0,0,0,0,0,139,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,4,4,1,4,4,4,1,4,4,4,1,4,4,4,1,1,1,1,1,4,1,98,0,0,0,0,0,139,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,4,4,4,1,4,4,4,1,1,1,4,1,1,4,1,4,4,1,4,4,4,1,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,1,1,1,1,1,4,4,4,4,1,4,1,4,1,4,4,4,1,4,1,4,4,1,4,4,1,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,35,35,35,1,4,1,1,4,1,1,1,4,1,4,4,4,1,4,1,1,1,4,1,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,1,1,1,4,4,1,1,1,1,4,4,1,4,4,1,4,4,4,1,1,0,0,0,0,0,0,0,109,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,4,1,1,4,1,1,1,1,1,4,1,4,1,4,1,4,1,1,1,4,44,0,0,0,0,0,0,98,98,67,67,67,4,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,4,4,4,1,1,1,1,1,1,4,1,4,1,4,4,1,1,4,4,4,44,44,0,0,0,0,0,1,1,1,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,7,188,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,4,1,1,1,1,4,1,4,4,4,1,1,4,1,1,4,1,4,4,1,4,44,44,44,0,0,0,0,1,1,1,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,1,1,3,4,1,4,1,1,4,1,4,1,1,1,1,1,1,4,4,4,1,1,1,44,44,44,44,44,44,44,1,1,1,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,0,1,0,0,4,0,0,1,0,0,1,0,0,4,1,1,1,1,3,3,1,3,1,1,1,1,1,1,4,4,4,4,1,4,4,4,1,1,44,44,44,98,1,4,4,4,1,98,98,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,35,4,0,0,1,0,0,1,0,0,4,0,0,4,1,1,1,1,3,3,3,1,4,4,4,4,4,4,4,4,1,1,4,1,1,1,44,44,44,0,0,98,98,4,4,4,4,1,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,4,0,0,1,1,1,1,1,4,3,3,4,1,4,1,4,4,4,1,4,1,1,1,1,1,44,44,0,0,0,0,0,0,7,4,4,4,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,4,3,3,3,1,1,1,4,1,4,4,4,4,1,1,4,1,44,0,0,0,0,0,0,0,35,4,4,4,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,50,0,0,0,0,0,0,159,1,1,1,1,1,1,4,4,4,4,4,4,1,4,4,4,1,4,1,1,1,1,7,0,0,0,0,0,0,35,1,4,4,4,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"0877607a-b8a2-433a-b893-f4de7c83378a","name":"Stairs","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":45,"y":18,"z":29},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":32,"y":18,"z":23},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":9,"y":0,"z":10},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":39,"y":17,"z":35},"secretType":"ITEM_DROP","preRequisite":[]},"fairysoul-6":{"secretPoint":{"x":28,"y":15,"z":52},"preRequisite":[],"mechType":"Fairysoul"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":10,"y":2,"z":27},{"x":10,"y":1,"z":27},{"x":11,"y":2,"z":27},{"x":11,"y":1,"z":27},{"x":12,"y":2,"z":27},{"x":12,"y":1,"z":27},{"x":13,"y":2,"z":27},{"x":13,"y":1,"z":27},{"x":14,"y":2,"z":27},{"x":14,"y":1,"z":27},{"x":10,"y":2,"z":28},{"x":10,"y":1,"z":28},{"x":11,"y":2,"z":28},{"x":11,"y":1,"z":28},{"x":12,"y":2,"z":28},{"x":12,"y":1,"z":28},{"x":13,"y":2,"z":28},{"x":13,"y":1,"z":28},{"x":14,"y":2,"z":28},{"x":14,"y":1,"z":28},{"x":10,"y":2,"z":29},{"x":10,"y":1,"z":29},{"x":11,"y":2,"z":29},{"x":11,"y":1,"z":29},{"x":12,"y":2,"z":29},{"x":12,"y":1,"z":29},{"x":13,"y":2,"z":29},{"x":13,"y":1,"z":29},{"x":14,"y":2,"z":29},{"x":14,"y":1,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":40,"y":23,"z":44},{"x":40,"y":22,"z":44},{"x":40,"y":21,"z":44},{"x":40,"y":20,"z":44},{"x":40,"y":24,"z":45},{"x":40,"y":23,"z":45},{"x":40,"y":22,"z":45},{"x":40,"y":21,"z":45},{"x":40,"y":20,"z":45},{"x":40,"y":22,"z":46},{"x":40,"y":21,"z":46},{"x":40,"y":20,"z":46}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/09c3072e-3099-4019-a577-7ddc17a9e29d.json b/src/main/resources/dgroomdata/09c3072e-3099-4019-a577-7ddc17a9e29d.json new file mode 100644 index 0000000..4548d66 --- /dev/null +++ b/src/main/resources/dgroomdata/09c3072e-3099-4019-a577-7ddc17a9e29d.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,67,0,1,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,98,0,67,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,134,126,126,126,134,126,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,125,126,126,126,125,134,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,134,134,134,126,126,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,134,65,134,126,126,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,134,134,134,126,126,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,125,126,126,126,125,4,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,0,0,1,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,98,126,126,4,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"09c3072e-3099-4019-a577-7ddc17a9e29d","name":"Doors","processorId":"default","properties":{},"mechanics":{"door-3":{"secretPoint":{"offsetPointList":[{"x":40,"y":-7,"z":15},{"x":40,"y":-8,"z":15},{"x":40,"y":-9,"z":15},{"x":40,"y":-10,"z":15},{"x":40,"y":-11,"z":15},{"x":40,"y":-12,"z":15},{"x":40,"y":-7,"z":16},{"x":40,"y":-8,"z":16},{"x":40,"y":-9,"z":16},{"x":40,"y":-10,"z":16},{"x":40,"y":-11,"z":16},{"x":40,"y":-12,"z":16},{"x":40,"y":-7,"z":17},{"x":40,"y":-8,"z":17},{"x":40,"y":-9,"z":17},{"x":40,"y":-10,"z":17},{"x":40,"y":-11,"z":17},{"x":40,"y":-12,"z":17}]},"preRequisite":["lever-3:triggered"],"mechType":"OnewayDoor"},"chest-2":{"mechType":"Secret","secretPoint":{"x":32,"y":-19,"z":18},"secretType":"CHEST","preRequisite":["prince-1:open"]},"door-4":{"secretPoint":{"offsetPointList":[{"x":24,"y":-6,"z":15},{"x":24,"y":-7,"z":15},{"x":24,"y":-8,"z":15},{"x":24,"y":-9,"z":15},{"x":24,"y":-10,"z":15},{"x":24,"y":-11,"z":15},{"x":24,"y":-12,"z":15},{"x":24,"y":-6,"z":16},{"x":24,"y":-7,"z":16},{"x":24,"y":-8,"z":16},{"x":24,"y":-9,"z":16},{"x":24,"y":-10,"z":16},{"x":24,"y":-11,"z":16},{"x":24,"y":-12,"z":16},{"x":24,"y":-6,"z":17},{"x":24,"y":-7,"z":17},{"x":24,"y":-8,"z":17},{"x":24,"y":-9,"z":17},{"x":24,"y":-10,"z":17},{"x":24,"y":-11,"z":17},{"x":24,"y":-12,"z":17}]},"preRequisite":["lever-4:triggered"],"mechType":"OnewayDoor"},"chest-3":{"mechType":"Secret","secretPoint":{"x":6,"y":17,"z":29},"secretType":"CHEST","preRequisite":[]},"dummy-1":{"secretPoint":{"x":9,"y":-12,"z":14},"preRequisite":["door-2:open","door-4:open"],"mechType":"Dummy"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":62,"y":-11,"z":16},"preRequisite":["superboom-1:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":51,"y":-7,"z":15},{"x":51,"y":-8,"z":15},{"x":51,"y":-9,"z":15},{"x":51,"y":-10,"z":15},{"x":51,"y":-11,"z":15},{"x":51,"y":-12,"z":15},{"x":51,"y":-7,"z":16},{"x":51,"y":-8,"z":16},{"x":51,"y":-9,"z":16},{"x":51,"y":-10,"z":16},{"x":51,"y":-11,"z":16},{"x":51,"y":-12,"z":16},{"x":51,"y":-7,"z":17},{"x":51,"y":-8,"z":17},{"x":51,"y":-9,"z":17},{"x":51,"y":-10,"z":17},{"x":51,"y":-11,"z":17},{"x":51,"y":-12,"z":17}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":46,"y":-11,"z":16},"preRequisite":["door-1:open"],"triggering":"door-2"},"door-2":{"secretPoint":{"offsetPointList":[{"x":20,"y":-6,"z":15},{"x":20,"y":-7,"z":15},{"x":20,"y":-8,"z":15},{"x":20,"y":-9,"z":15},{"x":20,"y":-10,"z":15},{"x":20,"y":-11,"z":15},{"x":20,"y":-12,"z":15},{"x":20,"y":-6,"z":16},{"x":20,"y":-7,"z":16},{"x":20,"y":-8,"z":16},{"x":20,"y":-9,"z":16},{"x":20,"y":-10,"z":16},{"x":20,"y":-11,"z":16},{"x":20,"y":-12,"z":16},{"x":20,"y":-6,"z":17},{"x":20,"y":-7,"z":17},{"x":20,"y":-8,"z":17},{"x":20,"y":-9,"z":17},{"x":20,"y":-10,"z":17},{"x":20,"y":-11,"z":17},{"x":20,"y":-12,"z":17}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":49,"y":-6,"z":17},"secretType":"BAT","preRequisite":["door-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":58,"y":-8,"z":15},{"x":58,"y":-9,"z":15},{"x":58,"y":-12,"z":15},{"x":58,"y":-8,"z":16},{"x":58,"y":-9,"z":16},{"x":58,"y":-10,"z":16},{"x":58,"y":-11,"z":16},{"x":58,"y":-12,"z":16},{"x":58,"y":-8,"z":17},{"x":58,"y":-9,"z":17},{"x":58,"y":-10,"z":17},{"x":58,"y":-11,"z":17},{"x":58,"y":-12,"z":17}]},"preRequisite":[],"mechType":"BreakableWall"},"chests-1":{"mechType":"Secret","secretPoint":{"x":9,"y":-12,"z":18},"secretType":"CHEST","preRequisite":["dummy-1:click"]},"lever-3":{"mechType":"OnewayLever","leverPoint":{"x":51,"y":-11,"z":2},"preRequisite":[],"triggering":"door-3"},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":31,"y":-11,"z":25},{"x":31,"y":-12,"z":25},{"x":32,"y":-11,"z":25},{"x":32,"y":-12,"z":25},{"x":33,"y":-11,"z":25},{"x":33,"y":-12,"z":25},{"x":31,"y":-11,"z":26},{"x":31,"y":-12,"z":26},{"x":32,"y":-11,"z":26},{"x":32,"y":-12,"z":26},{"x":33,"y":-11,"z":26},{"x":33,"y":-12,"z":26},{"x":31,"y":-11,"z":27},{"x":31,"y":-12,"z":27},{"x":32,"y":-11,"z":27},{"x":32,"y":-12,"z":27},{"x":33,"y":-11,"z":27},{"x":33,"y":-12,"z":27},{"x":31,"y":-11,"z":28},{"x":31,"y":-12,"z":28},{"x":32,"y":-11,"z":28},{"x":32,"y":-12,"z":28},{"x":33,"y":-11,"z":28},{"x":33,"y":-12,"z":28}]},"preRequisite":[],"mechType":"Tomb"},"lever-4":{"mechType":"OnewayLever","leverPoint":{"x":44,"y":-11,"z":16},"preRequisite":["door-3:open"],"triggering":"door-4"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":41,"y":-11,"z":19},{"x":41,"y":-12,"z":19},{"x":42,"y":-11,"z":19},{"x":42,"y":-12,"z":19},{"x":43,"y":-11,"z":19},{"x":43,"y":-12,"z":19},{"x":44,"y":-11,"z":19},{"x":44,"y":-12,"z":19},{"x":41,"y":-11,"z":20},{"x":41,"y":-12,"z":20},{"x":42,"y":-11,"z":20},{"x":42,"y":-12,"z":20},{"x":43,"y":-11,"z":20},{"x":43,"y":-12,"z":20},{"x":44,"y":-11,"z":20},{"x":44,"y":-12,"z":20},{"x":41,"y":-11,"z":21},{"x":41,"y":-12,"z":21},{"x":42,"y":-11,"z":21},{"x":42,"y":-12,"z":21},{"x":43,"y":-11,"z":21},{"x":43,"y":-12,"z":21},{"x":44,"y":-11,"z":21},{"x":44,"y":-12,"z":21},{"x":41,"y":-11,"z":22},{"x":41,"y":-12,"z":22},{"x":42,"y":-11,"z":22},{"x":42,"y":-12,"z":22},{"x":43,"y":-11,"z":22},{"x":43,"y":-12,"z":22},{"x":44,"y":-11,"z":22},{"x":44,"y":-12,"z":22}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":47,"y":-11,"z":19},{"x":47,"y":-12,"z":19},{"x":48,"y":-11,"z":19},{"x":48,"y":-12,"z":19},{"x":49,"y":-11,"z":19},{"x":49,"y":-12,"z":19},{"x":47,"y":-11,"z":20},{"x":47,"y":-12,"z":20},{"x":48,"y":-11,"z":20},{"x":48,"y":-12,"z":20},{"x":49,"y":-11,"z":20},{"x":49,"y":-12,"z":20},{"x":47,"y":-11,"z":21},{"x":47,"y":-12,"z":21},{"x":48,"y":-11,"z":21},{"x":48,"y":-12,"z":21},{"x":49,"y":-11,"z":21},{"x":49,"y":-12,"z":21},{"x":47,"y":-11,"z":22},{"x":47,"y":-12,"z":22},{"x":48,"y":-11,"z":22},{"x":48,"y":-12,"z":22},{"x":49,"y":-11,"z":22},{"x":49,"y":-12,"z":22}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":31,"y":-11,"z":15},{"x":31,"y":-12,"z":15},{"x":32,"y":-11,"z":15},{"x":32,"y":-12,"z":15},{"x":33,"y":-11,"z":15},{"x":33,"y":-12,"z":15},{"x":31,"y":-11,"z":16},{"x":31,"y":-12,"z":16},{"x":32,"y":-11,"z":16},{"x":32,"y":-12,"z":16},{"x":33,"y":-11,"z":16},{"x":33,"y":-12,"z":16},{"x":31,"y":-11,"z":17},{"x":31,"y":-12,"z":17},{"x":32,"y":-11,"z":17},{"x":32,"y":-12,"z":17},{"x":33,"y":-11,"z":17},{"x":33,"y":-12,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":21,"y":-11,"z":11},{"x":21,"y":-12,"z":11},{"x":22,"y":-11,"z":11},{"x":22,"y":-12,"z":11},{"x":21,"y":-11,"z":12},{"x":21,"y":-12,"z":12},{"x":22,"y":-11,"z":12},{"x":22,"y":-12,"z":12},{"x":21,"y":-11,"z":13},{"x":21,"y":-12,"z":13},{"x":22,"y":-11,"z":13},{"x":22,"y":-12,"z":13}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-11,"z":5},{"x":15,"y":-12,"z":5},{"x":16,"y":-11,"z":5},{"x":16,"y":-12,"z":5},{"x":17,"y":-11,"z":5},{"x":17,"y":-12,"z":5},{"x":15,"y":-11,"z":6},{"x":15,"y":-12,"z":6},{"x":16,"y":-11,"z":6},{"x":16,"y":-12,"z":6},{"x":17,"y":-11,"z":6},{"x":17,"y":-12,"z":6},{"x":15,"y":-11,"z":7},{"x":15,"y":-12,"z":7},{"x":16,"y":-11,"z":7},{"x":16,"y":-12,"z":7},{"x":17,"y":-11,"z":7},{"x":17,"y":-12,"z":7},{"x":15,"y":-11,"z":8},{"x":15,"y":-12,"z":8},{"x":16,"y":-11,"z":8},{"x":16,"y":-12,"z":8},{"x":17,"y":-11,"z":8},{"x":17,"y":-12,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"prince-1":{"secretPoint":{"offsetPointList":[{"x":37,"y":-11,"z":26},{"x":37,"y":-12,"z":26},{"x":38,"y":-11,"z":26},{"x":38,"y":-12,"z":26},{"x":39,"y":-11,"z":26},{"x":39,"y":-12,"z":26},{"x":40,"y":-11,"z":26},{"x":40,"y":-12,"z":26},{"x":41,"y":-11,"z":26},{"x":41,"y":-12,"z":26},{"x":37,"y":-11,"z":27},{"x":37,"y":-12,"z":27},{"x":38,"y":-11,"z":27},{"x":38,"y":-12,"z":27},{"x":39,"y":-11,"z":27},{"x":39,"y":-12,"z":27},{"x":40,"y":-11,"z":27},{"x":40,"y":-12,"z":27},{"x":41,"y":-11,"z":27},{"x":41,"y":-12,"z":27},{"x":37,"y":-11,"z":28},{"x":37,"y":-12,"z":28},{"x":38,"y":-11,"z":28},{"x":38,"y":-12,"z":28},{"x":39,"y":-11,"z":28},{"x":39,"y":-12,"z":28},{"x":40,"y":-11,"z":28},{"x":40,"y":-12,"z":28},{"x":41,"y":-11,"z":28},{"x":41,"y":-12,"z":28},{"x":37,"y":-11,"z":29},{"x":37,"y":-12,"z":29},{"x":38,"y":-11,"z":29},{"x":38,"y":-12,"z":29},{"x":39,"y":-11,"z":29},{"x":39,"y":-12,"z":29},{"x":40,"y":-11,"z":29},{"x":40,"y":-12,"z":29},{"x":41,"y":-11,"z":29},{"x":41,"y":-12,"z":29},{"x":39,"y":-10,"z":28},{"x":39,"y":-10,"z":29}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/11982f7f-703e-4d98-9d27-4e07ba3fef71.json b/src/main/resources/dgroomdata/11982f7f-703e-4d98-9d27-4e07ba3fef71.json new file mode 100644 index 0000000..c91e4bf --- /dev/null +++ b/src/main/resources/dgroomdata/11982f7f-703e-4d98-9d27-4e07ba3fef71.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,139,1,139,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,139,1,139,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"11982f7f-703e-4d98-9d27-4e07ba3fef71","name":"puzzle-creeper","processorId":"puzzle_creeper_solver","properties":{},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/12080b02-4ccc-49ce-9eaf-e7d8946f3984.json b/src/main/resources/dgroomdata/12080b02-4ccc-49ce-9eaf-e7d8946f3984.json new file mode 100644 index 0000000..b6b3fad --- /dev/null +++ b/src/main/resources/dgroomdata/12080b02-4ccc-49ce-9eaf-e7d8946f3984.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,98,35,98,0,0,0,0,0,98,98,1,98,98,98,98,67,67,4,67,4,4,4,48,67,67,3,67,67,109,109,0,0,0,109,109,0,0,0,0,0,109,109,98,48,4,48,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,98,1,0,0,0,0,0,0,50,1,0,0,0,0,109,67,4,48,48,4,67,4,48,48,67,3,3,67,109,0,0,0,0,0,0,0,0,0,0,0,0,50,98,48,48,4,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,109,4,48,48,4,67,67,4,67,67,4,48,3,3,109,0,0,0,0,0,0,0,0,0,0,0,0,0,98,67,67,67,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,109,4,4,48,48,4,4,169,67,4,4,4,3,48,109,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,44,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,67,4,67,67,35,4,169,35,4,4,67,48,4,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,67,4,4,4,48,35,169,4,35,67,67,48,4,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,3,3,3,4,35,48,169,4,35,48,67,4,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,98,159,159,98,98,0,0,0,0,0,0,0,0,0,0,0,139,98,98,67,3,48,67,67,67,169,4,35,48,4,3,3,1,1,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,109,109,109,109,109,98,98,0,0,0,0,0,0,0,0,0,0,1,98,67,67,4,48,48,67,4,169,35,35,4,4,67,67,67,1,98,144,0,0,109,98,0,0,144,98,0,0,0,0,0,0,139,144,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,98,4,4,4,67,4,4,4,35,169,48,67,67,4,4,48,3,3,98,159,159,159,98,98,159,159,159,44,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,3,4,3,67,67,4,35,48,169,4,35,48,48,4,4,48,3,4,98,98,98,98,98,98,98,159,0,50,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,1,3,3,67,48,48,4,35,4,48,67,35,48,4,48,4,4,4,98,98,98,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,3,48,67,4,48,48,48,67,67,48,4,4,67,48,4,1,98,1,98,98,1,98,98,98,159,144,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,48,48,4,48,67,67,67,67,67,67,67,67,67,48,48,98,159,159,159,98,98,98,98,98,159,44,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,1,98,1,1,1,48,0,0,0,0,0,0,0,4,1,1,1,1,0,144,0,159,159,159,98,98,98,98,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,1,0,0,0,0,0,50,98,98,98,109,109,109,109,98,98,1,4,0,0,0,0,0,0,0,4,98,98,98,98,0,0,0,0,0,0,159,159,98,98,1,1,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,144,0,144,0,0,98,98,98,0,0,0,144,1,98,109,109,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,144,0,0,0,98,98,1,1,139,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,159,159,159,159,98,98,98,159,159,159,159,1,98,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,144,98,98,98,98,98,0,144,0,0,144,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,1,98,98,98,98,98,98,98,98,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,159,159,159,159,159,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,4,0,0,0,0,0,4,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,7,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,159,1,7,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,159,159,0,7,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,35,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,56,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,56,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,14,14,14,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,5,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,56,56,14,0,0,0,0,0,0,0,5,5,164,0,0,0,0,0,0,5,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,56,56,14,0,0,0,0,0,0,0,0,164,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,135,135,0,5,5,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,135,0,164,5,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,44,118,0,0,0,5,0,0,0,0,0,0,0,118,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,44,4,0,5,0,0,0,0,0,0,0,4,44,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,98,98,162,0,0,0,0,162,5,5,162,98,98,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,44,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,14,14,0,1,0,1,0,0,0,0,0,0,0,1,0,1,44,98,1,98,1,0,0,0,0,0,0,0,0,0,1,98,98,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,50,56,56,14,98,159,101,159,98,0,0,0,0,0,98,159,101,159,98,1,98,98,0,0,0,0,0,0,0,0,0,0,144,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,44,50,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,56,56,0,98,159,51,159,98,0,0,0,0,0,98,159,51,159,98,98,51,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,44,44,109,0,0,0,0,0,0,0,98,44,44,98,98,98,98,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,159,98,98,0,0,0,0,0,98,98,159,98,98,98,0,0,0,0,0,0,0,0,0,0,0,144,0,98,159,159,109,101,101,109,0,0,0,0,0,0,0,98,101,101,98,98,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,159,159,98,98,109,0,0,0,0,0,0,0,0,139,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,144,0,0,0,50,109,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,44,44,98,98,109,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,1,144,44,44,44,1,98,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,44,159,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,5,0,0,0,139,98,98,50,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,98,159,159,159,159,98,98,152,68,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,44,159,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,134,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,1,44,44,44,144,1,98,98,0,0,0,144,109,0,0,0,0,0,0,0,98,98,0,0,0,109,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,109,0,0,0,0,0,0,0,101,0,0,0,0,109,109,134,134,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,44,44,0,0,0,0,0,44,44,98,98,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,68,0,101,0,0,0,0,0,109,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"12080b02-4ccc-49ce-9eaf-e7d8946f3984","name":"mithril-cave","processorId":"default","properties":{},"mechanics":{"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":35,"y":9,"z":60},"preRequisite":[],"triggering":"door-1"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":15,"y":10,"z":4},"preRequisite":["crypt-5:open"],"triggering":"door-2"},"lever-3":{"mechType":"OnewayLever","leverPoint":{"x":53,"y":9,"z":10},"preRequisite":["crypt-7:open"],"triggering":"door-3"},"chest-2":{"mechType":"Secret","secretPoint":{"x":10,"y":38,"z":18},"secretType":"CHEST","preRequisite":[]},"door-3":{"secretPoint":{"offsetPointList":[{"x":47,"y":13,"z":11},{"x":47,"y":12,"z":11},{"x":47,"y":11,"z":11},{"x":47,"y":10,"z":11},{"x":47,"y":13,"z":12},{"x":47,"y":12,"z":12},{"x":47,"y":11,"z":12},{"x":47,"y":10,"z":12},{"x":47,"y":13,"z":13},{"x":47,"y":12,"z":13},{"x":47,"y":11,"z":13},{"x":47,"y":10,"z":13},{"x":47,"y":13,"z":14},{"x":47,"y":12,"z":14},{"x":47,"y":11,"z":14},{"x":47,"y":10,"z":14},{"x":47,"y":13,"z":15},{"x":47,"y":12,"z":15},{"x":47,"y":11,"z":15},{"x":47,"y":10,"z":15}]},"preRequisite":["lever-3:triggered"],"mechType":"OnewayDoor"},"chest-3":{"mechType":"Secret","secretPoint":{"x":57,"y":8,"z":59},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":32,"y":29,"z":59},"secretType":"CHEST","preRequisite":[]},"door-1":{"secretPoint":{"offsetPointList":[{"x":50,"y":14,"z":58},{"x":50,"y":13,"z":58},{"x":50,"y":12,"z":58},{"x":50,"y":11,"z":58},{"x":50,"y":10,"z":58},{"x":50,"y":9,"z":58},{"x":50,"y":8,"z":58},{"x":50,"y":14,"z":59},{"x":50,"y":13,"z":59},{"x":50,"y":12,"z":59},{"x":50,"y":11,"z":59},{"x":50,"y":10,"z":59},{"x":50,"y":9,"z":59},{"x":50,"y":8,"z":59},{"x":50,"y":14,"z":60},{"x":50,"y":13,"z":60},{"x":50,"y":12,"z":60},{"x":50,"y":11,"z":60},{"x":50,"y":10,"z":60},{"x":50,"y":9,"z":60},{"x":50,"y":8,"z":60}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"door-2":{"secretPoint":{"offsetPointList":[{"x":4,"y":25,"z":19},{"x":4,"y":24,"z":19},{"x":4,"y":23,"z":19},{"x":4,"y":22,"z":19},{"x":4,"y":21,"z":19},{"x":4,"y":20,"z":19},{"x":5,"y":25,"z":19},{"x":5,"y":24,"z":19},{"x":5,"y":23,"z":19},{"x":5,"y":22,"z":19},{"x":5,"y":21,"z":19},{"x":5,"y":20,"z":19},{"x":6,"y":25,"z":19},{"x":6,"y":24,"z":19},{"x":6,"y":23,"z":19},{"x":6,"y":22,"z":19},{"x":6,"y":21,"z":19},{"x":6,"y":20,"z":19},{"x":7,"y":25,"z":19},{"x":7,"y":24,"z":19},{"x":7,"y":23,"z":19},{"x":7,"y":22,"z":19},{"x":7,"y":21,"z":19},{"x":7,"y":20,"z":19},{"x":8,"y":25,"z":19},{"x":8,"y":24,"z":19},{"x":8,"y":23,"z":19},{"x":8,"y":22,"z":19},{"x":8,"y":21,"z":19},{"x":8,"y":20,"z":19}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"crypt-10":{"secretPoint":{"offsetPointList":[{"x":25,"y":0,"z":59},{"x":25,"y":-1,"z":59},{"x":26,"y":0,"z":59},{"x":26,"y":-1,"z":59},{"x":27,"y":0,"z":59},{"x":27,"y":-1,"z":59},{"x":25,"y":0,"z":60},{"x":25,"y":-1,"z":60},{"x":26,"y":0,"z":60},{"x":26,"y":-1,"z":60},{"x":27,"y":0,"z":60},{"x":27,"y":-1,"z":60},{"x":25,"y":0,"z":61},{"x":25,"y":-1,"z":61},{"x":26,"y":0,"z":61},{"x":26,"y":-1,"z":61},{"x":27,"y":0,"z":61},{"x":27,"y":-1,"z":61},{"x":25,"y":0,"z":62},{"x":25,"y":-1,"z":62},{"x":26,"y":0,"z":62},{"x":26,"y":-1,"z":62},{"x":27,"y":0,"z":62},{"x":27,"y":-1,"z":62}]},"preRequisite":[],"mechType":"Tomb"},"crypt-11":{"secretPoint":{"offsetPointList":[{"x":9,"y":41,"z":29},{"x":9,"y":40,"z":29},{"x":10,"y":41,"z":29},{"x":10,"y":40,"z":29},{"x":11,"y":41,"z":29},{"x":11,"y":40,"z":29},{"x":9,"y":41,"z":30},{"x":9,"y":40,"z":30},{"x":10,"y":41,"z":30},{"x":10,"y":40,"z":30},{"x":11,"y":41,"z":30},{"x":11,"y":40,"z":30},{"x":9,"y":41,"z":31},{"x":9,"y":40,"z":31},{"x":10,"y":41,"z":31},{"x":10,"y":40,"z":31},{"x":11,"y":41,"z":31},{"x":11,"y":40,"z":31},{"x":9,"y":41,"z":32},{"x":9,"y":40,"z":32},{"x":10,"y":41,"z":32},{"x":10,"y":40,"z":32},{"x":11,"y":41,"z":32},{"x":11,"y":40,"z":32}]},"preRequisite":["superboom-2:open"],"mechType":"Tomb"},"chest-6":{"mechType":"Secret","secretPoint":{"x":42,"y":10,"z":13},"secretType":"CHEST","preRequisite":["door-3:open"]},"chest-7":{"mechType":"Secret","secretPoint":{"x":10,"y":39,"z":31},"secretType":"CHEST","preRequisite":["crypt-11:open"]},"chest-4":{"mechType":"Secret","secretPoint":{"x":61,"y":-27,"z":51},"secretType":"CHEST","preRequisite":[]},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":13,"y":44,"z":22},{"x":13,"y":43,"z":22},{"x":13,"y":42,"z":22},{"x":13,"y":41,"z":22},{"x":13,"y":40,"z":22},{"x":14,"y":44,"z":22},{"x":14,"y":43,"z":22},{"x":14,"y":42,"z":22},{"x":14,"y":41,"z":22},{"x":14,"y":40,"z":22},{"x":15,"y":44,"z":22},{"x":15,"y":43,"z":22},{"x":15,"y":42,"z":22},{"x":15,"y":41,"z":22},{"x":15,"y":40,"z":22}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-5":{"mechType":"Secret","secretPoint":{"x":10,"y":12,"z":22},"secretType":"CHEST","preRequisite":["door-2:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":7,"y":21,"z":57},{"x":7,"y":20,"z":57},{"x":7,"y":22,"z":58},{"x":7,"y":21,"z":58},{"x":7,"y":20,"z":58},{"x":7,"y":19,"z":58},{"x":7,"y":20,"z":59},{"x":7,"y":19,"z":59}]},"preRequisite":[],"mechType":"BreakableWall"},"crypt-9":{"secretPoint":{"offsetPointList":[{"x":6,"y":37,"z":56},{"x":6,"y":36,"z":56},{"x":7,"y":37,"z":56},{"x":7,"y":36,"z":56},{"x":8,"y":37,"z":56},{"x":8,"y":36,"z":56},{"x":9,"y":37,"z":56},{"x":9,"y":36,"z":56},{"x":6,"y":37,"z":57},{"x":6,"y":36,"z":57},{"x":7,"y":37,"z":57},{"x":7,"y":36,"z":57},{"x":8,"y":37,"z":57},{"x":8,"y":36,"z":57},{"x":9,"y":37,"z":57},{"x":9,"y":36,"z":57},{"x":6,"y":37,"z":58},{"x":6,"y":36,"z":58},{"x":7,"y":37,"z":58},{"x":7,"y":36,"z":58},{"x":8,"y":37,"z":58},{"x":8,"y":36,"z":58},{"x":9,"y":37,"z":58},{"x":9,"y":36,"z":58}]},"preRequisite":[],"mechType":"Tomb"},"crypt-8":{"secretPoint":{"offsetPointList":[{"x":6,"y":37,"z":50},{"x":6,"y":36,"z":50},{"x":7,"y":37,"z":50},{"x":7,"y":36,"z":50},{"x":8,"y":37,"z":50},{"x":8,"y":36,"z":50},{"x":9,"y":37,"z":50},{"x":9,"y":36,"z":50},{"x":6,"y":37,"z":51},{"x":6,"y":36,"z":51},{"x":7,"y":37,"z":51},{"x":7,"y":36,"z":51},{"x":8,"y":37,"z":51},{"x":8,"y":36,"z":51},{"x":9,"y":37,"z":51},{"x":9,"y":36,"z":51},{"x":6,"y":37,"z":52},{"x":6,"y":36,"z":52},{"x":7,"y":37,"z":52},{"x":7,"y":36,"z":52},{"x":8,"y":37,"z":52},{"x":8,"y":36,"z":52},{"x":9,"y":37,"z":52},{"x":9,"y":36,"z":52}]},"preRequisite":[],"mechType":"Tomb"},"itemdrop-3":{"mechType":"Secret","secretPoint":{"x":5,"y":-16,"z":57},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-7":{"secretPoint":{"offsetPointList":[{"x":52,"y":11,"z":9},{"x":52,"y":10,"z":9},{"x":53,"y":11,"z":9},{"x":53,"y":10,"z":9},{"x":54,"y":11,"z":9},{"x":54,"y":10,"z":9},{"x":55,"y":11,"z":9},{"x":55,"y":10,"z":9},{"x":52,"y":11,"z":10},{"x":52,"y":10,"z":10},{"x":53,"y":11,"z":10},{"x":53,"y":10,"z":10},{"x":54,"y":11,"z":10},{"x":54,"y":10,"z":10},{"x":55,"y":11,"z":10},{"x":55,"y":10,"z":10},{"x":52,"y":11,"z":11},{"x":52,"y":10,"z":11},{"x":53,"y":11,"z":11},{"x":53,"y":10,"z":11},{"x":54,"y":11,"z":11},{"x":54,"y":10,"z":11},{"x":55,"y":11,"z":11},{"x":55,"y":10,"z":11}]},"preRequisite":[],"mechType":"Tomb"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":54,"y":-22,"z":10},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":3,"y":12,"z":15},{"x":3,"y":11,"z":15},{"x":4,"y":12,"z":15},{"x":4,"y":11,"z":15},{"x":5,"y":12,"z":15},{"x":5,"y":11,"z":15},{"x":6,"y":12,"z":15},{"x":6,"y":11,"z":15},{"x":3,"y":12,"z":16},{"x":3,"y":11,"z":16},{"x":4,"y":12,"z":16},{"x":4,"y":11,"z":16},{"x":5,"y":12,"z":16},{"x":5,"y":11,"z":16},{"x":6,"y":12,"z":16},{"x":6,"y":11,"z":16},{"x":3,"y":12,"z":17},{"x":3,"y":11,"z":17},{"x":4,"y":12,"z":17},{"x":4,"y":11,"z":17},{"x":5,"y":12,"z":17},{"x":5,"y":11,"z":17},{"x":6,"y":12,"z":17},{"x":6,"y":11,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":14,"y":12,"z":3},{"x":14,"y":11,"z":3},{"x":15,"y":12,"z":3},{"x":15,"y":11,"z":3},{"x":16,"y":12,"z":3},{"x":16,"y":11,"z":3},{"x":14,"y":12,"z":4},{"x":14,"y":11,"z":4},{"x":15,"y":12,"z":4},{"x":15,"y":11,"z":4},{"x":16,"y":12,"z":4},{"x":16,"y":11,"z":4},{"x":14,"y":12,"z":5},{"x":14,"y":11,"z":5},{"x":15,"y":12,"z":5},{"x":15,"y":11,"z":5},{"x":16,"y":12,"z":5},{"x":16,"y":11,"z":5},{"x":14,"y":12,"z":6},{"x":14,"y":11,"z":6},{"x":15,"y":12,"z":6},{"x":15,"y":11,"z":6},{"x":16,"y":12,"z":6},{"x":16,"y":11,"z":6}]},"preRequisite":[],"mechType":"Tomb"},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":2,"y":19,"z":58},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":14,"y":9,"z":60},{"x":14,"y":8,"z":60},{"x":15,"y":9,"z":60},{"x":15,"y":8,"z":60},{"x":14,"y":9,"z":61},{"x":14,"y":8,"z":61},{"x":15,"y":9,"z":61},{"x":15,"y":8,"z":61},{"x":14,"y":9,"z":62},{"x":14,"y":8,"z":62},{"x":15,"y":9,"z":62},{"x":15,"y":8,"z":62}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":9,"y":9,"z":60},{"x":9,"y":8,"z":60},{"x":10,"y":9,"z":60},{"x":10,"y":8,"z":60},{"x":9,"y":9,"z":61},{"x":9,"y":8,"z":61},{"x":10,"y":9,"z":61},{"x":10,"y":8,"z":61},{"x":9,"y":9,"z":62},{"x":9,"y":8,"z":62},{"x":10,"y":9,"z":62},{"x":10,"y":8,"z":62}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":5,"y":38,"z":17},{"x":5,"y":37,"z":17},{"x":6,"y":38,"z":17},{"x":6,"y":37,"z":17},{"x":7,"y":38,"z":17},{"x":7,"y":37,"z":17},{"x":5,"y":38,"z":18},{"x":5,"y":37,"z":18},{"x":6,"y":38,"z":18},{"x":6,"y":37,"z":18},{"x":7,"y":38,"z":18},{"x":7,"y":37,"z":18},{"x":5,"y":38,"z":19},{"x":5,"y":37,"z":19},{"x":6,"y":38,"z":19},{"x":6,"y":37,"z":19},{"x":7,"y":38,"z":19},{"x":7,"y":37,"z":19},{"x":5,"y":38,"z":20},{"x":5,"y":37,"z":20},{"x":6,"y":38,"z":20},{"x":6,"y":37,"z":20},{"x":7,"y":38,"z":20},{"x":7,"y":37,"z":20}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":13,"y":38,"z":17},{"x":13,"y":37,"z":17},{"x":14,"y":38,"z":17},{"x":14,"y":37,"z":17},{"x":15,"y":38,"z":17},{"x":15,"y":37,"z":17},{"x":13,"y":38,"z":18},{"x":13,"y":37,"z":18},{"x":14,"y":38,"z":18},{"x":14,"y":37,"z":18},{"x":15,"y":38,"z":18},{"x":15,"y":37,"z":18},{"x":13,"y":38,"z":19},{"x":13,"y":37,"z":19},{"x":14,"y":38,"z":19},{"x":14,"y":37,"z":19},{"x":15,"y":38,"z":19},{"x":15,"y":37,"z":19},{"x":13,"y":38,"z":20},{"x":13,"y":37,"z":20},{"x":14,"y":38,"z":20},{"x":14,"y":37,"z":20},{"x":15,"y":38,"z":20},{"x":15,"y":37,"z":20}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":10} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/15083814-fb7b-4791-b5d7-0810dd396b01.json b/src/main/resources/dgroomdata/15083814-fb7b-4791-b5d7-0810dd396b01.json new file mode 100644 index 0000000..1302074 --- /dev/null +++ b/src/main/resources/dgroomdata/15083814-fb7b-4791-b5d7-0810dd396b01.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,159,144,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,159,44,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,159,44,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,159,109,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,109,109,0,0,0,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,17,109,109,0,0,0,0,0,0,44,4,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,98,98,98,109,109,0,0,0,0,0,0,0,4,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,159,109,0,0,0,0,0,0,0,0,98,98,4,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,144,159,44,0,0,0,0,0,0,0,0,98,98,0,0,98,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,159,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,43,98,43,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,43,98,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,43,109,159,144,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,98,98,98,98,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,98,98,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,159,43,0,0,0,0,0,0,0,0,0,109,98,109,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,98,4,98,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,98,4,109,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,4,109,109,109,109,0,109,0,98,98,0,109,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,50,139,98,98,98,98,98,98,98,98,98,98,98,98,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,1,1,98,98,98,98,98,98,98,98,98,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"15083814-fb7b-4791-b5d7-0810dd396b01","name":"Big-red-flag","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":8,"y":5,"z":21},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":5,"y":5,"z":27},"secretType":"ITEM_DROP","preRequisite":[]},"prince-1":{"secretPoint":{"offsetPointList":[{"x":22,"y":2,"z":16},{"x":22,"y":1,"z":16},{"x":22,"y":0,"z":16},{"x":22,"y":-1,"z":16},{"x":23,"y":2,"z":16},{"x":23,"y":1,"z":16},{"x":23,"y":0,"z":16},{"x":23,"y":-1,"z":16},{"x":24,"y":2,"z":16},{"x":24,"y":1,"z":16},{"x":24,"y":0,"z":16},{"x":24,"y":-1,"z":16},{"x":25,"y":2,"z":16},{"x":25,"y":1,"z":16},{"x":25,"y":0,"z":16},{"x":25,"y":-1,"z":16},{"x":26,"y":2,"z":16},{"x":26,"y":1,"z":16},{"x":26,"y":0,"z":16},{"x":26,"y":-1,"z":16},{"x":22,"y":2,"z":17},{"x":22,"y":1,"z":17},{"x":22,"y":0,"z":17},{"x":22,"y":-1,"z":17},{"x":23,"y":2,"z":17},{"x":23,"y":1,"z":17},{"x":23,"y":0,"z":17},{"x":23,"y":-1,"z":17},{"x":24,"y":2,"z":17},{"x":24,"y":1,"z":17},{"x":24,"y":0,"z":17},{"x":24,"y":-1,"z":17},{"x":25,"y":2,"z":17},{"x":25,"y":1,"z":17},{"x":25,"y":0,"z":17},{"x":25,"y":-1,"z":17},{"x":26,"y":2,"z":17},{"x":26,"y":1,"z":17},{"x":26,"y":0,"z":17},{"x":26,"y":-1,"z":17},{"x":22,"y":2,"z":18},{"x":22,"y":1,"z":18},{"x":22,"y":0,"z":18},{"x":22,"y":-1,"z":18},{"x":23,"y":2,"z":18},{"x":23,"y":1,"z":18},{"x":23,"y":0,"z":18},{"x":23,"y":-1,"z":18},{"x":24,"y":2,"z":18},{"x":24,"y":1,"z":18},{"x":24,"y":0,"z":18},{"x":24,"y":-1,"z":18},{"x":25,"y":2,"z":18},{"x":25,"y":1,"z":18},{"x":25,"y":0,"z":18},{"x":25,"y":-1,"z":18},{"x":26,"y":2,"z":18},{"x":26,"y":1,"z":18},{"x":26,"y":0,"z":18},{"x":26,"y":-1,"z":18},{"x":22,"y":2,"z":19},{"x":22,"y":1,"z":19},{"x":22,"y":0,"z":19},{"x":22,"y":-1,"z":19},{"x":23,"y":2,"z":19},{"x":23,"y":1,"z":19},{"x":23,"y":0,"z":19},{"x":23,"y":-1,"z":19},{"x":24,"y":2,"z":19},{"x":24,"y":1,"z":19},{"x":24,"y":0,"z":19},{"x":24,"y":-1,"z":19},{"x":25,"y":2,"z":19},{"x":25,"y":1,"z":19},{"x":25,"y":0,"z":19},{"x":25,"y":-1,"z":19},{"x":26,"y":2,"z":19},{"x":26,"y":1,"z":19},{"x":26,"y":0,"z":19},{"x":26,"y":-1,"z":19}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/1ae1d65c-2c72-4ed6-afab-84d0de759e1e.json b/src/main/resources/dgroomdata/1ae1d65c-2c72-4ed6-afab-84d0de759e1e.json new file mode 100644 index 0000000..b333ebe --- /dev/null +++ b/src/main/resources/dgroomdata/1ae1d65c-2c72-4ed6-afab-84d0de759e1e.json @@ -0,0 +1,5412 @@ +{ + "isUserMade": false, + "shape": 1, + "color": 63, + "blocks": [ + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 4, + 4, + 1, + 1, + 4, + 67, + 67, + 1, + 1, + 98, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 67, + 67, + 4, + 1, + 1, + 4, + 4, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 109, + 109, + 98, + 109, + 109, + 109, + 109, + 109, + 98, + 109, + 109, + 0, + 0, + 0, + 1, + 98, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 1, + 98, + 0, + 0, + 0, + 98, + 44, + 98, + 109, + 109, + 109, + 109, + 109, + 98, + 1, + 1, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 67, + 4, + 1, + 1, + 4, + 4, + 4, + 1, + 1, + 98, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 67, + 67, + 4, + 1, + 1, + 4, + 4, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + ], + "uuid": "1ae1d65c-2c72-4ed6-afab-84d0de759e1e", + "name": "Admins", + "processorId": "default", + "properties": {}, + "mechanics": { + "AgentK": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 15, + "z": 21 + }, + { + "x": 14, + "y": 14, + "z": 21 + }, + { + "x": 15, + "y": 15, + "z": 21 + }, + { + "x": 15, + "y": 14, + "z": 21 + }, + { + "x": 16, + "y": 15, + "z": 21 + }, + { + "x": 16, + "y": 14, + "z": 21 + }, + { + "x": 17, + "y": 15, + "z": 21 + }, + { + "x": 17, + "y": 14, + "z": 21 + }, + { + "x": 18, + "y": 15, + "z": 21 + }, + { + "x": 18, + "y": 14, + "z": 21 + }, + { + "x": 14, + "y": 15, + "z": 22 + }, + { + "x": 14, + "y": 14, + "z": 22 + }, + { + "x": 15, + "y": 15, + "z": 22 + }, + { + "x": 15, + "y": 14, + "z": 22 + }, + { + "x": 16, + "y": 15, + "z": 22 + }, + { + "x": 16, + "y": 14, + "z": 22 + }, + { + "x": 17, + "y": 15, + "z": 22 + }, + { + "x": 17, + "y": 14, + "z": 22 + }, + { + "x": 18, + "y": 15, + "z": 22 + }, + { + "x": 18, + "y": 14, + "z": 22 + }, + { + "x": 14, + "y": 15, + "z": 23 + }, + { + "x": 14, + "y": 14, + "z": 23 + }, + { + "x": 15, + "y": 15, + "z": 23 + }, + { + "x": 15, + "y": 14, + "z": 23 + }, + { + "x": 16, + "y": 15, + "z": 23 + }, + { + "x": 16, + "y": 14, + "z": 23 + }, + { + "x": 17, + "y": 15, + "z": 23 + }, + { + "x": 17, + "y": 14, + "z": 23 + }, + { + "x": 18, + "y": 15, + "z": 23 + }, + { + "x": 18, + "y": 14, + "z": 23 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "JamieTheGeek": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 15, + "z": 4 + }, + { + "x": 22, + "y": 14, + "z": 4 + }, + { + "x": 23, + "y": 15, + "z": 4 + }, + { + "x": 23, + "y": 14, + "z": 4 + }, + { + "x": 24, + "y": 15, + "z": 4 + }, + { + "x": 24, + "y": 14, + "z": 4 + }, + { + "x": 22, + "y": 15, + "z": 5 + }, + { + "x": 22, + "y": 14, + "z": 5 + }, + { + "x": 23, + "y": 15, + "z": 5 + }, + { + "x": 23, + "y": 14, + "z": 5 + }, + { + "x": 24, + "y": 15, + "z": 5 + }, + { + "x": 24, + "y": 14, + "z": 5 + }, + { + "x": 22, + "y": 15, + "z": 6 + }, + { + "x": 22, + "y": 14, + "z": 6 + }, + { + "x": 23, + "y": 15, + "z": 6 + }, + { + "x": 23, + "y": 14, + "z": 6 + }, + { + "x": 24, + "y": 15, + "z": 6 + }, + { + "x": 24, + "y": 14, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Rezzus": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 26, + "z": 3 + }, + { + "x": 14, + "y": 25, + "z": 3 + }, + { + "x": 15, + "y": 26, + "z": 3 + }, + { + "x": 15, + "y": 25, + "z": 3 + }, + { + "x": 16, + "y": 26, + "z": 3 + }, + { + "x": 16, + "y": 25, + "z": 3 + }, + { + "x": 17, + "y": 26, + "z": 3 + }, + { + "x": 17, + "y": 25, + "z": 3 + }, + { + "x": 18, + "y": 26, + "z": 3 + }, + { + "x": 18, + "y": 25, + "z": 3 + }, + { + "x": 14, + "y": 26, + "z": 4 + }, + { + "x": 14, + "y": 25, + "z": 4 + }, + { + "x": 15, + "y": 26, + "z": 4 + }, + { + "x": 15, + "y": 25, + "z": 4 + }, + { + "x": 16, + "y": 26, + "z": 4 + }, + { + "x": 16, + "y": 25, + "z": 4 + }, + { + "x": 17, + "y": 26, + "z": 4 + }, + { + "x": 17, + "y": 25, + "z": 4 + }, + { + "x": 18, + "y": 26, + "z": 4 + }, + { + "x": 18, + "y": 25, + "z": 4 + }, + { + "x": 14, + "y": 26, + "z": 5 + }, + { + "x": 14, + "y": 25, + "z": 5 + }, + { + "x": 15, + "y": 26, + "z": 5 + }, + { + "x": 15, + "y": 25, + "z": 5 + }, + { + "x": 16, + "y": 26, + "z": 5 + }, + { + "x": 16, + "y": 25, + "z": 5 + }, + { + "x": 17, + "y": 26, + "z": 5 + }, + { + "x": 17, + "y": 25, + "z": 5 + }, + { + "x": 18, + "y": 26, + "z": 5 + }, + { + "x": 18, + "y": 25, + "z": 5 + }, + { + "x": 14, + "y": 26, + "z": 6 + }, + { + "x": 14, + "y": 25, + "z": 6 + }, + { + "x": 15, + "y": 26, + "z": 6 + }, + { + "x": 15, + "y": 25, + "z": 6 + }, + { + "x": 16, + "y": 26, + "z": 6 + }, + { + "x": 16, + "y": 25, + "z": 6 + }, + { + "x": 17, + "y": 26, + "z": 6 + }, + { + "x": 17, + "y": 25, + "z": 6 + }, + { + "x": 18, + "y": 26, + "z": 6 + }, + { + "x": 18, + "y": 25, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "LadyBleu": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 15, + "z": 4 + }, + { + "x": 27, + "y": 14, + "z": 4 + }, + { + "x": 28, + "y": 15, + "z": 4 + }, + { + "x": 28, + "y": 14, + "z": 4 + }, + { + "x": 29, + "y": 15, + "z": 4 + }, + { + "x": 29, + "y": 14, + "z": 4 + }, + { + "x": 27, + "y": 15, + "z": 5 + }, + { + "x": 27, + "y": 14, + "z": 5 + }, + { + "x": 28, + "y": 15, + "z": 5 + }, + { + "x": 28, + "y": 14, + "z": 5 + }, + { + "x": 29, + "y": 15, + "z": 5 + }, + { + "x": 29, + "y": 14, + "z": 5 + }, + { + "x": 27, + "y": 15, + "z": 6 + }, + { + "x": 27, + "y": 14, + "z": 6 + }, + { + "x": 28, + "y": 15, + "z": 6 + }, + { + "x": 28, + "y": 14, + "z": 6 + }, + { + "x": 29, + "y": 15, + "z": 6 + }, + { + "x": 29, + "y": 14, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "sfarnham": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 4, + "z": 26 + }, + { + "x": 14, + "y": 3, + "z": 26 + }, + { + "x": 15, + "y": 4, + "z": 26 + }, + { + "x": 15, + "y": 3, + "z": 26 + }, + { + "x": 16, + "y": 4, + "z": 26 + }, + { + "x": 16, + "y": 3, + "z": 26 + }, + { + "x": 17, + "y": 4, + "z": 26 + }, + { + "x": 17, + "y": 3, + "z": 26 + }, + { + "x": 18, + "y": 4, + "z": 26 + }, + { + "x": 18, + "y": 3, + "z": 26 + }, + { + "x": 14, + "y": 4, + "z": 27 + }, + { + "x": 14, + "y": 3, + "z": 27 + }, + { + "x": 15, + "y": 4, + "z": 27 + }, + { + "x": 15, + "y": 3, + "z": 27 + }, + { + "x": 16, + "y": 4, + "z": 27 + }, + { + "x": 16, + "y": 3, + "z": 27 + }, + { + "x": 17, + "y": 4, + "z": 27 + }, + { + "x": 17, + "y": 3, + "z": 27 + }, + { + "x": 18, + "y": 4, + "z": 27 + }, + { + "x": 18, + "y": 3, + "z": 27 + }, + { + "x": 14, + "y": 4, + "z": 28 + }, + { + "x": 14, + "y": 3, + "z": 28 + }, + { + "x": 15, + "y": 4, + "z": 28 + }, + { + "x": 15, + "y": 3, + "z": 28 + }, + { + "x": 16, + "y": 4, + "z": 28 + }, + { + "x": 16, + "y": 3, + "z": 28 + }, + { + "x": 17, + "y": 4, + "z": 28 + }, + { + "x": 17, + "y": 3, + "z": 28 + }, + { + "x": 18, + "y": 4, + "z": 28 + }, + { + "x": 18, + "y": 3, + "z": 28 + }, + { + "x": 14, + "y": 4, + "z": 29 + }, + { + "x": 14, + "y": 3, + "z": 29 + }, + { + "x": 15, + "y": 4, + "z": 29 + }, + { + "x": 15, + "y": 3, + "z": 29 + }, + { + "x": 16, + "y": 4, + "z": 29 + }, + { + "x": 16, + "y": 3, + "z": 29 + }, + { + "x": 17, + "y": 4, + "z": 29 + }, + { + "x": 17, + "y": 3, + "z": 29 + }, + { + "x": 18, + "y": 4, + "z": 29 + }, + { + "x": 18, + "y": 3, + "z": 29 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "PJoke1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 8, + "y": 26, + "z": 26 + }, + { + "x": 8, + "y": 25, + "z": 26 + }, + { + "x": 9, + "y": 26, + "z": 26 + }, + { + "x": 9, + "y": 25, + "z": 26 + }, + { + "x": 10, + "y": 26, + "z": 26 + }, + { + "x": 10, + "y": 25, + "z": 26 + }, + { + "x": 8, + "y": 26, + "z": 27 + }, + { + "x": 8, + "y": 25, + "z": 27 + }, + { + "x": 9, + "y": 26, + "z": 27 + }, + { + "x": 9, + "y": 25, + "z": 27 + }, + { + "x": 10, + "y": 26, + "z": 27 + }, + { + "x": 10, + "y": 25, + "z": 27 + }, + { + "x": 8, + "y": 26, + "z": 28 + }, + { + "x": 8, + "y": 25, + "z": 28 + }, + { + "x": 9, + "y": 26, + "z": 28 + }, + { + "x": 9, + "y": 25, + "z": 28 + }, + { + "x": 10, + "y": 26, + "z": 28 + }, + { + "x": 10, + "y": 25, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Judg3": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 26, + "z": 4 + }, + { + "x": 22, + "y": 25, + "z": 4 + }, + { + "x": 23, + "y": 26, + "z": 4 + }, + { + "x": 23, + "y": 25, + "z": 4 + }, + { + "x": 24, + "y": 26, + "z": 4 + }, + { + "x": 24, + "y": 25, + "z": 4 + }, + { + "x": 22, + "y": 26, + "z": 5 + }, + { + "x": 22, + "y": 25, + "z": 5 + }, + { + "x": 23, + "y": 26, + "z": 5 + }, + { + "x": 23, + "y": 25, + "z": 5 + }, + { + "x": 24, + "y": 26, + "z": 5 + }, + { + "x": 24, + "y": 25, + "z": 5 + }, + { + "x": 22, + "y": 26, + "z": 6 + }, + { + "x": 22, + "y": 25, + "z": 6 + }, + { + "x": 23, + "y": 26, + "z": 6 + }, + { + "x": 23, + "y": 25, + "z": 6 + }, + { + "x": 24, + "y": 26, + "z": 6 + }, + { + "x": 24, + "y": 25, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Cecer": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 26, + "z": 26 + }, + { + "x": 3, + "y": 25, + "z": 26 + }, + { + "x": 4, + "y": 26, + "z": 26 + }, + { + "x": 4, + "y": 25, + "z": 26 + }, + { + "x": 5, + "y": 26, + "z": 26 + }, + { + "x": 5, + "y": 25, + "z": 26 + }, + { + "x": 3, + "y": 26, + "z": 27 + }, + { + "x": 3, + "y": 25, + "z": 27 + }, + { + "x": 4, + "y": 26, + "z": 27 + }, + { + "x": 4, + "y": 25, + "z": 27 + }, + { + "x": 5, + "y": 26, + "z": 27 + }, + { + "x": 5, + "y": 25, + "z": 27 + }, + { + "x": 3, + "y": 26, + "z": 28 + }, + { + "x": 3, + "y": 25, + "z": 28 + }, + { + "x": 4, + "y": 26, + "z": 28 + }, + { + "x": 4, + "y": 25, + "z": 28 + }, + { + "x": 5, + "y": 26, + "z": 28 + }, + { + "x": 5, + "y": 25, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Revengeee": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 26, + "z": 4 + }, + { + "x": 27, + "y": 25, + "z": 4 + }, + { + "x": 28, + "y": 26, + "z": 4 + }, + { + "x": 28, + "y": 25, + "z": 4 + }, + { + "x": 29, + "y": 26, + "z": 4 + }, + { + "x": 29, + "y": 25, + "z": 4 + }, + { + "x": 27, + "y": 26, + "z": 5 + }, + { + "x": 27, + "y": 25, + "z": 5 + }, + { + "x": 28, + "y": 26, + "z": 5 + }, + { + "x": 28, + "y": 25, + "z": 5 + }, + { + "x": 29, + "y": 26, + "z": 5 + }, + { + "x": 29, + "y": 25, + "z": 5 + }, + { + "x": 27, + "y": 26, + "z": 6 + }, + { + "x": 27, + "y": 25, + "z": 6 + }, + { + "x": 28, + "y": 26, + "z": 6 + }, + { + "x": 28, + "y": 25, + "z": 6 + }, + { + "x": 29, + "y": 26, + "z": 6 + }, + { + "x": 29, + "y": 25, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "ChiLynn": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 26, + "z": 26 + }, + { + "x": 27, + "y": 25, + "z": 26 + }, + { + "x": 28, + "y": 26, + "z": 26 + }, + { + "x": 28, + "y": 25, + "z": 26 + }, + { + "x": 29, + "y": 26, + "z": 26 + }, + { + "x": 29, + "y": 25, + "z": 26 + }, + { + "x": 27, + "y": 26, + "z": 27 + }, + { + "x": 27, + "y": 25, + "z": 27 + }, + { + "x": 28, + "y": 26, + "z": 27 + }, + { + "x": 28, + "y": 25, + "z": 27 + }, + { + "x": 29, + "y": 26, + "z": 27 + }, + { + "x": 29, + "y": 25, + "z": 27 + }, + { + "x": 27, + "y": 26, + "z": 28 + }, + { + "x": 27, + "y": 25, + "z": 28 + }, + { + "x": 28, + "y": 26, + "z": 28 + }, + { + "x": 28, + "y": 25, + "z": 28 + }, + { + "x": 29, + "y": 26, + "z": 28 + }, + { + "x": 29, + "y": 25, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "flameboy101": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 26, + "z": 26 + }, + { + "x": 22, + "y": 25, + "z": 26 + }, + { + "x": 23, + "y": 26, + "z": 26 + }, + { + "x": 23, + "y": 25, + "z": 26 + }, + { + "x": 24, + "y": 26, + "z": 26 + }, + { + "x": 24, + "y": 25, + "z": 26 + }, + { + "x": 22, + "y": 26, + "z": 27 + }, + { + "x": 22, + "y": 25, + "z": 27 + }, + { + "x": 23, + "y": 26, + "z": 27 + }, + { + "x": 23, + "y": 25, + "z": 27 + }, + { + "x": 24, + "y": 26, + "z": 27 + }, + { + "x": 24, + "y": 25, + "z": 27 + }, + { + "x": 22, + "y": 26, + "z": 28 + }, + { + "x": 22, + "y": 25, + "z": 28 + }, + { + "x": 23, + "y": 26, + "z": 28 + }, + { + "x": 23, + "y": 25, + "z": 28 + }, + { + "x": 24, + "y": 26, + "z": 28 + }, + { + "x": 24, + "y": 25, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "fairysoul-?(9)": { + "secretPoint": { + "x": 16, + "y": 25, + "z": 30 + }, + "preRequisite": [ + "Hypixel:open" + ], + "mechType": "Fairysoul" + }, + "Jayavarmen": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 4, + "z": 3 + }, + { + "x": 14, + "y": 3, + "z": 3 + }, + { + "x": 15, + "y": 4, + "z": 3 + }, + { + "x": 15, + "y": 3, + "z": 3 + }, + { + "x": 16, + "y": 4, + "z": 3 + }, + { + "x": 16, + "y": 3, + "z": 3 + }, + { + "x": 17, + "y": 4, + "z": 3 + }, + { + "x": 17, + "y": 3, + "z": 3 + }, + { + "x": 18, + "y": 4, + "z": 3 + }, + { + "x": 18, + "y": 3, + "z": 3 + }, + { + "x": 14, + "y": 4, + "z": 4 + }, + { + "x": 14, + "y": 3, + "z": 4 + }, + { + "x": 15, + "y": 4, + "z": 4 + }, + { + "x": 15, + "y": 3, + "z": 4 + }, + { + "x": 16, + "y": 4, + "z": 4 + }, + { + "x": 16, + "y": 3, + "z": 4 + }, + { + "x": 17, + "y": 4, + "z": 4 + }, + { + "x": 17, + "y": 3, + "z": 4 + }, + { + "x": 18, + "y": 4, + "z": 4 + }, + { + "x": 18, + "y": 3, + "z": 4 + }, + { + "x": 14, + "y": 4, + "z": 5 + }, + { + "x": 14, + "y": 3, + "z": 5 + }, + { + "x": 15, + "y": 4, + "z": 5 + }, + { + "x": 15, + "y": 3, + "z": 5 + }, + { + "x": 16, + "y": 4, + "z": 5 + }, + { + "x": 16, + "y": 3, + "z": 5 + }, + { + "x": 17, + "y": 4, + "z": 5 + }, + { + "x": 17, + "y": 3, + "z": 5 + }, + { + "x": 18, + "y": 4, + "z": 5 + }, + { + "x": 18, + "y": 3, + "z": 5 + }, + { + "x": 14, + "y": 4, + "z": 6 + }, + { + "x": 14, + "y": 3, + "z": 6 + }, + { + "x": 15, + "y": 4, + "z": 6 + }, + { + "x": 15, + "y": 3, + "z": 6 + }, + { + "x": 16, + "y": 4, + "z": 6 + }, + { + "x": 16, + "y": 3, + "z": 6 + }, + { + "x": 17, + "y": 4, + "z": 6 + }, + { + "x": 17, + "y": 3, + "z": 6 + }, + { + "x": 18, + "y": 4, + "z": 6 + }, + { + "x": 18, + "y": 3, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "skyerzz": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 26, + "z": 4 + }, + { + "x": 3, + "y": 25, + "z": 4 + }, + { + "x": 4, + "y": 26, + "z": 4 + }, + { + "x": 4, + "y": 25, + "z": 4 + }, + { + "x": 5, + "y": 26, + "z": 4 + }, + { + "x": 5, + "y": 25, + "z": 4 + }, + { + "x": 3, + "y": 26, + "z": 5 + }, + { + "x": 3, + "y": 25, + "z": 5 + }, + { + "x": 4, + "y": 26, + "z": 5 + }, + { + "x": 4, + "y": 25, + "z": 5 + }, + { + "x": 5, + "y": 26, + "z": 5 + }, + { + "x": 5, + "y": 25, + "z": 5 + }, + { + "x": 3, + "y": 26, + "z": 6 + }, + { + "x": 3, + "y": 25, + "z": 6 + }, + { + "x": 4, + "y": 26, + "z": 6 + }, + { + "x": 4, + "y": 25, + "z": 6 + }, + { + "x": 5, + "y": 26, + "z": 6 + }, + { + "x": 5, + "y": 25, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Minikloon": { + "secretPoint": { + "offsetPointList": [ + { + "x": 8, + "y": 4, + "z": 4 + }, + { + "x": 8, + "y": 3, + "z": 4 + }, + { + "x": 9, + "y": 4, + "z": 4 + }, + { + "x": 9, + "y": 3, + "z": 4 + }, + { + "x": 10, + "y": 4, + "z": 4 + }, + { + "x": 10, + "y": 3, + "z": 4 + }, + { + "x": 8, + "y": 4, + "z": 5 + }, + { + "x": 8, + "y": 3, + "z": 5 + }, + { + "x": 9, + "y": 4, + "z": 5 + }, + { + "x": 9, + "y": 3, + "z": 5 + }, + { + "x": 10, + "y": 4, + "z": 5 + }, + { + "x": 10, + "y": 3, + "z": 5 + }, + { + "x": 8, + "y": 4, + "z": 6 + }, + { + "x": 8, + "y": 3, + "z": 6 + }, + { + "x": 9, + "y": 4, + "z": 6 + }, + { + "x": 9, + "y": 3, + "z": 6 + }, + { + "x": 10, + "y": 4, + "z": 6 + }, + { + "x": 10, + "y": 3, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Linfoot": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 4, + "z": 4 + }, + { + "x": 27, + "y": 3, + "z": 4 + }, + { + "x": 28, + "y": 4, + "z": 4 + }, + { + "x": 28, + "y": 3, + "z": 4 + }, + { + "x": 29, + "y": 4, + "z": 4 + }, + { + "x": 29, + "y": 3, + "z": 4 + }, + { + "x": 27, + "y": 4, + "z": 5 + }, + { + "x": 27, + "y": 3, + "z": 5 + }, + { + "x": 28, + "y": 4, + "z": 5 + }, + { + "x": 28, + "y": 3, + "z": 5 + }, + { + "x": 29, + "y": 4, + "z": 5 + }, + { + "x": 29, + "y": 3, + "z": 5 + }, + { + "x": 27, + "y": 4, + "z": 6 + }, + { + "x": 27, + "y": 3, + "z": 6 + }, + { + "x": 28, + "y": 4, + "z": 6 + }, + { + "x": 28, + "y": 3, + "z": 6 + }, + { + "x": 29, + "y": 4, + "z": 6 + }, + { + "x": 29, + "y": 3, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Plancke": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 15, + "z": 4 + }, + { + "x": 3, + "y": 14, + "z": 4 + }, + { + "x": 4, + "y": 15, + "z": 4 + }, + { + "x": 4, + "y": 14, + "z": 4 + }, + { + "x": 5, + "y": 15, + "z": 4 + }, + { + "x": 5, + "y": 14, + "z": 4 + }, + { + "x": 3, + "y": 15, + "z": 5 + }, + { + "x": 3, + "y": 14, + "z": 5 + }, + { + "x": 4, + "y": 15, + "z": 5 + }, + { + "x": 4, + "y": 14, + "z": 5 + }, + { + "x": 5, + "y": 15, + "z": 5 + }, + { + "x": 5, + "y": 14, + "z": 5 + }, + { + "x": 3, + "y": 15, + "z": 6 + }, + { + "x": 3, + "y": 14, + "z": 6 + }, + { + "x": 4, + "y": 15, + "z": 6 + }, + { + "x": 4, + "y": 14, + "z": 6 + }, + { + "x": 5, + "y": 15, + "z": 6 + }, + { + "x": 5, + "y": 14, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Bloozing": { + "secretPoint": { + "offsetPointList": [ + { + "x": 8, + "y": 26, + "z": 4 + }, + { + "x": 8, + "y": 25, + "z": 4 + }, + { + "x": 9, + "y": 26, + "z": 4 + }, + { + "x": 9, + "y": 25, + "z": 4 + }, + { + "x": 10, + "y": 26, + "z": 4 + }, + { + "x": 10, + "y": 25, + "z": 4 + }, + { + "x": 8, + "y": 26, + "z": 5 + }, + { + "x": 8, + "y": 25, + "z": 5 + }, + { + "x": 9, + "y": 26, + "z": 5 + }, + { + "x": 9, + "y": 25, + "z": 5 + }, + { + "x": 10, + "y": 26, + "z": 5 + }, + { + "x": 10, + "y": 25, + "z": 5 + }, + { + "x": 8, + "y": 26, + "z": 6 + }, + { + "x": 8, + "y": 25, + "z": 6 + }, + { + "x": 9, + "y": 26, + "z": 6 + }, + { + "x": 9, + "y": 25, + "z": 6 + }, + { + "x": 10, + "y": 26, + "z": 6 + }, + { + "x": 10, + "y": 25, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Thorlon": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 15, + "z": 26 + }, + { + "x": 14, + "y": 14, + "z": 26 + }, + { + "x": 15, + "y": 15, + "z": 26 + }, + { + "x": 15, + "y": 14, + "z": 26 + }, + { + "x": 16, + "y": 15, + "z": 26 + }, + { + "x": 16, + "y": 14, + "z": 26 + }, + { + "x": 17, + "y": 15, + "z": 26 + }, + { + "x": 17, + "y": 14, + "z": 26 + }, + { + "x": 18, + "y": 15, + "z": 26 + }, + { + "x": 18, + "y": 14, + "z": 26 + }, + { + "x": 14, + "y": 15, + "z": 27 + }, + { + "x": 14, + "y": 14, + "z": 27 + }, + { + "x": 15, + "y": 15, + "z": 27 + }, + { + "x": 15, + "y": 14, + "z": 27 + }, + { + "x": 16, + "y": 15, + "z": 27 + }, + { + "x": 16, + "y": 14, + "z": 27 + }, + { + "x": 17, + "y": 15, + "z": 27 + }, + { + "x": 17, + "y": 14, + "z": 27 + }, + { + "x": 18, + "y": 15, + "z": 27 + }, + { + "x": 18, + "y": 14, + "z": 27 + }, + { + "x": 14, + "y": 15, + "z": 28 + }, + { + "x": 14, + "y": 14, + "z": 28 + }, + { + "x": 15, + "y": 15, + "z": 28 + }, + { + "x": 15, + "y": 14, + "z": 28 + }, + { + "x": 16, + "y": 15, + "z": 28 + }, + { + "x": 16, + "y": 14, + "z": 28 + }, + { + "x": 17, + "y": 15, + "z": 28 + }, + { + "x": 17, + "y": 14, + "z": 28 + }, + { + "x": 18, + "y": 15, + "z": 28 + }, + { + "x": 18, + "y": 14, + "z": 28 + }, + { + "x": 14, + "y": 15, + "z": 29 + }, + { + "x": 14, + "y": 14, + "z": 29 + }, + { + "x": 15, + "y": 15, + "z": 29 + }, + { + "x": 15, + "y": 14, + "z": 29 + }, + { + "x": 16, + "y": 15, + "z": 29 + }, + { + "x": 16, + "y": 14, + "z": 29 + }, + { + "x": 17, + "y": 15, + "z": 29 + }, + { + "x": 17, + "y": 14, + "z": 29 + }, + { + "x": 18, + "y": 15, + "z": 29 + }, + { + "x": 18, + "y": 14, + "z": 29 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "RobityBobity": { + "secretPoint": { + "offsetPointList": [ + { + "x": 8, + "y": 15, + "z": 26 + }, + { + "x": 8, + "y": 14, + "z": 26 + }, + { + "x": 9, + "y": 15, + "z": 26 + }, + { + "x": 9, + "y": 14, + "z": 26 + }, + { + "x": 10, + "y": 15, + "z": 26 + }, + { + "x": 10, + "y": 14, + "z": 26 + }, + { + "x": 8, + "y": 15, + "z": 27 + }, + { + "x": 8, + "y": 14, + "z": 27 + }, + { + "x": 9, + "y": 15, + "z": 27 + }, + { + "x": 9, + "y": 14, + "z": 27 + }, + { + "x": 10, + "y": 15, + "z": 27 + }, + { + "x": 10, + "y": 14, + "z": 27 + }, + { + "x": 8, + "y": 15, + "z": 28 + }, + { + "x": 8, + "y": 14, + "z": 28 + }, + { + "x": 9, + "y": 15, + "z": 28 + }, + { + "x": 9, + "y": 14, + "z": 28 + }, + { + "x": 10, + "y": 15, + "z": 28 + }, + { + "x": 10, + "y": 14, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Hypixel": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 26, + "z": 26 + }, + { + "x": 14, + "y": 25, + "z": 26 + }, + { + "x": 15, + "y": 26, + "z": 26 + }, + { + "x": 15, + "y": 25, + "z": 26 + }, + { + "x": 16, + "y": 26, + "z": 26 + }, + { + "x": 16, + "y": 25, + "z": 26 + }, + { + "x": 17, + "y": 26, + "z": 26 + }, + { + "x": 17, + "y": 25, + "z": 26 + }, + { + "x": 18, + "y": 26, + "z": 26 + }, + { + "x": 18, + "y": 25, + "z": 26 + }, + { + "x": 14, + "y": 26, + "z": 27 + }, + { + "x": 14, + "y": 25, + "z": 27 + }, + { + "x": 15, + "y": 26, + "z": 27 + }, + { + "x": 15, + "y": 25, + "z": 27 + }, + { + "x": 16, + "y": 26, + "z": 27 + }, + { + "x": 16, + "y": 25, + "z": 27 + }, + { + "x": 17, + "y": 26, + "z": 27 + }, + { + "x": 17, + "y": 25, + "z": 27 + }, + { + "x": 18, + "y": 26, + "z": 27 + }, + { + "x": 18, + "y": 25, + "z": 27 + }, + { + "x": 14, + "y": 26, + "z": 28 + }, + { + "x": 14, + "y": 25, + "z": 28 + }, + { + "x": 15, + "y": 26, + "z": 28 + }, + { + "x": 15, + "y": 25, + "z": 28 + }, + { + "x": 16, + "y": 26, + "z": 28 + }, + { + "x": 16, + "y": 25, + "z": 28 + }, + { + "x": 17, + "y": 26, + "z": 28 + }, + { + "x": 17, + "y": 25, + "z": 28 + }, + { + "x": 18, + "y": 26, + "z": 28 + }, + { + "x": 18, + "y": 25, + "z": 28 + }, + { + "x": 14, + "y": 26, + "z": 29 + }, + { + "x": 14, + "y": 25, + "z": 29 + }, + { + "x": 15, + "y": 26, + "z": 29 + }, + { + "x": 15, + "y": 25, + "z": 29 + }, + { + "x": 16, + "y": 26, + "z": 29 + }, + { + "x": 16, + "y": 25, + "z": 29 + }, + { + "x": 17, + "y": 26, + "z": 29 + }, + { + "x": 17, + "y": 25, + "z": 29 + }, + { + "x": 18, + "y": 26, + "z": 29 + }, + { + "x": 18, + "y": 25, + "z": 29 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Bembo": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 15, + "z": 26 + }, + { + "x": 3, + "y": 14, + "z": 26 + }, + { + "x": 4, + "y": 15, + "z": 26 + }, + { + "x": 4, + "y": 14, + "z": 26 + }, + { + "x": 5, + "y": 15, + "z": 26 + }, + { + "x": 5, + "y": 14, + "z": 26 + }, + { + "x": 3, + "y": 15, + "z": 27 + }, + { + "x": 3, + "y": 14, + "z": 27 + }, + { + "x": 4, + "y": 15, + "z": 27 + }, + { + "x": 4, + "y": 14, + "z": 27 + }, + { + "x": 5, + "y": 15, + "z": 27 + }, + { + "x": 5, + "y": 14, + "z": 27 + }, + { + "x": 3, + "y": 15, + "z": 28 + }, + { + "x": 3, + "y": 14, + "z": 28 + }, + { + "x": 4, + "y": 15, + "z": 28 + }, + { + "x": 4, + "y": 14, + "z": 28 + }, + { + "x": 5, + "y": 15, + "z": 28 + }, + { + "x": 5, + "y": 14, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "codename_B": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 4, + "z": 26 + }, + { + "x": 3, + "y": 3, + "z": 26 + }, + { + "x": 4, + "y": 4, + "z": 26 + }, + { + "x": 4, + "y": 3, + "z": 26 + }, + { + "x": 5, + "y": 4, + "z": 26 + }, + { + "x": 5, + "y": 3, + "z": 26 + }, + { + "x": 3, + "y": 4, + "z": 27 + }, + { + "x": 3, + "y": 3, + "z": 27 + }, + { + "x": 4, + "y": 4, + "z": 27 + }, + { + "x": 4, + "y": 3, + "z": 27 + }, + { + "x": 5, + "y": 4, + "z": 27 + }, + { + "x": 5, + "y": 3, + "z": 27 + }, + { + "x": 3, + "y": 4, + "z": 28 + }, + { + "x": 3, + "y": 3, + "z": 28 + }, + { + "x": 4, + "y": 4, + "z": 28 + }, + { + "x": 4, + "y": 3, + "z": 28 + }, + { + "x": 5, + "y": 4, + "z": 28 + }, + { + "x": 5, + "y": 3, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "aPunch": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 4, + "z": 4 + }, + { + "x": 3, + "y": 3, + "z": 4 + }, + { + "x": 4, + "y": 4, + "z": 4 + }, + { + "x": 4, + "y": 3, + "z": 4 + }, + { + "x": 5, + "y": 4, + "z": 4 + }, + { + "x": 5, + "y": 3, + "z": 4 + }, + { + "x": 3, + "y": 4, + "z": 5 + }, + { + "x": 3, + "y": 3, + "z": 5 + }, + { + "x": 4, + "y": 4, + "z": 5 + }, + { + "x": 4, + "y": 3, + "z": 5 + }, + { + "x": 5, + "y": 4, + "z": 5 + }, + { + "x": 5, + "y": 3, + "z": 5 + }, + { + "x": 3, + "y": 4, + "z": 6 + }, + { + "x": 3, + "y": 3, + "z": 6 + }, + { + "x": 4, + "y": 4, + "z": 6 + }, + { + "x": 4, + "y": 3, + "z": 6 + }, + { + "x": 5, + "y": 4, + "z": 6 + }, + { + "x": 5, + "y": 3, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "WilliamTiger": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 15, + "z": 26 + }, + { + "x": 27, + "y": 14, + "z": 26 + }, + { + "x": 28, + "y": 15, + "z": 26 + }, + { + "x": 28, + "y": 14, + "z": 26 + }, + { + "x": 29, + "y": 15, + "z": 26 + }, + { + "x": 29, + "y": 14, + "z": 26 + }, + { + "x": 27, + "y": 15, + "z": 27 + }, + { + "x": 27, + "y": 14, + "z": 27 + }, + { + "x": 28, + "y": 15, + "z": 27 + }, + { + "x": 28, + "y": 14, + "z": 27 + }, + { + "x": 29, + "y": 15, + "z": 27 + }, + { + "x": 29, + "y": 14, + "z": 27 + }, + { + "x": 27, + "y": 15, + "z": 28 + }, + { + "x": 27, + "y": 14, + "z": 28 + }, + { + "x": 28, + "y": 15, + "z": 28 + }, + { + "x": 28, + "y": 14, + "z": 28 + }, + { + "x": 29, + "y": 15, + "z": 28 + }, + { + "x": 29, + "y": 14, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Nitroholic": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 4, + "z": 26 + }, + { + "x": 22, + "y": 3, + "z": 26 + }, + { + "x": 23, + "y": 4, + "z": 26 + }, + { + "x": 23, + "y": 3, + "z": 26 + }, + { + "x": 24, + "y": 4, + "z": 26 + }, + { + "x": 24, + "y": 3, + "z": 26 + }, + { + "x": 22, + "y": 4, + "z": 27 + }, + { + "x": 22, + "y": 3, + "z": 27 + }, + { + "x": 23, + "y": 4, + "z": 27 + }, + { + "x": 23, + "y": 3, + "z": 27 + }, + { + "x": 24, + "y": 4, + "z": 27 + }, + { + "x": 24, + "y": 3, + "z": 27 + }, + { + "x": 22, + "y": 4, + "z": 28 + }, + { + "x": 22, + "y": 3, + "z": 28 + }, + { + "x": 23, + "y": 4, + "z": 28 + }, + { + "x": 23, + "y": 3, + "z": 28 + }, + { + "x": 24, + "y": 4, + "z": 28 + }, + { + "x": 24, + "y": 3, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Don Pireso": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 26, + "z": 21 + }, + { + "x": 14, + "y": 25, + "z": 21 + }, + { + "x": 15, + "y": 26, + "z": 21 + }, + { + "x": 15, + "y": 25, + "z": 21 + }, + { + "x": 16, + "y": 26, + "z": 21 + }, + { + "x": 16, + "y": 25, + "z": 21 + }, + { + "x": 17, + "y": 26, + "z": 21 + }, + { + "x": 17, + "y": 25, + "z": 21 + }, + { + "x": 18, + "y": 26, + "z": 21 + }, + { + "x": 18, + "y": 25, + "z": 21 + }, + { + "x": 14, + "y": 26, + "z": 22 + }, + { + "x": 14, + "y": 25, + "z": 22 + }, + { + "x": 15, + "y": 26, + "z": 22 + }, + { + "x": 15, + "y": 25, + "z": 22 + }, + { + "x": 16, + "y": 26, + "z": 22 + }, + { + "x": 16, + "y": 25, + "z": 22 + }, + { + "x": 17, + "y": 26, + "z": 22 + }, + { + "x": 17, + "y": 25, + "z": 22 + }, + { + "x": 18, + "y": 26, + "z": 22 + }, + { + "x": 18, + "y": 25, + "z": 22 + }, + { + "x": 14, + "y": 26, + "z": 23 + }, + { + "x": 14, + "y": 25, + "z": 23 + }, + { + "x": 15, + "y": 26, + "z": 23 + }, + { + "x": 15, + "y": 25, + "z": 23 + }, + { + "x": 16, + "y": 26, + "z": 23 + }, + { + "x": 16, + "y": 25, + "z": 23 + }, + { + "x": 17, + "y": 26, + "z": 23 + }, + { + "x": 17, + "y": 25, + "z": 23 + }, + { + "x": 18, + "y": 26, + "z": 23 + }, + { + "x": 18, + "y": 25, + "z": 23 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Kessie": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 15, + "z": 26 + }, + { + "x": 22, + "y": 14, + "z": 26 + }, + { + "x": 23, + "y": 15, + "z": 26 + }, + { + "x": 23, + "y": 14, + "z": 26 + }, + { + "x": 24, + "y": 15, + "z": 26 + }, + { + "x": 24, + "y": 14, + "z": 26 + }, + { + "x": 22, + "y": 15, + "z": 27 + }, + { + "x": 22, + "y": 14, + "z": 27 + }, + { + "x": 23, + "y": 15, + "z": 27 + }, + { + "x": 23, + "y": 14, + "z": 27 + }, + { + "x": 24, + "y": 15, + "z": 27 + }, + { + "x": 24, + "y": 14, + "z": 27 + }, + { + "x": 22, + "y": 15, + "z": 28 + }, + { + "x": 22, + "y": 14, + "z": 28 + }, + { + "x": 23, + "y": 15, + "z": 28 + }, + { + "x": 23, + "y": 14, + "z": 28 + }, + { + "x": 24, + "y": 15, + "z": 28 + }, + { + "x": 24, + "y": 14, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Sylent": { + "secretPoint": { + "offsetPointList": [ + { + "x": 8, + "y": 15, + "z": 4 + }, + { + "x": 8, + "y": 14, + "z": 4 + }, + { + "x": 9, + "y": 15, + "z": 4 + }, + { + "x": 9, + "y": 14, + "z": 4 + }, + { + "x": 10, + "y": 15, + "z": 4 + }, + { + "x": 10, + "y": 14, + "z": 4 + }, + { + "x": 8, + "y": 15, + "z": 5 + }, + { + "x": 8, + "y": 14, + "z": 5 + }, + { + "x": 9, + "y": 15, + "z": 5 + }, + { + "x": 9, + "y": 14, + "z": 5 + }, + { + "x": 10, + "y": 15, + "z": 5 + }, + { + "x": 10, + "y": 14, + "z": 5 + }, + { + "x": 8, + "y": 15, + "z": 6 + }, + { + "x": 8, + "y": 14, + "z": 6 + }, + { + "x": 9, + "y": 15, + "z": 6 + }, + { + "x": 9, + "y": 14, + "z": 6 + }, + { + "x": 10, + "y": 15, + "z": 6 + }, + { + "x": 10, + "y": 14, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Ob111": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 15, + "z": 9 + }, + { + "x": 14, + "y": 14, + "z": 9 + }, + { + "x": 15, + "y": 15, + "z": 9 + }, + { + "x": 15, + "y": 14, + "z": 9 + }, + { + "x": 16, + "y": 15, + "z": 9 + }, + { + "x": 16, + "y": 14, + "z": 9 + }, + { + "x": 17, + "y": 15, + "z": 9 + }, + { + "x": 17, + "y": 14, + "z": 9 + }, + { + "x": 18, + "y": 15, + "z": 9 + }, + { + "x": 18, + "y": 14, + "z": 9 + }, + { + "x": 14, + "y": 15, + "z": 10 + }, + { + "x": 14, + "y": 14, + "z": 10 + }, + { + "x": 15, + "y": 15, + "z": 10 + }, + { + "x": 15, + "y": 14, + "z": 10 + }, + { + "x": 16, + "y": 15, + "z": 10 + }, + { + "x": 16, + "y": 14, + "z": 10 + }, + { + "x": 17, + "y": 15, + "z": 10 + }, + { + "x": 17, + "y": 14, + "z": 10 + }, + { + "x": 18, + "y": 15, + "z": 10 + }, + { + "x": 18, + "y": 14, + "z": 10 + }, + { + "x": 14, + "y": 15, + "z": 11 + }, + { + "x": 14, + "y": 14, + "z": 11 + }, + { + "x": 15, + "y": 15, + "z": 11 + }, + { + "x": 15, + "y": 14, + "z": 11 + }, + { + "x": 16, + "y": 15, + "z": 11 + }, + { + "x": 16, + "y": 14, + "z": 11 + }, + { + "x": 17, + "y": 15, + "z": 11 + }, + { + "x": 17, + "y": 14, + "z": 11 + }, + { + "x": 18, + "y": 15, + "z": 11 + }, + { + "x": 18, + "y": 14, + "z": 11 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "erosemberg": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 26, + "z": 9 + }, + { + "x": 14, + "y": 25, + "z": 9 + }, + { + "x": 15, + "y": 26, + "z": 9 + }, + { + "x": 15, + "y": 25, + "z": 9 + }, + { + "x": 16, + "y": 26, + "z": 9 + }, + { + "x": 16, + "y": 25, + "z": 9 + }, + { + "x": 17, + "y": 26, + "z": 9 + }, + { + "x": 17, + "y": 25, + "z": 9 + }, + { + "x": 18, + "y": 26, + "z": 9 + }, + { + "x": 18, + "y": 25, + "z": 9 + }, + { + "x": 14, + "y": 26, + "z": 10 + }, + { + "x": 14, + "y": 25, + "z": 10 + }, + { + "x": 15, + "y": 26, + "z": 10 + }, + { + "x": 15, + "y": 25, + "z": 10 + }, + { + "x": 16, + "y": 26, + "z": 10 + }, + { + "x": 16, + "y": 25, + "z": 10 + }, + { + "x": 17, + "y": 26, + "z": 10 + }, + { + "x": 17, + "y": 25, + "z": 10 + }, + { + "x": 18, + "y": 26, + "z": 10 + }, + { + "x": 18, + "y": 25, + "z": 10 + }, + { + "x": 14, + "y": 26, + "z": 11 + }, + { + "x": 14, + "y": 25, + "z": 11 + }, + { + "x": 15, + "y": 26, + "z": 11 + }, + { + "x": 15, + "y": 25, + "z": 11 + }, + { + "x": 16, + "y": 26, + "z": 11 + }, + { + "x": 16, + "y": 25, + "z": 11 + }, + { + "x": 17, + "y": 26, + "z": 11 + }, + { + "x": 17, + "y": 25, + "z": 11 + }, + { + "x": 18, + "y": 26, + "z": 11 + }, + { + "x": 18, + "y": 25, + "z": 11 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Externalizable": { + "secretPoint": { + "offsetPointList": [ + { + "x": 14, + "y": 15, + "z": 3 + }, + { + "x": 14, + "y": 14, + "z": 3 + }, + { + "x": 15, + "y": 15, + "z": 3 + }, + { + "x": 15, + "y": 14, + "z": 3 + }, + { + "x": 16, + "y": 15, + "z": 3 + }, + { + "x": 16, + "y": 14, + "z": 3 + }, + { + "x": 17, + "y": 15, + "z": 3 + }, + { + "x": 17, + "y": 14, + "z": 3 + }, + { + "x": 18, + "y": 15, + "z": 3 + }, + { + "x": 18, + "y": 14, + "z": 3 + }, + { + "x": 14, + "y": 15, + "z": 4 + }, + { + "x": 14, + "y": 14, + "z": 4 + }, + { + "x": 15, + "y": 15, + "z": 4 + }, + { + "x": 15, + "y": 14, + "z": 4 + }, + { + "x": 16, + "y": 15, + "z": 4 + }, + { + "x": 16, + "y": 14, + "z": 4 + }, + { + "x": 17, + "y": 15, + "z": 4 + }, + { + "x": 17, + "y": 14, + "z": 4 + }, + { + "x": 18, + "y": 15, + "z": 4 + }, + { + "x": 18, + "y": 14, + "z": 4 + }, + { + "x": 14, + "y": 15, + "z": 5 + }, + { + "x": 14, + "y": 14, + "z": 5 + }, + { + "x": 15, + "y": 15, + "z": 5 + }, + { + "x": 15, + "y": 14, + "z": 5 + }, + { + "x": 16, + "y": 15, + "z": 5 + }, + { + "x": 16, + "y": 14, + "z": 5 + }, + { + "x": 17, + "y": 15, + "z": 5 + }, + { + "x": 17, + "y": 14, + "z": 5 + }, + { + "x": 18, + "y": 15, + "z": 5 + }, + { + "x": 18, + "y": 14, + "z": 5 + }, + { + "x": 14, + "y": 15, + "z": 6 + }, + { + "x": 14, + "y": 14, + "z": 6 + }, + { + "x": 15, + "y": 15, + "z": 6 + }, + { + "x": 15, + "y": 14, + "z": 6 + }, + { + "x": 16, + "y": 15, + "z": 6 + }, + { + "x": 16, + "y": 14, + "z": 6 + }, + { + "x": 17, + "y": 15, + "z": 6 + }, + { + "x": 17, + "y": 14, + "z": 6 + }, + { + "x": 18, + "y": 15, + "z": 6 + }, + { + "x": 18, + "y": 14, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Relenter": { + "secretPoint": { + "offsetPointList": [ + { + "x": 8, + "y": 4, + "z": 26 + }, + { + "x": 8, + "y": 3, + "z": 26 + }, + { + "x": 9, + "y": 4, + "z": 26 + }, + { + "x": 9, + "y": 3, + "z": 26 + }, + { + "x": 10, + "y": 4, + "z": 26 + }, + { + "x": 10, + "y": 3, + "z": 26 + }, + { + "x": 8, + "y": 4, + "z": 27 + }, + { + "x": 8, + "y": 3, + "z": 27 + }, + { + "x": 9, + "y": 4, + "z": 27 + }, + { + "x": 9, + "y": 3, + "z": 27 + }, + { + "x": 10, + "y": 4, + "z": 27 + }, + { + "x": 10, + "y": 3, + "z": 27 + }, + { + "x": 8, + "y": 4, + "z": 28 + }, + { + "x": 8, + "y": 3, + "z": 28 + }, + { + "x": 9, + "y": 4, + "z": 28 + }, + { + "x": 9, + "y": 3, + "z": 28 + }, + { + "x": 10, + "y": 4, + "z": 28 + }, + { + "x": 10, + "y": 3, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Dctr": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 4, + "z": 4 + }, + { + "x": 22, + "y": 3, + "z": 4 + }, + { + "x": 23, + "y": 4, + "z": 4 + }, + { + "x": 23, + "y": 3, + "z": 4 + }, + { + "x": 24, + "y": 4, + "z": 4 + }, + { + "x": 24, + "y": 3, + "z": 4 + }, + { + "x": 22, + "y": 4, + "z": 5 + }, + { + "x": 22, + "y": 3, + "z": 5 + }, + { + "x": 23, + "y": 4, + "z": 5 + }, + { + "x": 23, + "y": 3, + "z": 5 + }, + { + "x": 24, + "y": 4, + "z": 5 + }, + { + "x": 24, + "y": 3, + "z": 5 + }, + { + "x": 22, + "y": 4, + "z": 6 + }, + { + "x": 22, + "y": 3, + "z": 6 + }, + { + "x": 23, + "y": 4, + "z": 6 + }, + { + "x": 23, + "y": 3, + "z": 6 + }, + { + "x": 24, + "y": 4, + "z": 6 + }, + { + "x": 24, + "y": 3, + "z": 6 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "Likaos": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": 4, + "z": 26 + }, + { + "x": 27, + "y": 3, + "z": 26 + }, + { + "x": 28, + "y": 4, + "z": 26 + }, + { + "x": 28, + "y": 3, + "z": 26 + }, + { + "x": 29, + "y": 4, + "z": 26 + }, + { + "x": 29, + "y": 3, + "z": 26 + }, + { + "x": 27, + "y": 4, + "z": 27 + }, + { + "x": 27, + "y": 3, + "z": 27 + }, + { + "x": 28, + "y": 4, + "z": 27 + }, + { + "x": 28, + "y": 3, + "z": 27 + }, + { + "x": 29, + "y": 4, + "z": 27 + }, + { + "x": 29, + "y": 3, + "z": 27 + }, + { + "x": 27, + "y": 4, + "z": 28 + }, + { + "x": 27, + "y": 3, + "z": 28 + }, + { + "x": 28, + "y": 4, + "z": 28 + }, + { + "x": 28, + "y": 3, + "z": 28 + }, + { + "x": 29, + "y": 4, + "z": 28 + }, + { + "x": 29, + "y": 3, + "z": 28 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + } + }, + "totalSecrets": 0 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/1df3a849-2a5b-451d-8bd7-971eb608363c.json b/src/main/resources/dgroomdata/1df3a849-2a5b-451d-8bd7-971eb608363c.json new file mode 100644 index 0000000..4783fe9 --- /dev/null +++ b/src/main/resources/dgroomdata/1df3a849-2a5b-451d-8bd7-971eb608363c.json @@ -0,0 +1,2405 @@ +{ + "isUserMade": false, + "shape": 3, + "color": 63, + "blocks": [ + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 101, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 98, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 139, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 0, + 144, + 171, + 171, + 0, + 109, + 0, + 0, + 0, + 0, + 0, + 98, + 1, + 1, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 144, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 109, + 98, + 98, + 98, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 50, + 139, + 0, + 0, + 0, + 0, + 139, + 50, + 139, + 98, + 98, + 98, + 98, + 159, + 159, + 159, + 98, + 98, + 98, + 98, + 98, + 50, + 139, + 0, + 0, + 0, + 0, + 98, + 50, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 51, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 98, + 0, + 0, + 139, + 0, + 0, + 0, + 139, + 0, + 0, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 51, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 159, + 159, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 0, + 0, + 0, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 139, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 0, + 0, + 0, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 44, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 159, + 159, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 0, + 0, + 139, + 0, + 0, + 0, + 139, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 51, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 50, + 139, + 0, + 0, + 0, + 0, + 139, + 50, + 98, + 98, + 98, + 98, + 98, + 159, + 159, + 159, + 98, + 98, + 98, + 98, + 98, + 50, + 139, + 0, + 0, + 0, + 0, + 139, + 50, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 51, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 159, + 144, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 139, + 98, + 1, + 109, + 109, + 109, + 109, + 109, + 1, + 98, + 139, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 98, + 98, + 98, + 139, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 98, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 98, + 44, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 98, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 109, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + ], + "uuid": "1df3a849-2a5b-451d-8bd7-971eb608363c", + "name": "Pedestal", + "processorId": "default", + "properties": {}, + "mechanics": { + "chest-2": { + "mechType": "Secret", + "secretPoint": { + "x": 33, + "y": -10, + "z": 24 + }, + "secretType": "CHEST", + "preRequisite": [ + "crypt-1:open" + ] + }, + "chest-3": { + "mechType": "Secret", + "secretPoint": { + "x": 8, + "y": 24, + "z": 22 + }, + "secretType": "CHEST", + "preRequisite": [] + }, + "chest-1": { + "mechType": "Secret", + "secretPoint": { + "x": 32, + "y": 0, + "z": 16 + }, + "secretType": "CHEST", + "preRequisite": [] + }, + "itemdrop-1": { + "mechType": "Secret", + "secretPoint": { + "x": 51, + "y": -8, + "z": 21 + }, + "secretType": "ITEM_DROP", + "preRequisite": [] + }, + "essence-1": { + "mechType": "Secret", + "secretPoint": { + "x": 54, + "y": -9, + "z": 23 + }, + "secretType": "ESSENCE", + "preRequisite": [] + }, + "crypt-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 32, + "y": -8, + "z": 24 + }, + { + "x": 32, + "y": -9, + "z": 24 + }, + { + "x": 33, + "y": -8, + "z": 24 + }, + { + "x": 33, + "y": -9, + "z": 24 + }, + { + "x": 34, + "y": -8, + "z": 24 + }, + { + "x": 34, + "y": -9, + "z": 24 + }, + { + "x": 32, + "y": -8, + "z": 25 + }, + { + "x": 32, + "y": -9, + "z": 25 + }, + { + "x": 33, + "y": -8, + "z": 25 + }, + { + "x": 33, + "y": -9, + "z": 25 + }, + { + "x": 34, + "y": -8, + "z": 25 + }, + { + "x": 34, + "y": -9, + "z": 25 + }, + { + "x": 32, + "y": -8, + "z": 26 + }, + { + "x": 32, + "y": -9, + "z": 26 + }, + { + "x": 33, + "y": -8, + "z": 26 + }, + { + "x": 33, + "y": -9, + "z": 26 + }, + { + "x": 34, + "y": -8, + "z": 26 + }, + { + "x": 34, + "y": -9, + "z": 26 + }, + { + "x": 32, + "y": -8, + "z": 27 + }, + { + "x": 32, + "y": -9, + "z": 27 + }, + { + "x": 33, + "y": -8, + "z": 27 + }, + { + "x": 33, + "y": -9, + "z": 27 + }, + { + "x": 34, + "y": -8, + "z": 27 + }, + { + "x": 34, + "y": -9, + "z": 27 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + } + }, + "totalSecrets": 5 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/1e8d4327-7465-4bff-a8c7-505528273985.json b/src/main/resources/dgroomdata/1e8d4327-7465-4bff-a8c7-505528273985.json new file mode 100644 index 0000000..4e7033d --- /dev/null +++ b/src/main/resources/dgroomdata/1e8d4327-7465-4bff-a8c7-505528273985.json @@ -0,0 +1,1579 @@ +{ + "isUserMade": false, + "shape": 1, + "color": 63, + "blocks": [ + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 4, + 67, + 67, + 4, + 4, + 4, + 4, + 4, + 67, + 67, + 4, + 4, + 4, + 67, + 67, + 4, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 1, + 1, + 1, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 1, + 1, + 1, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 109, + 1, + 1, + 1, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 67, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 67, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 7, + 7, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 9, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 67, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 67, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 18, + 35, + 7, + 4, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 159, + 7, + 18, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + ], + "uuid": "1e8d4327-7465-4bff-a8c7-505528273985", + "name": "Waterfall", + "processorId": "default", + "properties": {}, + "mechanics": { + "crypt-5": { + "secretPoint": { + "offsetPointList": [ + { + "x": 28, + "y": 4, + "z": 25 + }, + { + "x": 28, + "y": 3, + "z": 25 + }, + { + "x": 29, + "y": 4, + "z": 25 + }, + { + "x": 29, + "y": 3, + "z": 25 + }, + { + "x": 30, + "y": 4, + "z": 25 + }, + { + "x": 30, + "y": 3, + "z": 25 + }, + { + "x": 28, + "y": 4, + "z": 26 + }, + { + "x": 28, + "y": 3, + "z": 26 + }, + { + "x": 29, + "y": 4, + "z": 26 + }, + { + "x": 29, + "y": 3, + "z": 26 + }, + { + "x": 30, + "y": 4, + "z": 26 + }, + { + "x": 30, + "y": 3, + "z": 26 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "crypt-4": { + "secretPoint": { + "offsetPointList": [ + { + "x": 28, + "y": 4, + "z": 19 + }, + { + "x": 28, + "y": 3, + "z": 19 + }, + { + "x": 29, + "y": 4, + "z": 19 + }, + { + "x": 29, + "y": 3, + "z": 19 + }, + { + "x": 30, + "y": 4, + "z": 19 + }, + { + "x": 30, + "y": 3, + "z": 19 + }, + { + "x": 28, + "y": 4, + "z": 20 + }, + { + "x": 28, + "y": 3, + "z": 20 + }, + { + "x": 29, + "y": 4, + "z": 20 + }, + { + "x": 29, + "y": 3, + "z": 20 + }, + { + "x": 30, + "y": 4, + "z": 20 + }, + { + "x": 30, + "y": 3, + "z": 20 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "bat-1": { + "mechType": "Secret", + "secretPoint": { + "x": 4, + "y": 12, + "z": 23 + }, + "secretType": "BAT", + "preRequisite": [] + }, + "crypt-3": { + "secretPoint": { + "offsetPointList": [ + { + "x": 29, + "y": 4, + "z": 6 + }, + { + "x": 29, + "y": 3, + "z": 6 + }, + { + "x": 30, + "y": 4, + "z": 6 + }, + { + "x": 30, + "y": 3, + "z": 6 + }, + { + "x": 29, + "y": 4, + "z": 7 + }, + { + "x": 29, + "y": 3, + "z": 7 + }, + { + "x": 30, + "y": 4, + "z": 7 + }, + { + "x": 30, + "y": 3, + "z": 7 + }, + { + "x": 29, + "y": 4, + "z": 8 + }, + { + "x": 29, + "y": 3, + "z": 8 + }, + { + "x": 30, + "y": 4, + "z": 8 + }, + { + "x": 30, + "y": 3, + "z": 8 + }, + { + "x": 29, + "y": 4, + "z": 9 + }, + { + "x": 29, + "y": 3, + "z": 9 + }, + { + "x": 30, + "y": 4, + "z": 9 + }, + { + "x": 30, + "y": 3, + "z": 9 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "crypt-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 12, + "y": 4, + "z": 3 + }, + { + "x": 12, + "y": 3, + "z": 3 + }, + { + "x": 13, + "y": 4, + "z": 3 + }, + { + "x": 13, + "y": 3, + "z": 3 + }, + { + "x": 12, + "y": 4, + "z": 4 + }, + { + "x": 12, + "y": 3, + "z": 4 + }, + { + "x": 13, + "y": 4, + "z": 4 + }, + { + "x": 13, + "y": 3, + "z": 4 + }, + { + "x": 12, + "y": 4, + "z": 5 + }, + { + "x": 12, + "y": 3, + "z": 5 + }, + { + "x": 13, + "y": 4, + "z": 5 + }, + { + "x": 13, + "y": 3, + "z": 5 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "essence-1": { + "mechType": "Secret", + "secretPoint": { + "x": 7, + "y": 7, + "z": 27 + }, + "secretType": "ESSENCE", + "preRequisite": [] + }, + "crypt-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 6, + "y": 8, + "z": 23 + }, + { + "x": 6, + "y": 7, + "z": 23 + }, + { + "x": 7, + "y": 8, + "z": 23 + }, + { + "x": 7, + "y": 7, + "z": 23 + }, + { + "x": 8, + "y": 8, + "z": 23 + }, + { + "x": 8, + "y": 7, + "z": 23 + }, + { + "x": 6, + "y": 8, + "z": 24 + }, + { + "x": 6, + "y": 7, + "z": 24 + }, + { + "x": 7, + "y": 8, + "z": 24 + }, + { + "x": 7, + "y": 7, + "z": 24 + }, + { + "x": 8, + "y": 8, + "z": 24 + }, + { + "x": 8, + "y": 7, + "z": 24 + }, + { + "x": 6, + "y": 8, + "z": 25 + }, + { + "x": 6, + "y": 7, + "z": 25 + }, + { + "x": 7, + "y": 8, + "z": 25 + }, + { + "x": 7, + "y": 7, + "z": 25 + }, + { + "x": 8, + "y": 8, + "z": 25 + }, + { + "x": 8, + "y": 7, + "z": 25 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + } + }, + "totalSecrets": 2 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/23d6e1f6-efa3-476b-b452-ad5cf6a37be9.json b/src/main/resources/dgroomdata/23d6e1f6-efa3-476b-b452-ad5cf6a37be9.json new file mode 100644 index 0000000..5d3f300 --- /dev/null +++ b/src/main/resources/dgroomdata/23d6e1f6-efa3-476b-b452-ad5cf6a37be9.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,44,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,44,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,-1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"23d6e1f6-efa3-476b-b452-ad5cf6a37be9","name":"quad-lava","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":11,"y":-10,"z":12},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":26,"y":0,"z":26},"secretType":"CHEST","preRequisite":[]}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/250624ee-bb7a-4330-b698-a78f5e44ba99.json b/src/main/resources/dgroomdata/250624ee-bb7a-4330-b698-a78f5e44ba99.json new file mode 100644 index 0000000..f82a044 --- /dev/null +++ b/src/main/resources/dgroomdata/250624ee-bb7a-4330-b698-a78f5e44ba99.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":17,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,67,44,44,44,0,0,98,98,0,0,0,0,0,98,98,0,0,44,44,44,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,67,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,44,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,44,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,1,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,1,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,109,89,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,139,0,139,0,98,98,0,0,0,0,0,0,0,0,0,98,98,0,139,0,139,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,109,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,50,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,109,98,50,0,0,0,0,0,50,98,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,159,-1,-1,-1,-1],[-1,-1,-1,-1,47,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,47,-1,-1,-1,-1],[-1,-1,-1,-1,98,47,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,47,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,47,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,47,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,47,159,98,109,109,50,0,0,0,0,0,50,98,109,109,159,47,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"250624ee-bb7a-4330-b698-a78f5e44ba99","name":"grand-library","processorId":"default","properties":{},"mechanics":{"door-3":{"secretPoint":{"offsetPointList":[{"x":16,"y":-7,"z":48}]},"preRequisite":["lever-3:triggered"],"mechType":"OnewayDoor"},"chest-2":{"mechType":"Secret","secretPoint":{"x":16,"y":-12,"z":32},"secretType":"CHEST","preRequisite":["composed-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":29,"y":23,"z":24},"secretType":"CHEST","preRequisite":[]},"door-1":{"secretPoint":{"offsetPointList":[{"x":14,"y":-5,"z":46},{"x":15,"y":-5,"z":46},{"x":16,"y":-5,"z":46},{"x":17,"y":-5,"z":46},{"x":18,"y":-5,"z":46},{"x":14,"y":-5,"z":47},{"x":15,"y":-5,"z":47},{"x":16,"y":-5,"z":47},{"x":17,"y":-5,"z":47},{"x":18,"y":-5,"z":47},{"x":14,"y":-5,"z":48},{"x":15,"y":-5,"z":48},{"x":16,"y":-5,"z":48},{"x":17,"y":-5,"z":48},{"x":18,"y":-5,"z":48},{"x":14,"y":-5,"z":49},{"x":15,"y":-5,"z":49},{"x":16,"y":-5,"z":49},{"x":17,"y":-5,"z":49},{"x":18,"y":-5,"z":49},{"x":14,"y":-5,"z":50},{"x":15,"y":-5,"z":50},{"x":16,"y":-5,"z":50},{"x":17,"y":-5,"z":50},{"x":18,"y":-5,"z":50}]},"preRequisite":["lever-1-1:triggered"],"mechType":"OnewayDoor"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":3,"y":18,"z":48},"preRequisite":[],"triggering":"door-2"},"door-2":{"secretPoint":{"offsetPointList":[{"x":15,"y":-6,"z":47},{"x":16,"y":-6,"z":47},{"x":17,"y":-6,"z":47},{"x":15,"y":-6,"z":48},{"x":16,"y":-6,"z":48},{"x":17,"y":-6,"z":48},{"x":15,"y":-6,"z":49},{"x":16,"y":-6,"z":49},{"x":17,"y":-6,"z":49}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"composed-1":{"secretPoint":{"offsetPointList":[{"x":14,"y":-5,"z":46},{"x":15,"y":-5,"z":46},{"x":16,"y":-5,"z":46},{"x":17,"y":-5,"z":46},{"x":18,"y":-5,"z":46},{"x":14,"y":-5,"z":47},{"x":15,"y":-5,"z":47},{"x":15,"y":-6,"z":47},{"x":16,"y":-5,"z":47},{"x":16,"y":-6,"z":47},{"x":17,"y":-5,"z":47},{"x":17,"y":-6,"z":47},{"x":18,"y":-5,"z":47},{"x":14,"y":-5,"z":48},{"x":15,"y":-5,"z":48},{"x":15,"y":-6,"z":48},{"x":16,"y":-5,"z":48},{"x":16,"y":-6,"z":48},{"x":16,"y":-7,"z":48},{"x":17,"y":-5,"z":48},{"x":17,"y":-6,"z":48},{"x":18,"y":-5,"z":48},{"x":14,"y":-5,"z":49},{"x":15,"y":-5,"z":49},{"x":15,"y":-6,"z":49},{"x":16,"y":-5,"z":49},{"x":16,"y":-6,"z":49},{"x":17,"y":-5,"z":49},{"x":17,"y":-6,"z":49},{"x":18,"y":-5,"z":49},{"x":14,"y":-5,"z":50},{"x":15,"y":-5,"z":50},{"x":16,"y":-5,"z":50},{"x":17,"y":-5,"z":50},{"x":18,"y":-5,"z":50}]},"preRequisite":["door-1:open","door-2:open","door-3:open"],"mechType":"OnewayDoor"},"journal-1":{"secretPoint":{"x":24,"y":11,"z":36},"preRequisite":[],"mechType":"Journal"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":25,"y":12,"z":12},{"x":25,"y":11,"z":12},{"x":25,"y":10,"z":12},{"x":26,"y":12,"z":12},{"x":26,"y":11,"z":12},{"x":26,"y":10,"z":12}]},"preRequisite":[],"mechType":"BreakableWall"},"lever-3":{"mechType":"OnewayLever","leverPoint":{"x":28,"y":24,"z":60},"preRequisite":[],"triggering":"door-3"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":12,"y":-13,"z":28},"secretType":"ITEM_DROP","preRequisite":["composed-1:open"]},"lever-1-2":{"mechType":"OnewayLever","leverPoint":{"x":16,"y":7,"z":61},"preRequisite":[],"triggering":"door-1"},"lever-1-1":{"mechType":"OnewayLever","leverPoint":{"x":29,"y":7,"z":48},"preRequisite":[],"triggering":"door-1"},"essence-1":{"mechType":"Secret","secretPoint":{"x":28,"y":10,"z":7},"secretType":"ESSENCE","preRequisite":[]},"lever-1-3":{"mechType":"OnewayLever","leverPoint":{"x":3,"y":7,"z":48},"preRequisite":[],"triggering":"door-1"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/25956a46-7094-4a9e-b5d9-c9f8291ffef4.json b/src/main/resources/dgroomdata/25956a46-7094-4a9e-b5d9-c9f8291ffef4.json new file mode 100644 index 0000000..dc936ff --- /dev/null +++ b/src/main/resources/dgroomdata/25956a46-7094-4a9e-b5d9-c9f8291ffef4.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":50,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,139,98,139,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,109,109,98,98,109,109,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,139,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,0,98,0,0,0,0,98,1,1,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,0,18,0,18,18,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,109,109,98,98,109,109,98,1,98,0,0,0,0,0,139,98,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,1,98,109,109,1,109,98,1,109,0,0,0,0,9,1,1,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,17,85,0,58,17,0,0,98,98,0,0,0,0,0,139,98,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,17,0,0,0,17,50,0,0,0,0,0,0,0,0,0,0,0,144,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,98,98,4,1,109,109,98,0,0,0,0,0,139,98,98,109,109,109,1,98,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,4,1,1,4,1,1,1,1,0,0,0,0,0,98,98,98,109,98,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,118,0,0,0,0,0,118,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,68,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,144,0,0,0,0,0,0,0,0,0,0,0,0,0,144,109,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,1,98,98,0,0,0,0,0,109,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,109,1,1,0,0,0,0,0,109,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,98,98,98,0,0,0,0,0,109,109,109,0,0,0,0,0,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,159,159,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,9,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,144,0,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,109,1,98,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,44,109,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,98,0,0,98,0,0,98,109,109,1,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,98,0,0,0,0,0,0,109,144,0,109,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,109,159,159,0,0,0,0,0,0,0,0,0,0,188,159,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,159,109,0,144,98,0,0,0,0,0,0,188,159,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,144,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,159,159,159,0,0,0,0,0,0,0,101,159,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,159,159,98,44,144,109,0,0,0,0,0,0,98,109,44,109,1,4,109,44,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,0,139,0,0,0,0,0,0,0,134,5,5,0,135,5,17,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,109,109,109,0,0,0,0,0,0,0,0,134,134,5,0,135,135,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,68,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,44,144,44,109,98,0,0,0,0,0,50,1,0,144,109,-1,-1,-1,-1,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,159,159,1,0,0,0,0,0,17,98,159,159,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,109,1,159,109,0,0,0,0,0,0,109,159,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,98,0,0,0,0,0,0,109,0,0,0,109,159,144,0,0,0,0,0,0,109,159,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,0,0,0,0,0,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,139,109,0,0,0,0,159,0,126,126,0,0,0,0,98,159,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,144,98,0,0,98,0,0,98,98,98,109,98,98,144,50,0,144,98,109,0,0,0,0,159,0,126,126,0,0,0,0,98,159,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,139,1,109,0,0,0,109,159,159,159,159,109,139,0,0,0,144,159,44,0,0,0,0,0,0,109,159,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,109,0,0,0,0,0,0,109,159,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,44,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,109,0,0,0,0,0,0,98,4,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"25956a46-7094-4a9e-b5d9-c9f8291ffef4","name":"Chambers","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":58,"y":-1,"z":59},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":3,"y":13,"z":48},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":48,"y":-13,"z":10},"secretType":"CHEST","preRequisite":[]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":38,"y":1,"z":8},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":29,"y":1,"z":59},{"x":29,"y":0,"z":59},{"x":29,"y":-1,"z":59},{"x":29,"y":1,"z":60},{"x":29,"y":0,"z":60},{"x":29,"y":-1,"z":60}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":58,"y":13,"z":30},"secretType":"BAT","preRequisite":[]},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":17,"y":14,"z":37},{"x":17,"y":13,"z":37},{"x":17,"y":12,"z":37},{"x":17,"y":11,"z":37},{"x":17,"y":14,"z":38},{"x":17,"y":13,"z":38},{"x":17,"y":12,"z":38},{"x":17,"y":11,"z":38}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-4":{"mechType":"Secret","secretPoint":{"x":41,"y":-1,"z":56},"secretType":"CHEST","preRequisite":["door-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":56,"y":3,"z":52},{"x":56,"y":2,"z":52},{"x":56,"y":1,"z":52},{"x":56,"y":0,"z":52},{"x":56,"y":-1,"z":52},{"x":57,"y":3,"z":52},{"x":57,"y":2,"z":52},{"x":57,"y":1,"z":52},{"x":57,"y":0,"z":52},{"x":57,"y":-1,"z":52},{"x":58,"y":3,"z":52},{"x":58,"y":2,"z":52},{"x":58,"y":1,"z":52},{"x":58,"y":0,"z":52},{"x":58,"y":-1,"z":52},{"x":59,"y":3,"z":52},{"x":59,"y":2,"z":52},{"x":59,"y":1,"z":52},{"x":59,"y":0,"z":52},{"x":59,"y":-1,"z":52}]},"preRequisite":[],"mechType":"BreakableWall"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":36,"y":21,"z":56},{"x":36,"y":20,"z":56},{"x":37,"y":21,"z":56},{"x":37,"y":20,"z":56},{"x":38,"y":21,"z":56},{"x":38,"y":20,"z":56},{"x":36,"y":21,"z":57},{"x":36,"y":20,"z":57},{"x":37,"y":21,"z":57},{"x":37,"y":20,"z":57},{"x":38,"y":21,"z":57},{"x":38,"y":20,"z":57},{"x":36,"y":21,"z":58},{"x":36,"y":20,"z":58},{"x":37,"y":21,"z":58},{"x":37,"y":20,"z":58},{"x":38,"y":21,"z":58},{"x":38,"y":20,"z":58},{"x":36,"y":21,"z":59},{"x":36,"y":20,"z":59},{"x":37,"y":21,"z":59},{"x":37,"y":20,"z":59},{"x":38,"y":21,"z":59},{"x":38,"y":20,"z":59},{"x":36,"y":21,"z":60},{"x":36,"y":20,"z":60},{"x":37,"y":21,"z":60},{"x":37,"y":20,"z":60},{"x":38,"y":21,"z":60},{"x":38,"y":20,"z":60}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":45,"y":21,"z":56},{"x":45,"y":20,"z":56},{"x":46,"y":21,"z":56},{"x":46,"y":20,"z":56},{"x":47,"y":21,"z":56},{"x":47,"y":20,"z":56},{"x":45,"y":21,"z":57},{"x":45,"y":20,"z":57},{"x":46,"y":21,"z":57},{"x":46,"y":20,"z":57},{"x":47,"y":21,"z":57},{"x":47,"y":20,"z":57},{"x":45,"y":21,"z":58},{"x":45,"y":20,"z":58},{"x":46,"y":21,"z":58},{"x":46,"y":20,"z":58},{"x":47,"y":21,"z":58},{"x":47,"y":20,"z":58},{"x":45,"y":21,"z":59},{"x":45,"y":20,"z":59},{"x":46,"y":21,"z":59},{"x":46,"y":20,"z":59},{"x":47,"y":21,"z":59},{"x":47,"y":20,"z":59},{"x":45,"y":21,"z":60},{"x":45,"y":20,"z":60},{"x":46,"y":21,"z":60},{"x":46,"y":20,"z":60},{"x":47,"y":21,"z":60},{"x":47,"y":20,"z":60}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":46,"y":21,"z":37},{"x":46,"y":20,"z":37},{"x":47,"y":21,"z":37},{"x":47,"y":20,"z":37},{"x":48,"y":21,"z":37},{"x":48,"y":20,"z":37},{"x":46,"y":21,"z":38},{"x":46,"y":20,"z":38},{"x":47,"y":21,"z":38},{"x":47,"y":20,"z":38},{"x":48,"y":21,"z":38},{"x":48,"y":20,"z":38},{"x":46,"y":21,"z":39},{"x":46,"y":20,"z":39},{"x":47,"y":21,"z":39},{"x":47,"y":20,"z":39},{"x":48,"y":21,"z":39},{"x":48,"y":20,"z":39},{"x":46,"y":21,"z":40},{"x":46,"y":20,"z":40},{"x":47,"y":21,"z":40},{"x":47,"y":20,"z":40},{"x":48,"y":21,"z":40},{"x":48,"y":20,"z":40},{"x":46,"y":21,"z":41},{"x":46,"y":20,"z":41},{"x":47,"y":21,"z":41},{"x":47,"y":20,"z":41},{"x":48,"y":21,"z":41},{"x":48,"y":20,"z":41}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":24,"y":-4,"z":47},{"x":24,"y":-5,"z":47},{"x":25,"y":-4,"z":47},{"x":25,"y":-5,"z":47},{"x":26,"y":-4,"z":47},{"x":26,"y":-5,"z":47},{"x":27,"y":-4,"z":47},{"x":27,"y":-5,"z":47},{"x":28,"y":-4,"z":47},{"x":28,"y":-5,"z":47},{"x":24,"y":-4,"z":48},{"x":24,"y":-5,"z":48},{"x":25,"y":-4,"z":48},{"x":25,"y":-5,"z":48},{"x":26,"y":-4,"z":48},{"x":26,"y":-5,"z":48},{"x":27,"y":-4,"z":48},{"x":27,"y":-5,"z":48},{"x":28,"y":-4,"z":48},{"x":28,"y":-5,"z":48},{"x":24,"y":-4,"z":49},{"x":24,"y":-5,"z":49},{"x":25,"y":-4,"z":49},{"x":25,"y":-5,"z":49},{"x":26,"y":-4,"z":49},{"x":26,"y":-5,"z":49},{"x":27,"y":-4,"z":49},{"x":27,"y":-5,"z":49},{"x":28,"y":-4,"z":49},{"x":28,"y":-5,"z":49}]},"preRequisite":[],"mechType":"Tomb"},"prince-1":{"secretPoint":{"offsetPointList":[{"x":34,"y":21,"z":43},{"x":34,"y":20,"z":43},{"x":35,"y":21,"z":43},{"x":35,"y":20,"z":43},{"x":36,"y":21,"z":43},{"x":36,"y":20,"z":43},{"x":37,"y":21,"z":43},{"x":37,"y":20,"z":43},{"x":38,"y":21,"z":43},{"x":38,"y":20,"z":43},{"x":39,"y":21,"z":43},{"x":39,"y":20,"z":43},{"x":34,"y":21,"z":44},{"x":34,"y":20,"z":44},{"x":35,"y":21,"z":44},{"x":35,"y":20,"z":44},{"x":36,"y":21,"z":44},{"x":36,"y":20,"z":44},{"x":37,"y":21,"z":44},{"x":37,"y":20,"z":44},{"x":38,"y":21,"z":44},{"x":38,"y":20,"z":44},{"x":39,"y":21,"z":44},{"x":39,"y":20,"z":44},{"x":34,"y":21,"z":45},{"x":34,"y":20,"z":45},{"x":35,"y":21,"z":45},{"x":35,"y":20,"z":45},{"x":36,"y":21,"z":45},{"x":36,"y":20,"z":45},{"x":37,"y":21,"z":45},{"x":37,"y":20,"z":45},{"x":38,"y":21,"z":45},{"x":38,"y":20,"z":45},{"x":39,"y":21,"z":45},{"x":39,"y":20,"z":45}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/296fd7ea-4ac5-46e5-beb9-5d27019e3796.json b/src/main/resources/dgroomdata/296fd7ea-4ac5-46e5-beb9-5d27019e3796.json new file mode 100644 index 0000000..6d5d81c --- /dev/null +++ b/src/main/resources/dgroomdata/296fd7ea-4ac5-46e5-beb9-5d27019e3796.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":15,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,159,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,0,0,101,0,98,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,98,1,4,4,4,4,4,1,98,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,98,0,101,0,0,0,0,0,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,101,0,0,0,0,98,1,1,1,1,4,4,1,48,1,4,4,1,1,1,1,98,0,0,0,0,101,0,0,0,0,0,0,0,0,144,159,1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,1,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,98,101,0,101,98,98,98,1,1,1,1,1,1,4,4,4,98,98,98,0,50,98,0,0,0,98,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,98,0,0,0,98,50,0,98,98,98,4,4,4,1,1,1,1,1,1,98,98,98,101,0,101,98,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,98,1,101,101,101,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,98,98,98,98,98,98,98,98,0,0,0,98,98,98,98,109,98,0,0,0,98,98,98,109,98,1,1,1,1,1,98,1,4,4,4,4,4,1,98,1,1,1,1,1,98,109,98,98,98,0,0,0,98,109,98,98,98,98,0,0,0,98,98,98,98,98,98,98,98,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,101,101,101,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,98,98,0,0,0,98,98,0,0,0,98,0,0,0,98,0,0,0,98,98,1,1,1,1,98,4,1,4,44,4,1,4,98,1,1,1,1,98,98,0,0,0,98,0,0,0,98,0,0,0,98,98,0,0,0,98,98,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,1,1,98,1,44,44,44,44,44,1,98,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,159,44,44,44,44,0,44,44,44,44,159,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,44,44,0,0,0,0,0,44,44,159,159,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,0,0,0,0,139,139,98,109,109,109,98,139,139,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,98,0,0,0,0,0,0,0,98,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,139,139,98,109,109,109,98,139,139,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,139,139,1,98,1,1,1,139,139,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,139,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,139,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,139,139,1,1,1,98,1,139,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,1,98,1,1,1,1,1,1,1,98,1,0,0,0,0,4,1,4,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,109,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,109,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,4,1,4,0,0,0,0,1,98,1,1,1,1,1,1,1,98,1,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,109,0,0,0,0,0,4,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,4,0,0,0,0,0,109,1,1,1,1,1,1,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,1,1,1,169,1,1,98,109,0,0,0,0,0,48,1,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,1,48,0,0,0,0,0,109,98,1,1,169,1,1,1,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,109,0,0,0,0,0,4,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,4,0,0,0,0,0,109,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,1,98,1,1,1,1,1,1,1,98,1,0,0,0,0,48,1,4,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,98,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,98,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,4,1,48,0,0,0,0,1,98,1,1,1,1,1,1,1,98,1,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,139,139,1,98,1,1,1,139,139,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,139,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,139,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,139,139,1,1,1,98,1,139,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,0,0,0,0,139,139,98,109,109,109,98,139,139,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,98,0,0,0,0,0,0,0,98,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,139,139,98,109,109,109,98,139,139,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,44,44,0,0,0,0,0,44,44,159,159,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,159,44,44,44,44,0,44,44,44,44,159,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,1,1,98,48,44,44,44,44,44,48,98,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,98,98,0,0,0,98,98,0,0,0,98,0,0,0,98,0,0,0,98,1,1,1,1,1,98,4,4,1,44,1,4,4,98,1,1,1,1,1,98,0,0,0,98,0,0,0,98,0,0,0,98,98,0,0,0,98,98,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,0,101,101,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,98,98,109,109,109,98,98,98,0,0,0,98,98,98,98,98,98,0,0,0,98,98,98,98,98,1,1,1,1,1,98,4,1,1,1,1,1,4,98,1,1,1,1,1,98,98,98,98,98,0,0,0,98,98,98,98,98,98,0,0,0,98,98,98,109,109,109,98,98,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,101,101,0,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,101,0,101,98,98,98,1,1,1,1,1,1,4,4,48,1,0,0,50,1,98,0,0,0,98,1,0,0,0,1,1,1,1,1,4,4,4,1,1,1,4,4,4,1,1,1,1,1,0,0,0,1,98,0,0,0,98,1,50,0,0,1,48,4,4,1,1,1,1,1,1,98,98,98,101,0,101,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,144,159,109,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,98,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,98,1,1,1,4,4,1,1,1,1,1,4,4,1,1,1,98,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,98,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,101,0,1,1,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,98,4,1,4,4,4,1,4,98,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,1,0,101,0,0,0,0,0,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"296fd7ea-4ac5-46e5-beb9-5d27019e3796","name":"Mossy","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":48,"y":19,"z":5},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":3,"y":-1,"z":5},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":64,"y":25,"z":16},"secretType":"CHEST","preRequisite":[]},"fairysoul-4":{"secretPoint":{"x":71,"y":12,"z":16},"preRequisite":[],"mechType":"Fairysoul"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":64,"y":0,"z":30},"preRequisite":["crypt-1:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":56,"y":25,"z":3},{"x":56,"y":24,"z":3},{"x":56,"y":23,"z":3},{"x":56,"y":22,"z":3},{"x":56,"y":21,"z":3},{"x":56,"y":20,"z":3},{"x":56,"y":19,"z":3},{"x":56,"y":25,"z":4},{"x":56,"y":24,"z":4},{"x":56,"y":23,"z":4},{"x":56,"y":22,"z":4},{"x":56,"y":21,"z":4},{"x":56,"y":20,"z":4},{"x":56,"y":19,"z":4},{"x":56,"y":25,"z":5},{"x":56,"y":24,"z":5},{"x":56,"y":23,"z":5},{"x":56,"y":22,"z":5},{"x":56,"y":21,"z":5},{"x":56,"y":20,"z":5},{"x":56,"y":19,"z":5},{"x":56,"y":25,"z":6},{"x":56,"y":24,"z":6},{"x":56,"y":23,"z":6},{"x":56,"y":22,"z":6},{"x":56,"y":21,"z":6},{"x":56,"y":20,"z":6},{"x":56,"y":19,"z":6}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":78,"y":17,"z":10},"secretType":"BAT","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":63,"y":2,"z":2},{"x":63,"y":1,"z":2},{"x":64,"y":2,"z":2},{"x":64,"y":1,"z":2},{"x":65,"y":2,"z":2},{"x":65,"y":1,"z":2},{"x":63,"y":2,"z":3},{"x":63,"y":1,"z":3},{"x":64,"y":2,"z":3},{"x":64,"y":1,"z":3},{"x":65,"y":2,"z":3},{"x":65,"y":1,"z":3},{"x":63,"y":2,"z":4},{"x":63,"y":1,"z":4},{"x":64,"y":2,"z":4},{"x":64,"y":1,"z":4},{"x":65,"y":2,"z":4},{"x":65,"y":1,"z":4},{"x":63,"y":2,"z":5},{"x":63,"y":1,"z":5},{"x":64,"y":2,"z":5},{"x":64,"y":1,"z":5},{"x":65,"y":2,"z":5},{"x":65,"y":1,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":63,"y":2,"z":27},{"x":63,"y":1,"z":27},{"x":64,"y":2,"z":27},{"x":64,"y":1,"z":27},{"x":65,"y":2,"z":27},{"x":65,"y":1,"z":27},{"x":63,"y":2,"z":28},{"x":63,"y":1,"z":28},{"x":64,"y":2,"z":28},{"x":64,"y":1,"z":28},{"x":65,"y":2,"z":28},{"x":65,"y":1,"z":28},{"x":63,"y":2,"z":29},{"x":63,"y":1,"z":29},{"x":64,"y":2,"z":29},{"x":64,"y":1,"z":29},{"x":65,"y":2,"z":29},{"x":65,"y":1,"z":29},{"x":63,"y":2,"z":30},{"x":63,"y":1,"z":30},{"x":64,"y":2,"z":30},{"x":64,"y":1,"z":30},{"x":65,"y":2,"z":30},{"x":65,"y":1,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":1,"z":8},{"x":6,"y":0,"z":8},{"x":6,"y":-1,"z":8},{"x":6,"y":2,"z":9},{"x":6,"y":1,"z":9},{"x":6,"y":0,"z":9},{"x":6,"y":-1,"z":9},{"x":6,"y":0,"z":10},{"x":6,"y":-1,"z":10}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/2b5cb4ef-00a3-4aae-baec-d2094a158d60.json b/src/main/resources/dgroomdata/2b5cb4ef-00a3-4aae-baec-d2094a158d60.json new file mode 100644 index 0000000..8174fb3 --- /dev/null +++ b/src/main/resources/dgroomdata/2b5cb4ef-00a3-4aae-baec-d2094a158d60.json @@ -0,0 +1,1403 @@ +{ + "isUserMade": false, + "shape": 1, + "color": 63, + "blocks": [ + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 159, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 159, + 159, + 159, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 44, + 144, + 0, + 1, + 1, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 126, + 0, + 0, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 4, + 50, + 0, + 0, + 0, + 98, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 4, + 5, + 0, + 0, + 0, + 98, + -1, + 0, + 0, + 0, + 44, + 98, + 44, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 134, + 188, + 0, + 98, + 98, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 159, + 1, + 109, + 109, + 109, + 98, + 1, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 50, + 0, + 98, + 98, + 0, + 0, + 98, + 98, + 139, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 139, + 98, + 98, + 0, + 0, + 98, + 98, + 0, + 50, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 98, + 98, + 0, + 0, + 98, + 98, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 98, + 98, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 43, + 43, + 43, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 0, + 0, + 98, + 98, + 0, + 0, + 98, + 44, + 0, + 0, + 0, + 43, + 169, + 43, + 0, + 0, + 0, + 98, + 98, + 0, + 0, + 98, + 98, + 0, + 0, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 50, + 0, + 98, + 98, + 0, + 0, + 98, + 0, + 0, + 50, + 0, + 43, + 43, + 43, + 0, + 50, + 0, + 98, + 98, + 0, + 0, + 98, + 98, + 0, + 50, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 159, + 159, + 159, + 159, + 159, + 169, + 159, + 159, + 159, + 1, + 1, + 1, + 1, + 159, + 159, + 48, + 48, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 43, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 48, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 48, + 48, + 1, + 1, + 48, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 48, + 1, + 1, + 48, + 48, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 48, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ], + [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ] + ], + "uuid": "2b5cb4ef-00a3-4aae-baec-d2094a158d60", + "name": "Sloth", + "processorId": "default", + "properties": {}, + "mechanics": { + "itemdrop-1": { + "mechType": "Secret", + "secretPoint": { + "x": 9, + "y": -1, + "z": 10 + }, + "secretType": "ITEM_DROP", + "preRequisite": [ + "superboom-1:open" + ] + }, + "prince-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 12, + "y": 2, + "z": 26 + }, + { + "x": 12, + "y": 1, + "z": 26 + }, + { + "x": 13, + "y": 2, + "z": 26 + }, + { + "x": 13, + "y": 1, + "z": 26 + }, + { + "x": 14, + "y": 2, + "z": 26 + }, + { + "x": 14, + "y": 1, + "z": 26 + }, + { + "x": 12, + "y": 2, + "z": 27 + }, + { + "x": 12, + "y": 1, + "z": 27 + }, + { + "x": 13, + "y": 2, + "z": 27 + }, + { + "x": 13, + "y": 1, + "z": 27 + }, + { + "x": 14, + "y": 2, + "z": 27 + }, + { + "x": 14, + "y": 1, + "z": 27 + }, + { + "x": 12, + "y": 2, + "z": 28 + }, + { + "x": 12, + "y": 1, + "z": 28 + }, + { + "x": 13, + "y": 2, + "z": 28 + }, + { + "x": 13, + "y": 1, + "z": 28 + }, + { + "x": 14, + "y": 2, + "z": 28 + }, + { + "x": 14, + "y": 1, + "z": 28 + }, + { + "x": 12, + "y": 2, + "z": 29 + }, + { + "x": 12, + "y": 1, + "z": 29 + }, + { + "x": 13, + "y": 2, + "z": 29 + }, + { + "x": 13, + "y": 1, + "z": 29 + }, + { + "x": 14, + "y": 2, + "z": 29 + }, + { + "x": 14, + "y": 1, + "z": 29 + }, + { + "x": 12, + "y": 2, + "z": 30 + }, + { + "x": 12, + "y": 1, + "z": 30 + }, + { + "x": 13, + "y": 2, + "z": 30 + }, + { + "x": 13, + "y": 1, + "z": 30 + }, + { + "x": 14, + "y": 2, + "z": 30 + }, + { + "x": 14, + "y": 1, + "z": 30 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "journal-1": { + "secretPoint": { + "x": 7, + "y": -1, + "z": 8 + }, + "preRequisite": [ + "superboom-1:open" + ], + "mechType": "Journal" + }, + "superboom-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 11, + "y": 3, + "z": 8 + }, + { + "x": 11, + "y": 2, + "z": 8 + }, + { + "x": 11, + "y": 1, + "z": 8 + }, + { + "x": 11, + "y": 0, + "z": 8 + }, + { + "x": 11, + "y": -1, + "z": 8 + }, + { + "x": 11, + "y": 2, + "z": 9 + }, + { + "x": 11, + "y": 1, + "z": 9 + }, + { + "x": 11, + "y": 0, + "z": 9 + }, + { + "x": 11, + "y": -1, + "z": 9 + } + ] + }, + "preRequisite": [], + "mechType": "BreakableWall" + } + }, + "totalSecrets": 1 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/2ccc73b5-883f-4436-9b8f-1a32123b2cb9.json b/src/main/resources/dgroomdata/2ccc73b5-883f-4436-9b8f-1a32123b2cb9.json new file mode 100644 index 0000000..a5b9979 --- /dev/null +++ b/src/main/resources/dgroomdata/2ccc73b5-883f-4436-9b8f-1a32123b2cb9.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,103,103,0,0,0,0,103,103,103,0,0,0,0,98,98,1,1,50,0,0,0,159,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,103,0,0,0,0,0,0,0,0,0,0,0,0,98,159,0,0,0,0,0,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,144,0,0,144,0,98,159,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,17,103,0,0,0,103,17,0,0,0,0,0,17,98,159,0,0,0,0,0,0,0,0,50,1,-1,-1,-1,-1],[-1,-1,-1,-1,103,103,0,0,0,0,103,103,103,0,0,0,0,98,159,0,0,0,0,0,0,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,103,0,0,0,0,0,103,103,0,0,0,103,103,98,159,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,103,103,98,159,0,144,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,1,50,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,48,4,4,48,4,48,4,4,48,4,4,98,98,109,98,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,1,0,0,0,1,1,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,50,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,109,0,0,0,109,109,0,0,0,1,44,0,0,0,0,0,0,0,0,0,0,50,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,98,98,4,4,48,98,98,4,4,48,98,98,98,98,0,0,0,0,0,0,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,50,98,98,98,98,109,0,0,0,98,98,139,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,98,109,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,1,0,0,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,109,0,0,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,50,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,0,0,0,0,0,159,159,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,1,1,0,0,0,159,1,1,35,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"2ccc73b5-883f-4436-9b8f-1a32123b2cb9","name":"Dueces","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":3,"y":8,"z":16},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":11,"y":0,"z":7},"secretType":"ITEM_DROP","preRequisite":["superboom-2:open"]},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":6,"y":8,"z":27},{"x":6,"y":7,"z":27},{"x":7,"y":8,"z":27},{"x":7,"y":7,"z":27},{"x":8,"y":8,"z":27},{"x":8,"y":7,"z":27},{"x":6,"y":8,"z":28},{"x":6,"y":7,"z":28},{"x":7,"y":8,"z":28},{"x":7,"y":7,"z":28},{"x":8,"y":8,"z":28},{"x":8,"y":7,"z":28},{"x":6,"y":8,"z":29},{"x":6,"y":7,"z":29},{"x":7,"y":8,"z":29},{"x":7,"y":7,"z":29},{"x":8,"y":8,"z":29},{"x":8,"y":7,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":11,"y":8,"z":27},{"x":11,"y":7,"z":27},{"x":12,"y":8,"z":27},{"x":12,"y":7,"z":27},{"x":13,"y":8,"z":27},{"x":13,"y":7,"z":27},{"x":11,"y":8,"z":28},{"x":11,"y":7,"z":28},{"x":12,"y":8,"z":28},{"x":12,"y":7,"z":28},{"x":13,"y":8,"z":28},{"x":13,"y":7,"z":28},{"x":11,"y":8,"z":29},{"x":11,"y":7,"z":29},{"x":12,"y":8,"z":29},{"x":12,"y":7,"z":29},{"x":13,"y":8,"z":29},{"x":13,"y":7,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":16,"y":8,"z":27},{"x":16,"y":7,"z":27},{"x":17,"y":8,"z":27},{"x":17,"y":7,"z":27},{"x":18,"y":8,"z":27},{"x":18,"y":7,"z":27},{"x":16,"y":8,"z":28},{"x":16,"y":7,"z":28},{"x":17,"y":8,"z":28},{"x":17,"y":7,"z":28},{"x":18,"y":8,"z":28},{"x":18,"y":7,"z":28},{"x":16,"y":8,"z":29},{"x":16,"y":7,"z":29},{"x":17,"y":8,"z":29},{"x":17,"y":7,"z":29},{"x":18,"y":8,"z":29},{"x":18,"y":7,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"bat-1":{"mechType":"Secret","secretPoint":{"x":9,"y":4,"z":8},"secretType":"BAT","preRequisite":["superboom-2:open"]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":6,"y":8,"z":12},{"x":6,"y":7,"z":12},{"x":7,"y":8,"z":12},{"x":7,"y":7,"z":12},{"x":8,"y":8,"z":12},{"x":8,"y":7,"z":12},{"x":9,"y":8,"z":12},{"x":9,"y":7,"z":12},{"x":10,"y":8,"z":12},{"x":10,"y":7,"z":12},{"x":11,"y":8,"z":12},{"x":11,"y":7,"z":12},{"x":6,"y":8,"z":13},{"x":6,"y":7,"z":13},{"x":7,"y":8,"z":13},{"x":7,"y":7,"z":13},{"x":8,"y":8,"z":13},{"x":8,"y":7,"z":13},{"x":9,"y":8,"z":13},{"x":9,"y":7,"z":13},{"x":10,"y":8,"z":13},{"x":10,"y":7,"z":13},{"x":11,"y":8,"z":13},{"x":11,"y":7,"z":13}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":3,"y":8,"z":6},{"x":3,"y":7,"z":6},{"x":4,"y":8,"z":6},{"x":4,"y":7,"z":6},{"x":5,"y":8,"z":6},{"x":5,"y":7,"z":6},{"x":6,"y":8,"z":6},{"x":6,"y":7,"z":6},{"x":7,"y":8,"z":6},{"x":7,"y":7,"z":6},{"x":3,"y":8,"z":7},{"x":3,"y":7,"z":7},{"x":4,"y":8,"z":7},{"x":4,"y":7,"z":7},{"x":5,"y":8,"z":7},{"x":5,"y":7,"z":7},{"x":6,"y":8,"z":7},{"x":6,"y":7,"z":7},{"x":7,"y":8,"z":7},{"x":7,"y":7,"z":7},{"x":3,"y":8,"z":8},{"x":3,"y":7,"z":8},{"x":4,"y":8,"z":8},{"x":4,"y":7,"z":8},{"x":5,"y":8,"z":8},{"x":5,"y":7,"z":8},{"x":6,"y":8,"z":8},{"x":6,"y":7,"z":8},{"x":7,"y":8,"z":8},{"x":7,"y":7,"z":8},{"x":3,"y":8,"z":9},{"x":3,"y":7,"z":9},{"x":4,"y":8,"z":9},{"x":4,"y":7,"z":9},{"x":5,"y":8,"z":9},{"x":5,"y":7,"z":9},{"x":6,"y":8,"z":9},{"x":6,"y":7,"z":9},{"x":7,"y":8,"z":9},{"x":7,"y":7,"z":9}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":8,"z":2},{"x":6,"y":7,"z":2},{"x":7,"y":8,"z":2},{"x":7,"y":7,"z":2},{"x":8,"y":8,"z":2},{"x":8,"y":7,"z":2},{"x":9,"y":8,"z":2},{"x":9,"y":7,"z":2},{"x":10,"y":8,"z":2},{"x":10,"y":7,"z":2},{"x":11,"y":8,"z":2},{"x":11,"y":7,"z":2},{"x":6,"y":8,"z":3},{"x":6,"y":7,"z":3},{"x":7,"y":8,"z":3},{"x":7,"y":7,"z":3},{"x":8,"y":8,"z":3},{"x":8,"y":7,"z":3},{"x":9,"y":8,"z":3},{"x":9,"y":7,"z":3},{"x":10,"y":8,"z":3},{"x":10,"y":7,"z":3},{"x":11,"y":8,"z":3},{"x":11,"y":7,"z":3}]},"preRequisite":[],"mechType":"Tomb"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":18,"y":2,"z":3},{"x":18,"y":1,"z":3},{"x":18,"y":0,"z":3},{"x":18,"y":-1,"z":3}]},"preRequisite":[],"mechType":"BreakableWall"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":12,"y":11,"z":15},{"x":12,"y":10,"z":15},{"x":12,"y":9,"z":15},{"x":12,"y":11,"z":16},{"x":12,"y":10,"z":16},{"x":12,"y":9,"z":16},{"x":12,"y":11,"z":17},{"x":12,"y":10,"z":17},{"x":12,"y":9,"z":17}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/2d9705f3-2e69-4035-905d-6b11d6ee270b.json b/src/main/resources/dgroomdata/2d9705f3-2e69-4035-905d-6b11d6ee270b.json new file mode 100644 index 0000000..8d5458b --- /dev/null +++ b/src/main/resources/dgroomdata/2d9705f3-2e69-4035-905d-6b11d6ee270b.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":273,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,67,0,0,0,0,109,98,98,109,0,0,0,0,0,109,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,67,0,0,0,0,109,1,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,98,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,101,0,0,0,98,159,144,0,0,0,0,0,0,0,144,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,101,0,0,0,98,159,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,67,50,98,0,0,0,98,159,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,50,98,1,159,159,159,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,98,0,0,0,98,0,98,109,0,0,0,0,0,109,98,0,98,144,0,0,98,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,1,0,144,0,1,50,98,109,0,0,0,0,0,109,98,50,98,0,0,0,98,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,159,159,159,98,98,98,98,0,0,0,0,0,98,98,98,1,159,159,159,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,98,98,98,98,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,0,0,0,0,98,98,109,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,18,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,98,4,98,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,109,98,1,4,44,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,109,98,1,4,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,1,1,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,98,98,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,1,4,67,67,4,67,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,0,0,0,109,98,98,109,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,0,0,0,109,1,98,109,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,1,109,0,0,0,0,0,0,0,109,98,98,109,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,109,98,98,109,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,67,67,67,98,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,1,4,1,98,109,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,1,4,1,98,109,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,1,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,109,0,0,0,0,0,0,0,109,1,98,0,0,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,109,109,98,98,0,0,0,0,0,98,98,98,98,98,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,139,1,139,0,0,98,98,0,0,0,0,0,98,98,0,0,139,1,139,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,139,0,0,0,139,139,0,0,0,0,0,139,139,0,0,0,139,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,44,44,44,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,44,0,0,0,0,0,44,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,0,0,0,44,0,0,0,0,0,44,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,44,50,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,0,50,44,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,0,98,50,0,0,0,0,0,0,0,0,0,0,0,50,98,144,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,1,44,0,139,98,0,0,0,0,0,139,139,0,44,1,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"2d9705f3-2e69-4035-905d-6b11d6ee270b","name":"Wizard","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":5,"y":22,"z":18},"secretType":"CHEST","preRequisite":["superboom-3:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":7,"y":19,"z":91},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"crystal-1":{"mechType":"Secret","secretPoint":{"x":5,"y":-7,"z":90},"secretType":"ESSENCE","preRequisite":[]},"superboom-3":{"secretPoint":{"offsetPointList":[{"x":11,"y":25,"z":5},{"x":11,"y":24,"z":5},{"x":11,"y":23,"z":5},{"x":11,"y":22,"z":5},{"x":11,"y":21,"z":5},{"x":11,"y":25,"z":6},{"x":11,"y":24,"z":6},{"x":11,"y":23,"z":6},{"x":11,"y":22,"z":6},{"x":11,"y":21,"z":6},{"x":11,"y":25,"z":7},{"x":11,"y":24,"z":7},{"x":11,"y":23,"z":7},{"x":11,"y":22,"z":7},{"x":11,"y":21,"z":7},{"x":11,"y":25,"z":8},{"x":11,"y":24,"z":8},{"x":11,"y":23,"z":8},{"x":11,"y":22,"z":8},{"x":11,"y":21,"z":8}]},"preRequisite":[],"mechType":"BreakableWall"},"bat-1":{"mechType":"Secret","secretPoint":{"x":23,"y":-16,"z":28},"secretType":"BAT","preRequisite":[]},"journal-1":{"secretPoint":{"x":8,"y":0,"z":3},"preRequisite":["superboom-1:open"],"mechType":"Journal"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":5,"y":16,"z":75},{"x":5,"y":15,"z":75},{"x":5,"y":14,"z":75},{"x":5,"y":13,"z":75},{"x":5,"y":12,"z":75},{"x":5,"y":11,"z":75},{"x":6,"y":16,"z":75},{"x":6,"y":15,"z":75},{"x":6,"y":14,"z":75},{"x":6,"y":13,"z":75},{"x":6,"y":12,"z":75},{"x":6,"y":11,"z":75},{"x":7,"y":16,"z":75},{"x":7,"y":15,"z":75},{"x":7,"y":14,"z":75},{"x":7,"y":13,"z":75},{"x":7,"y":12,"z":75},{"x":7,"y":11,"z":75},{"x":8,"y":16,"z":75},{"x":8,"y":15,"z":75},{"x":8,"y":14,"z":75},{"x":8,"y":13,"z":75},{"x":8,"y":12,"z":75},{"x":8,"y":11,"z":75},{"x":9,"y":16,"z":75},{"x":9,"y":15,"z":75},{"x":9,"y":14,"z":75},{"x":9,"y":13,"z":75},{"x":9,"y":12,"z":75},{"x":9,"y":11,"z":75}]},"preRequisite":[],"mechType":"BreakableWall"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":7,"y":3,"z":11},{"x":7,"y":2,"z":11},{"x":7,"y":1,"z":11},{"x":7,"y":0,"z":11},{"x":7,"y":-1,"z":11},{"x":8,"y":3,"z":11},{"x":8,"y":2,"z":11},{"x":8,"y":1,"z":11},{"x":8,"y":0,"z":11},{"x":8,"y":-1,"z":11},{"x":9,"y":3,"z":11},{"x":9,"y":2,"z":11},{"x":9,"y":1,"z":11},{"x":9,"y":0,"z":11},{"x":9,"y":-1,"z":11}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":9,"y":6,"z":4},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"Wizard(blessing)":{"secretPoint":{"x":27,"y":20,"z":5},"preRequisite":["crystal-1:found"],"mechType":"Npc"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":15,"y":19,"z":58},{"x":15,"y":18,"z":58},{"x":16,"y":19,"z":58},{"x":16,"y":18,"z":58},{"x":17,"y":19,"z":58},{"x":17,"y":18,"z":58},{"x":15,"y":19,"z":59},{"x":15,"y":18,"z":59},{"x":16,"y":19,"z":59},{"x":16,"y":18,"z":59},{"x":17,"y":19,"z":59},{"x":17,"y":18,"z":59}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":15,"y":12,"z":17},{"x":15,"y":11,"z":17},{"x":16,"y":12,"z":17},{"x":16,"y":11,"z":17},{"x":17,"y":12,"z":17},{"x":17,"y":11,"z":17},{"x":15,"y":12,"z":18},{"x":15,"y":11,"z":18},{"x":16,"y":12,"z":18},{"x":16,"y":11,"z":18},{"x":17,"y":12,"z":18},{"x":17,"y":11,"z":18},{"x":15,"y":12,"z":19},{"x":15,"y":11,"z":19},{"x":16,"y":12,"z":19},{"x":16,"y":11,"z":19},{"x":17,"y":12,"z":19},{"x":17,"y":11,"z":19},{"x":15,"y":12,"z":20},{"x":15,"y":11,"z":20},{"x":16,"y":12,"z":20},{"x":16,"y":11,"z":20},{"x":17,"y":12,"z":20},{"x":17,"y":11,"z":20}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":20,"y":12,"z":17},{"x":20,"y":11,"z":17},{"x":21,"y":12,"z":17},{"x":21,"y":11,"z":17},{"x":22,"y":12,"z":17},{"x":22,"y":11,"z":17},{"x":20,"y":12,"z":18},{"x":20,"y":11,"z":18},{"x":21,"y":12,"z":18},{"x":21,"y":11,"z":18},{"x":22,"y":12,"z":18},{"x":22,"y":11,"z":18},{"x":20,"y":12,"z":19},{"x":20,"y":11,"z":19},{"x":21,"y":12,"z":19},{"x":21,"y":11,"z":19},{"x":22,"y":12,"z":19},{"x":22,"y":11,"z":19},{"x":20,"y":12,"z":20},{"x":20,"y":11,"z":20},{"x":21,"y":12,"z":20},{"x":21,"y":11,"z":20},{"x":22,"y":12,"z":20},{"x":22,"y":11,"z":20}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":25,"y":12,"z":17},{"x":25,"y":11,"z":17},{"x":26,"y":12,"z":17},{"x":26,"y":11,"z":17},{"x":27,"y":12,"z":17},{"x":27,"y":11,"z":17},{"x":25,"y":12,"z":18},{"x":25,"y":11,"z":18},{"x":26,"y":12,"z":18},{"x":26,"y":11,"z":18},{"x":27,"y":12,"z":18},{"x":27,"y":11,"z":18},{"x":25,"y":12,"z":19},{"x":25,"y":11,"z":19},{"x":26,"y":12,"z":19},{"x":26,"y":11,"z":19},{"x":27,"y":12,"z":19},{"x":27,"y":11,"z":19},{"x":25,"y":12,"z":20},{"x":25,"y":11,"z":20},{"x":26,"y":12,"z":20},{"x":26,"y":11,"z":20},{"x":27,"y":12,"z":20},{"x":27,"y":11,"z":20}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/2f7927cc-4ce0-4f02-a81a-88d5709248e8.json b/src/main/resources/dgroomdata/2f7927cc-4ce0-4f02-a81a-88d5709248e8.json new file mode 100644 index 0000000..07ab98f --- /dev/null +++ b/src/main/resources/dgroomdata/2f7927cc-4ce0-4f02-a81a-88d5709248e8.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,159,67,67,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,159,67,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,0,0,0,101,0,0,0,0,0,0,0,0,0,188,50,0,0,159,67,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,67,67,4,4,109,50,0,0,0,0,0,0,0,5,136,136,0,159,4,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,4,67,1,109,109,0,0,0,0,0,0,0,0,5,5,5,98,1,4,101,101,101,4,-1,-1,-1,-1],[-1,-1,-1,-1,139,50,5,5,1,0,0,0,0,0,0,0,0,0,0,0,134,5,5,109,109,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,53,53,0,0,0,0,0,0,0,0,0,0,0,0,134,5,5,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,134,134,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,164,164,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,136,5,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,5,5,50,139,1,0,0,0,0,0,0,0,0,0,109,109,0,0,0,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,4,67,4,98,109,0,144,0,0,0,144,109,1,4,0,101,101,4,1,4,101,101,101,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,159,159,159,159,159,159,159,159,159,1,67,0,0,0,67,1,67,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,109,144,0,0,0,144,0,109,98,4,1,67,0,0,0,67,1,67,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,50,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,4,1,4,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,17,0,0,0,0,0,0,0,0,44,4,4,67,67,4,1,1,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,109,0,0,0,0,0,0,0,0,67,4,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"2f7927cc-4ce0-4f02-a81a-88d5709248e8","name":"Tomioka","processorId":"default","properties":{},"mechanics":{"fairysoul-2":{"secretPoint":{"x":7,"y":-1,"z":28},"preRequisite":[],"mechType":"Fairysoul"},"Tomioka":{"secretPoint":{"x":5,"y":5,"z":4},"preRequisite":[],"mechType":"Npc"}},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/31749ba0-8b9d-4129-b3c9-ee78d9fdb9d7.json b/src/main/resources/dgroomdata/31749ba0-8b9d-4129-b3c9-ee78d9fdb9d7.json new file mode 100644 index 0000000..caec3a8 --- /dev/null +++ b/src/main/resources/dgroomdata/31749ba0-8b9d-4129-b3c9-ee78d9fdb9d7.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":4369,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,109,98,0,0,0,0,0,109,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,4,98,98,109,109,109,109,109,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,1,1,98,1,98,98,1,1,98,1,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,1,1,1,1,1,98,1,1,1,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,1,1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,98,98,98,98,98,1,1,1,1,98,1,1,98,98,98,98,98,4,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,4,98,109,109,109,98,98,98,98,109,109,109,109,109,109,109,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,98,0,0,0,98,109,98,98,0,0,0,0,0,0,0,98,98,44,0,98,0,44,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,44,109,109,44,0,0,44,98,98,0,0,0,0,0,0,0,139,98,109,44,98,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,98,98,109,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,98,44,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,18,0,18,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,98,98,109,0,0,0,0,0,0,0,0,0,0,159,18,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,159,0,0,0,0,0,0,0,0,0,109,98,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,144,0,159,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,144,0,0,0,0,0,0,0,0,0,109,98,109,0,106,106,18,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,98,98,0,0,0,0,0,0,0,0,0,0,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,159,98,44,0,0,0,0,0,0,0,0,0,0,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,98,98,139,0,0,0,0,0,139,98,98,98,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,98,98,139,0,0,0,0,0,98,98,98,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,98,0,0,0,0,0,0,0,0,0,0,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,98,0,0,0,0,0,0,0,0,0,0,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,98,98,0,0,0,0,0,0,0,0,0,0,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,98,98,98,139,0,0,0,0,0,98,98,98,98,98,98,4,98,98,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,98,98,139,0,0,0,0,0,139,139,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,109,98,98,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,109,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,159,159,98,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,98,44,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,139,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,139,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,98,98,44,0,98,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,44,44,98,139,0,0,0,0,0,0,0,0,109,98,159,159,98,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,4,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,98,98,98,98,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,4,98,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,0,0,0,98,1,1,0,0,0,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,1,1,1,109,109,109,98,0,0,0,0,0,0,0,0,0,98,1,1,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,98,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,98,1,1,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,98,50,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,98,98,98,98,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,159,98,44,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,109,1,1,1,1,98,0,0,0,0,0,0,0,0,0,98,0,159,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,159,44,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,98,98,109,0,0,0,0,0,0,0,0,0,0,98,0,159,98,1,50,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,159,98,1,1,0,17,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,159,98,1,1,98,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,98,98,98,98,98,98,0,0,0,0,0,0,0,50,98,98,98,98,98,98,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,139,0,0,0,139,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,109,109,98,98,109,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,98,98,98,44,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,98,98,98,109,0,0,0,0,0,0,98,98,98,98,98,109,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,4,98,98,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,109,0,0,0,0,0,0,0,98,98,159,98,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,44,0,0,0,0,0,0,0,98,1,159,159,159,1,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,44,0,0,0,0,0,0,0,44,1,144,0,0,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,98,98,98,109,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,109,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,4,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,98,1,0,144,0,1,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,4,1,0,0,0,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,139,98,98,159,159,159,98,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,4,98,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,98,98,98,109,0,0,0,0,0,0,0,0,109,98,4,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,98,0,0,0,0,0,0,0,0,109,98,98,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,1,1,98,98,98,98,98,0,0,0,0,0,0,139,98,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,109,109,109,98,1,98,98,98,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,98,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,50,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,98,0,0,0,98,98,0,0,0,0,0,0,0,0,109,98,109,109,98,98,98,98,98,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,98,98,98,139,0,0,0,0,0,0,98,98,98,98,98,98,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,139,98,0,0,0,0,0,0,0,98,98,4,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,139,98,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,109,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,4,139,0,0,0,0,0,0,0,109,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,109,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"31749ba0-8b9d-4129-b3c9-ee78d9fdb9d7","name":"Hallway","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":28,"y":-1,"z":29},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":26,"y":-1,"z":55},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":25,"y":15,"z":86},"secretType":"CHEST","preRequisite":[]},"door-1":{"secretPoint":{"offsetPointList":[{"x":28,"y":2,"z":74},{"x":28,"y":1,"z":74},{"x":28,"y":0,"z":74},{"x":28,"y":-1,"z":74},{"x":29,"y":2,"z":74},{"x":29,"y":1,"z":74},{"x":29,"y":0,"z":74},{"x":29,"y":-1,"z":74}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":11,"y":6,"z":93},"preRequisite":[],"triggering":"door-1"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":25,"y":7,"z":5},{"x":25,"y":6,"z":5},{"x":26,"y":7,"z":5},{"x":26,"y":6,"z":5},{"x":27,"y":7,"z":5},{"x":27,"y":6,"z":5},{"x":25,"y":7,"z":6},{"x":25,"y":6,"z":6},{"x":26,"y":7,"z":6},{"x":26,"y":6,"z":6},{"x":27,"y":7,"z":6},{"x":27,"y":6,"z":6},{"x":25,"y":7,"z":7},{"x":25,"y":6,"z":7},{"x":26,"y":7,"z":7},{"x":26,"y":6,"z":7},{"x":27,"y":7,"z":7},{"x":27,"y":6,"z":7},{"x":25,"y":7,"z":8},{"x":25,"y":6,"z":8},{"x":26,"y":7,"z":8},{"x":26,"y":6,"z":8},{"x":27,"y":7,"z":8},{"x":27,"y":6,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":25,"y":5,"z":28},{"x":25,"y":5,"z":29},{"x":26,"y":5,"z":29},{"x":25,"y":5,"z":30},{"x":26,"y":5,"z":30},{"x":25,"y":5,"z":31},{"x":26,"y":5,"z":31},{"x":25,"y":5,"z":32},{"x":26,"y":5,"z":32}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/31766264-1004-492f-9d65-cb5deaff82f0.json b/src/main/resources/dgroomdata/31766264-1004-492f-9d65-cb5deaff82f0.json new file mode 100644 index 0000000..fd21227 --- /dev/null +++ b/src/main/resources/dgroomdata/31766264-1004-492f-9d65-cb5deaff82f0.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,126,0,0,0,17,98,98,0,17,0,0,67,98,98,50,0,0,98,139,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,98,17,0,0,0,126,0,17,0,0,0,17,0,18,67,67,0,0,0,0,0,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,98,17,0,0,0,126,0,17,0,0,0,17,18,18,18,67,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,126,17,17,17,17,17,17,17,0,0,0,17,0,0,67,67,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,126,0,18,126,0,17,18,0,0,17,0,0,67,67,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,126,0,0,18,18,17,17,17,17,17,17,17,17,67,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,126,126,0,18,18,17,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,17,17,17,17,17,17,17,17,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,17,0,17,0,98,98,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,134,0,134,0,98,98,0,0,0,0,0,0,0,0,18,139,139,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,51,51,139,139,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,18,0,0,1,98,0,0,0,0,0,0,0,51,51,98,139,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,1,1,139,139,0,0,0,0,0,139,139,50,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,98,1,1,1,1,139,50,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,109,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,76,0,0,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,0,0,0,0,0,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"31766264-1004-492f-9d65-cb5deaff82f0","name":"double-diamond","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":20,"y":12,"z":20},"secretType":"CHEST","preRequisite":["door-1:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":19,"y":14,"z":19},{"x":19,"y":13,"z":19},{"x":19,"y":12,"z":19},{"x":19,"y":14,"z":20},{"x":19,"y":13,"z":20},{"x":19,"y":12,"z":20},{"x":19,"y":14,"z":21},{"x":19,"y":13,"z":21},{"x":19,"y":12,"z":21}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":27,"y":18,"z":7},"preRequisite":[],"triggering":"door-1"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":24,"y":-5,"z":7},"secretType":"ITEM_DROP","preRequisite":[""]},"essence-1":{"mechType":"Secret","secretPoint":{"x":7,"y":-1,"z":25},"secretType":"ESSENCE","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":0,"z":24},{"x":11,"y":-1,"z":24},{"x":11,"y":1,"z":25},{"x":11,"y":0,"z":25},{"x":11,"y":-1,"z":25},{"x":11,"y":1,"z":26},{"x":11,"y":0,"z":26},{"x":11,"y":-1,"z":26}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/3406a386-c56d-47de-a0ad-aa0ab74d2abb.json b/src/main/resources/dgroomdata/3406a386-c56d-47de-a0ad-aa0ab74d2abb.json new file mode 100644 index 0000000..07e6f4c --- /dev/null +++ b/src/main/resources/dgroomdata/3406a386-c56d-47de-a0ad-aa0ab74d2abb.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,13,1,1,0,0,0,0,0,0,0,0,0,0,0,0,139,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,67,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,44,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,67,0,0,85,0,0,85,0,0,0,0,85,0,0,0,0,85,0,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,13,44,144,0,0,44,98,164,164,0,0,0,0,0,0,0,0,0,159,159,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,159,159,159,159,159,0,5,5,5,0,0,0,0,0,0,0,0,159,159,44,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,159,159,159,159,159,0,5,5,136,0,0,0,0,0,0,0,144,159,159,44,139,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,159,159,159,159,159,0,5,134,0,0,0,0,0,0,0,0,44,159,159,144,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,109,44,144,0,109,98,0,0,85,0,0,0,0,0,0,0,44,159,159,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,44,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,144,44,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,13,50,0,0,0,0,85,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,98,109,44,144,0,144,44,109,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,98,159,159,159,159,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,109,109,44,144,0,0,44,109,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,1,1,67,139,0,0,0,0,0,17,0,0,0,0,0,98,44,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,1,67,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,159,44,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,139,4,13,164,164,5,0,0,0,0,0,0,0,0,0,0,159,159,159,144,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,4,13,5,164,164,0,0,0,0,0,0,0,0,0,144,159,159,159,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,67,1,1,1,0,0,0,0,0,0,0,0,0,50,44,159,159,159,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,67,1,1,1,0,0,0,0,17,126,126,126,126,17,109,159,159,159,44,17,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,67,1,1,1,98,98,-1,-1,67,4,4,4,67,67,4,4,4,4,67,67,4,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,1,4,67,4,98,98,98,98,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,98,0,0,50,98,0,0,0,98,0,144,159,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"3406a386-c56d-47de-a0ad-aa0ab74d2abb","name":"Chains","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":14,"y":16,"z":17},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":4,"y":-1,"z":21},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":3,"z":25},{"x":11,"y":2,"z":25},{"x":12,"y":3,"z":25},{"x":12,"y":2,"z":25},{"x":12,"y":1,"z":25},{"x":12,"y":0,"z":25},{"x":12,"y":-1,"z":25},{"x":13,"y":1,"z":25},{"x":13,"y":0,"z":25},{"x":13,"y":-1,"z":25}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/340c5665-e59b-42c1-bf84-8fc03d38981f.json b/src/main/resources/dgroomdata/340c5665-e59b-42c1-bf84-8fc03d38981f.json new file mode 100644 index 0000000..32ca744 --- /dev/null +++ b/src/main/resources/dgroomdata/340c5665-e59b-42c1-bf84-8fc03d38981f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":17,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,35,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,159,159,159,35,35,0,0,144,159,1,18,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,139,1,1,1,1,1,1,35,159,159,1,1,1,98,139,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,1,98,98,98,109,109,98,98,98,98,98,98,98,98,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,1,98,1,0,0,0,0,0,1,98,98,98,1,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,1,139,0,0,0,0,0,0,0,1,4,1,1,159,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,4,4,0,0,0,0,0,0,0,139,139,98,159,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,17,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,4,139,0,0,0,0,0,0,0,4,139,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,139,139,4,0,0,0,0,0,0,0,139,1,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,98,50,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,50,0,0,0,0,43,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,139,4,0,0,0,0,0,0,0,139,4,98,67,67,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,4,139,0,0,0,0,0,0,0,4,139,98,67,4,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,98,4,4,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,1,0,0,0,0,0,0,0,0,0,0,0,98,1,4,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,1,1,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,50,98,0,0,0,0,0,0,0,0,0,0,0,98,1,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,98,1,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,4,139,0,0,0,0,0,0,0,139,4,98,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,9,0,0,67,67,98,139,4,0,0,0,0,0,0,0,139,139,98,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,4,1,1,44,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,109,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,98,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,98,139,0,0,0,0,0,0,0,139,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,139,4,4,0,0,0,0,0,0,0,139,139,98,7,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,7,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,35,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,35,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,35,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,159,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,139,139,0,0,0,0,0,0,0,139,4,98,159,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,4,139,0,0,0,0,0,0,0,4,139,98,159,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,98,1,1,1,0,0,0,0,0,1,1,1,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,1,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,139,35,1,1,1,1,1,1,1,1,7,0,98,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,35,35,35,1,1,1,35,35,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,35,0,0,0,0,0,0,0,0,0,35,159,35,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"340c5665-e59b-42c1-bf84-8fc03d38981f","name":"Crypt","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":5,"y":16,"z":45},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":15,"y":11,"z":3},"secretType":"CHEST","preRequisite":[]},"fairysoul-3":{"secretPoint":{"x":15,"y":5,"z":9},"preRequisite":[],"mechType":"Fairysoul"},"chest-1":{"mechType":"Secret","secretPoint":{"x":16,"y":-10,"z":14},"secretType":"CHEST","preRequisite":["crypt-1:open"]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":16,"y":18,"z":46},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":25,"y":19,"z":29},{"x":25,"y":18,"z":29},{"x":26,"y":19,"z":29},{"x":26,"y":18,"z":29},{"x":27,"y":19,"z":29},{"x":27,"y":18,"z":29},{"x":25,"y":19,"z":30},{"x":25,"y":18,"z":30},{"x":26,"y":19,"z":30},{"x":26,"y":18,"z":30},{"x":27,"y":19,"z":30},{"x":27,"y":18,"z":30},{"x":25,"y":19,"z":31},{"x":25,"y":18,"z":31},{"x":26,"y":19,"z":31},{"x":26,"y":18,"z":31},{"x":27,"y":19,"z":31},{"x":27,"y":18,"z":31}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-2,"z":32},{"x":15,"y":-3,"z":32},{"x":16,"y":-2,"z":32},{"x":16,"y":-3,"z":32},{"x":17,"y":-2,"z":32},{"x":17,"y":-3,"z":32},{"x":15,"y":-2,"z":33},{"x":15,"y":-3,"z":33},{"x":16,"y":-2,"z":33},{"x":16,"y":-3,"z":33},{"x":17,"y":-2,"z":33},{"x":17,"y":-3,"z":33},{"x":15,"y":-2,"z":34},{"x":15,"y":-3,"z":34},{"x":16,"y":-2,"z":34},{"x":16,"y":-3,"z":34},{"x":17,"y":-2,"z":34},{"x":17,"y":-3,"z":34},{"x":15,"y":-2,"z":35},{"x":15,"y":-3,"z":35},{"x":16,"y":-2,"z":35},{"x":16,"y":-3,"z":35},{"x":17,"y":-2,"z":35},{"x":17,"y":-3,"z":35}]},"preRequisite":[],"mechType":"Tomb"},"journal-1":{"secretPoint":{"x":5,"y":16,"z":56},"preRequisite":[],"mechType":"Journal"},"chest-4":{"mechType":"Secret","secretPoint":{"x":29,"y":19,"z":20},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":23,"y":21,"z":16},{"x":23,"y":20,"z":16},{"x":24,"y":21,"z":16},{"x":24,"y":20,"z":16},{"x":24,"y":19,"z":16},{"x":24,"y":18,"z":16},{"x":25,"y":22,"z":16},{"x":25,"y":21,"z":16},{"x":25,"y":20,"z":16},{"x":25,"y":19,"z":16},{"x":25,"y":18,"z":16},{"x":26,"y":22,"z":16},{"x":26,"y":20,"z":16},{"x":26,"y":19,"z":16},{"x":26,"y":18,"z":16}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/34639497-d991-4137-83c4-db0a25542b71.json b/src/main/resources/dgroomdata/34639497-d991-4137-83c4-db0a25542b71.json new file mode 100644 index 0000000..ede4241 --- /dev/null +++ b/src/main/resources/dgroomdata/34639497-d991-4137-83c4-db0a25542b71.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,159,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,0,0,4,0,0,4,0,0,0,0,0,4,0,0,4,0,0,4,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,159,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,134,17,0,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,1,67,67,67,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,17,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,67,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,4,0,0,4,0,0,4,0,0,0,0,0,4,0,0,4,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,159,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"34639497-d991-4137-83c4-db0a25542b71","name":"Cages","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":20,"y":-12,"z":8},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":29,"y":15,"z":7},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":17,"y":-10,"z":7},{"x":17,"y":-11,"z":7},{"x":17,"y":-12,"z":7},{"x":17,"y":-13,"z":7},{"x":17,"y":-10,"z":8},{"x":17,"y":-11,"z":8},{"x":17,"y":-12,"z":8},{"x":17,"y":-13,"z":8},{"x":17,"y":-10,"z":9},{"x":17,"y":-11,"z":9},{"x":17,"y":-12,"z":9},{"x":17,"y":-13,"z":9}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":26,"y":28,"z":29},"secretType":"ITEM_DROP","preRequisite":[]}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/35fb741d-b0b1-471a-a5b6-8224f99a1133.json b/src/main/resources/dgroomdata/35fb741d-b0b1-471a-a5b6-8224f99a1133.json new file mode 100644 index 0000000..2d86e16 --- /dev/null +++ b/src/main/resources/dgroomdata/35fb741d-b0b1-471a-a5b6-8224f99a1133.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,0,69,50,98,1,98,4,50,0,0,0,0,0,0,109,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,98,-1,0,0,0,0,0,0,0,109,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,197,0,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,23,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,0,0,0,98,98,98,98,98,0,0,0,0,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,101,101,101,98,98,109,98,98,0,0,0,0,1,109,98,1,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,109,98,0,0,0,109,109,139,50,0,0,0,0,0,0,144,139,98,98,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,159,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,0,0,0,1,98,139,0,0,0,0,0,0,0,0,0,109,109,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,101,101,101,1,98,101,101,101,98,98,98,98,109,109,98,0,0,0,109,109,109,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,0,0,0,98,1,139,0,0,98,98,0,0,0,98,98,18,3,3,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,35,35,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"35fb741d-b0b1-471a-a5b6-8224f99a1133","name":"long-hall","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":29,"y":11,"z":26},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":29,"y":12,"z":16},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":19,"y":-8,"z":24},"secretType":"CHEST","preRequisite":["crypt-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":11,"y":0,"z":4},"preRequisite":["superboom-1:open::::::::"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":10,"y":18,"z":21},{"x":10,"y":17,"z":21},{"x":10,"y":16,"z":21},{"x":10,"y":15,"z":21},{"x":10,"y":14,"z":21},{"x":11,"y":18,"z":21},{"x":11,"y":17,"z":21},{"x":11,"y":16,"z":21},{"x":11,"y":15,"z":21},{"x":11,"y":14,"z":21},{"x":12,"y":18,"z":21},{"x":12,"y":17,"z":21},{"x":12,"y":16,"z":21},{"x":12,"y":15,"z":21},{"x":12,"y":14,"z":21}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":5,"y":7,"z":5},{"x":5,"y":6,"z":5},{"x":6,"y":7,"z":5},{"x":6,"y":6,"z":5},{"x":7,"y":7,"z":5},{"x":7,"y":6,"z":5},{"x":5,"y":7,"z":6},{"x":5,"y":6,"z":6},{"x":6,"y":7,"z":6},{"x":6,"y":6,"z":6},{"x":7,"y":7,"z":6},{"x":7,"y":6,"z":6},{"x":5,"y":7,"z":7},{"x":5,"y":6,"z":7},{"x":6,"y":7,"z":7},{"x":6,"y":6,"z":7},{"x":7,"y":7,"z":7},{"x":7,"y":6,"z":7},{"x":5,"y":7,"z":8},{"x":5,"y":6,"z":8},{"x":6,"y":7,"z":8},{"x":6,"y":6,"z":8},{"x":7,"y":7,"z":8},{"x":7,"y":6,"z":8},{"x":5,"y":7,"z":9},{"x":5,"y":6,"z":9},{"x":6,"y":7,"z":9},{"x":6,"y":6,"z":9},{"x":7,"y":7,"z":9},{"x":7,"y":6,"z":9}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":22,"y":0,"z":15},{"x":22,"y":-1,"z":15},{"x":23,"y":0,"z":15},{"x":23,"y":-1,"z":15},{"x":24,"y":0,"z":15},{"x":24,"y":-1,"z":15},{"x":25,"y":0,"z":15},{"x":25,"y":-1,"z":15},{"x":26,"y":0,"z":15},{"x":26,"y":-1,"z":15},{"x":22,"y":0,"z":16},{"x":22,"y":-1,"z":16},{"x":23,"y":0,"z":16},{"x":23,"y":-1,"z":16},{"x":24,"y":0,"z":16},{"x":24,"y":-1,"z":16},{"x":25,"y":0,"z":16},{"x":25,"y":-1,"z":16},{"x":26,"y":0,"z":16},{"x":26,"y":-1,"z":16},{"x":22,"y":0,"z":17},{"x":22,"y":-1,"z":17},{"x":23,"y":0,"z":17},{"x":23,"y":-1,"z":17},{"x":24,"y":0,"z":17},{"x":24,"y":-1,"z":17},{"x":25,"y":0,"z":17},{"x":25,"y":-1,"z":17},{"x":26,"y":0,"z":17},{"x":26,"y":-1,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":0,"z":26},{"x":5,"y":-1,"z":26},{"x":6,"y":0,"z":26},{"x":6,"y":-1,"z":26},{"x":7,"y":0,"z":26},{"x":7,"y":-1,"z":26},{"x":8,"y":0,"z":26},{"x":8,"y":-1,"z":26},{"x":9,"y":0,"z":26},{"x":9,"y":-1,"z":26},{"x":5,"y":0,"z":27},{"x":5,"y":-1,"z":27},{"x":6,"y":0,"z":27},{"x":6,"y":-1,"z":27},{"x":7,"y":0,"z":27},{"x":7,"y":-1,"z":27},{"x":8,"y":0,"z":27},{"x":8,"y":-1,"z":27},{"x":9,"y":0,"z":27},{"x":9,"y":-1,"z":27}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":16,"y":1,"z":5},{"x":16,"y":0,"z":5},{"x":16,"y":-1,"z":5},{"x":16,"y":2,"z":6},{"x":16,"y":1,"z":6},{"x":16,"y":0,"z":6},{"x":16,"y":-1,"z":6},{"x":16,"y":2,"z":7},{"x":16,"y":1,"z":7},{"x":16,"y":0,"z":7},{"x":16,"y":-1,"z":7},{"x":16,"y":1,"z":8},{"x":16,"y":0,"z":8}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/388e95fc-4775-4747-8473-5329fbb8e5cc.json b/src/main/resources/dgroomdata/388e95fc-4775-4747-8473-5329fbb8e5cc.json new file mode 100644 index 0000000..1f932f7 --- /dev/null +++ b/src/main/resources/dgroomdata/388e95fc-4775-4747-8473-5329fbb8e5cc.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,0,0,0,101,0,0,0,0,0,0,0,0,1,1,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,9,0,0,101,0,0,0,0,0,0,0,0,109,109,159,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,0,0,0,101,0,0,0,0,0,0,0,0,144,0,159,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,50,0,0,101,0,0,0,0,0,0,0,0,0,144,159,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,0,0,0,101,0,0,0,0,0,0,0,0,1,1,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,109,109,98,98,98,98,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,18,188,98,98,98,139,0,0,0,0,0,139,139,98,109,109,109,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,4,44,0,0,98,98,0,0,0,0,0,0,0,0,0,101,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,44,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,101,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,4,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,0,0,98,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,18,188,98,98,98,98,0,0,0,0,0,98,98,98,98,98,98,109,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,109,109,98,98,139,98,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,50,0,0,101,0,0,0,0,0,0,0,0,139,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,0,0,0,101,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,144,0,0,101,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,144,0,0,101,0,0,0,0,0,0,0,0,50,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,139,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,1,1,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,44,4,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,0,144,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,109,109,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,1,1,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"388e95fc-4775-4747-8473-5329fbb8e5cc","name":"Cell","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":9,"y":-1,"z":11},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"journal-1":{"secretPoint":{"x":7,"y":-1,"z":13},"preRequisite":["superboom-1:open"],"mechType":"Journal"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":2,"z":11},{"x":11,"y":1,"z":11},{"x":11,"y":3,"z":12},{"x":11,"y":2,"z":12},{"x":11,"y":1,"z":12},{"x":11,"y":0,"z":12},{"x":11,"y":-1,"z":12},{"x":11,"y":3,"z":13},{"x":11,"y":2,"z":13},{"x":11,"y":1,"z":13},{"x":11,"y":0,"z":13},{"x":11,"y":-1,"z":13},{"x":11,"y":2,"z":14},{"x":11,"y":1,"z":14},{"x":11,"y":0,"z":14},{"x":11,"y":-1,"z":14}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/38affd31-fc6f-44cd-a41e-ae7d0589ba0d.json b/src/main/resources/dgroomdata/38affd31-fc6f-44cd-a41e-ae7d0589ba0d.json new file mode 100644 index 0000000..7d51a59 --- /dev/null +++ b/src/main/resources/dgroomdata/38affd31-fc6f-44cd-a41e-ae7d0589ba0d.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,1,1,98,98,98,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,67,67,67,98,98,1,1,1,1,98,67,67,67,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,98,98,0,0,0,98,98,4,4,4,98,98,0,0,0,98,98,4,4,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,17,1,1,98,1,0,0,0,98,1,1,1,1,1,1,0,0,0,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,85,98,1,0,0,0,1,1,0,0,0,98,1,0,0,0,1,1,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,58,58,0,0,0,0,0,0,0,0,0,0,17,0,0,0,17,5,5,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,85,0,0,85,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,85,85,0,0,85,0,85,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,107,0,85,0,85,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,58,58,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,126,126,126,58,58,0,0,0,17,0,85,5,5,17,85,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,126,126,126,1,1,0,0,0,1,98,5,5,125,1,1,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,1,98,1,0,0,0,1,1,1,1,1,98,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,4,4,98,98,4,67,67,98,50,0,0,0,50,98,67,67,4,98,98,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,98,1,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,4,4,1,1,98,98,1,0,0,0,0,0,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,1,4,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,1,4,67,0,0,0,0,0,0,0,1,4,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,1,1,1,4,67,0,0,0,0,0,0,0,1,4,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"38affd31-fc6f-44cd-a41e-ae7d0589ba0d","name":"Steps","processorId":"default","properties":{},"mechanics":{"bat-1":{"mechType":"Secret","secretPoint":{"x":16,"y":6,"z":7},"secretType":"BAT","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":4,"y":2,"z":26},{"x":4,"y":1,"z":26},{"x":5,"y":2,"z":26},{"x":5,"y":1,"z":26},{"x":6,"y":2,"z":26},{"x":6,"y":1,"z":26},{"x":7,"y":2,"z":26},{"x":7,"y":1,"z":26},{"x":4,"y":2,"z":27},{"x":4,"y":1,"z":27},{"x":5,"y":2,"z":27},{"x":5,"y":1,"z":27},{"x":6,"y":2,"z":27},{"x":6,"y":1,"z":27},{"x":7,"y":2,"z":27},{"x":7,"y":1,"z":27},{"x":4,"y":2,"z":28},{"x":4,"y":1,"z":28},{"x":5,"y":2,"z":28},{"x":5,"y":1,"z":28},{"x":6,"y":2,"z":28},{"x":6,"y":1,"z":28},{"x":7,"y":2,"z":28},{"x":7,"y":1,"z":28}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/3acb9949-d252-4f16-9983-a1fcdc38a6cf.json b/src/main/resources/dgroomdata/3acb9949-d252-4f16-9983-a1fcdc38a6cf.json new file mode 100644 index 0000000..01172f0 --- /dev/null +++ b/src/main/resources/dgroomdata/3acb9949-d252-4f16-9983-a1fcdc38a6cf.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,0,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,98,0,0,85,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,1,1,139,50,0,0,0,0,0,0,0,0,85,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,109,109,109,109,109,98,109,109,109,109,109,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,17,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,134,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,134,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,17,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,65,65,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,98,1,1,18,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,159,144,0,0,0,0,0,0,0,0,0,0,0,1,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,109,109,1,159,98,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,139,144,139,0,0,0,0,0,139,0,139,1,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"3acb9949-d252-4f16-9983-a1fcdc38a6cf","name":"overgrown-chains","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":11,"y":16,"z":27},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":27,"y":11,"z":4},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-3,"z":11},{"x":15,"y":-4,"z":11},{"x":16,"y":-3,"z":11},{"x":16,"y":-4,"z":11},{"x":17,"y":-3,"z":11},{"x":17,"y":-4,"z":11},{"x":18,"y":-3,"z":11},{"x":18,"y":-4,"z":11},{"x":19,"y":-3,"z":11},{"x":19,"y":-4,"z":11},{"x":15,"y":-3,"z":12},{"x":15,"y":-4,"z":12},{"x":16,"y":-3,"z":12},{"x":16,"y":-4,"z":12},{"x":17,"y":-3,"z":12},{"x":17,"y":-4,"z":12},{"x":18,"y":-3,"z":12},{"x":18,"y":-4,"z":12},{"x":19,"y":-3,"z":12},{"x":19,"y":-4,"z":12},{"x":15,"y":-3,"z":13},{"x":15,"y":-4,"z":13},{"x":16,"y":-3,"z":13},{"x":16,"y":-4,"z":13},{"x":17,"y":-3,"z":13},{"x":17,"y":-4,"z":13},{"x":18,"y":-3,"z":13},{"x":18,"y":-4,"z":13},{"x":19,"y":-3,"z":13},{"x":19,"y":-4,"z":13}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4067578d-c259-4f89-8b88-a891b2decbbf.json b/src/main/resources/dgroomdata/4067578d-c259-4f89-8b88-a891b2decbbf.json new file mode 100644 index 0000000..e88e0b5 --- /dev/null +++ b/src/main/resources/dgroomdata/4067578d-c259-4f89-8b88-a891b2decbbf.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,159,98,98,0,0,0,0,0,0,0,0,0,0,0,67,1,98,1,-1,-1,-1,98,98,109,109,109,98,98,-1,-1,-1,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,159,0,98,98,0,0,0,0,0,0,0,0,0,0,0,67,98,0,0,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,0,0,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,159,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,0,0,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,0,0,98,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,67,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,18,109,109,0,0,0,0,0,0,0,0,0,67,98,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,44,98,67,0,0,0,0,0,0,0,0,50,109,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,1,109,0,0,0,0,0,0,0,0,0,67,109,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,67,67,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,43,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,50,67,98,0,0,0,0,98,139,0,0,0,0,0,98,1,0,0,0,109,98,98,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,109,1,1,18,0,0,0,67,1,101,101,101,101,98,98,-1,-1,-1,-1,-1,98,98,101,101,101,101,98,98,0,0,0,0,1,98,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,18,1,98,18,18,31,0,98,98,0,0,18,18,98,98,0,0,0,0,0,1,98,31,0,18,18,1,98,18,18,0,31,1,98,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,18,18,18,31,18,18,18,18,0,109,109,0,0,0,0,0,109,109,0,18,18,31,18,18,18,18,18,31,0,18,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,18,0,0,18,18,18,18,109,109,0,0,0,0,0,109,109,0,18,18,0,0,18,0,18,0,18,31,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,18,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,18,0,0,0,0,0,0,50,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,98,0,0,0,0,0,67,4,98,98,98,98,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,98,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,67,67,67,98,98,1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,98,98,109,0,0,0,0,0,0,0,0,50,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,144,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,31,0,0,0,0,0,0,0,0,109,98,0,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,0,0,0,0,0,0,0,109,98,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,4,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,1,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,98,98,109,0,0,0,0,0,0,0,0,4,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,98,98,109,0,0,0,0,0,109,98,98,4,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,98,98,109,0,0,0,0,0,109,98,98,4,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,98,98,109,0,0,0,0,0,0,0,0,4,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,0,0,4,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,18,18,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,0,0,0,0,0,0,109,98,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,31,31,18,0,0,0,0,0,0,0,109,98,0,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,50,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,43,67,0,0,0,0,43,67,139,98,98,98,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,98,98,109,0,0,0,0,0,0,0,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,67,0,0,0,0,44,43,98,98,98,1,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,98,98,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,50,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,18,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,31,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,0,18,0,0,18,18,0,0,109,109,0,0,0,0,0,109,109,0,0,0,18,18,0,18,18,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,18,18,18,18,18,0,18,18,31,109,109,0,0,0,0,0,109,109,31,18,18,18,18,18,18,0,0,31,18,18,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,18,98,98,18,18,0,31,98,98,31,31,18,18,98,1,0,0,0,0,0,98,98,18,18,31,18,98,98,0,31,0,18,98,98,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,18,109,98,98,0,0,0,18,98,98,0,0,0,0,98,98,0,0,0,0,0,98,1,18,0,0,18,98,98,0,0,0,18,98,98,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,18,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,1,1,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,67,67,67,109,109,109,0,0,0,0,0,109,109,109,67,67,67,98,98,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,98,98,109,0,0,0,0,0,109,98,98,1,1,1,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,98,98,109,1,0,0,0,1,109,98,98,1,1,1,98,1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,1,-1,-1,-1,1,1,1,1,1,1,1,98,98,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,0,98,98,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,1,98,98,98,1,1,1,1,1,1,1,98,98,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,98,98,18,18,0,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4067578d-c259-4f89-8b88-a891b2decbbf","name":"Museum","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":49,"y":-8,"z":7},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":35,"y":13,"z":12},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":32,"y":0,"z":61},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":27,"y":14,"z":10},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":30,"y":7,"z":16},{"x":30,"y":6,"z":16},{"x":30,"y":5,"z":16},{"x":30,"y":4,"z":16},{"x":30,"y":3,"z":16},{"x":30,"y":2,"z":16},{"x":30,"y":1,"z":16},{"x":30,"y":0,"z":16},{"x":30,"y":-1,"z":16},{"x":31,"y":7,"z":16},{"x":31,"y":6,"z":16},{"x":31,"y":5,"z":16},{"x":31,"y":4,"z":16},{"x":31,"y":3,"z":16},{"x":31,"y":2,"z":16},{"x":31,"y":1,"z":16},{"x":31,"y":0,"z":16},{"x":31,"y":-1,"z":16},{"x":32,"y":7,"z":16},{"x":32,"y":6,"z":16},{"x":32,"y":5,"z":16},{"x":32,"y":4,"z":16},{"x":32,"y":3,"z":16},{"x":32,"y":2,"z":16},{"x":32,"y":1,"z":16},{"x":32,"y":0,"z":16},{"x":32,"y":-1,"z":16},{"x":33,"y":7,"z":16},{"x":33,"y":6,"z":16},{"x":33,"y":5,"z":16},{"x":33,"y":4,"z":16},{"x":33,"y":3,"z":16},{"x":33,"y":2,"z":16},{"x":33,"y":1,"z":16},{"x":33,"y":0,"z":16},{"x":33,"y":-1,"z":16},{"x":34,"y":7,"z":16},{"x":34,"y":6,"z":16},{"x":34,"y":5,"z":16},{"x":34,"y":4,"z":16},{"x":34,"y":3,"z":16},{"x":34,"y":2,"z":16},{"x":34,"y":1,"z":16},{"x":34,"y":0,"z":16},{"x":34,"y":-1,"z":16}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":44,"y":-2,"z":3},{"x":45,"y":-2,"z":3},{"x":43,"y":-2,"z":4},{"x":44,"y":-2,"z":4},{"x":45,"y":-2,"z":4},{"x":43,"y":-2,"z":5},{"x":44,"y":-2,"z":5},{"x":45,"y":-2,"z":5},{"x":46,"y":-2,"z":5},{"x":43,"y":-2,"z":6},{"x":44,"y":-2,"z":6},{"x":45,"y":-2,"z":6},{"x":46,"y":-2,"z":6},{"x":43,"y":-2,"z":7},{"x":44,"y":-2,"z":7},{"x":45,"y":-2,"z":7},{"x":46,"y":-2,"z":7},{"x":43,"y":-2,"z":8},{"x":44,"y":-2,"z":8},{"x":45,"y":-2,"z":8},{"x":43,"y":-2,"z":9},{"x":44,"y":-2,"z":9},{"x":44,"y":-2,"z":10}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-4":{"mechType":"Secret","secretPoint":{"x":32,"y":0,"z":10},"secretType":"CHEST","preRequisite":["door-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":31,"y":2,"z":58},{"x":31,"y":1,"z":58},{"x":31,"y":0,"z":58},{"x":31,"y":-1,"z":58},{"x":32,"y":3,"z":58},{"x":32,"y":2,"z":58},{"x":32,"y":1,"z":58},{"x":32,"y":0,"z":58},{"x":32,"y":-1,"z":58},{"x":33,"y":3,"z":58},{"x":33,"y":2,"z":58},{"x":33,"y":1,"z":58},{"x":33,"y":0,"z":58},{"x":33,"y":-1,"z":58}]},"preRequisite":[],"mechType":"BreakableWall"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":44,"y":13,"z":3},{"x":44,"y":12,"z":3},{"x":45,"y":13,"z":3},{"x":45,"y":12,"z":3},{"x":46,"y":13,"z":3},{"x":46,"y":12,"z":3},{"x":47,"y":13,"z":3},{"x":47,"y":12,"z":3},{"x":44,"y":13,"z":4},{"x":44,"y":12,"z":4},{"x":45,"y":13,"z":4},{"x":45,"y":12,"z":4},{"x":46,"y":13,"z":4},{"x":46,"y":12,"z":4},{"x":47,"y":13,"z":4},{"x":47,"y":12,"z":4},{"x":44,"y":13,"z":5},{"x":44,"y":12,"z":5},{"x":45,"y":13,"z":5},{"x":45,"y":12,"z":5},{"x":46,"y":13,"z":5},{"x":46,"y":12,"z":5},{"x":47,"y":13,"z":5},{"x":47,"y":12,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":36,"y":13,"z":3},{"x":36,"y":12,"z":3},{"x":37,"y":13,"z":3},{"x":37,"y":12,"z":3},{"x":38,"y":13,"z":3},{"x":38,"y":12,"z":3},{"x":39,"y":13,"z":3},{"x":39,"y":12,"z":3},{"x":36,"y":13,"z":4},{"x":36,"y":12,"z":4},{"x":37,"y":13,"z":4},{"x":37,"y":12,"z":4},{"x":38,"y":13,"z":4},{"x":38,"y":12,"z":4},{"x":39,"y":13,"z":4},{"x":39,"y":12,"z":4},{"x":36,"y":13,"z":5},{"x":36,"y":12,"z":5},{"x":37,"y":13,"z":5},{"x":37,"y":12,"z":5},{"x":38,"y":13,"z":5},{"x":38,"y":12,"z":5},{"x":39,"y":13,"z":5},{"x":39,"y":12,"z":5}]},"preRequisite":[""],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":36,"y":0,"z":3},{"x":36,"y":-1,"z":3},{"x":37,"y":0,"z":3},{"x":37,"y":-1,"z":3},{"x":38,"y":0,"z":3},{"x":38,"y":-1,"z":3},{"x":36,"y":0,"z":4},{"x":36,"y":-1,"z":4},{"x":37,"y":0,"z":4},{"x":37,"y":-1,"z":4},{"x":38,"y":0,"z":4},{"x":38,"y":-1,"z":4},{"x":36,"y":0,"z":5},{"x":36,"y":-1,"z":5},{"x":37,"y":0,"z":5},{"x":37,"y":-1,"z":5},{"x":38,"y":0,"z":5},{"x":38,"y":-1,"z":5},{"x":36,"y":0,"z":6},{"x":36,"y":-1,"z":6},{"x":37,"y":0,"z":6},{"x":37,"y":-1,"z":6},{"x":38,"y":0,"z":6},{"x":38,"y":-1,"z":6},{"x":36,"y":0,"z":7},{"x":36,"y":-1,"z":7},{"x":37,"y":0,"z":7},{"x":37,"y":-1,"z":7},{"x":38,"y":0,"z":7},{"x":38,"y":-1,"z":7}]},"preRequisite":["door-1:open"],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":43,"y":23,"z":54},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":26,"y":0,"z":3},{"x":26,"y":-1,"z":3},{"x":27,"y":0,"z":3},{"x":27,"y":-1,"z":3},{"x":28,"y":0,"z":3},{"x":28,"y":-1,"z":3},{"x":26,"y":0,"z":4},{"x":26,"y":-1,"z":4},{"x":27,"y":0,"z":4},{"x":27,"y":-1,"z":4},{"x":28,"y":0,"z":4},{"x":28,"y":-1,"z":4},{"x":26,"y":0,"z":5},{"x":26,"y":-1,"z":5},{"x":27,"y":0,"z":5},{"x":27,"y":-1,"z":5},{"x":28,"y":0,"z":5},{"x":28,"y":-1,"z":5},{"x":26,"y":0,"z":6},{"x":26,"y":-1,"z":6},{"x":27,"y":0,"z":6},{"x":27,"y":-1,"z":6},{"x":28,"y":0,"z":6},{"x":28,"y":-1,"z":6},{"x":26,"y":0,"z":7},{"x":26,"y":-1,"z":7},{"x":27,"y":0,"z":7},{"x":27,"y":-1,"z":7},{"x":28,"y":0,"z":7},{"x":28,"y":-1,"z":7}]},"preRequisite":["door-1:open"],"mechType":"Tomb"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/40fb4b64-18d7-4301-b899-0da7b1d466c1.json b/src/main/resources/dgroomdata/40fb4b64-18d7-4301-b899-0da7b1d466c1.json new file mode 100644 index 0000000..91d36ec --- /dev/null +++ b/src/main/resources/dgroomdata/40fb4b64-18d7-4301-b899-0da7b1d466c1.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,109,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,109,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,109,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,4,1,1,98,98,98,98,98,98,98,1,1,4,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,0,0,109,109,0,0,0,0,0,0,0,1,98,5,5,1,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,4,0,0,0,0,0,0,17,0,0,17,0,0,17,53,5,5,5,53,0,4,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,139,0,0,0,0,0,0,0,0,0,0,0,0,0,53,5,5,5,53,0,139,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,53,53,53,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,4,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,1,1,0,51,0,0,0,0,0,0,0,0,0,51,0,109,109,109,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,139,4,0,0,0,0,0,139,4,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,139,139,0,0,0,0,0,139,139,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"40fb4b64-18d7-4301-b899-0da7b1d466c1","name":"Perch","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":16,"y":4,"z":2},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":20,"y":6,"z":21},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":20,"y":-9,"z":13},{"x":20,"y":-10,"z":13},{"x":21,"y":-9,"z":13},{"x":21,"y":-10,"z":13},{"x":22,"y":-9,"z":13},{"x":22,"y":-10,"z":13},{"x":23,"y":-9,"z":13},{"x":23,"y":-10,"z":13},{"x":20,"y":-9,"z":14},{"x":20,"y":-10,"z":14},{"x":21,"y":-9,"z":14},{"x":21,"y":-10,"z":14},{"x":22,"y":-9,"z":14},{"x":22,"y":-10,"z":14},{"x":23,"y":-9,"z":14},{"x":23,"y":-10,"z":14},{"x":20,"y":-9,"z":15},{"x":20,"y":-10,"z":15},{"x":21,"y":-9,"z":15},{"x":21,"y":-10,"z":15},{"x":22,"y":-9,"z":15},{"x":22,"y":-10,"z":15},{"x":23,"y":-9,"z":15},{"x":23,"y":-10,"z":15}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/41086d97-5e36-41a5-88ff-d3fb296791ce.json b/src/main/resources/dgroomdata/41086d97-5e36-41a5-88ff-d3fb296791ce.json new file mode 100644 index 0000000..490b89c --- /dev/null +++ b/src/main/resources/dgroomdata/41086d97-5e36-41a5-88ff-d3fb296791ce.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,109,50,0,0,0,0,0,0,50,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,44,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,35,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,67,144,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,35,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,67,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,44,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,35,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,67,144,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,5,67,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,17,0,0,0,0,0,109,98,98,0,0,0,0,109,98,0,0,0,98,98,0,0,0,98,0,0,0,0,0,98,50,17,0,0,0,0,17,163,5,67,109,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,159,159,159,159,159,159,159,159,98,4,4,67,67,4,4,4,4,0,0,0,0,4,4,67,67,109,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,159,159,1,1,1,67,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,109,109,0,0,0,109,109,0,0,0,0,109,1,4,0,0,0,0,67,4,4,1,98,67,0,0,0,4,67,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,1,67,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,4,139,50,0,0,0,58,58,5,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,126,126,109,4,4,17,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,139,0,0,0,0,58,58,164,164,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,126,163,5,4,4,67,67,4,0,0,0,67,67,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,163,163,17,0,0,0,17,0,0,0,50,17,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,98,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,109,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,0,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,109,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,0,159,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,98,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,134,5,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,0,0,0,0,0,98,109,109,109,98,98,98,98,0,44,43,98,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,5,17,0,0,18,0,17,134,134,50,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,159,159,1,98,0,0,0,0,0,98,1,1,1,1,1,1,1,159,159,159,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,4,67,0,0,0,67,4,48,4,44,67,4,4,4,67,67,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,109,109,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,35,35,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,126,126,126,126,126,126,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,126,17,126,126,126,126,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,126,126,126,126,126,126,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,126,126,126,126,126,126,1,1,35,35,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,126,126,126,98,98,98,1,35,35,44,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,66,188,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,126,17,126,98,98,98,1,1,0,0,0,43,1,1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,126,126,126,98,98,98,1,1,0,0,0,44,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,126,126,126,126,1,1,1,1,0,0,0,159,1,1,1,1,1,1,1,1,1,1,35,134,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,126,126,126,126,1,1,1,1,144,0,0,35,1,1,1,1,1,1,1,1,1,1,1,188,188,188,188,188,188,0,0,0,0,0,5,0,0,188,188,188,126,5,5,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,126,17,126,126,1,1,1,1,1,0,35,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,126,126,126,126,1,1,1,1,1,0,35,1,1,1,1,1,1,1,1,1,1,1,1,134,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,35,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,4,4,4,4,0,0,0,4,67,4,101,101,101,4,4,67,4,4,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,66,188,0,0,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,1,1,1,1,18,106,0,1,1,1,1,1,1,1,1,1,1,159,35,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,159,159,159,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,1,1,1,1,1,1,1,159,0,98,98,0,0,0,0,188,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,4,98,98,0,0,0,0,0,98,98,23,98,23,109,109,98,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,35,35,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,98,1,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,67,67,98,98,0,0,0,0,0,98,98,67,67,4,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,18,1,1,1,1,4,67,67,4,1,98,0,0,0,0,0,98,1,4,67,67,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,0,0,0,0,0,98,98,109,109,109,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,18,1,1,1,109,0,0,134,1,1,0,0,0,0,0,1,1,134,134,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,109,109,0,0,0,0,0,109,109,0,164,5,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,1,1,1,109,0,0,0,17,0,0,0,0,0,0,0,17,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,164,0,1,0,0,0,0,0,0,0,4,0,0,0,0,0,0,66,66,66,0,0,1,159,44,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,66,66,0,1,159,0,5,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,171,0,66,18,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,171,1,1,1,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,18,0,1,1,1,1,1,1,1,109,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,126,126,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,50,0,126,126,5,5,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,175,0,0,0,0,0,0,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,136,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,17,5,5,134,17,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,5,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,134,0,0,0,0,0,0,50,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,5,5,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,134,0,0,0,0,0,0,109,98,98,98,0,0,0,0,0,0,0,0,0,0,66,0,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,164,5,188,0,0,0,0,0,5,135,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,109,98,98,98,106,0,0,0,0,0,0,0,0,0,66,0,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,164,5,17,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,17,0,0,0,0,0,0,0,0,1,0,0,188,188,188,188,126,5,5,5,66,66,0,1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,188,1,188,188,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,109,109,109,109,109,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,134,0,0,0,0,0,0,109,98,98,1,98,98,98,109,0,0,0,0,0,0,0,159,159,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"41086d97-5e36-41a5-88ff-d3fb296791ce","name":"Rail-track","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":31,"y":2,"z":35},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":9,"y":-21,"z":61},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":57,"y":-4,"z":7},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"dummy-1":{"secretPoint":{"x":7,"y":-21,"z":11},"preRequisite":[],"mechType":"Dummy"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":40,"y":1,"z":46},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":22,"y":-17,"z":54},{"x":22,"y":-18,"z":54},{"x":22,"y":-19,"z":54},{"x":22,"y":-20,"z":54},{"x":22,"y":-21,"z":54},{"x":22,"y":-17,"z":55},{"x":22,"y":-18,"z":55},{"x":22,"y":-19,"z":55},{"x":22,"y":-20,"z":55},{"x":22,"y":-21,"z":55},{"x":22,"y":-17,"z":56},{"x":22,"y":-18,"z":56},{"x":22,"y":-19,"z":56},{"x":22,"y":-20,"z":56},{"x":22,"y":-21,"z":56},{"x":22,"y":-17,"z":57},{"x":22,"y":-18,"z":57},{"x":22,"y":-19,"z":57},{"x":22,"y":-20,"z":57},{"x":22,"y":-21,"z":57},{"x":22,"y":-17,"z":58},{"x":22,"y":-18,"z":58},{"x":22,"y":-19,"z":58},{"x":22,"y":-20,"z":58},{"x":22,"y":-21,"z":58}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":56,"y":-17,"z":12},"secretType":"BAT","preRequisite":[]},"essences-1":{"mechType":"Secret","secretPoint":{"x":4,"y":-21,"z":11},"secretType":"ESSENCE","preRequisite":["dummy-1:click"]},"chest-4":{"mechType":"Secret","secretPoint":{"x":31,"y":-6,"z":30},"secretType":"CHEST","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":58,"y":-2,"z":5},{"x":59,"y":-2,"z":5},{"x":56,"y":-2,"z":6},{"x":57,"y":-2,"z":6},{"x":58,"y":-2,"z":6},{"x":59,"y":-2,"z":6},{"x":56,"y":-2,"z":7},{"x":57,"y":-2,"z":7},{"x":58,"y":-2,"z":7},{"x":56,"y":-2,"z":8},{"x":57,"y":-2,"z":8},{"x":58,"y":-2,"z":8},{"x":56,"y":-2,"z":9},{"x":57,"y":-2,"z":9}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":28,"y":0,"z":30},"secretType":"ITEM_DROP","preRequisite":[]},"essence-2":{"mechType":"Secret","secretPoint":{"x":26,"y":0,"z":29},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":14,"y":-15,"z":4},{"x":14,"y":-16,"z":4},{"x":15,"y":-15,"z":4},{"x":15,"y":-16,"z":4},{"x":16,"y":-15,"z":4},{"x":16,"y":-16,"z":4},{"x":14,"y":-15,"z":5},{"x":14,"y":-16,"z":5},{"x":15,"y":-15,"z":5},{"x":15,"y":-16,"z":5},{"x":16,"y":-15,"z":5},{"x":16,"y":-16,"z":5},{"x":14,"y":-15,"z":6},{"x":14,"y":-16,"z":6},{"x":15,"y":-15,"z":6},{"x":15,"y":-16,"z":6},{"x":16,"y":-15,"z":6},{"x":16,"y":-16,"z":6},{"x":14,"y":-15,"z":7},{"x":14,"y":-16,"z":7},{"x":15,"y":-15,"z":7},{"x":15,"y":-16,"z":7},{"x":16,"y":-15,"z":7},{"x":16,"y":-16,"z":7}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":9} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/42029218-9142-4286-b184-e17b3734886f.json b/src/main/resources/dgroomdata/42029218-9142-4286-b184-e17b3734886f.json new file mode 100644 index 0000000..2c35902 --- /dev/null +++ b/src/main/resources/dgroomdata/42029218-9142-4286-b184-e17b3734886f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":7,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,4,44,0,0,0,0,0,0,0,139,139,0,0,0,0,0,98,139,0,0,0,0,0,139,98,0,0,0,0,0,139,98,0,109,98,98,109,109,0,0,0,98,0,0,0,0,0,0,98,98,98,98,98,98,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,4,98,1,1,1,1,1,1,1,159,159,159,159,1,1,4,44,0,0,0,0,0,0,0,98,139,0,0,0,0,0,139,98,139,0,0,0,0,139,98,0,0,0,0,0,98,139,0,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,98,98,98,1,1,1,1,1,1,1,159,159,159,159,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,98,98,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,98,98,98,1,1,1,98,98,98,1,159,159,159,159,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,98,98,98,1,1,1,98,98,98,1,159,159,159,159,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,109,109,0,0,0,0,98,98,98,98,98,98,109,109,109,98,98,98,1,1,144,0,44,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,159,159,159,159,159,159,1,1,98,98,109,0,0,0,98,98,109,109,0,0,0,0,98,98,109,109,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,139,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,98,98,98,4,98,44,98,98,4,0,0,0,0,0,0,0,0,0,0,0,109,109,109,139,98,98,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,109,0,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,98,98,98,98,98,98,4,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,98,98,98,98,98,4,1,1,98,0,0,0,0,0,0,0,0,0,0,0,109,1,1,159,1,98,0,0,0,0,139,4,98,98,0,0,0,0,0,0,0,0,0,0,0,0,139,139,4,98,98,98,4,98,98,101,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,98,98,109,109,109,98,98,98,0,98,98,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,98,98,98,98,98,98,1,1,98,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,98,0,0,0,0,0,4,98,98,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,98,98,98,98,98,98,98,1,1,1,98,0,0,0,98,98,98,44,44,0,44,98,1,1,1,1,98,109,109,109,109,109,98,98,98,109,44,144,0,44,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,109,98,98,98,98,98,1,1,1,98,0,0,0,98,1,159,159,159,159,159,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,159,159,159,159,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,109,98,98,98,98,109,109,98,98,98,0,0,0,98,98,98,98,109,109,109,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,44,144,0,44,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,109,98,109,139,139,0,0,0,0,98,98,0,0,0,0,0,0,0,0,98,98,0,109,1,1,1,1,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,139,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,109,33,23,33,109,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,139,98,0,109,1,1,1,1,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,109,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,139,139,98,4,98,98,98,98,98,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,159,98,98,4,159,159,159,98,98,4,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,154,0,44,98,98,0,0,154,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,154,0,98,109,109,109,0,154,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,98,98,0,98,109,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,1,98,98,98,159,159,159,4,98,4,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,144,0,0,0,144,0,109,1,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,98,98,0,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"42029218-9142-4286-b184-e17b3734886f","name":"Gravel","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":36,"y":-1,"z":12},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":64,"y":-1,"z":27},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":34,"y":2,"z":11},{"x":34,"y":1,"z":11},{"x":34,"y":0,"z":11},{"x":34,"y":-1,"z":11},{"x":34,"y":2,"z":12},{"x":34,"y":1,"z":12},{"x":34,"y":0,"z":12},{"x":34,"y":-1,"z":12},{"x":34,"y":2,"z":13},{"x":34,"y":1,"z":13},{"x":34,"y":0,"z":13},{"x":34,"y":-1,"z":13}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":89,"y":-1,"z":10},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":68,"y":17,"z":13},"secretType":"ITEM_DROP","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":35,"y":22,"z":14},"secretType":"BAT","preRequisite":[]},"essence-2":{"mechType":"Secret","secretPoint":{"x":67,"y":17,"z":15},"secretType":"ESSENCE","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":16,"y":0,"z":6},{"x":16,"y":-1,"z":6},{"x":17,"y":0,"z":6},{"x":17,"y":-1,"z":6},{"x":18,"y":0,"z":6},{"x":18,"y":-1,"z":6},{"x":16,"y":0,"z":7},{"x":16,"y":-1,"z":7},{"x":17,"y":0,"z":7},{"x":17,"y":-1,"z":7},{"x":18,"y":0,"z":7},{"x":18,"y":-1,"z":7},{"x":16,"y":0,"z":8},{"x":16,"y":-1,"z":8},{"x":17,"y":0,"z":8},{"x":17,"y":-1,"z":8},{"x":18,"y":0,"z":8},{"x":18,"y":-1,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":93,"y":-1,"z":4},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":39,"y":19,"z":12},{"x":39,"y":18,"z":12},{"x":40,"y":19,"z":12},{"x":40,"y":18,"z":12},{"x":41,"y":19,"z":12},{"x":41,"y":18,"z":12},{"x":42,"y":19,"z":12},{"x":42,"y":18,"z":12},{"x":39,"y":19,"z":13},{"x":39,"y":18,"z":13},{"x":40,"y":19,"z":13},{"x":40,"y":18,"z":13},{"x":41,"y":19,"z":13},{"x":41,"y":18,"z":13},{"x":42,"y":19,"z":13},{"x":42,"y":18,"z":13},{"x":39,"y":19,"z":14},{"x":39,"y":18,"z":14},{"x":40,"y":19,"z":14},{"x":40,"y":18,"z":14},{"x":41,"y":19,"z":14},{"x":41,"y":18,"z":14},{"x":42,"y":19,"z":14},{"x":42,"y":18,"z":14}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/43c74bd0-77f6-4a2b-8edb-c227a72abf0f.json b/src/main/resources/dgroomdata/43c74bd0-77f6-4a2b-8edb-c227a72abf0f.json new file mode 100644 index 0000000..29c6834 --- /dev/null +++ b/src/main/resources/dgroomdata/43c74bd0-77f6-4a2b-8edb-c227a72abf0f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":17,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,44,1,98,98,101,0,1,98,101,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,67,0,109,0,0,0,0,0,0,98,98,98,1,0,0,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,98,98,98,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,1,1,1,1,98,1,0,0,0,0,0,1,98,1,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,1,1,1,1,98,0,0,0,0,0,0,0,98,98,50,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,98,1,159,159,159,98,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,98,98,0,144,0,1,4,0,0,0,0,0,1,98,1,1,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,0,0,0,98,50,0,0,0,0,0,0,98,98,1,98,-1,-1,-1,-1,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,109,109,139,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,98,0,0,0,0,0,0,0,139,139,0,0,0,0,50,139,139,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,139,98,0,0,0,0,0,0,0,98,98,44,0,0,44,109,98,98,109,44,44,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,50,0,0,0,0,0,0,0,50,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,139,139,0,0,0,0,0,0,0,139,98,0,0,0,0,0,98,139,0,0,0,0,50,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,139,139,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,67,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,139,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,0,0,0,0,139,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,67,67,4,4,1,1,0,0,0,0,0,98,98,67,67,4,4,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"43c74bd0-77f6-4a2b-8edb-c227a72abf0f","name":"Archway","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":29,"y":0,"z":2},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":4,"y":12,"z":11},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":19,"y":19,"z":55},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":19,"y":19,"z":17},{"x":19,"y":18,"z":17},{"x":20,"y":19,"z":17},{"x":20,"y":18,"z":17},{"x":21,"y":19,"z":17},{"x":21,"y":18,"z":17},{"x":22,"y":19,"z":17},{"x":22,"y":18,"z":17},{"x":19,"y":19,"z":18},{"x":19,"y":18,"z":18},{"x":20,"y":19,"z":18},{"x":20,"y":18,"z":18},{"x":21,"y":19,"z":18},{"x":21,"y":18,"z":18},{"x":22,"y":19,"z":18},{"x":22,"y":18,"z":18},{"x":19,"y":19,"z":19},{"x":19,"y":18,"z":19},{"x":20,"y":19,"z":19},{"x":20,"y":18,"z":19},{"x":21,"y":19,"z":19},{"x":21,"y":18,"z":19},{"x":22,"y":19,"z":19},{"x":22,"y":18,"z":19}]},"preRequisite":[],"mechType":"OnewayDoor"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":8,"y":19,"z":17},{"x":8,"y":18,"z":17},{"x":9,"y":19,"z":17},{"x":9,"y":18,"z":17},{"x":10,"y":19,"z":17},{"x":10,"y":18,"z":17},{"x":11,"y":19,"z":17},{"x":11,"y":18,"z":17},{"x":8,"y":19,"z":18},{"x":8,"y":18,"z":18},{"x":9,"y":19,"z":18},{"x":9,"y":18,"z":18},{"x":10,"y":19,"z":18},{"x":10,"y":18,"z":18},{"x":11,"y":19,"z":18},{"x":11,"y":18,"z":18},{"x":8,"y":19,"z":19},{"x":8,"y":18,"z":19},{"x":9,"y":19,"z":19},{"x":9,"y":18,"z":19},{"x":10,"y":19,"z":19},{"x":10,"y":18,"z":19},{"x":11,"y":19,"z":19},{"x":11,"y":18,"z":19}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":13,"y":14,"z":51},{"x":13,"y":13,"z":51},{"x":14,"y":14,"z":51},{"x":14,"y":13,"z":51},{"x":13,"y":14,"z":52},{"x":13,"y":13,"z":52},{"x":14,"y":14,"z":52},{"x":14,"y":13,"z":52},{"x":13,"y":14,"z":53},{"x":13,"y":13,"z":53},{"x":14,"y":14,"z":53},{"x":14,"y":13,"z":53},{"x":13,"y":14,"z":54},{"x":13,"y":13,"z":54},{"x":14,"y":14,"z":54},{"x":14,"y":13,"z":54}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":14,"z":51},{"x":8,"y":13,"z":51},{"x":9,"y":14,"z":51},{"x":9,"y":13,"z":51},{"x":8,"y":14,"z":52},{"x":8,"y":13,"z":52},{"x":9,"y":14,"z":52},{"x":9,"y":13,"z":52},{"x":8,"y":14,"z":53},{"x":8,"y":13,"z":53},{"x":9,"y":14,"z":53},{"x":9,"y":13,"z":53},{"x":8,"y":14,"z":54},{"x":8,"y":13,"z":54},{"x":9,"y":14,"z":54},{"x":9,"y":13,"z":54}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":24,"y":0,"z":12},{"x":25,"y":1,"z":12},{"x":25,"y":0,"z":12},{"x":25,"y":-1,"z":12},{"x":26,"y":2,"z":12},{"x":26,"y":1,"z":12},{"x":26,"y":0,"z":12},{"x":26,"y":-1,"z":12},{"x":27,"y":1,"z":12},{"x":27,"y":0,"z":12}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/44d9b135-d2ca-4350-969e-6e9c34af2fe6.json b/src/main/resources/dgroomdata/44d9b135-d2ca-4350-969e-6e9c34af2fe6.json new file mode 100644 index 0000000..d38915d --- /dev/null +++ b/src/main/resources/dgroomdata/44d9b135-d2ca-4350-969e-6e9c34af2fe6.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,0,0,0,159,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,1,159,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,1,159,109,109,144,0,0,0,0,109,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,0,0,109,109,126,126,0,0,0,109,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,126,126,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,109,1,98,109,109,109,109,0,0,0,0,0,0,144,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,109,98,98,98,98,98,109,0,0,0,0,0,0,0,1,1,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,109,98,98,98,98,98,109,0,0,0,0,0,50,109,109,0,0,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,98,98,98,98,109,0,0,0,0,0,0,109,109,0,144,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,109,109,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,109,109,0,0,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,159,1,1,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,0,0,109,0,0,98,98,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,44,44,98,44,44,98,98,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,44,44,98,44,44,98,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,159,1,159,159,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"44d9b135-d2ca-4350-969e-6e9c34af2fe6","name":"Cage","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":11,"y":2,"z":13},"secretType":"CHEST","preRequisite":[]}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4538898f-8e79-4d53-aae6-08e4df6abb61.json b/src/main/resources/dgroomdata/4538898f-8e79-4d53-aae6-08e4df6abb61.json new file mode 100644 index 0000000..062a086 --- /dev/null +++ b/src/main/resources/dgroomdata/4538898f-8e79-4d53-aae6-08e4df6abb61.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,159,109,109,43,43,109,0,0,85,118,0,0,0,0,0,118,0,0,0,109,98,159,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,109,43,109,50,0,85,0,0,0,0,0,0,0,0,0,0,109,98,0,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,43,1,1,43,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,4,159,109,85,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,85,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,5,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,164,5,5,134,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,109,0,0,164,5,134,134,0,0,0,0,0,0,136,136,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,43,109,164,164,85,0,0,0,85,0,0,0,136,136,0,0,0,17,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,109,0,0,0,0,0,53,53,5,164,5,5,5,0,0,0,0,0,0,118,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,139,0,0,0,0,0,0,0,53,5,5,5,164,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,0,0,0,0,0,0,0,5,164,164,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,0,0,85,0,0,0,85,0,0,0,0,0,0,0,0,17,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,109,109,0,0,0,109,109,0,0,0,0,0,0,0,50,109,109,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,109,0,0,0,98,98,0,0,0,0,0,0,0,0,98,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,0,0,0,98,98,139,139,0,0,0,0,0,0,98,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,159,159,1,98,67,67,4,4,4,67,67,67,98,1,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4538898f-8e79-4d53-aae6-08e4df6abb61","name":"Scaffolding","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":26,"y":12,"z":3},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":13,"y":12,"z":23},"secretType":"ITEM_DROP","preRequisite":[]}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4b5f4983-0453-4402-821c-804f092d1ecd.json b/src/main/resources/dgroomdata/4b5f4983-0453-4402-821c-804f092d1ecd.json new file mode 100644 index 0000000..7527025 --- /dev/null +++ b/src/main/resources/dgroomdata/4b5f4983-0453-4402-821c-804f092d1ecd.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,98,98,1,0,126,126,0,5,164,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,98,98,1,17,5,136,0,164,164,17,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,109,98,98,98,1,5,53,53,5,5,5,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,17,17,65,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,1,1,1,1,1,0,0,0,0,0,0,17,17,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,98,98,1,144,98,98,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,98,98,0,0,98,98,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,98,109,0,0,98,98,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,98,98,0,0,98,98,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,5,5,5,53,53,5,1,98,44,0,44,0,0,0,0,0,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,17,5,136,0,0,50,17,1,98,98,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,136,5,0,0,0,0,1,98,98,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,44,98,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4b5f4983-0453-4402-821c-804f092d1ecd","name":"cobble-wall-pillar","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":13,"y":-9,"z":18},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":29,"y":-10,"z":13},"secretType":"CHEST","preRequisite":["door-1:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":27,"y":-8,"z":12},{"x":27,"y":-9,"z":12},{"x":27,"y":-10,"z":12},{"x":27,"y":-8,"z":13},{"x":27,"y":-9,"z":13},{"x":27,"y":-10,"z":13},{"x":27,"y":-8,"z":14},{"x":27,"y":-9,"z":14},{"x":27,"y":-10,"z":14}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":21,"y":-1,"z":24},"preRequisite":[""],"triggering":"door-1"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":13,"y":-9,"z":15},{"x":13,"y":-10,"z":15},{"x":14,"y":-9,"z":15},{"x":14,"y":-10,"z":15},{"x":15,"y":-9,"z":15},{"x":15,"y":-10,"z":15},{"x":16,"y":-9,"z":15},{"x":16,"y":-10,"z":15},{"x":13,"y":-9,"z":16},{"x":13,"y":-10,"z":16},{"x":14,"y":-9,"z":16},{"x":14,"y":-10,"z":16},{"x":15,"y":-9,"z":16},{"x":15,"y":-10,"z":16},{"x":16,"y":-9,"z":16},{"x":16,"y":-10,"z":16}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4e8087d2-0c64-4558-b4ff-4be94275a320.json b/src/main/resources/dgroomdata/4e8087d2-0c64-4558-b4ff-4be94275a320.json new file mode 100644 index 0000000..90951ae --- /dev/null +++ b/src/main/resources/dgroomdata/4e8087d2-0c64-4558-b4ff-4be94275a320.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,139,139,0,0,0,139,139,0,0,0,0,0,139,139,139,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,139,139,0,0,0,139,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,-1,-1,-1,-1,1,4,4,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,162,162,162,162,1,98,4,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,50,1,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,50,1,98,1,0,0,0,0,0,159,1,1,139,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,0,0,0,0,109,1,4,0,0,0,0,0,159,1,1,1,1,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4e8087d2-0c64-4558-b4ff-4be94275a320","name":"Logs","processorId":"default","properties":{},"mechanics":{"dummy-2":{"secretPoint":{"x":10,"y":8,"z":25},"preRequisite":[],"mechType":"Dummy"},"dummy-1":{"secretPoint":{"x":2,"y":0,"z":24},"preRequisite":["door-1:open"],"mechType":"Dummy"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":26,"y":14,"z":29},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":2,"z":20},{"x":6,"y":1,"z":20},{"x":6,"y":0,"z":20},{"x":6,"y":-1,"z":20},{"x":7,"y":2,"z":20},{"x":7,"y":1,"z":20},{"x":7,"y":0,"z":20},{"x":7,"y":-1,"z":20},{"x":8,"y":2,"z":20},{"x":8,"y":1,"z":20},{"x":8,"y":0,"z":20},{"x":8,"y":-1,"z":20},{"x":9,"y":2,"z":20},{"x":9,"y":1,"z":20},{"x":9,"y":0,"z":20},{"x":9,"y":-1,"z":20}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"chests-1":{"mechType":"Secret","secretPoint":{"x":2,"y":0,"z":25},"secretType":"CHEST","preRequisite":["dummy-1:click"]},"chests-2":{"mechType":"Secret","secretPoint":{"x":10,"y":8,"z":24},"secretType":"CHEST","preRequisite":["dummy-2:click"]}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4ed557b1-553c-4ecc-b3c1-88dd9da6d33c.json b/src/main/resources/dgroomdata/4ed557b1-553c-4ecc-b3c1-88dd9da6d33c.json new file mode 100644 index 0000000..2f395bf --- /dev/null +++ b/src/main/resources/dgroomdata/4ed557b1-553c-4ecc-b3c1-88dd9da6d33c.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,98,98,98,0,0,0,0,0,0,0,0,50,98,98,4,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,18,4,98,98,98,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,50,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,67,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,18,67,4,4,4,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,50,0,0,0,0,0,0,0,0,98,98,4,67,67,67,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,18,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,4,67,67,67,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,67,67,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,18,0,0,0,0,0,0,0,0,98,98,4,1,101,101,0,101,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,50,0,0,0,0,0,0,0,0,1,98,4,18,18,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,18,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,0,18,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,98,50,0,0,0,0,0,0,0,0,0,0,0,18,67,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,18,0,98,98,98,0,0,0,0,0,0,0,0,0,98,98,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4ed557b1-553c-4ecc-b3c1-88dd9da6d33c","name":"Dome","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":27,"y":8,"z":28},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":25,"y":5,"z":22},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":26,"y":11,"z":21},{"x":26,"y":10,"z":21},{"x":26,"y":9,"z":21},{"x":26,"y":8,"z":21},{"x":26,"y":7,"z":21},{"x":27,"y":11,"z":21},{"x":27,"y":10,"z":21},{"x":27,"y":9,"z":21},{"x":27,"y":8,"z":21},{"x":27,"y":7,"z":21},{"x":28,"y":11,"z":21},{"x":28,"y":10,"z":21},{"x":28,"y":9,"z":21},{"x":28,"y":8,"z":21},{"x":28,"y":7,"z":21}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":26,"y":3,"z":26},"secretType":"BAT","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":3,"y":0,"z":4},{"x":3,"y":-1,"z":4},{"x":4,"y":0,"z":4},{"x":4,"y":-1,"z":4},{"x":5,"y":0,"z":4},{"x":5,"y":-1,"z":4},{"x":3,"y":0,"z":5},{"x":3,"y":-1,"z":5},{"x":4,"y":0,"z":5},{"x":4,"y":-1,"z":5},{"x":5,"y":0,"z":5},{"x":5,"y":-1,"z":5},{"x":3,"y":0,"z":6},{"x":3,"y":-1,"z":6},{"x":4,"y":0,"z":6},{"x":4,"y":-1,"z":6},{"x":5,"y":0,"z":6},{"x":5,"y":-1,"z":6},{"x":3,"y":0,"z":7},{"x":3,"y":-1,"z":7},{"x":4,"y":0,"z":7},{"x":4,"y":-1,"z":7},{"x":5,"y":0,"z":7},{"x":5,"y":-1,"z":7}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":0,"z":25},{"x":3,"y":-1,"z":25},{"x":4,"y":0,"z":25},{"x":4,"y":-1,"z":25},{"x":5,"y":0,"z":25},{"x":5,"y":-1,"z":25},{"x":3,"y":0,"z":26},{"x":3,"y":-1,"z":26},{"x":4,"y":0,"z":26},{"x":4,"y":-1,"z":26},{"x":5,"y":0,"z":26},{"x":5,"y":-1,"z":26},{"x":3,"y":0,"z":27},{"x":3,"y":-1,"z":27},{"x":4,"y":0,"z":27},{"x":4,"y":-1,"z":27},{"x":5,"y":0,"z":27},{"x":5,"y":-1,"z":27},{"x":3,"y":0,"z":28},{"x":3,"y":-1,"z":28},{"x":4,"y":0,"z":28},{"x":4,"y":-1,"z":28},{"x":5,"y":0,"z":28},{"x":5,"y":-1,"z":28}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4f8be93c-f3e7-47ca-9e0d-87261f5fc386.json b/src/main/resources/dgroomdata/4f8be93c-f3e7-47ca-9e0d-87261f5fc386.json new file mode 100644 index 0000000..1520ae5 --- /dev/null +++ b/src/main/resources/dgroomdata/4f8be93c-f3e7-47ca-9e0d-87261f5fc386.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,1,1,4,67,50,0,0,0,0,109,109,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,0,0,0,0,0,0,4,67,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,-1,-1,-1,0,0,0,0,0,67,4,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,-1,-1,-1,0,0,0,1,1,4,67,0,0,0,0,0,98,98,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,67,67,67,67,4,67,67,1,1,1,4,33,33,23,33,33,98,159,44,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,4,67,67,67,4,4,4,4,4,4,1,1,1,1,98,159,44,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,144,0,0,44,98,50,0,0,0,0,5,5,4,4,1,1,1,1,98,159,44,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,5,5,4,1,1,1,1,1,98,98,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,109,144,0,0,67,1,1,1,1,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,159,159,159,159,1,1,1,1,1,-1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,109,144,0,44,4,1,1,1,1,1,1,98,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,4,4,67,67,1,-1,-1,-1,-1],[-1,-1,-1,-1,50,17,0,0,0,17,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,0,0,0,4,67,67,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,98,1,4,109,109,109,109,109,4,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,4,1,98,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,109,109,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4f8be93c-f3e7-47ca-9e0d-87261f5fc386","name":"Slabs","processorId":"default","properties":{},"mechanics":{"dummy-1":{"secretPoint":{"x":24,"y":15,"z":4},"preRequisite":[],"mechType":"Dummy"},"chests-1":{"mechType":"Secret","secretPoint":{"x":23,"y":15,"z":4},"secretType":"CHEST","preRequisite":["dummy-1:click"]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":8,"y":8,"z":6},{"x":8,"y":7,"z":6},{"x":9,"y":8,"z":6},{"x":9,"y":7,"z":6},{"x":10,"y":8,"z":6},{"x":10,"y":7,"z":6},{"x":11,"y":8,"z":6},{"x":11,"y":7,"z":6},{"x":8,"y":8,"z":7},{"x":8,"y":7,"z":7},{"x":9,"y":8,"z":7},{"x":9,"y":7,"z":7},{"x":10,"y":8,"z":7},{"x":10,"y":7,"z":7},{"x":11,"y":8,"z":7},{"x":11,"y":7,"z":7}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":0,"z":6},{"x":8,"y":-1,"z":6},{"x":9,"y":0,"z":6},{"x":9,"y":-1,"z":6},{"x":10,"y":0,"z":6},{"x":10,"y":-1,"z":6},{"x":8,"y":0,"z":7},{"x":8,"y":-1,"z":7},{"x":9,"y":0,"z":7},{"x":9,"y":-1,"z":7},{"x":10,"y":0,"z":7},{"x":10,"y":-1,"z":7},{"x":8,"y":0,"z":8},{"x":8,"y":-1,"z":8},{"x":9,"y":0,"z":8},{"x":9,"y":-1,"z":8},{"x":10,"y":0,"z":8},{"x":10,"y":-1,"z":8},{"x":8,"y":0,"z":9},{"x":8,"y":-1,"z":9},{"x":9,"y":0,"z":9},{"x":9,"y":-1,"z":9},{"x":10,"y":0,"z":9},{"x":10,"y":-1,"z":9}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/4ffce449-eab8-470b-bc8c-d30507248fc2.json b/src/main/resources/dgroomdata/4ffce449-eab8-470b-bc8c-d30507248fc2.json new file mode 100644 index 0000000..985f979 --- /dev/null +++ b/src/main/resources/dgroomdata/4ffce449-eab8-470b-bc8c-d30507248fc2.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":273,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,35,109,0,0,0,0,0,0,0,0,0,109,35,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,35,109,0,0,0,0,0,0,0,0,0,109,35,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,35,35,35,109,0,0,0,0,0,0,0,0,0,109,35,35,35,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,35,35,35,109,0,0,0,0,0,0,0,0,0,109,35,35,35,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,35,109,0,0,0,0,0,0,0,0,0,109,35,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,35,109,0,0,0,0,0,0,0,0,0,109,35,35,35,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,109,109,109,109,67,44,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,1,1,1,4,4,67,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,1,1,1,4,4,4,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,109,109,98,98,98,98,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,44,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,144,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,44,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,109,109,109,98,0,0,0,0,0,0,0,109,134,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,0,139,0,0,0,0,0,0,0,0,0,134,0,0,0,0,109,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,17,0,0,0,17,0,0,0,0,0,0,0,0,0,0,17,134,0,0,0,17,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,109,17,0,126,126,17,0,0,0,0,0,0,0,0,0,0,17,0,0,0,17,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,126,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,144,109,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,109,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,109,144,0,0,44,1,0,0,0,0,0,0,0,1,109,0,0,0,44,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,109,0,0,144,44,1,0,0,0,0,0,0,0,1,101,101,101,101,101,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,159,159,159,144,0,0,0,0,0,0,0,-1,0,0,50,0,0,69,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,-1,0,0,0,0,0,-1,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,50,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,-1,0,0,0,188,0,69,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,98,98,109,109,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,98,98,98,98,98,98,109,98,0,0,0,0,0,0,0,1,109,109,98,98,98,98,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,109,109,109,0,0,0,0,0,0,0,0,0,109,109,109,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"4ffce449-eab8-470b-bc8c-d30507248fc2","name":"Red-Blue","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":5,"y":20,"z":40},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":26,"y":0,"z":58},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":26,"y":-1,"z":55},"preRequisite":[""],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":20,"y":3,"z":57},{"x":20,"y":2,"z":57},{"x":20,"y":1,"z":57},{"x":20,"y":0,"z":57},{"x":20,"y":-1,"z":57},{"x":20,"y":3,"z":58},{"x":20,"y":2,"z":58},{"x":20,"y":1,"z":58},{"x":20,"y":0,"z":58},{"x":20,"y":-1,"z":58},{"x":20,"y":3,"z":59},{"x":20,"y":2,"z":59},{"x":20,"y":1,"z":59},{"x":20,"y":0,"z":59},{"x":20,"y":-1,"z":59},{"x":20,"y":3,"z":60},{"x":20,"y":2,"z":60},{"x":20,"y":1,"z":60},{"x":20,"y":0,"z":60},{"x":20,"y":-1,"z":60}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":9,"y":16,"z":61},"secretType":"ITEM_DROP","preRequisite":[]},"essence-1":{"mechType":"Secret","secretPoint":{"x":16,"y":13,"z":80},"secretType":"ESSENCE","preRequisite":[]},"prince-1":{"secretPoint":{"offsetPointList":[{"x":23,"y":14,"z":57},{"x":23,"y":13,"z":57},{"x":24,"y":14,"z":57},{"x":24,"y":13,"z":57},{"x":25,"y":14,"z":57},{"x":25,"y":13,"z":57},{"x":23,"y":14,"z":58},{"x":23,"y":13,"z":58},{"x":24,"y":14,"z":58},{"x":24,"y":13,"z":58},{"x":25,"y":14,"z":58},{"x":25,"y":13,"z":58},{"x":23,"y":14,"z":59},{"x":23,"y":13,"z":59},{"x":24,"y":14,"z":59},{"x":24,"y":13,"z":59},{"x":25,"y":14,"z":59},{"x":25,"y":13,"z":59},{"x":23,"y":14,"z":60},{"x":23,"y":13,"z":60},{"x":24,"y":14,"z":60},{"x":24,"y":13,"z":60},{"x":25,"y":14,"z":60},{"x":25,"y":13,"z":60}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/5000be9d-3081-4a5e-8563-dd826705663a.json b/src/main/resources/dgroomdata/5000be9d-3081-4a5e-8563-dd826705663a.json new file mode 100644 index 0000000..2e9868f --- /dev/null +++ b/src/main/resources/dgroomdata/5000be9d-3081-4a5e-8563-dd826705663a.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,109,0,0,0,0,0,109,4,4,4,4,4,4,4,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,109,0,0,0,0,0,109,1,4,4,4,4,4,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,109,1,1,4,4,4,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,98,98,0,0,0,98,98,1,1,1,1,4,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,98,0,0,0,98,1,1,1,1,1,4,4,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,98,98,0,0,0,98,98,98,98,98,1,4,4,4,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,1,0,1,1,0,0,0,1,1,1,1,98,1,4,4,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,1,1,0,0,0,1,1,1,1,98,1,4,4,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,1,1,0,0,0,1,1,159,1,98,1,4,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,7,98,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,0,98,0,0,98,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,1,-1,-1,-1],[-1,-1,-1,0,0,0,50,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,4,4,4,98,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,98,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,4,4,4,98,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,98,1,-1,-1,-1],[-1,-1,-1,0,0,0,50,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,4,4,4,98,1,-1,-1,-1],[-1,-1,-1,0,98,0,0,98,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,1,-1,-1,-1],[-1,-1,-1,98,98,109,109,98,98,98,98,98,0,0,0,0,0,0,0,0,7,7,1,98,1,0,0,1,98,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,1,1,0,0,0,1,1,1,0,-1,0,0,0,0,98,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,1,1,0,0,0,1,1,1,0,-1,0,0,0,0,109,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,1,1,-1,-1,-1,1,1,1,0,-1,0,0,0,0,109,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,98,98,42,42,42,1,98,98,98,98,1,0,0,1,98,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,98,98,98,98,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,1,0,0,0,0,0,1,98,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,18,0,0,0,0,0,18,98,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"5000be9d-3081-4a5e-8563-dd826705663a","name":"puzzle-tictactoe","processorId":"puzzle_tictactoe_solver","properties":{"board":{"offsetPointList":[{"x":16,"y":2,"z":23},{"x":16,"y":1,"z":23},{"x":16,"y":0,"z":23},{"x":17,"y":2,"z":23},{"x":17,"y":1,"z":23},{"x":17,"y":0,"z":23},{"x":18,"y":2,"z":23},{"x":18,"y":1,"z":23},{"x":18,"y":0,"z":23}]}},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":26,"y":-1,"z":22},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":26,"y":3,"z":18},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":23,"y":1,"z":21},{"x":23,"y":0,"z":21},{"x":23,"y":1,"z":22},{"x":23,"y":0,"z":22},{"x":23,"y":1,"z":23},{"x":23,"y":0,"z":23}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/54008e69-d31e-4ed2-9ad0-870a3ad5ee1a.json b/src/main/resources/dgroomdata/54008e69-d31e-4ed2-9ad0-870a3ad5ee1a.json new file mode 100644 index 0000000..22552a7 --- /dev/null +++ b/src/main/resources/dgroomdata/54008e69-d31e-4ed2-9ad0-870a3ad5ee1a.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,139,139,0,0,0,0,0,0,0,0,0,139,139,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,0,139,139,0,0,0,139,139,139,0,0,0,139,139,0,98,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,139,0,0,0,0,0,0,0,139,1,139,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,139,139,0,0,0,0,0,0,0,0,0,139,139,139,0,0,0,0,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,139,139,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,139,139,0,0,0,0,0,139,139,0,0,-1,0,0,139,139,0,0,0,0,0,139,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,44,44,44,98,98,98,0,-1,-1,-1,0,98,98,98,44,44,44,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,44,44,44,98,1,98,0,-1,-1,-1,0,98,1,1,159,159,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,98,98,1,98,1,-1,-1,-1,1,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,4,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"54008e69-d31e-4ed2-9ad0-870a3ad5ee1a","name":"Banners","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":16,"y":2,"z":28},"secretType":"CHEST","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-1,"z":19},{"x":16,"y":0,"z":19},{"x":16,"y":-1,"z":19},{"x":17,"y":-1,"z":19},{"x":15,"y":0,"z":20},{"x":15,"y":-1,"z":20},{"x":16,"y":0,"z":20},{"x":16,"y":-1,"z":20},{"x":17,"y":0,"z":20},{"x":17,"y":-1,"z":20},{"x":15,"y":0,"z":21},{"x":15,"y":-1,"z":21},{"x":16,"y":0,"z":21},{"x":16,"y":-1,"z":21},{"x":17,"y":0,"z":21},{"x":17,"y":-1,"z":21},{"x":15,"y":0,"z":22},{"x":15,"y":-1,"z":22},{"x":16,"y":0,"z":22},{"x":16,"y":-1,"z":22},{"x":17,"y":0,"z":22},{"x":17,"y":-1,"z":22}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/54aaf168-7039-48dc-99a3-8d1f02d79097.json b/src/main/resources/dgroomdata/54aaf168-7039-48dc-99a3-8d1f02d79097.json new file mode 100644 index 0000000..f9bee1e --- /dev/null +++ b/src/main/resources/dgroomdata/54aaf168-7039-48dc-99a3-8d1f02d79097.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,98,98,109,109,98,98,98,98,4,98,98,98,98,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,139,98,5,5,98,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,5,5,5,98,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,5,5,5,98,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,134,134,5,4,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,134,134,0,0,0,0,0,0,0,139,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,134,134,0,0,0,0,0,0,0,0,4,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,134,134,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,164,164,5,164,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,109,67,109,109,109,109,0,0,0,0,0,164,5,164,164,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,1,98,44,44,44,44,98,0,0,0,0,0,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,44,44,98,98,98,0,0,0,0,0,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,1,98,98,109,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,1,98,98,1,109,0,0,0,0,0,0,0,144,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,1,1,1,109,0,0,0,0,0,0,0,0,51,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,98,1,1,0,0,0,0,0,0,0,0,144,51,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,98,98,1,98,109,0,0,0,0,0,0,0,144,51,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,98,1,98,109,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"54aaf168-7039-48dc-99a3-8d1f02d79097","name":"basement","processorId":"default","properties":{},"mechanics":{"essence-1":{"mechType":"Secret","secretPoint":{"x":6,"y":-4,"z":26},"secretType":"ESSENCE","preRequisite":[]}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/5aef2a82-42a3-495a-9e72-63a9b611e1cb.json b/src/main/resources/dgroomdata/5aef2a82-42a3-495a-9e72-63a9b611e1cb.json new file mode 100644 index 0000000..75760ac --- /dev/null +++ b/src/main/resources/dgroomdata/5aef2a82-42a3-495a-9e72-63a9b611e1cb.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,18,0,0,0,0,0,159,1,0,0,0,0,0,0,7,1,1,98,1,98,98,1,1,1,1,1,98,139,0,0,18,0,0,0,0,0,0,139,139,0,50,0,0,0,0,0,0,0,139,139,18,0,0,0,18,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,1,1,1,0,0,0,0,0,7,1,1,98,98,1,1,1,1,1,1,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,1,1,1,188,0,0,0,0,7,1,1,98,3,1,1,1,1,1,4,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,134,0,0,0,159,1,1,1,1,0,0,126,126,7,1,1,98,3,3,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,159,1,1,1,1,1,126,126,126,3,1,1,1,98,3,3,1,1,1,1,1,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,1,1,1,3,3,3,3,3,3,3,3,1,98,3,3,1,4,4,1,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,1,1,1,1,3,3,3,3,3,3,3,3,98,98,98,98,1,1,1,1,1,1,139,188,0,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,139,98,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,1,1,1,3,3,3,3,3,3,3,3,98,98,98,98,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,1,1,1,3,3,3,3,3,3,3,3,98,98,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,1,3,3,3,3,3,3,3,3,98,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,17,0,159,3,3,3,3,3,3,3,98,1,1,1,0,0,0,0,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,7,3,3,3,3,3,3,3,3,1,98,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,7,3,3,3,3,3,3,3,3,1,1,1,0,0,0,0,0,1,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,35,1,3,3,3,3,3,3,3,3,1,98,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,35,1,1,3,3,3,3,3,3,3,98,98,1,1,0,0,0,0,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,50,0,0,0,0,0,0,35,1,1,3,3,3,3,3,3,3,98,98,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,35,1,3,3,3,3,3,3,3,98,1,1,1,1,1,1,1,1,0,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,35,3,1,3,3,3,3,3,98,98,98,98,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,1,98,98,98,98,1,1,1,1,1,98,139,188,18,0,0,0,0,0,0,0,98,139,18,0,0,0,0,0,0,0,0,139,98,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,159,159,159,159,0,0,0,0,126,3,3,3,3,1,1,98,98,3,3,1,4,4,1,1,67,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,1,1,1,159,0,0,0,0,0,126,126,3,3,1,1,98,3,3,3,3,1,1,4,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,0,0,0,0,0,0,126,126,3,3,1,98,3,3,3,3,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,126,126,3,1,98,3,1,3,1,1,1,1,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,126,126,35,98,98,3,3,1,1,1,4,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,159,0,50,0,0,0,0,0,7,1,98,1,1,98,3,1,1,4,3,98,139,0,50,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,50,139,98,18,0,0,18,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"5aef2a82-42a3-495a-9e72-63a9b611e1cb","name":"Balcony","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":21,"y":-28,"z":29},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":28,"y":-1,"z":16},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":14,"y":-19,"z":9},"secretType":"ITEM_DROP","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":4,"y":-10,"z":26},"secretType":"BAT","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":25,"y":2,"z":14},{"x":26,"y":2,"z":14},{"x":27,"y":2,"z":14},{"x":28,"y":2,"z":14},{"x":25,"y":2,"z":15},{"x":26,"y":2,"z":15},{"x":27,"y":2,"z":15},{"x":28,"y":2,"z":15},{"x":25,"y":2,"z":16},{"x":26,"y":2,"z":16},{"x":27,"y":2,"z":16},{"x":28,"y":2,"z":16},{"x":29,"y":2,"z":16},{"x":25,"y":2,"z":17},{"x":26,"y":2,"z":17},{"x":27,"y":2,"z":17},{"x":28,"y":2,"z":17},{"x":29,"y":2,"z":17},{"x":25,"y":2,"z":18},{"x":26,"y":2,"z":18},{"x":27,"y":2,"z":18},{"x":28,"y":2,"z":18}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/5b6968ce-4a5b-4a48-8cb3-423ff9a7788d.json b/src/main/resources/dgroomdata/5b6968ce-4a5b-4a48-8cb3-423ff9a7788d.json new file mode 100644 index 0000000..9d5167d --- /dev/null +++ b/src/main/resources/dgroomdata/5b6968ce-4a5b-4a48-8cb3-423ff9a7788d.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":50,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,7,1,98,0,103,103,103,103,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,35,1,98,103,0,103,103,103,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,35,50,0,0,0,0,0,0,0,0,0,0,35,1,98,0,0,0,103,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,35,98,0,0,144,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,98,98,98,7,0,0,0,0,0,0,0,0,0,50,159,98,139,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,159,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,1,1,1,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,35,35,35,0,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,98,0,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,50,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,139,0,126,126,188,0,0,0,0,0,0,0,0,0,0,0,14,1,1,1,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,14,1,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,139,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,188,0,0,0,0,0,0,0,1,1,1,1,1,1,23,33,23,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,35,0,188,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,50,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,7,0,0,65,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,7,188,65,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,35,50,0,0,0,139,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,159,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,50,188,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,44,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,159,7,7,7,35,1,1,1,1,1,188,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,139,98,0,0,0,0,0,0,0,50,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,188,35,35,1,98,98,98,7,7,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,1,1,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,44,0,0,0,0,0,0,35,1,98,1,98,98,1,1,98,159,159,35,0,0,0,0,0,0,0,0,0,0,0,35,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,44,0,0,0,0,0,7,1,1,1,1,1,1,1,1,98,98,1,1,98,109,144,0,44,109,98,50,0,159,159,1,98,139,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,139,0,0,0,0,0,0,7,7,7,1,1,1,1,1,98,98,98,1,4,159,159,159,159,159,4,35,7,4,4,1,1,159,35,35,0,0,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,44,44,44,139,98,44,44,44,98,98,0,0,0,0,0,0,0,44,4,1,1,1,1,98,98,98,98,4,159,159,159,159,159,4,98,98,98,98,98,1,1,7,7,0,0,0,0,0,0,0,0,98,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,139,1,0,0,0,98,139,0,0,0,0,0,0,0,0,44,4,159,1,4,4,4,4,4,4,4,4,4,4,4,4,98,98,98,98,98,98,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,139,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,159,1,4,43,43,43,162,109,162,0,0,0,162,4,98,98,98,1,98,1,1,7,139,0,0,0,0,0,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,35,159,1,1,43,43,43,43,44,0,0,0,0,0,0,4,98,98,98,1,1,1,1,7,0,0,0,0,0,0,98,139,0,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,43,43,43,43,44,0,0,0,0,0,0,4,98,98,98,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,43,43,43,43,44,0,0,0,0,0,0,4,98,98,98,1,1,4,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,98,162,162,162,162,162,109,162,144,0,0,162,98,1,1,1,1,1,67,44,0,0,0,0,0,0,0,0,0,0,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,4,4,4,4,162,162,162,4,4,4,4,4,4,4,98,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,98,98,4,4,4,4,4,4,4,4,4,98,98,98,98,98,98,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,7,144,0,0,0,0,0,0,1,1,1,1,1,98,98,4,4,4,4,4,4,4,4,4,98,98,98,98,98,98,98,98,98,1,1,7,0,0,0,0,0,0,0,0,0,0,0,98,109,1,1,1,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,35,35,35,0,0,0,0,1,1,1,1,1,98,98,4,1,1,4,4,4,4,4,4,98,98,98,98,98,98,98,98,98,98,1,7,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,159,50,0,0,0,0,0,0,1,1,98,98,1,1,1,1,1,1,1,1,4,98,98,159,159,159,98,159,159,159,98,1,7,139,0,0,0,0,0,0,0,0,50,7,1,1,1,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,1,98,4,1,1,1,1,1,4,4,4,98,98,144,0,0,98,0,0,0,98,1,1,98,0,0,98,0,0,109,0,0,98,1,1,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,0,1,98,1,1,1,4,1,4,4,1,1,98,98,0,0,0,98,0,0,0,98,98,98,98,0,0,98,0,0,98,0,0,98,1,1,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,0,1,98,0,1,44,44,44,4,1,1,50,98,139,0,0,0,139,0,0,0,139,98,98,0,0,0,0,0,0,0,0,0,1,1,1,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,50,0,1,98,0,1,139,0,44,1,1,0,0,0,0,0,0,0,0,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,0,1,1,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,98,98,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,0,0,0,0,0,0,0,0,0,0,7,1,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"5b6968ce-4a5b-4a48-8cb3-423ff9a7788d","name":"Melon","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":36,"y":-1,"z":48},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":54,"y":10,"z":30},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":59,"y":-1,"z":4},"secretType":"CHEST","preRequisite":[]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":10,"y":14,"z":57},{"x":10,"y":13,"z":57},{"x":11,"y":14,"z":57},{"x":11,"y":13,"z":57},{"x":12,"y":14,"z":57},{"x":12,"y":13,"z":57},{"x":13,"y":14,"z":57},{"x":13,"y":13,"z":57},{"x":14,"y":14,"z":57},{"x":14,"y":13,"z":57},{"x":10,"y":14,"z":58},{"x":10,"y":13,"z":58},{"x":11,"y":14,"z":58},{"x":11,"y":13,"z":58},{"x":12,"y":14,"z":58},{"x":12,"y":13,"z":58},{"x":13,"y":14,"z":58},{"x":13,"y":13,"z":58},{"x":14,"y":14,"z":58},{"x":14,"y":13,"z":58},{"x":10,"y":14,"z":59},{"x":10,"y":13,"z":59},{"x":11,"y":14,"z":59},{"x":11,"y":13,"z":59},{"x":12,"y":14,"z":59},{"x":12,"y":13,"z":59},{"x":13,"y":14,"z":59},{"x":13,"y":13,"z":59},{"x":14,"y":14,"z":59},{"x":14,"y":13,"z":59}]},"preRequisite":[],"mechType":"Tomb"},"bat-1":{"mechType":"Secret","secretPoint":{"x":28,"y":6,"z":56},"secretType":"BAT","preRequisite":["superboom-1:open"]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":17,"y":13,"z":54},{"x":17,"y":12,"z":54},{"x":18,"y":13,"z":54},{"x":18,"y":12,"z":54},{"x":19,"y":13,"z":54},{"x":19,"y":12,"z":54},{"x":17,"y":13,"z":55},{"x":17,"y":12,"z":55},{"x":18,"y":13,"z":55},{"x":18,"y":12,"z":55},{"x":19,"y":13,"z":55},{"x":19,"y":12,"z":55}]},"preRequisite":[],"mechType":"Tomb"},"chest-6":{"mechType":"Secret","secretPoint":{"x":57,"y":15,"z":22},"secretType":"CHEST","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":17,"y":13,"z":61},{"x":17,"y":12,"z":61},{"x":18,"y":13,"z":61},{"x":18,"y":12,"z":61},{"x":19,"y":13,"z":61},{"x":19,"y":12,"z":61},{"x":17,"y":13,"z":62},{"x":17,"y":12,"z":62},{"x":18,"y":13,"z":62},{"x":18,"y":12,"z":62},{"x":19,"y":13,"z":62},{"x":19,"y":12,"z":62}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":37,"y":10,"z":27},{"x":37,"y":9,"z":27},{"x":37,"y":8,"z":27},{"x":38,"y":10,"z":27},{"x":38,"y":9,"z":27},{"x":38,"y":8,"z":27},{"x":39,"y":10,"z":27},{"x":39,"y":9,"z":27},{"x":39,"y":8,"z":27},{"x":37,"y":10,"z":28},{"x":37,"y":9,"z":28},{"x":37,"y":8,"z":28},{"x":38,"y":10,"z":28},{"x":38,"y":9,"z":28},{"x":38,"y":8,"z":28},{"x":39,"y":10,"z":28},{"x":39,"y":9,"z":28},{"x":39,"y":8,"z":28},{"x":37,"y":10,"z":29},{"x":37,"y":9,"z":29},{"x":37,"y":8,"z":29},{"x":38,"y":10,"z":29},{"x":38,"y":9,"z":29},{"x":38,"y":8,"z":29},{"x":39,"y":10,"z":29},{"x":39,"y":9,"z":29},{"x":39,"y":8,"z":29},{"x":37,"y":10,"z":30},{"x":37,"y":9,"z":30},{"x":37,"y":8,"z":30},{"x":38,"y":10,"z":30},{"x":38,"y":9,"z":30},{"x":38,"y":8,"z":30},{"x":39,"y":10,"z":30},{"x":39,"y":9,"z":30},{"x":39,"y":8,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"chest-4":{"mechType":"Secret","secretPoint":{"x":2,"y":9,"z":37},"secretType":"CHEST","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":42,"y":2,"z":59},{"x":42,"y":1,"z":59},{"x":42,"y":0,"z":59},{"x":42,"y":4,"z":60},{"x":42,"y":3,"z":60},{"x":42,"y":2,"z":60},{"x":42,"y":1,"z":60},{"x":42,"y":0,"z":60},{"x":42,"y":-1,"z":60},{"x":42,"y":3,"z":61},{"x":42,"y":0,"z":61},{"x":42,"y":-1,"z":61}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-5":{"mechType":"Secret","secretPoint":{"x":5,"y":12,"z":58},"secretType":"CHEST","preRequisite":[]}},"totalSecrets":7} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/63634341-8ef3-4197-aafa-17f5875dd307.json b/src/main/resources/dgroomdata/63634341-8ef3-4197-aafa-17f5875dd307.json new file mode 100644 index 0000000..026742b --- /dev/null +++ b/src/main/resources/dgroomdata/63634341-8ef3-4197-aafa-17f5875dd307.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,98,98,5,5,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,98,98,1,0,0,0,0,0,1,98,98,5,136,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,1,1,1,98,98,0,0,0,0,0,0,50,98,98,1,1,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,101,101,98,1,98,98,0,0,0,0,0,0,0,98,98,1,1,1,98,1,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,98,1,98,0,0,0,0,0,0,1,98,98,1,1,1,98,98,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,0,0,0,98,98,1,1,1,98,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,98,98,50,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,98,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,0,98,98,1,98,98,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,50,98,98,98,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,134,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,98,98,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,50,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,43,43,0,171,171,171,0,0,0,0,0,0,0,0,5,5,98,98,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,43,43,0,0,171,0,0,0,0,0,0,0,0,136,5,0,101,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,43,43,0,0,171,0,0,0,0,0,0,0,0,0,0,101,5,134,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,43,0,0,0,0,0,0,0,0,0,0,0,0,98,98,5,5,0,0,136,5,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"63634341-8ef3-4197-aafa-17f5875dd307","name":"Blackflag","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":3,"y":10,"z":6},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":4,"y":10,"z":28},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":9,"y":-10,"z":3},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-8,"z":20},{"x":15,"y":-9,"z":20},{"x":16,"y":-8,"z":20},{"x":16,"y":-9,"z":20},{"x":17,"y":-8,"z":20},{"x":17,"y":-9,"z":20},{"x":15,"y":-8,"z":21},{"x":15,"y":-9,"z":21},{"x":16,"y":-8,"z":21},{"x":16,"y":-9,"z":21},{"x":17,"y":-8,"z":21},{"x":17,"y":-9,"z":21},{"x":15,"y":-8,"z":22},{"x":15,"y":-9,"z":22},{"x":16,"y":-8,"z":22},{"x":16,"y":-9,"z":22},{"x":17,"y":-8,"z":22},{"x":17,"y":-9,"z":22},{"x":15,"y":-8,"z":23},{"x":15,"y":-9,"z":23},{"x":16,"y":-8,"z":23},{"x":16,"y":-9,"z":23},{"x":17,"y":-8,"z":23},{"x":17,"y":-9,"z":23},{"x":15,"y":-8,"z":24},{"x":15,"y":-9,"z":24},{"x":16,"y":-8,"z":24},{"x":16,"y":-9,"z":24},{"x":17,"y":-8,"z":24},{"x":17,"y":-9,"z":24}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/6367a338-dd48-4c30-9e03-7ff6b5c7a936.json b/src/main/resources/dgroomdata/6367a338-dd48-4c30-9e03-7ff6b5c7a936.json new file mode 100644 index 0000000..8921912 --- /dev/null +++ b/src/main/resources/dgroomdata/6367a338-dd48-4c30-9e03-7ff6b5c7a936.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,98,98,1,98,-1,98,98,98,98,-1,0,0,0,0,0,0,0,-1,98,98,98,98,-1,1,98,98,98,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,50,0,0,0,0,0,50,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,139,0,0,0,0,0,139,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,139,139,0,0,0,139,139,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,49,101,101,101,101,101,49,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,-1,0,-1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,49,0,0,0,0,0,49,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,49,0,0,0,0,0,49,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"6367a338-dd48-4c30-9e03-7ff6b5c7a936","name":"puzzle-bombdefuse","processorId":"puzzle_bombdefuse","properties":{"R2":{"offsetPointList":[{"x":3,"y":-2,"z":9},{"x":4,"y":-2,"z":9},{"x":5,"y":-2,"z":9},{"x":6,"y":-2,"z":9},{"x":7,"y":-2,"z":9},{"x":8,"y":-2,"z":9},{"x":9,"y":-2,"z":9},{"x":10,"y":-2,"z":9},{"x":11,"y":-2,"z":9},{"x":3,"y":-2,"z":10},{"x":4,"y":-2,"z":10},{"x":5,"y":-2,"z":10},{"x":6,"y":-2,"z":10},{"x":7,"y":-2,"z":10},{"x":8,"y":-2,"z":10},{"x":9,"y":-2,"z":10},{"x":10,"y":-2,"z":10},{"x":11,"y":-2,"z":10},{"x":3,"y":-2,"z":11},{"x":4,"y":-2,"z":11},{"x":5,"y":-2,"z":11},{"x":6,"y":-2,"z":11},{"x":7,"y":-2,"z":11},{"x":8,"y":-2,"z":11},{"x":9,"y":-2,"z":11},{"x":10,"y":-2,"z":11},{"x":11,"y":-2,"z":11},{"x":3,"y":-2,"z":12},{"x":4,"y":-2,"z":12},{"x":5,"y":-2,"z":12},{"x":6,"y":-2,"z":12},{"x":7,"y":-2,"z":12},{"x":8,"y":-2,"z":12},{"x":9,"y":-2,"z":12},{"x":10,"y":-2,"z":12},{"x":11,"y":-2,"z":12},{"x":3,"y":-2,"z":13},{"x":4,"y":-2,"z":13},{"x":5,"y":-2,"z":13},{"x":6,"y":-2,"z":13},{"x":7,"y":-2,"z":13},{"x":8,"y":-2,"z":13},{"x":9,"y":-2,"z":13},{"x":10,"y":-2,"z":13},{"x":11,"y":-2,"z":13},{"x":3,"y":-2,"z":14},{"x":4,"y":-2,"z":14},{"x":5,"y":-2,"z":14},{"x":6,"y":-2,"z":14},{"x":7,"y":-2,"z":14},{"x":8,"y":-2,"z":14},{"x":9,"y":-2,"z":14},{"x":10,"y":-2,"z":14},{"x":11,"y":-2,"z":14}]},"R3":{"offsetPointList":[{"x":3,"y":-2,"z":16},{"x":4,"y":-2,"z":16},{"x":5,"y":-2,"z":16},{"x":6,"y":-2,"z":16},{"x":7,"y":-2,"z":16},{"x":8,"y":-2,"z":16},{"x":9,"y":-2,"z":16},{"x":10,"y":-2,"z":16},{"x":11,"y":-2,"z":16},{"x":3,"y":-2,"z":17},{"x":4,"y":-2,"z":17},{"x":5,"y":-2,"z":17},{"x":6,"y":-2,"z":17},{"x":7,"y":-2,"z":17},{"x":8,"y":-2,"z":17},{"x":9,"y":-2,"z":17},{"x":10,"y":-2,"z":17},{"x":11,"y":-2,"z":17},{"x":3,"y":-2,"z":18},{"x":4,"y":-2,"z":18},{"x":5,"y":-2,"z":18},{"x":6,"y":-2,"z":18},{"x":7,"y":-2,"z":18},{"x":8,"y":-2,"z":18},{"x":9,"y":-2,"z":18},{"x":10,"y":-2,"z":18},{"x":11,"y":-2,"z":18},{"x":3,"y":-2,"z":19},{"x":4,"y":-2,"z":19},{"x":5,"y":-2,"z":19},{"x":6,"y":-2,"z":19},{"x":7,"y":-2,"z":19},{"x":8,"y":-2,"z":19},{"x":9,"y":-2,"z":19},{"x":10,"y":-2,"z":19},{"x":11,"y":-2,"z":19},{"x":3,"y":-2,"z":20},{"x":4,"y":-2,"z":20},{"x":5,"y":-2,"z":20},{"x":6,"y":-2,"z":20},{"x":7,"y":-2,"z":20},{"x":8,"y":-2,"z":20},{"x":9,"y":-2,"z":20},{"x":10,"y":-2,"z":20},{"x":11,"y":-2,"z":20},{"x":3,"y":-2,"z":21},{"x":4,"y":-2,"z":21},{"x":5,"y":-2,"z":21},{"x":6,"y":-2,"z":21},{"x":7,"y":-2,"z":21},{"x":8,"y":-2,"z":21},{"x":9,"y":-2,"z":21},{"x":10,"y":-2,"z":21},{"x":11,"y":-2,"z":21}]},"R4":{"offsetPointList":[{"x":3,"y":-2,"z":23},{"x":4,"y":-2,"z":23},{"x":5,"y":-2,"z":23},{"x":6,"y":-2,"z":23},{"x":7,"y":-2,"z":23},{"x":8,"y":-2,"z":23},{"x":9,"y":-2,"z":23},{"x":10,"y":-2,"z":23},{"x":11,"y":-2,"z":23},{"x":3,"y":-2,"z":24},{"x":4,"y":-2,"z":24},{"x":5,"y":-2,"z":24},{"x":6,"y":-2,"z":24},{"x":7,"y":-2,"z":24},{"x":8,"y":-2,"z":24},{"x":9,"y":-2,"z":24},{"x":10,"y":-2,"z":24},{"x":11,"y":-2,"z":24},{"x":3,"y":-2,"z":25},{"x":4,"y":-2,"z":25},{"x":5,"y":-2,"z":25},{"x":6,"y":-2,"z":25},{"x":7,"y":-2,"z":25},{"x":8,"y":-2,"z":25},{"x":9,"y":-2,"z":25},{"x":10,"y":-2,"z":25},{"x":11,"y":-2,"z":25},{"x":3,"y":-2,"z":26},{"x":4,"y":-2,"z":26},{"x":5,"y":-2,"z":26},{"x":6,"y":-2,"z":26},{"x":7,"y":-2,"z":26},{"x":8,"y":-2,"z":26},{"x":9,"y":-2,"z":26},{"x":10,"y":-2,"z":26},{"x":11,"y":-2,"z":26},{"x":3,"y":-2,"z":27},{"x":4,"y":-2,"z":27},{"x":5,"y":-2,"z":27},{"x":6,"y":-2,"z":27},{"x":7,"y":-2,"z":27},{"x":8,"y":-2,"z":27},{"x":9,"y":-2,"z":27},{"x":10,"y":-2,"z":27},{"x":11,"y":-2,"z":27},{"x":3,"y":-2,"z":28},{"x":4,"y":-2,"z":28},{"x":5,"y":-2,"z":28},{"x":6,"y":-2,"z":28},{"x":7,"y":-2,"z":28},{"x":8,"y":-2,"z":28},{"x":9,"y":-2,"z":28},{"x":10,"y":-2,"z":28},{"x":11,"y":-2,"z":28}]},"Warning":{"x":16,"y":2,"z":7},"L1":{"offsetPointList":[{"x":21,"y":-2,"z":2},{"x":22,"y":-2,"z":2},{"x":23,"y":-2,"z":2},{"x":24,"y":-2,"z":2},{"x":25,"y":-2,"z":2},{"x":26,"y":-2,"z":2},{"x":27,"y":-2,"z":2},{"x":28,"y":-2,"z":2},{"x":29,"y":-2,"z":2},{"x":21,"y":-2,"z":3},{"x":22,"y":-2,"z":3},{"x":23,"y":-2,"z":3},{"x":24,"y":-2,"z":3},{"x":25,"y":-2,"z":3},{"x":26,"y":-2,"z":3},{"x":27,"y":-2,"z":3},{"x":28,"y":-2,"z":3},{"x":29,"y":-2,"z":3},{"x":21,"y":-2,"z":4},{"x":22,"y":-2,"z":4},{"x":23,"y":-2,"z":4},{"x":24,"y":-2,"z":4},{"x":25,"y":-2,"z":4},{"x":26,"y":-2,"z":4},{"x":27,"y":-2,"z":4},{"x":28,"y":-2,"z":4},{"x":29,"y":-2,"z":4},{"x":21,"y":-2,"z":5},{"x":22,"y":-2,"z":5},{"x":23,"y":-2,"z":5},{"x":24,"y":-2,"z":5},{"x":25,"y":-2,"z":5},{"x":26,"y":-2,"z":5},{"x":27,"y":-2,"z":5},{"x":28,"y":-2,"z":5},{"x":29,"y":-2,"z":5},{"x":21,"y":-2,"z":6},{"x":22,"y":-2,"z":6},{"x":23,"y":-2,"z":6},{"x":24,"y":-2,"z":6},{"x":25,"y":-2,"z":6},{"x":26,"y":-2,"z":6},{"x":27,"y":-2,"z":6},{"x":28,"y":-2,"z":6},{"x":29,"y":-2,"z":6},{"x":21,"y":-2,"z":7},{"x":22,"y":-2,"z":7},{"x":23,"y":-2,"z":7},{"x":24,"y":-2,"z":7},{"x":25,"y":-2,"z":7},{"x":26,"y":-2,"z":7},{"x":27,"y":-2,"z":7},{"x":28,"y":-2,"z":7},{"x":29,"y":-2,"z":7}]},"L2":{"offsetPointList":[{"x":21,"y":-2,"z":9},{"x":22,"y":-2,"z":9},{"x":23,"y":-2,"z":9},{"x":24,"y":-2,"z":9},{"x":25,"y":-2,"z":9},{"x":26,"y":-2,"z":9},{"x":27,"y":-2,"z":9},{"x":28,"y":-2,"z":9},{"x":29,"y":-2,"z":9},{"x":21,"y":-2,"z":10},{"x":22,"y":-2,"z":10},{"x":23,"y":-2,"z":10},{"x":24,"y":-2,"z":10},{"x":25,"y":-2,"z":10},{"x":26,"y":-2,"z":10},{"x":27,"y":-2,"z":10},{"x":28,"y":-2,"z":10},{"x":29,"y":-2,"z":10},{"x":21,"y":-2,"z":11},{"x":22,"y":-2,"z":11},{"x":23,"y":-2,"z":11},{"x":24,"y":-2,"z":11},{"x":25,"y":-2,"z":11},{"x":26,"y":-2,"z":11},{"x":27,"y":-2,"z":11},{"x":28,"y":-2,"z":11},{"x":29,"y":-2,"z":11},{"x":21,"y":-2,"z":12},{"x":22,"y":-2,"z":12},{"x":23,"y":-2,"z":12},{"x":24,"y":-2,"z":12},{"x":25,"y":-2,"z":12},{"x":26,"y":-2,"z":12},{"x":27,"y":-2,"z":12},{"x":28,"y":-2,"z":12},{"x":29,"y":-2,"z":12},{"x":21,"y":-2,"z":13},{"x":22,"y":-2,"z":13},{"x":23,"y":-2,"z":13},{"x":24,"y":-2,"z":13},{"x":25,"y":-2,"z":13},{"x":26,"y":-2,"z":13},{"x":27,"y":-2,"z":13},{"x":28,"y":-2,"z":13},{"x":29,"y":-2,"z":13},{"x":21,"y":-2,"z":14},{"x":22,"y":-2,"z":14},{"x":23,"y":-2,"z":14},{"x":24,"y":-2,"z":14},{"x":25,"y":-2,"z":14},{"x":26,"y":-2,"z":14},{"x":27,"y":-2,"z":14},{"x":28,"y":-2,"z":14},{"x":29,"y":-2,"z":14}]},"L3":{"offsetPointList":[{"x":21,"y":-2,"z":16},{"x":22,"y":-2,"z":16},{"x":23,"y":-2,"z":16},{"x":24,"y":-2,"z":16},{"x":25,"y":-2,"z":16},{"x":26,"y":-2,"z":16},{"x":27,"y":-2,"z":16},{"x":28,"y":-2,"z":16},{"x":29,"y":-2,"z":16},{"x":21,"y":-2,"z":17},{"x":22,"y":-2,"z":17},{"x":23,"y":-2,"z":17},{"x":24,"y":-2,"z":17},{"x":25,"y":-2,"z":17},{"x":26,"y":-2,"z":17},{"x":27,"y":-2,"z":17},{"x":28,"y":-2,"z":17},{"x":29,"y":-2,"z":17},{"x":21,"y":-2,"z":18},{"x":22,"y":-2,"z":18},{"x":23,"y":-2,"z":18},{"x":24,"y":-2,"z":18},{"x":25,"y":-2,"z":18},{"x":26,"y":-2,"z":18},{"x":27,"y":-2,"z":18},{"x":28,"y":-2,"z":18},{"x":29,"y":-2,"z":18},{"x":21,"y":-2,"z":19},{"x":22,"y":-2,"z":19},{"x":23,"y":-2,"z":19},{"x":24,"y":-2,"z":19},{"x":25,"y":-2,"z":19},{"x":26,"y":-2,"z":19},{"x":27,"y":-2,"z":19},{"x":28,"y":-2,"z":19},{"x":29,"y":-2,"z":19},{"x":21,"y":-2,"z":20},{"x":22,"y":-2,"z":20},{"x":23,"y":-2,"z":20},{"x":24,"y":-2,"z":20},{"x":25,"y":-2,"z":20},{"x":26,"y":-2,"z":20},{"x":27,"y":-2,"z":20},{"x":28,"y":-2,"z":20},{"x":29,"y":-2,"z":20},{"x":21,"y":-2,"z":21},{"x":22,"y":-2,"z":21},{"x":23,"y":-2,"z":21},{"x":24,"y":-2,"z":21},{"x":25,"y":-2,"z":21},{"x":26,"y":-2,"z":21},{"x":27,"y":-2,"z":21},{"x":28,"y":-2,"z":21},{"x":29,"y":-2,"z":21}]},"L4":{"offsetPointList":[{"x":21,"y":-2,"z":23},{"x":22,"y":-2,"z":23},{"x":23,"y":-2,"z":23},{"x":24,"y":-2,"z":23},{"x":25,"y":-2,"z":23},{"x":26,"y":-2,"z":23},{"x":27,"y":-2,"z":23},{"x":28,"y":-2,"z":23},{"x":29,"y":-2,"z":23},{"x":21,"y":-2,"z":24},{"x":22,"y":-2,"z":24},{"x":23,"y":-2,"z":24},{"x":24,"y":-2,"z":24},{"x":25,"y":-2,"z":24},{"x":26,"y":-2,"z":24},{"x":27,"y":-2,"z":24},{"x":28,"y":-2,"z":24},{"x":29,"y":-2,"z":24},{"x":21,"y":-2,"z":25},{"x":22,"y":-2,"z":25},{"x":23,"y":-2,"z":25},{"x":24,"y":-2,"z":25},{"x":25,"y":-2,"z":25},{"x":26,"y":-2,"z":25},{"x":27,"y":-2,"z":25},{"x":28,"y":-2,"z":25},{"x":29,"y":-2,"z":25},{"x":21,"y":-2,"z":26},{"x":22,"y":-2,"z":26},{"x":23,"y":-2,"z":26},{"x":24,"y":-2,"z":26},{"x":25,"y":-2,"z":26},{"x":26,"y":-2,"z":26},{"x":27,"y":-2,"z":26},{"x":28,"y":-2,"z":26},{"x":29,"y":-2,"z":26},{"x":21,"y":-2,"z":27},{"x":22,"y":-2,"z":27},{"x":23,"y":-2,"z":27},{"x":24,"y":-2,"z":27},{"x":25,"y":-2,"z":27},{"x":26,"y":-2,"z":27},{"x":27,"y":-2,"z":27},{"x":28,"y":-2,"z":27},{"x":29,"y":-2,"z":27},{"x":21,"y":-2,"z":28},{"x":22,"y":-2,"z":28},{"x":23,"y":-2,"z":28},{"x":24,"y":-2,"z":28},{"x":25,"y":-2,"z":28},{"x":26,"y":-2,"z":28},{"x":27,"y":-2,"z":28},{"x":28,"y":-2,"z":28},{"x":29,"y":-2,"z":28}]},"Door":{"offsetPointList":[{"x":20,"y":-1,"z":5},{"x":25,"y":-1,"z":8},{"x":25,"y":-1,"z":15},{"x":25,"y":-1,"z":22},{"x":25,"y":-1,"z":29}]},"R1":{"offsetPointList":[{"x":3,"y":-2,"z":2},{"x":4,"y":-2,"z":2},{"x":5,"y":-2,"z":2},{"x":6,"y":-2,"z":2},{"x":7,"y":-2,"z":2},{"x":8,"y":-2,"z":2},{"x":9,"y":-2,"z":2},{"x":10,"y":-2,"z":2},{"x":11,"y":-2,"z":2},{"x":3,"y":-2,"z":3},{"x":4,"y":-2,"z":3},{"x":5,"y":-2,"z":3},{"x":6,"y":-2,"z":3},{"x":7,"y":-2,"z":3},{"x":8,"y":-2,"z":3},{"x":9,"y":-2,"z":3},{"x":10,"y":-2,"z":3},{"x":11,"y":-2,"z":3},{"x":3,"y":-2,"z":4},{"x":4,"y":-2,"z":4},{"x":5,"y":-2,"z":4},{"x":6,"y":-2,"z":4},{"x":7,"y":-2,"z":4},{"x":8,"y":-2,"z":4},{"x":9,"y":-2,"z":4},{"x":10,"y":-2,"z":4},{"x":11,"y":-2,"z":4},{"x":3,"y":-2,"z":5},{"x":4,"y":-2,"z":5},{"x":5,"y":-2,"z":5},{"x":6,"y":-2,"z":5},{"x":7,"y":-2,"z":5},{"x":8,"y":-2,"z":5},{"x":9,"y":-2,"z":5},{"x":10,"y":-2,"z":5},{"x":11,"y":-2,"z":5},{"x":3,"y":-2,"z":6},{"x":4,"y":-2,"z":6},{"x":5,"y":-2,"z":6},{"x":6,"y":-2,"z":6},{"x":7,"y":-2,"z":6},{"x":8,"y":-2,"z":6},{"x":9,"y":-2,"z":6},{"x":10,"y":-2,"z":6},{"x":11,"y":-2,"z":6},{"x":3,"y":-2,"z":7},{"x":4,"y":-2,"z":7},{"x":5,"y":-2,"z":7},{"x":6,"y":-2,"z":7},{"x":7,"y":-2,"z":7},{"x":8,"y":-2,"z":7},{"x":9,"y":-2,"z":7},{"x":10,"y":-2,"z":7},{"x":11,"y":-2,"z":7}]}},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/65d8264d-f47c-4306-b89f-46e28b117511.json b/src/main/resources/dgroomdata/65d8264d-f47c-4306-b89f-46e28b117511.json new file mode 100644 index 0000000..c3a7c26 --- /dev/null +++ b/src/main/resources/dgroomdata/65d8264d-f47c-4306-b89f-46e28b117511.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,-1,-1,-1,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,-1,-1,-1,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,139,139,98,109,109,109,98,98,109,109,98,98,98,98,1,98,4,0,-1,-1,-1,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,139,139,98,109,0,0,0,0,0,0,0,0,0,0,0,98,4,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,0,0,0,98,98,0,0,98,98,0,0,0,98,98,0,0,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,0,0,98,98,0,0,0,98,98,0,0,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,109,1,0,0,0,0,0,0,0,0,0,0,0,98,109,109,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,50,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,50,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,0,0,1,0,0,0,98,98,0,0,0,98,98,0,0,0,0,50,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,98,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,0,0,98,98,0,0,0,98,98,0,0,109,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,98,98,0,0,0,98,98,0,0,109,98,0,0,98,0,101,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"65d8264d-f47c-4306-b89f-46e28b117511","name":"Drop","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":6,"y":-11,"z":16},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":26,"y":7,"z":3},"secretType":"CHEST","preRequisite":[]},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":15,"y":8,"z":2},{"x":15,"y":7,"z":2},{"x":16,"y":8,"z":2},{"x":16,"y":7,"z":2},{"x":17,"y":8,"z":2},{"x":17,"y":7,"z":2},{"x":15,"y":8,"z":3},{"x":15,"y":7,"z":3},{"x":16,"y":8,"z":3},{"x":16,"y":7,"z":3},{"x":17,"y":8,"z":3},{"x":17,"y":7,"z":3},{"x":15,"y":8,"z":4},{"x":15,"y":7,"z":4},{"x":16,"y":8,"z":4},{"x":16,"y":7,"z":4},{"x":17,"y":8,"z":4},{"x":17,"y":7,"z":4},{"x":15,"y":8,"z":5},{"x":15,"y":7,"z":5},{"x":16,"y":8,"z":5},{"x":16,"y":7,"z":5},{"x":17,"y":8,"z":5},{"x":17,"y":7,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":2,"y":8,"z":24},{"x":2,"y":7,"z":24},{"x":3,"y":8,"z":24},{"x":3,"y":7,"z":24},{"x":4,"y":8,"z":24},{"x":4,"y":7,"z":24},{"x":2,"y":8,"z":25},{"x":2,"y":7,"z":25},{"x":3,"y":8,"z":25},{"x":3,"y":7,"z":25},{"x":4,"y":8,"z":25},{"x":4,"y":7,"z":25},{"x":2,"y":8,"z":26},{"x":2,"y":7,"z":26},{"x":3,"y":8,"z":26},{"x":3,"y":7,"z":26},{"x":4,"y":8,"z":26},{"x":4,"y":7,"z":26}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":25,"y":8,"z":27},{"x":25,"y":7,"z":27},{"x":26,"y":8,"z":27},{"x":26,"y":7,"z":27},{"x":27,"y":8,"z":27},{"x":27,"y":7,"z":27},{"x":25,"y":8,"z":28},{"x":25,"y":7,"z":28},{"x":26,"y":8,"z":28},{"x":26,"y":7,"z":28},{"x":27,"y":8,"z":28},{"x":27,"y":7,"z":28},{"x":25,"y":8,"z":29},{"x":25,"y":7,"z":29},{"x":26,"y":8,"z":29},{"x":26,"y":7,"z":29},{"x":27,"y":8,"z":29},{"x":27,"y":7,"z":29},{"x":25,"y":8,"z":30},{"x":25,"y":7,"z":30},{"x":26,"y":8,"z":30},{"x":26,"y":7,"z":30},{"x":27,"y":8,"z":30},{"x":27,"y":7,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":28,"y":8,"z":6},{"x":28,"y":7,"z":6},{"x":29,"y":8,"z":6},{"x":29,"y":7,"z":6},{"x":28,"y":8,"z":7},{"x":28,"y":7,"z":7},{"x":29,"y":8,"z":7},{"x":29,"y":7,"z":7},{"x":28,"y":8,"z":8},{"x":28,"y":7,"z":8},{"x":29,"y":8,"z":8},{"x":29,"y":7,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":23,"y":8,"z":6},{"x":23,"y":7,"z":6},{"x":24,"y":8,"z":6},{"x":24,"y":7,"z":6},{"x":23,"y":8,"z":7},{"x":23,"y":7,"z":7},{"x":24,"y":8,"z":7},{"x":24,"y":7,"z":7},{"x":23,"y":8,"z":8},{"x":23,"y":7,"z":8},{"x":24,"y":8,"z":8},{"x":24,"y":7,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":25,"y":0,"z":3},{"x":25,"y":-1,"z":3},{"x":26,"y":0,"z":3},{"x":26,"y":-1,"z":3},{"x":27,"y":0,"z":3},{"x":27,"y":-1,"z":3},{"x":25,"y":0,"z":4},{"x":25,"y":-1,"z":4},{"x":26,"y":0,"z":4},{"x":26,"y":-1,"z":4},{"x":27,"y":0,"z":4},{"x":27,"y":-1,"z":4},{"x":25,"y":0,"z":5},{"x":25,"y":-1,"z":5},{"x":26,"y":0,"z":5},{"x":26,"y":-1,"z":5},{"x":27,"y":0,"z":5},{"x":27,"y":-1,"z":5},{"x":25,"y":0,"z":6},{"x":25,"y":-1,"z":6},{"x":26,"y":0,"z":6},{"x":26,"y":-1,"z":6},{"x":27,"y":0,"z":6},{"x":27,"y":-1,"z":6}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":10,"y":-7,"z":15},{"x":10,"y":-8,"z":15},{"x":10,"y":-9,"z":15},{"x":10,"y":-10,"z":15},{"x":10,"y":-11,"z":15},{"x":10,"y":-7,"z":16},{"x":10,"y":-8,"z":16},{"x":10,"y":-9,"z":16},{"x":10,"y":-10,"z":16},{"x":10,"y":-11,"z":16},{"x":10,"y":-8,"z":17},{"x":10,"y":-9,"z":17},{"x":10,"y":-10,"z":17},{"x":10,"y":-11,"z":17}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/6b0dfb3e-c86c-41d1-8526-a172027dbb8d.json b/src/main/resources/dgroomdata/6b0dfb3e-c86c-41d1-8526-a172027dbb8d.json new file mode 100644 index 0000000..31c304b --- /dev/null +++ b/src/main/resources/dgroomdata/6b0dfb3e-c86c-41d1-8526-a172027dbb8d.json @@ -0,0 +1,1380 @@ +{ + "isUserMade": false, + "shape": 3, + "color": 63, + "uuid": "6b0dfb3e-c86c-41d1-8526-a172027dbb8d", + "name": "grass-ruin", + "processorId": "default", + "properties": {}, + "mechanics": { + "chest-2": { + "mechType": "Secret", + "secretPoint": { + "x": 4, + "y": -15, + "z": 15 + }, + "secretType": "CHEST", + "preRequisite": [ + "door-2:open" + ] + }, + "door-3": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": -12, + "z": 6 + }, + { + "x": 27, + "y": -13, + "z": 6 + }, + { + "x": 27, + "y": -14, + "z": 6 + }, + { + "x": 27, + "y": -15, + "z": 6 + }, + { + "x": 27, + "y": -16, + "z": 6 + }, + { + "x": 27, + "y": -17, + "z": 6 + }, + { + "x": 27, + "y": -18, + "z": 6 + }, + { + "x": 27, + "y": -12, + "z": 7 + }, + { + "x": 27, + "y": -13, + "z": 7 + }, + { + "x": 27, + "y": -14, + "z": 7 + }, + { + "x": 27, + "y": -15, + "z": 7 + }, + { + "x": 27, + "y": -16, + "z": 7 + }, + { + "x": 27, + "y": -17, + "z": 7 + }, + { + "x": 27, + "y": -18, + "z": 7 + }, + { + "x": 27, + "y": -12, + "z": 8 + }, + { + "x": 27, + "y": -13, + "z": 8 + }, + { + "x": 27, + "y": -14, + "z": 8 + }, + { + "x": 27, + "y": -15, + "z": 8 + }, + { + "x": 27, + "y": -16, + "z": 8 + }, + { + "x": 27, + "y": -17, + "z": 8 + }, + { + "x": 27, + "y": -18, + "z": 8 + }, + { + "x": 27, + "y": -12, + "z": 9 + }, + { + "x": 27, + "y": -13, + "z": 9 + }, + { + "x": 27, + "y": -14, + "z": 9 + }, + { + "x": 27, + "y": -15, + "z": 9 + }, + { + "x": 27, + "y": -16, + "z": 9 + }, + { + "x": 27, + "y": -17, + "z": 9 + }, + { + "x": 27, + "y": -18, + "z": 9 + }, + { + "x": 27, + "y": -12, + "z": 10 + }, + { + "x": 27, + "y": -13, + "z": 10 + }, + { + "x": 27, + "y": -14, + "z": 10 + }, + { + "x": 27, + "y": -15, + "z": 10 + }, + { + "x": 27, + "y": -16, + "z": 10 + }, + { + "x": 27, + "y": -17, + "z": 10 + }, + { + "x": 27, + "y": -18, + "z": 10 + } + ] + }, + "preRequisite": [ + "lever-2:triggered" + ], + "mechType": "OnewayDoor" + }, + "chest-1": { + "mechType": "Secret", + "secretPoint": { + "x": 12, + "y": 37, + "z": 11 + }, + "secretType": "CHEST", + "preRequisite": [] + }, + "lever-1": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 32, + "y": 12, + "z": 29 + }, + "preRequisite": [], + "triggering": "door-1" + }, + "door-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 29, + "y": 1, + "z": 18 + }, + { + "x": 29, + "y": 0, + "z": 18 + }, + { + "x": 29, + "y": -1, + "z": 18 + }, + { + "x": 29, + "y": -2, + "z": 18 + }, + { + "x": 29, + "y": -3, + "z": 18 + }, + { + "x": 29, + "y": -4, + "z": 18 + }, + { + "x": 29, + "y": -5, + "z": 18 + }, + { + "x": 29, + "y": -6, + "z": 18 + }, + { + "x": 29, + "y": -7, + "z": 18 + }, + { + "x": 30, + "y": 1, + "z": 18 + }, + { + "x": 30, + "y": 0, + "z": 18 + }, + { + "x": 30, + "y": -1, + "z": 18 + }, + { + "x": 30, + "y": -2, + "z": 18 + }, + { + "x": 30, + "y": -3, + "z": 18 + }, + { + "x": 30, + "y": -4, + "z": 18 + }, + { + "x": 30, + "y": -5, + "z": 18 + }, + { + "x": 30, + "y": -6, + "z": 18 + }, + { + "x": 30, + "y": -7, + "z": 18 + }, + { + "x": 31, + "y": 1, + "z": 18 + }, + { + "x": 31, + "y": 0, + "z": 18 + }, + { + "x": 31, + "y": -1, + "z": 18 + }, + { + "x": 31, + "y": -2, + "z": 18 + }, + { + "x": 31, + "y": -3, + "z": 18 + }, + { + "x": 31, + "y": -4, + "z": 18 + }, + { + "x": 31, + "y": -5, + "z": 18 + }, + { + "x": 31, + "y": -6, + "z": 18 + }, + { + "x": 31, + "y": -7, + "z": 18 + }, + { + "x": 32, + "y": 1, + "z": 18 + }, + { + "x": 32, + "y": 0, + "z": 18 + }, + { + "x": 32, + "y": -1, + "z": 18 + }, + { + "x": 32, + "y": -2, + "z": 18 + }, + { + "x": 32, + "y": -3, + "z": 18 + }, + { + "x": 32, + "y": -4, + "z": 18 + }, + { + "x": 32, + "y": -5, + "z": 18 + }, + { + "x": 32, + "y": -6, + "z": 18 + }, + { + "x": 32, + "y": -7, + "z": 18 + }, + { + "x": 33, + "y": 1, + "z": 18 + }, + { + "x": 33, + "y": 0, + "z": 18 + }, + { + "x": 33, + "y": -1, + "z": 18 + }, + { + "x": 33, + "y": -2, + "z": 18 + }, + { + "x": 33, + "y": -3, + "z": 18 + }, + { + "x": 33, + "y": -4, + "z": 18 + }, + { + "x": 33, + "y": -5, + "z": 18 + }, + { + "x": 33, + "y": -6, + "z": 18 + }, + { + "x": 33, + "y": -7, + "z": 18 + }, + { + "x": 34, + "y": 1, + "z": 18 + }, + { + "x": 34, + "y": 0, + "z": 18 + }, + { + "x": 34, + "y": -1, + "z": 18 + }, + { + "x": 34, + "y": -2, + "z": 18 + }, + { + "x": 34, + "y": -3, + "z": 18 + }, + { + "x": 34, + "y": -4, + "z": 18 + }, + { + "x": 34, + "y": -5, + "z": 18 + }, + { + "x": 34, + "y": -6, + "z": 18 + }, + { + "x": 34, + "y": -7, + "z": 18 + }, + { + "x": 35, + "y": 1, + "z": 18 + }, + { + "x": 35, + "y": 0, + "z": 18 + }, + { + "x": 35, + "y": -1, + "z": 18 + }, + { + "x": 35, + "y": -2, + "z": 18 + }, + { + "x": 35, + "y": -3, + "z": 18 + }, + { + "x": 35, + "y": -4, + "z": 18 + }, + { + "x": 35, + "y": -5, + "z": 18 + }, + { + "x": 35, + "y": -6, + "z": 18 + }, + { + "x": 35, + "y": -7, + "z": 18 + } + ] + }, + "preRequisite": [ + "lever-1:triggered" + ], + "mechType": "OnewayDoor" + }, + "lever-2": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 32, + "y": -17, + "z": 25 + }, + "preRequisite": [ + "door-1:open" + ], + "triggering": "door-2" + }, + "door-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 27, + "y": -12, + "z": 20 + }, + { + "x": 27, + "y": -13, + "z": 20 + }, + { + "x": 27, + "y": -14, + "z": 20 + }, + { + "x": 27, + "y": -15, + "z": 20 + }, + { + "x": 27, + "y": -16, + "z": 20 + }, + { + "x": 27, + "y": -17, + "z": 20 + }, + { + "x": 27, + "y": -18, + "z": 20 + }, + { + "x": 27, + "y": -12, + "z": 21 + }, + { + "x": 27, + "y": -13, + "z": 21 + }, + { + "x": 27, + "y": -14, + "z": 21 + }, + { + "x": 27, + "y": -15, + "z": 21 + }, + { + "x": 27, + "y": -16, + "z": 21 + }, + { + "x": 27, + "y": -17, + "z": 21 + }, + { + "x": 27, + "y": -18, + "z": 21 + }, + { + "x": 27, + "y": -12, + "z": 22 + }, + { + "x": 27, + "y": -13, + "z": 22 + }, + { + "x": 27, + "y": -14, + "z": 22 + }, + { + "x": 27, + "y": -15, + "z": 22 + }, + { + "x": 27, + "y": -16, + "z": 22 + }, + { + "x": 27, + "y": -17, + "z": 22 + }, + { + "x": 27, + "y": -18, + "z": 22 + }, + { + "x": 27, + "y": -12, + "z": 23 + }, + { + "x": 27, + "y": -13, + "z": 23 + }, + { + "x": 27, + "y": -14, + "z": 23 + }, + { + "x": 27, + "y": -15, + "z": 23 + }, + { + "x": 27, + "y": -16, + "z": 23 + }, + { + "x": 27, + "y": -17, + "z": 23 + }, + { + "x": 27, + "y": -18, + "z": 23 + }, + { + "x": 27, + "y": -12, + "z": 24 + }, + { + "x": 27, + "y": -13, + "z": 24 + }, + { + "x": 27, + "y": -14, + "z": 24 + }, + { + "x": 27, + "y": -15, + "z": 24 + }, + { + "x": 27, + "y": -16, + "z": 24 + }, + { + "x": 27, + "y": -17, + "z": 24 + }, + { + "x": 27, + "y": -18, + "z": 24 + } + ] + }, + "preRequisite": [ + "lever-2:triggered" + ], + "mechType": "OnewayDoor" + }, + "superboom-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 47, + "y": 10, + "z": 24 + }, + { + "x": 47, + "y": 13, + "z": 25 + }, + { + "x": 47, + "y": 12, + "z": 25 + }, + { + "x": 47, + "y": 11, + "z": 25 + }, + { + "x": 47, + "y": 10, + "z": 25 + }, + { + "x": 47, + "y": 13, + "z": 26 + }, + { + "x": 47, + "y": 12, + "z": 26 + }, + { + "x": 47, + "y": 11, + "z": 26 + }, + { + "x": 47, + "y": 10, + "z": 26 + }, + { + "x": 47, + "y": 12, + "z": 27 + }, + { + "x": 47, + "y": 10, + "z": 27 + } + ] + }, + "preRequisite": [], + "mechType": "BreakableWall" + }, + "crypt-3": { + "secretPoint": { + "offsetPointList": [ + { + "x": 58, + "y": 21, + "z": 7 + }, + { + "x": 58, + "y": 20, + "z": 7 + }, + { + "x": 59, + "y": 21, + "z": 7 + }, + { + "x": 59, + "y": 20, + "z": 7 + }, + { + "x": 60, + "y": 21, + "z": 7 + }, + { + "x": 60, + "y": 20, + "z": 7 + }, + { + "x": 61, + "y": 21, + "z": 7 + }, + { + "x": 61, + "y": 20, + "z": 7 + }, + { + "x": 58, + "y": 21, + "z": 8 + }, + { + "x": 58, + "y": 20, + "z": 8 + }, + { + "x": 59, + "y": 21, + "z": 8 + }, + { + "x": 59, + "y": 20, + "z": 8 + }, + { + "x": 60, + "y": 21, + "z": 8 + }, + { + "x": 60, + "y": 20, + "z": 8 + }, + { + "x": 61, + "y": 21, + "z": 8 + }, + { + "x": 61, + "y": 20, + "z": 8 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "crypt-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 58, + "y": 21, + "z": 23 + }, + { + "x": 58, + "y": 20, + "z": 23 + }, + { + "x": 59, + "y": 21, + "z": 23 + }, + { + "x": 59, + "y": 20, + "z": 23 + }, + { + "x": 60, + "y": 21, + "z": 23 + }, + { + "x": 60, + "y": 20, + "z": 23 + }, + { + "x": 61, + "y": 21, + "z": 23 + }, + { + "x": 61, + "y": 20, + "z": 23 + }, + { + "x": 58, + "y": 21, + "z": 24 + }, + { + "x": 58, + "y": 20, + "z": 24 + }, + { + "x": 59, + "y": 21, + "z": 24 + }, + { + "x": 59, + "y": 20, + "z": 24 + }, + { + "x": 60, + "y": 21, + "z": 24 + }, + { + "x": 60, + "y": 20, + "z": 24 + }, + { + "x": 61, + "y": 21, + "z": 24 + }, + { + "x": 61, + "y": 20, + "z": 24 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "essence-1": { + "mechType": "Secret", + "secretPoint": { + "x": 49, + "y": 11, + "z": 25 + }, + "secretType": "ESSENCE", + "preRequisite": [ + "superboom-1:open" + ] + }, + "crypt-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 53, + "y": -17, + "z": 4 + }, + { + "x": 53, + "y": -18, + "z": 4 + }, + { + "x": 54, + "y": -17, + "z": 4 + }, + { + "x": 54, + "y": -18, + "z": 4 + }, + { + "x": 55, + "y": -17, + "z": 4 + }, + { + "x": 55, + "y": -18, + "z": 4 + }, + { + "x": 53, + "y": -17, + "z": 5 + }, + { + "x": 53, + "y": -18, + "z": 5 + }, + { + "x": 54, + "y": -17, + "z": 5 + }, + { + "x": 54, + "y": -18, + "z": 5 + }, + { + "x": 55, + "y": -17, + "z": 5 + }, + { + "x": 55, + "y": -18, + "z": 5 + }, + { + "x": 53, + "y": -17, + "z": 6 + }, + { + "x": 53, + "y": -18, + "z": 6 + }, + { + "x": 54, + "y": -17, + "z": 6 + }, + { + "x": 54, + "y": -18, + "z": 6 + }, + { + "x": 55, + "y": -17, + "z": 6 + }, + { + "x": 55, + "y": -18, + "z": 6 + }, + { + "x": 53, + "y": -17, + "z": 7 + }, + { + "x": 53, + "y": -18, + "z": 7 + }, + { + "x": 54, + "y": -17, + "z": 7 + }, + { + "x": 54, + "y": -18, + "z": 7 + }, + { + "x": 55, + "y": -17, + "z": 7 + }, + { + "x": 55, + "y": -18, + "z": 7 + } + ] + }, + "preRequisite": [ + "door-1:open" + ], + "mechType": "Tomb" + }, + "prince-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 58, + "y": 25, + "z": 14 + }, + { + "x": 58, + "y": 24, + "z": 14 + }, + { + "x": 58, + "y": 23, + "z": 14 + }, + { + "x": 59, + "y": 25, + "z": 14 + }, + { + "x": 59, + "y": 24, + "z": 14 + }, + { + "x": 59, + "y": 23, + "z": 14 + }, + { + "x": 60, + "y": 25, + "z": 14 + }, + { + "x": 60, + "y": 24, + "z": 14 + }, + { + "x": 60, + "y": 23, + "z": 14 + }, + { + "x": 61, + "y": 25, + "z": 14 + }, + { + "x": 61, + "y": 24, + "z": 14 + }, + { + "x": 61, + "y": 23, + "z": 14 + }, + { + "x": 58, + "y": 25, + "z": 15 + }, + { + "x": 58, + "y": 24, + "z": 15 + }, + { + "x": 58, + "y": 23, + "z": 15 + }, + { + "x": 59, + "y": 25, + "z": 15 + }, + { + "x": 59, + "y": 24, + "z": 15 + }, + { + "x": 59, + "y": 23, + "z": 15 + }, + { + "x": 60, + "y": 25, + "z": 15 + }, + { + "x": 60, + "y": 24, + "z": 15 + }, + { + "x": 60, + "y": 23, + "z": 15 + }, + { + "x": 61, + "y": 25, + "z": 15 + }, + { + "x": 61, + "y": 24, + "z": 15 + }, + { + "x": 61, + "y": 23, + "z": 15 + }, + { + "x": 58, + "y": 25, + "z": 16 + }, + { + "x": 58, + "y": 24, + "z": 16 + }, + { + "x": 58, + "y": 23, + "z": 16 + }, + { + "x": 59, + "y": 25, + "z": 16 + }, + { + "x": 59, + "y": 24, + "z": 16 + }, + { + "x": 59, + "y": 23, + "z": 16 + }, + { + "x": 60, + "y": 25, + "z": 16 + }, + { + "x": 60, + "y": 24, + "z": 16 + }, + { + "x": 60, + "y": 23, + "z": 16 + }, + { + "x": 61, + "y": 25, + "z": 16 + }, + { + "x": 61, + "y": 24, + "z": 16 + }, + { + "x": 61, + "y": 23, + "z": 16 + }, + { + "x": 58, + "y": 25, + "z": 17 + }, + { + "x": 58, + "y": 24, + "z": 17 + }, + { + "x": 58, + "y": 23, + "z": 17 + }, + { + "x": 59, + "y": 25, + "z": 17 + }, + { + "x": 59, + "y": 24, + "z": 17 + }, + { + "x": 59, + "y": 23, + "z": 17 + }, + { + "x": 60, + "y": 25, + "z": 17 + }, + { + "x": 60, + "y": 24, + "z": 17 + }, + { + "x": 60, + "y": 23, + "z": 17 + }, + { + "x": 61, + "y": 25, + "z": 17 + }, + { + "x": 61, + "y": 24, + "z": 17 + }, + { + "x": 61, + "y": 23, + "z": 17 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + } + }, + "totalSecrets": 3 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/6b7256ae-8673-4c2f-825f-6cd727801ea9.json b/src/main/resources/dgroomdata/6b7256ae-8673-4c2f-825f-6cd727801ea9.json new file mode 100644 index 0000000..a115b18 --- /dev/null +++ b/src/main/resources/dgroomdata/6b7256ae-8673-4c2f-825f-6cd727801ea9.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,43,44,98,109,0,0,0,0,0,0,98,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,67,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,67,0,0,0,0,162,0,109,109,109,0,139,139,0,0,0,0,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,98,98,98,98,98,0,98,98,98,0,139,139,0,0,0,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,109,109,109,0,98,98,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,109,0,0,0,109,98,1,1,1,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,98,0,144,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,0,0,0,126,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,139,0,0,0,134,126,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,139,0,0,0,5,126,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,67,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,0,0,5,126,126,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,139,0,5,134,126,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,35,98,98,98,98,98,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,139,98,98,98,50,0,126,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,3,7,1,98,0,0,0,0,0,0,0,0,0,67,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,0,0,3,109,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,0,0,0,98,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,0,0,31,109,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"6b7256ae-8673-4c2f-825f-6cd727801ea9","name":"Painting","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":23,"y":-1,"z":7},"secretType":"ITEM_DROP","preRequisite":[]},"essence-1":{"mechType":"Secret","secretPoint":{"x":22,"y":10,"z":25},"secretType":"ESSENCE","preRequisite":[]},"journal-1":{"secretPoint":{"x":8,"y":0,"z":7},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/6dcddc04-c094-4b9b-8c05-b101e8f3dd27.json b/src/main/resources/dgroomdata/6dcddc04-c094-4b9b-8c05-b101e8f3dd27.json new file mode 100644 index 0000000..3c354d9 --- /dev/null +++ b/src/main/resources/dgroomdata/6dcddc04-c094-4b9b-8c05-b101e8f3dd27.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":15,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,159,144,0,0,0,0,0,0,0,0,0,0,5,5,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,98,98,109,109,98,1,98,98,98,98,109,0,0,0,0,0,0,0,159,1,1,98,1,1,35,0,0,0,0,0,35,35,1,1,1,1,1,159,0,0,0,159,1,1,1,1,1,1,1,7,0,0,0,159,1,1,35,35,0,0,0,0,159,1,1,1,1,1,35,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,159,0,0,0,0,0,0,0,0,0,0,0,5,53,0,0,0,85,0,85,0,0,0,0,0,85,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,159,1,1,1,98,1,35,0,0,0,0,0,0,35,1,1,1,1,1,159,0,0,0,0,35,35,35,1,1,35,7,0,0,0,0,0,35,35,0,0,0,0,0,0,0,159,1,1,1,35,35,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,159,159,98,98,1,35,0,0,0,0,0,0,35,35,1,1,159,159,159,0,188,0,0,188,0,0,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,159,35,35,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,17,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,159,98,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,35,50,0,0,0,0,0,0,0,50,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,44,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,159,0,0,0,0,0,0,0,0,0,0,188,0,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,85,0,0,0,0,0,85,0,85,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,44,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,0,0,-1,-1,0,0,98,98,144,0,0,0,50,1,139,98,98,98,0,0,0,0,0,98,98,98,109,109,98,109,0,0,0,0,0,159,98,98,1,1,1,7,7,0,0,0,0,0,0,0,0,0,0,0,188,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,17,50,0,0,0,0,0,0,0,0,5,136,136,136,17,0,0,0,17,0,0,0,17,0,0,0,17,139,98,0,0,-1,-1,0,0,1,98,0,0,0,0,0,98,98,109,98,98,0,0,0,0,0,98,98,159,159,159,98,109,0,0,0,0,0,159,98,98,1,1,1,1,7,1,0,0,0,0,188,0,0,0,188,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,188,0,0,0,0,188,0,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,159,159,98,98,98,0,0,0,0,0,0,0,0,136,136,136,5,85,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,0,31,0,98,98,98,98,0,50,0,0,0,0,0,159,1,1,1,1,1,1,35,0,0,0,0,0,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,145,0,1,109,109,0,0,0,0,0,0,0,0,50,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,0,98,98,98,98,35,0,0,0,0,0,0,0,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,159,98,98,1,35,0,0,0,0,0,0,1,1,1,1,1,35,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,1,1,159,0,0,0,0,0,0,159,159,1,35,35,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,188,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,1,1,159,0,0,0,0,0,0,0,159,35,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,145,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,0,98,98,98,98,159,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,159,159,98,98,109,0,0,0,0,0,0,0,0,0,0,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,0,31,0,98,98,98,98,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,50,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,1,109,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,139,0,0,0,0,0,139,98,109,98,98,0,0,0,0,0,98,98,159,159,159,98,98,0,0,0,0,0,1,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,98,98,98,109,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,144,0,0,0,0,0,0,0,0,0,0,159,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,98,98,98,0,0,0,0,0,98,98,109,109,109,98,98,0,0,0,0,0,98,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,44,0,0,0,0,0,0,0,0,0,145,159,144,0,0,0,-1,-1,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,98,1,1,159,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,98,50,0,0,0,0,0,0,0,0,0,159,0,0,0,0,-1,-1,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,1,98,1,159,0,0,0,0,0,1,1,0,0,0,0,0,0,0,188,183,188,0,0,0,126,126,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,98,159,98,0,0,0,-1,-1,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,1,1,0,0,0,126,126,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,-1,-1,0,0,0,-1,-1,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,159,98,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,35,35,159,98,98,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,1,1,1,1,1,0,0,0,0,0,0,0,17,0,0,0,17,0,0,0,0,0,0,0,0,98,0,0,0,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,109,0,0,0,0,0,0,0,0,0,145,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,159,98,0,0,0,31,0,0,0,0,0,0,0,0,0,0,35,35,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,169,1,1,0,188,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,98,0,0,0,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,98,98,109,0,0,0,0,0,0,0,0,0,0,159,98,98,50,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,98,0,0,0,0,0,1,98,98,98,1,1,98,98,98,1,98,98,109,0,0,0,0,35,1,1,1,1,1,98,98,139,0,0,0,0,0,0,17,0,0,0,0,109,109,0,0,0,1,1,155,155,155,1,1,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,139,1,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"6dcddc04-c094-4b9b-8c05-b101e8f3dd27","name":"Quartz-Knight","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":19,"y":20,"z":25},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":22,"y":19,"z":25},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":7,"y":-7,"z":28},"secretType":"CHEST","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":28,"y":-10,"z":17},"secretType":"BAT","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":118,"y":20,"z":3},{"x":118,"y":19,"z":3},{"x":118,"y":18,"z":3},{"x":118,"y":17,"z":3},{"x":118,"y":20,"z":4},{"x":118,"y":19,"z":4},{"x":118,"y":18,"z":4},{"x":118,"y":17,"z":4},{"x":118,"y":18,"z":5}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-5":{"mechType":"Secret","secretPoint":{"x":112,"y":18,"z":3},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":68,"y":14,"z":6},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":96,"y":9,"z":28},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":122,"y":0,"z":25},{"x":122,"y":-1,"z":25},{"x":123,"y":0,"z":25},{"x":123,"y":-1,"z":25},{"x":124,"y":0,"z":25},{"x":124,"y":-1,"z":25},{"x":125,"y":0,"z":25},{"x":125,"y":-1,"z":25},{"x":122,"y":0,"z":26},{"x":122,"y":-1,"z":26},{"x":123,"y":0,"z":26},{"x":123,"y":-1,"z":26},{"x":124,"y":0,"z":26},{"x":124,"y":-1,"z":26},{"x":125,"y":0,"z":26},{"x":125,"y":-1,"z":26},{"x":122,"y":0,"z":27},{"x":122,"y":-1,"z":27},{"x":123,"y":0,"z":27},{"x":123,"y":-1,"z":27},{"x":124,"y":0,"z":27},{"x":124,"y":-1,"z":27},{"x":125,"y":0,"z":27},{"x":125,"y":-1,"z":27}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":42,"y":21,"z":23},{"x":42,"y":20,"z":23},{"x":43,"y":21,"z":23},{"x":43,"y":20,"z":23},{"x":44,"y":21,"z":23},{"x":44,"y":20,"z":23},{"x":42,"y":21,"z":24},{"x":42,"y":20,"z":24},{"x":43,"y":21,"z":24},{"x":43,"y":20,"z":24},{"x":44,"y":21,"z":24},{"x":44,"y":20,"z":24},{"x":42,"y":21,"z":25},{"x":42,"y":20,"z":25},{"x":43,"y":21,"z":25},{"x":43,"y":20,"z":25},{"x":44,"y":21,"z":25},{"x":44,"y":20,"z":25},{"x":42,"y":21,"z":26},{"x":42,"y":20,"z":26},{"x":43,"y":21,"z":26},{"x":43,"y":20,"z":26},{"x":44,"y":21,"z":26},{"x":44,"y":20,"z":26},{"x":42,"y":21,"z":27},{"x":42,"y":20,"z":27},{"x":43,"y":21,"z":27},{"x":43,"y":20,"z":27},{"x":44,"y":21,"z":27},{"x":44,"y":20,"z":27}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":27,"y":0,"z":23},{"x":27,"y":-1,"z":23},{"x":28,"y":0,"z":23},{"x":28,"y":-1,"z":23},{"x":27,"y":0,"z":24},{"x":27,"y":-1,"z":24},{"x":28,"y":0,"z":24},{"x":28,"y":-1,"z":24},{"x":27,"y":0,"z":25},{"x":27,"y":-1,"z":25},{"x":28,"y":0,"z":25},{"x":28,"y":-1,"z":25},{"x":27,"y":0,"z":26},{"x":27,"y":-1,"z":26},{"x":28,"y":0,"z":26},{"x":28,"y":-1,"z":26}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":32,"y":0,"z":23},{"x":32,"y":-1,"z":23},{"x":33,"y":0,"z":23},{"x":33,"y":-1,"z":23},{"x":32,"y":0,"z":24},{"x":32,"y":-1,"z":24},{"x":33,"y":0,"z":24},{"x":33,"y":-1,"z":24},{"x":32,"y":0,"z":25},{"x":32,"y":-1,"z":25},{"x":33,"y":0,"z":25},{"x":33,"y":-1,"z":25},{"x":32,"y":0,"z":26},{"x":32,"y":-1,"z":26},{"x":33,"y":0,"z":26},{"x":33,"y":-1,"z":26}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":40,"y":0,"z":7},{"x":40,"y":-1,"z":7},{"x":41,"y":0,"z":7},{"x":41,"y":-1,"z":7},{"x":40,"y":0,"z":8},{"x":40,"y":-1,"z":8},{"x":41,"y":0,"z":8},{"x":41,"y":-1,"z":8},{"x":40,"y":0,"z":9},{"x":40,"y":-1,"z":9},{"x":41,"y":0,"z":9},{"x":41,"y":-1,"z":9},{"x":40,"y":0,"z":10},{"x":40,"y":-1,"z":10},{"x":41,"y":0,"z":10},{"x":41,"y":-1,"z":10},{"x":40,"y":0,"z":11},{"x":40,"y":-1,"z":11},{"x":41,"y":0,"z":11},{"x":41,"y":-1,"z":11}]},"preRequisite":[],"mechType":"Tomb"},"prince-1":{"secretPoint":{"offsetPointList":[{"x":42,"y":22,"z":3},{"x":42,"y":21,"z":3},{"x":42,"y":20,"z":3},{"x":43,"y":22,"z":3},{"x":43,"y":21,"z":3},{"x":43,"y":20,"z":3},{"x":44,"y":22,"z":3},{"x":44,"y":21,"z":3},{"x":44,"y":20,"z":3},{"x":42,"y":22,"z":4},{"x":42,"y":21,"z":4},{"x":42,"y":20,"z":4},{"x":43,"y":22,"z":4},{"x":43,"y":21,"z":4},{"x":43,"y":20,"z":4},{"x":44,"y":22,"z":4},{"x":44,"y":21,"z":4},{"x":44,"y":20,"z":4},{"x":42,"y":22,"z":5},{"x":42,"y":21,"z":5},{"x":42,"y":20,"z":5},{"x":43,"y":22,"z":5},{"x":43,"y":21,"z":5},{"x":43,"y":20,"z":5},{"x":44,"y":22,"z":5},{"x":44,"y":21,"z":5},{"x":44,"y":20,"z":5},{"x":42,"y":22,"z":6},{"x":42,"y":21,"z":6},{"x":42,"y":20,"z":6},{"x":43,"y":22,"z":6},{"x":43,"y":21,"z":6},{"x":43,"y":20,"z":6},{"x":44,"y":22,"z":6},{"x":44,"y":21,"z":6},{"x":44,"y":20,"z":6}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":7} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/6fac9602-c596-458f-9750-9b331e2cb845.json b/src/main/resources/dgroomdata/6fac9602-c596-458f-9750-9b331e2cb845.json new file mode 100644 index 0000000..9b3adfc --- /dev/null +++ b/src/main/resources/dgroomdata/6fac9602-c596-458f-9750-9b331e2cb845.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,50,0,0,0,0,126,126,109,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,44,98,98,0,0,0,0,126,126,109,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,109,144,0,0,0,0,0,109,98,109,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,139,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,0,144,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,0,0,0,0,109,144,0,0,109,0,0,139,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,144,109,0,0,0,0,0,0,0,0,0,139,98,109,109,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,101,0,0,0,0,109,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,50,0,0,0,0,0,0,0,0,0,101,0,0,0,0,109,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,101,0,0,0,0,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,109,109,109,98,109,0,0,0,0,0,0,0,0,0,101,0,0,0,0,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,109,139,0,0,101,0,0,0,0,0,0,0,0,50,98,98,109,109,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,0,0,0,101,0,0,0,98,98,0,44,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,44,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,44,0,0,0,101,0,0,0,0,0,0,0,0,144,109,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,109,0,50,0,101,0,0,0,0,0,0,0,0,0,101,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,109,0,0,0,0,0,0,0,0,0,101,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,50,0,0,0,0,0,0,0,0,101,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,109,109,98,109,0,0,0,0,0,144,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,126,126,0,50,0,0,0,0,0,0,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,126,126,0,0,0,0,0,0,144,0,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,109,109,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"6fac9602-c596-458f-9750-9b331e2cb845","name":"Hall","processorId":"default","properties":{},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/70a1451a-5430-40bd-b20b-13245aac910a.json b/src/main/resources/dgroomdata/70a1451a-5430-40bd-b20b-13245aac910a.json new file mode 100644 index 0000000..110bf70 --- /dev/null +++ b/src/main/resources/dgroomdata/70a1451a-5430-40bd-b20b-13245aac910a.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":19,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,1,139,98,0,0,0,0,0,0,0,139,98,98,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,109,109,0,0,0,0,0,109,109,4,98,0,0,98,50,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,98,0,0,0,0,0,0,0,0,0,0,0,98,4,18,18,0,0,0,0,0,44,4,1,1,1,1,1,1,101,144,0,1,4,4,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,98,0,0,0,0,0,0,0,0,0,0,0,109,4,0,0,0,0,0,0,0,44,1,1,1,1,1,1,1,0,0,0,1,4,67,0,0,0,0,0,0,0,0,-1,98,0,0,-1,-1,-1,-1,0,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,98,0,0,0,0,0,0,0,0,0,0,0,109,4,0,0,0,0,0,0,0,44,1,1,1,1,1,1,1,0,0,0,1,4,4,0,0,0,0,0,0,0,0,-1,98,0,0,-1,-1,-1,-1,98,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,98,0,0,17,0,0,0,0,0,0,0,0,98,4,0,0,0,0,0,0,0,44,1,1,1,1,1,1,1,0,0,0,1,4,4,18,0,0,0,0,0,0,0,-1,98,0,0,-1,-1,-1,-1,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,4,50,0,0,0,0,0,0,44,1,44,0,0,0,0,0,0,0,0,1,4,4,18,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,1,98,0,0,0,0,0,0,0,98,139,98,4,4,0,101,101,4,4,4,4,101,101,101,4,4,4,4,101,101,101,4,4,4,109,109,0,0,0,0,0,109,109,4,98,0,0,98,50,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,98,98,4,4,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,4,4,4,109,109,0,0,0,0,0,109,109,4,4,4,67,67,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,109,109,0,0,0,0,0,109,109,0,0,0,0,50,109,109,0,0,0,0,0,109,109,50,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,139,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,1,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,1,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,50,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,50,109,109,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,109,109,98,98,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,4,4,4,4,4,67,67,4,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,4,4,4,4,4,4,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,4,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,4,4,109,109,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,109,109,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,1,4,4,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,4,4,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,4,4,109,109,0,0,0,0,98,139,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,67,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,67,67,67,4,4,4,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,67,67,4,4,4,4,4,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,140,0,0,0,109,109,17,0,0,0,0,0,0,0,50,109,109,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,17,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,50,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,17,109,109,50,0,0,0,0,0,0,0,17,109,109,0,0,0,0,0,109,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,4,109,109,0,0,0,0,0,109,109,4,4,4,4,67,67,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,4,109,109,0,0,0,0,0,109,109,4,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,67,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,67,0,0,0,0,0,0,0,0,0,67,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,67,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,4,4,109,109,0,0,0,0,0,109,109,4,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"70a1451a-5430-40bd-b20b-13245aac910a","name":"Market","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":15,"y":-9,"z":33},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":15,"y":9,"z":47},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":7,"y":16,"z":17},"secretType":"CHEST","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":16,"y":-7,"z":9},"secretType":"BAT","preRequisite":["superboom-1:open"]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":15,"y":0,"z":46},{"x":15,"y":-1,"z":46},{"x":16,"y":0,"z":46},{"x":16,"y":-1,"z":46},{"x":17,"y":0,"z":46},{"x":17,"y":-1,"z":46},{"x":15,"y":0,"z":47},{"x":15,"y":-1,"z":47},{"x":16,"y":0,"z":47},{"x":16,"y":-1,"z":47},{"x":17,"y":0,"z":47},{"x":17,"y":-1,"z":47},{"x":15,"y":0,"z":48},{"x":15,"y":-1,"z":48},{"x":16,"y":0,"z":48},{"x":16,"y":-1,"z":48},{"x":17,"y":0,"z":48},{"x":17,"y":-1,"z":48},{"x":15,"y":0,"z":49},{"x":15,"y":-1,"z":49},{"x":16,"y":0,"z":49},{"x":16,"y":-1,"z":49},{"x":17,"y":0,"z":49},{"x":17,"y":-1,"z":49},{"x":15,"y":0,"z":50},{"x":15,"y":-1,"z":50},{"x":16,"y":0,"z":50},{"x":16,"y":-1,"z":50},{"x":17,"y":0,"z":50},{"x":17,"y":-1,"z":50}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":3,"y":0,"z":24},{"x":3,"y":-1,"z":24},{"x":4,"y":0,"z":24},{"x":4,"y":-1,"z":24},{"x":5,"y":0,"z":24},{"x":5,"y":-1,"z":24},{"x":6,"y":0,"z":24},{"x":6,"y":-1,"z":24},{"x":3,"y":0,"z":25},{"x":3,"y":-1,"z":25},{"x":4,"y":0,"z":25},{"x":4,"y":-1,"z":25},{"x":5,"y":0,"z":25},{"x":5,"y":-1,"z":25},{"x":6,"y":0,"z":25},{"x":6,"y":-1,"z":25},{"x":3,"y":0,"z":26},{"x":3,"y":-1,"z":26},{"x":4,"y":0,"z":26},{"x":4,"y":-1,"z":26},{"x":5,"y":0,"z":26},{"x":5,"y":-1,"z":26},{"x":6,"y":0,"z":26},{"x":6,"y":-1,"z":26}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":19,"y":-11,"z":8},"secretType":"ESSENCE","preRequisite":["superboom-1:open"]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":0,"z":38},{"x":3,"y":-1,"z":38},{"x":4,"y":0,"z":38},{"x":4,"y":-1,"z":38},{"x":5,"y":0,"z":38},{"x":5,"y":-1,"z":38},{"x":6,"y":0,"z":38},{"x":6,"y":-1,"z":38},{"x":3,"y":0,"z":39},{"x":3,"y":-1,"z":39},{"x":4,"y":0,"z":39},{"x":4,"y":-1,"z":39},{"x":5,"y":0,"z":39},{"x":5,"y":-1,"z":39},{"x":6,"y":0,"z":39},{"x":6,"y":-1,"z":39},{"x":3,"y":0,"z":40},{"x":3,"y":-1,"z":40},{"x":4,"y":0,"z":40},{"x":4,"y":-1,"z":40},{"x":5,"y":0,"z":40},{"x":5,"y":-1,"z":40},{"x":6,"y":0,"z":40},{"x":6,"y":-1,"z":40}]},"preRequisite":[],"mechType":"Tomb"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":52,"y":2,"z":6},{"x":52,"y":1,"z":6},{"x":52,"y":0,"z":6},{"x":52,"y":-1,"z":6},{"x":52,"y":3,"z":7},{"x":52,"y":2,"z":7},{"x":52,"y":1,"z":7},{"x":52,"y":0,"z":7},{"x":52,"y":-1,"z":7},{"x":52,"y":2,"z":8},{"x":52,"y":1,"z":8},{"x":52,"y":0,"z":8},{"x":52,"y":-1,"z":8}]},"preRequisite":[],"mechType":"BreakableWall"},"prince-1":{"secretPoint":{"offsetPointList":[{"x":56,"y":0,"z":6},{"x":56,"y":-1,"z":6},{"x":57,"y":0,"z":6},{"x":57,"y":-1,"z":6},{"x":58,"y":0,"z":6},{"x":58,"y":-1,"z":6},{"x":59,"y":0,"z":6},{"x":59,"y":-1,"z":6},{"x":56,"y":0,"z":7},{"x":56,"y":-1,"z":7},{"x":57,"y":0,"z":7},{"x":57,"y":-1,"z":7},{"x":58,"y":0,"z":7},{"x":58,"y":-1,"z":7},{"x":59,"y":0,"z":7},{"x":59,"y":-1,"z":7},{"x":56,"y":0,"z":8},{"x":56,"y":-1,"z":8},{"x":57,"y":0,"z":8},{"x":57,"y":-1,"z":8},{"x":58,"y":0,"z":8},{"x":58,"y":-1,"z":8},{"x":59,"y":0,"z":8},{"x":59,"y":-1,"z":8}]},"preRequisite":["superboom-2:open"],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":10,"y":-3,"z":5},{"x":11,"y":-3,"z":5},{"x":12,"y":-3,"z":5},{"x":10,"y":-3,"z":6},{"x":11,"y":-3,"z":6},{"x":12,"y":-3,"z":6},{"x":10,"y":-3,"z":7},{"x":11,"y":-3,"z":7},{"x":12,"y":-3,"z":7},{"x":10,"y":-3,"z":8},{"x":11,"y":-3,"z":8},{"x":10,"y":-3,"z":9},{"x":11,"y":-3,"z":9}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/7a594650-2a42-46e5-81a6-9b7d198e9c1c.json b/src/main/resources/dgroomdata/7a594650-2a42-46e5-81a6-9b7d198e9c1c.json new file mode 100644 index 0000000..abbaf93 --- /dev/null +++ b/src/main/resources/dgroomdata/7a594650-2a42-46e5-81a6-9b7d198e9c1c.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,3,3,1,1,1,1,35,0,0,0,0,0,7,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,3,3,1,1,35,35,0,0,0,0,0,0,35,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,50,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,3,3,1,7,18,18,0,0,0,0,0,0,0,35,35,35,1,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,3,3,3,3,3,3,1,1,7,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,7,18,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,7,50,0,0,0,0,0,0,0,0,0,0,126,126,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,35,18,0,0,0,0,0,0,0,0,159,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,126,126,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,35,98,139,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,35,188,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,35,35,0,98,98,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,1,1,1,3,3,3,3,1,1,1,1,1,35,126,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,3,3,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,3,3,126,0,0,0,0,0,0,0,0,0,0,0,35,35,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,35,35,35,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,126,126,0,0,0,0,0,0,0,0,0,0,0,35,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,126,126,1,159,159,159,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,126,1,1,1,159,50,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,1,1,1,1,159,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,3,3,3,1,1,1,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,159,159,159,0,0,0,0,0,35,1,1,1,1,1,98,98,98,98,1,1,1,1,1,1,98,1,98,98,98,98,98,98,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,159,159,159,159,0,0,0,0,0,159,1,1,1,1,1,98,98,98,98,1,1,1,1,1,1,1,98,98,98,98,98,98,98,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,159,159,159,159,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,159,159,159,0,0,0,0,0,18,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,159,188,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,98,0,0,0,0,0,0,98,98,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,139,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,98,98,0,0,0,31,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,139,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,31,0,0,0,0,0,188,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,35,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,159,1,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,159,1,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,159,1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,3,44,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,3,0,0,0,0,31,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,98,0,0,0,0,98,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,0,98,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,0,0,188,0,0,0,0,0,31,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,159,159,159,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,35,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,18,0,0,0,0,0,0,0,18,35,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,1,1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,35,35,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,35,1,1,1,1,1,1,1,98,98,98,0,0,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,35,35,1,1,1,1,7,1,1,1,1,1,1,3,3,3,1,3,3,1,1,1,1,35,35,7,35,7,35,1,98,18,98,98,98,0,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,7,7,1,1,1,1,1,1,3,3,3,3,3,1,1,3,3,3,3,7,7,7,0,0,98,98,18,0,98,1,98,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,188,0,35,35,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,98,98,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,44,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,35,35,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,35,35,35,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,18,109,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,50,0,0,0,0,0,0,7,1,1,1,1,1,1,3,3,3,3,3,3,1,3,3,1,3,3,3,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,7,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,98,98,0,18,1,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"7a594650-2a42-46e5-81a6-9b7d198e9c1c","name":"super-tall","processorId":"default","properties":{},"mechanics":{"door-3":{"secretPoint":{"offsetPointList":[{"x":30,"y":55,"z":20},{"x":30,"y":54,"z":20},{"x":30,"y":53,"z":20},{"x":30,"y":52,"z":20},{"x":30,"y":51,"z":20},{"x":30,"y":50,"z":20},{"x":30,"y":49,"z":20},{"x":30,"y":48,"z":20},{"x":30,"y":47,"z":20},{"x":31,"y":55,"z":20},{"x":31,"y":54,"z":20},{"x":31,"y":53,"z":20},{"x":31,"y":52,"z":20},{"x":31,"y":51,"z":20},{"x":31,"y":50,"z":20},{"x":31,"y":49,"z":20},{"x":31,"y":48,"z":20},{"x":31,"y":47,"z":20},{"x":32,"y":55,"z":20},{"x":32,"y":54,"z":20},{"x":32,"y":53,"z":20},{"x":32,"y":52,"z":20},{"x":32,"y":51,"z":20},{"x":32,"y":50,"z":20},{"x":32,"y":49,"z":20},{"x":32,"y":48,"z":20},{"x":32,"y":47,"z":20},{"x":33,"y":55,"z":20},{"x":33,"y":54,"z":20},{"x":33,"y":53,"z":20},{"x":33,"y":52,"z":20},{"x":33,"y":51,"z":20},{"x":33,"y":50,"z":20},{"x":33,"y":49,"z":20},{"x":33,"y":48,"z":20},{"x":33,"y":47,"z":20},{"x":34,"y":55,"z":20},{"x":34,"y":54,"z":20},{"x":34,"y":53,"z":20},{"x":34,"y":52,"z":20},{"x":34,"y":51,"z":20},{"x":34,"y":50,"z":20},{"x":34,"y":49,"z":20},{"x":34,"y":48,"z":20},{"x":34,"y":47,"z":20}]},"preRequisite":["lever-3:triggered"],"mechType":"OnewayDoor"},"door-4":{"secretPoint":{"offsetPointList":[{"x":52,"y":69,"z":55},{"x":53,"y":69,"z":55},{"x":54,"y":69,"z":55},{"x":52,"y":69,"z":56},{"x":53,"y":69,"z":56},{"x":54,"y":69,"z":56},{"x":52,"y":69,"z":57},{"x":53,"y":69,"z":57},{"x":54,"y":69,"z":57}]},"preRequisite":["lever-4:triggered"],"mechType":"OnewayDoor"},"dummy-2":{"secretPoint":{"x":27,"y":72,"z":52},"preRequisite":["door-3:open"],"mechType":"Dummy"},"dummy-1":{"secretPoint":{"x":32,"y":72,"z":57},"preRequisite":["dummy-2:click"],"mechType":"Dummy"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":51,"y":7,"z":47},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":44,"y":11,"z":30},{"x":44,"y":10,"z":30},{"x":44,"y":9,"z":30},{"x":44,"y":8,"z":30},{"x":44,"y":7,"z":30},{"x":44,"y":6,"z":30},{"x":44,"y":5,"z":30},{"x":44,"y":4,"z":30},{"x":44,"y":3,"z":30},{"x":44,"y":11,"z":31},{"x":44,"y":10,"z":31},{"x":44,"y":9,"z":31},{"x":44,"y":8,"z":31},{"x":44,"y":7,"z":31},{"x":44,"y":6,"z":31},{"x":44,"y":5,"z":31},{"x":44,"y":4,"z":31},{"x":44,"y":3,"z":31},{"x":44,"y":11,"z":32},{"x":44,"y":10,"z":32},{"x":44,"y":9,"z":32},{"x":44,"y":8,"z":32},{"x":44,"y":7,"z":32},{"x":44,"y":6,"z":32},{"x":44,"y":5,"z":32},{"x":44,"y":4,"z":32},{"x":44,"y":3,"z":32},{"x":44,"y":11,"z":33},{"x":44,"y":10,"z":33},{"x":44,"y":9,"z":33},{"x":44,"y":8,"z":33},{"x":44,"y":7,"z":33},{"x":44,"y":6,"z":33},{"x":44,"y":5,"z":33},{"x":44,"y":4,"z":33},{"x":44,"y":3,"z":33},{"x":44,"y":11,"z":34},{"x":44,"y":10,"z":34},{"x":44,"y":9,"z":34},{"x":44,"y":8,"z":34},{"x":44,"y":7,"z":34},{"x":44,"y":6,"z":34},{"x":44,"y":5,"z":34},{"x":44,"y":4,"z":34},{"x":44,"y":3,"z":34}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":10,"y":28,"z":25},"preRequisite":["door-1:open"],"triggering":"door-2"},"door-2":{"secretPoint":{"offsetPointList":[{"x":44,"y":33,"z":30},{"x":44,"y":32,"z":30},{"x":44,"y":31,"z":30},{"x":44,"y":30,"z":30},{"x":44,"y":29,"z":30},{"x":44,"y":28,"z":30},{"x":44,"y":27,"z":30},{"x":44,"y":26,"z":30},{"x":44,"y":25,"z":30},{"x":44,"y":33,"z":31},{"x":44,"y":32,"z":31},{"x":44,"y":31,"z":31},{"x":44,"y":30,"z":31},{"x":44,"y":29,"z":31},{"x":44,"y":28,"z":31},{"x":44,"y":27,"z":31},{"x":44,"y":26,"z":31},{"x":44,"y":25,"z":31},{"x":44,"y":33,"z":32},{"x":44,"y":32,"z":32},{"x":44,"y":31,"z":32},{"x":44,"y":30,"z":32},{"x":44,"y":29,"z":32},{"x":44,"y":28,"z":32},{"x":44,"y":27,"z":32},{"x":44,"y":26,"z":32},{"x":44,"y":25,"z":32},{"x":44,"y":33,"z":33},{"x":44,"y":32,"z":33},{"x":44,"y":31,"z":33},{"x":44,"y":30,"z":33},{"x":44,"y":29,"z":33},{"x":44,"y":28,"z":33},{"x":44,"y":27,"z":33},{"x":44,"y":26,"z":33},{"x":44,"y":25,"z":33},{"x":44,"y":33,"z":34},{"x":44,"y":32,"z":34},{"x":44,"y":31,"z":34},{"x":44,"y":30,"z":34},{"x":44,"y":29,"z":34},{"x":44,"y":28,"z":34},{"x":44,"y":27,"z":34},{"x":44,"y":26,"z":34},{"x":44,"y":25,"z":34}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"bat-2":{"mechType":"Secret","secretPoint":{"x":54,"y":42,"z":9},"secretType":"BAT","preRequisite":["door-2:open"]},"chests":{"mechType":"Secret","secretPoint":{"x":37,"y":72,"z":52},"secretType":"CHEST","preRequisite":["dummy-1:click"]},"bat-1":{"mechType":"Secret","secretPoint":{"x":4,"y":1,"z":2},"secretType":"BAT","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":9,"y":31,"z":7},{"x":9,"y":30,"z":7},{"x":9,"y":29,"z":7},{"x":9,"y":28,"z":7},{"x":9,"y":31,"z":8},{"x":9,"y":30,"z":8},{"x":9,"y":29,"z":8},{"x":9,"y":28,"z":8}]},"preRequisite":["door-2:open"],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":33,"y":32,"z":54},"secretType":"ITEM_DROP","preRequisite":["door-1:open"]},"lever-3":{"mechType":"OnewayLever","leverPoint":{"x":13,"y":61,"z":8},"preRequisite":["door-2:open"],"triggering":"door-3"},"lever-4":{"mechType":"OnewayLever","leverPoint":{"x":54,"y":72,"z":52},"preRequisite":["door-3:open"],"triggering":"door-4"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":31,"y":4,"z":22},{"x":31,"y":3,"z":22},{"x":32,"y":4,"z":22},{"x":32,"y":3,"z":22},{"x":33,"y":4,"z":22},{"x":33,"y":3,"z":22},{"x":31,"y":4,"z":23},{"x":31,"y":3,"z":23},{"x":32,"y":4,"z":23},{"x":32,"y":3,"z":23},{"x":33,"y":4,"z":23},{"x":33,"y":3,"z":23},{"x":31,"y":4,"z":24},{"x":31,"y":3,"z":24},{"x":32,"y":4,"z":24},{"x":32,"y":3,"z":24},{"x":33,"y":4,"z":24},{"x":33,"y":3,"z":24},{"x":31,"y":4,"z":25},{"x":31,"y":3,"z":25},{"x":32,"y":4,"z":25},{"x":32,"y":3,"z":25},{"x":33,"y":4,"z":25},{"x":33,"y":3,"z":25}]},"preRequisite":["door-1:open"],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":31,"y":4,"z":39},{"x":31,"y":3,"z":39},{"x":32,"y":4,"z":39},{"x":32,"y":3,"z":39},{"x":33,"y":4,"z":39},{"x":33,"y":3,"z":39},{"x":31,"y":4,"z":40},{"x":31,"y":3,"z":40},{"x":32,"y":4,"z":40},{"x":32,"y":3,"z":40},{"x":33,"y":4,"z":40},{"x":33,"y":3,"z":40},{"x":31,"y":4,"z":41},{"x":31,"y":3,"z":41},{"x":32,"y":4,"z":41},{"x":32,"y":3,"z":41},{"x":33,"y":4,"z":41},{"x":33,"y":3,"z":41},{"x":31,"y":4,"z":42},{"x":31,"y":3,"z":42},{"x":32,"y":4,"z":42},{"x":32,"y":3,"z":42},{"x":33,"y":4,"z":42},{"x":33,"y":3,"z":42}]},"preRequisite":["door-1:open"],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":23,"y":48,"z":8},{"x":23,"y":47,"z":8},{"x":24,"y":48,"z":8},{"x":24,"y":47,"z":8},{"x":25,"y":48,"z":8},{"x":25,"y":47,"z":8},{"x":23,"y":48,"z":9},{"x":23,"y":47,"z":9},{"x":24,"y":48,"z":9},{"x":24,"y":47,"z":9},{"x":25,"y":48,"z":9},{"x":25,"y":47,"z":9}]},"preRequisite":["door-2:open"],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":23,"y":48,"z":14},{"x":23,"y":47,"z":14},{"x":24,"y":48,"z":14},{"x":24,"y":47,"z":14},{"x":25,"y":48,"z":14},{"x":25,"y":47,"z":14},{"x":23,"y":48,"z":15},{"x":23,"y":47,"z":15},{"x":24,"y":48,"z":15},{"x":24,"y":47,"z":15},{"x":25,"y":48,"z":15},{"x":25,"y":47,"z":15}]},"preRequisite":["door-2:open"],"mechType":"Tomb"},"prince-2":{"secretPoint":{"offsetPointList":[{"x":4,"y":29,"z":11},{"x":4,"y":28,"z":11},{"x":5,"y":29,"z":11},{"x":5,"y":28,"z":11},{"x":6,"y":29,"z":11},{"x":6,"y":28,"z":11},{"x":4,"y":29,"z":12},{"x":4,"y":28,"z":12},{"x":5,"y":29,"z":12},{"x":5,"y":28,"z":12},{"x":6,"y":29,"z":12},{"x":6,"y":28,"z":12},{"x":4,"y":29,"z":13},{"x":4,"y":28,"z":13},{"x":5,"y":29,"z":13},{"x":5,"y":28,"z":13},{"x":6,"y":29,"z":13},{"x":6,"y":28,"z":13},{"x":4,"y":29,"z":14},{"x":4,"y":28,"z":14},{"x":5,"y":29,"z":14},{"x":5,"y":28,"z":14},{"x":6,"y":29,"z":14},{"x":6,"y":28,"z":14}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"prince-1":{"secretPoint":{"offsetPointList":[{"x":48,"y":72,"z":44},{"x":48,"y":71,"z":44},{"x":49,"y":72,"z":44},{"x":49,"y":71,"z":44},{"x":50,"y":72,"z":44},{"x":50,"y":71,"z":44},{"x":51,"y":72,"z":44},{"x":51,"y":71,"z":44},{"x":52,"y":72,"z":44},{"x":52,"y":71,"z":44},{"x":53,"y":72,"z":44},{"x":53,"y":71,"z":44},{"x":48,"y":72,"z":45},{"x":48,"y":71,"z":45},{"x":49,"y":72,"z":45},{"x":49,"y":71,"z":45},{"x":50,"y":72,"z":45},{"x":50,"y":71,"z":45},{"x":51,"y":72,"z":45},{"x":51,"y":71,"z":45},{"x":52,"y":72,"z":45},{"x":52,"y":71,"z":45},{"x":53,"y":72,"z":45},{"x":53,"y":71,"z":45},{"x":48,"y":72,"z":46},{"x":48,"y":71,"z":46},{"x":49,"y":72,"z":46},{"x":49,"y":71,"z":46},{"x":50,"y":72,"z":46},{"x":50,"y":71,"z":46},{"x":51,"y":72,"z":46},{"x":51,"y":71,"z":46},{"x":52,"y":72,"z":46},{"x":52,"y":71,"z":46},{"x":53,"y":72,"z":46},{"x":53,"y":71,"z":46},{"x":48,"y":72,"z":47},{"x":48,"y":71,"z":47},{"x":49,"y":72,"z":47},{"x":49,"y":71,"z":47},{"x":50,"y":72,"z":47},{"x":50,"y":71,"z":47},{"x":51,"y":72,"z":47},{"x":51,"y":71,"z":47},{"x":52,"y":72,"z":47},{"x":52,"y":71,"z":47},{"x":53,"y":72,"z":47},{"x":53,"y":71,"z":47},{"x":48,"y":72,"z":48},{"x":48,"y":71,"z":48},{"x":49,"y":72,"z":48},{"x":49,"y":71,"z":48},{"x":50,"y":72,"z":48},{"x":50,"y":71,"z":48},{"x":51,"y":72,"z":48},{"x":51,"y":71,"z":48},{"x":52,"y":72,"z":48},{"x":52,"y":71,"z":48},{"x":53,"y":72,"z":48},{"x":53,"y":71,"z":48}]},"preRequisite":["door-3:open"],"mechType":"Tomb"},"fairysoul-8":{"secretPoint":{"x":44,"y":49,"z":43},"preRequisite":["door-2:open"],"mechType":"Fairysoul"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/7d975e04-15c8-40cb-8c12-d664edc1b0d7.json b/src/main/resources/dgroomdata/7d975e04-15c8-40cb-8c12-d664edc1b0d7.json new file mode 100644 index 0000000..5673f88 --- /dev/null +++ b/src/main/resources/dgroomdata/7d975e04-15c8-40cb-8c12-d664edc1b0d7.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,50,0,0,0,0,0,50,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,50,0,0,0,0,0,50,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,0,0,0,0,0,5,5,98,98,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,139,139,0,0,0,0,0,0,5,5,18,139,139,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,139,139,0,0,0,0,0,0,0,0,0,139,139,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,50,0,0,0,0,0,0,0,0,0,0,0,50,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,23,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,69,-1,-1,-1,-1,0,0,0,50,0,0,0,0,0,0,0,-1,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,23,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,50,0,0,0,0,0,0,0,0,0,0,0,50,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,139,139,0,0,0,0,0,0,0,0,0,139,139,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,139,139,18,18,0,0,0,0,0,0,0,139,139,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,98,0,0,0,0,0,0,0,98,98,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,5,5,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,5,5,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,50,0,0,0,0,0,50,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"7d975e04-15c8-40cb-8c12-d664edc1b0d7","name":"Arrow-trap","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":27,"y":-1,"z":15},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":8,"y":0,"z":16},"preRequisite":["crypt-1:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":24,"y":3,"z":14},{"x":24,"y":2,"z":14},{"x":24,"y":1,"z":14},{"x":24,"y":0,"z":14},{"x":24,"y":-1,"z":14},{"x":24,"y":3,"z":15},{"x":24,"y":2,"z":15},{"x":24,"y":1,"z":15},{"x":24,"y":0,"z":15},{"x":24,"y":-1,"z":15},{"x":24,"y":3,"z":16},{"x":24,"y":2,"z":16},{"x":24,"y":1,"z":16},{"x":24,"y":0,"z":16},{"x":24,"y":-1,"z":16},{"x":24,"y":3,"z":17},{"x":24,"y":2,"z":17},{"x":24,"y":1,"z":17},{"x":24,"y":0,"z":17},{"x":24,"y":-1,"z":17},{"x":24,"y":3,"z":18},{"x":24,"y":2,"z":18},{"x":24,"y":1,"z":18},{"x":24,"y":0,"z":18},{"x":24,"y":-1,"z":18}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":9,"y":0,"z":15},{"x":9,"y":-1,"z":15},{"x":10,"y":0,"z":15},{"x":10,"y":-1,"z":15},{"x":11,"y":0,"z":15},{"x":11,"y":-1,"z":15},{"x":12,"y":0,"z":15},{"x":12,"y":-1,"z":15},{"x":9,"y":0,"z":16},{"x":9,"y":-1,"z":16},{"x":10,"y":0,"z":16},{"x":10,"y":-1,"z":16},{"x":11,"y":0,"z":16},{"x":11,"y":-1,"z":16},{"x":12,"y":0,"z":16},{"x":12,"y":-1,"z":16},{"x":9,"y":0,"z":17},{"x":9,"y":-1,"z":17},{"x":10,"y":0,"z":17},{"x":10,"y":-1,"z":17},{"x":11,"y":0,"z":17},{"x":11,"y":-1,"z":17},{"x":12,"y":0,"z":17},{"x":12,"y":-1,"z":17}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/7dd6596f-c647-4144-9eec-fb4690e12251.json b/src/main/resources/dgroomdata/7dd6596f-c647-4144-9eec-fb4690e12251.json new file mode 100644 index 0000000..0114055 --- /dev/null +++ b/src/main/resources/dgroomdata/7dd6596f-c647-4144-9eec-fb4690e12251.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,0,0,0,0,0,98,98,49,0,0,0,0,0,49,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,18,0,0,0,0,0,139,139,0,0,0,0,0,0,0,49,1,98,109,109,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,101,101,101,101,98,98,98,98,-1,-1,-1,-1,-1,98,98,98,0,161,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,161,98,98,144,0,0,0,0,0,144,98,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,139,98,98,139,0,0,0,0,50,139,1,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,3,109,109,109,109,1,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,98,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,159,159,159,159,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,159,159,159,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,159,159,159,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,159,159,159,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,1,109,0,0,161,0,0,0,0,98,98,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"7dd6596f-c647-4144-9eec-fb4690e12251","name":"end","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":16,"y":-1,"z":7},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":8,"y":14,"z":6},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":14,"y":6,"z":11},{"x":14,"y":5,"z":11},{"x":14,"y":4,"z":11},{"x":14,"y":3,"z":11},{"x":14,"y":2,"z":11},{"x":14,"y":1,"z":11},{"x":14,"y":0,"z":11},{"x":14,"y":-1,"z":11},{"x":15,"y":6,"z":11},{"x":15,"y":5,"z":11},{"x":15,"y":4,"z":11},{"x":15,"y":3,"z":11},{"x":15,"y":2,"z":11},{"x":15,"y":1,"z":11},{"x":15,"y":0,"z":11},{"x":15,"y":-1,"z":11},{"x":16,"y":6,"z":11},{"x":16,"y":5,"z":11},{"x":16,"y":4,"z":11},{"x":16,"y":3,"z":11},{"x":16,"y":2,"z":11},{"x":16,"y":1,"z":11},{"x":16,"y":0,"z":11},{"x":16,"y":-1,"z":11},{"x":17,"y":6,"z":11},{"x":17,"y":5,"z":11},{"x":17,"y":4,"z":11},{"x":17,"y":3,"z":11},{"x":17,"y":2,"z":11},{"x":17,"y":1,"z":11},{"x":17,"y":0,"z":11},{"x":17,"y":-1,"z":11},{"x":18,"y":6,"z":11},{"x":18,"y":5,"z":11},{"x":18,"y":4,"z":11},{"x":18,"y":3,"z":11},{"x":18,"y":2,"z":11},{"x":18,"y":1,"z":11},{"x":18,"y":0,"z":11},{"x":18,"y":-1,"z":11}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"door-2":{"secretPoint":{"offsetPointList":[{"x":6,"y":10,"z":6},{"x":7,"y":10,"z":6},{"x":8,"y":10,"z":6},{"x":9,"y":10,"z":6},{"x":10,"y":10,"z":6},{"x":6,"y":10,"z":7},{"x":7,"y":10,"z":7},{"x":8,"y":10,"z":7},{"x":9,"y":10,"z":7},{"x":10,"y":10,"z":7},{"x":6,"y":10,"z":8},{"x":7,"y":10,"z":8},{"x":8,"y":10,"z":8},{"x":9,"y":10,"z":8},{"x":10,"y":10,"z":8},{"x":6,"y":10,"z":9},{"x":7,"y":10,"z":9},{"x":8,"y":10,"z":9},{"x":9,"y":10,"z":9},{"x":10,"y":10,"z":9},{"x":6,"y":10,"z":10},{"x":7,"y":10,"z":10},{"x":8,"y":10,"z":10},{"x":9,"y":10,"z":10},{"x":10,"y":10,"z":10}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"essence-1":{"mechType":"Secret","secretPoint":{"x":7,"y":-7,"z":3},"secretType":"ESSENCE","preRequisite":["superboom-1:open:::::::"]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":-8,"z":3},{"x":15,"y":-9,"z":3},{"x":16,"y":-8,"z":3},{"x":16,"y":-9,"z":3},{"x":17,"y":-8,"z":3},{"x":17,"y":-9,"z":3},{"x":15,"y":-8,"z":4},{"x":15,"y":-9,"z":4},{"x":16,"y":-8,"z":4},{"x":16,"y":-9,"z":4},{"x":17,"y":-8,"z":4},{"x":17,"y":-9,"z":4},{"x":15,"y":-8,"z":5},{"x":15,"y":-9,"z":5},{"x":16,"y":-8,"z":5},{"x":16,"y":-9,"z":5},{"x":17,"y":-8,"z":5},{"x":17,"y":-9,"z":5},{"x":15,"y":-8,"z":6},{"x":15,"y":-9,"z":6},{"x":16,"y":-8,"z":6},{"x":16,"y":-9,"z":6},{"x":17,"y":-8,"z":6},{"x":17,"y":-9,"z":6}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":-6,"z":19},{"x":6,"y":-7,"z":19},{"x":7,"y":-5,"z":19},{"x":7,"y":-6,"z":19},{"x":7,"y":-7,"z":19},{"x":8,"y":-5,"z":19},{"x":8,"y":-6,"z":19},{"x":8,"y":-7,"z":19}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/8116e928-56f1-4e0b-933a-f86b841938c8.json b/src/main/resources/dgroomdata/8116e928-56f1-4e0b-933a-f86b841938c8.json new file mode 100644 index 0000000..9b0b1be --- /dev/null +++ b/src/main/resources/dgroomdata/8116e928-56f1-4e0b-933a-f86b841938c8.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":35,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,139,50,0,0,0,0,109,109,4,109,109,0,0,0,0,0,0,0,109,109,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,163,5,0,0,0,0,0,0,0,144,67,144,0,0,0,0,0,0,0,0,0,139,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,163,5,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,5,134,134,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,5,5,134,0,0,0,0,0,0,0,0,0,67,144,0,0,0,0,0,0,0,0,0,0,144,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,50,134,134,5,0,0,0,0,0,0,0,0,144,67,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,50,0,67,0,5,136,0,0,0,0,0,0,0,0,109,1,159,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,109,0,0,0,0,1,1,0,0,0,0,0,109,109,1,109,136,136,0,0,0,0,0,0,0,0,109,109,109,144,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,1,0,109,0,0,0,0,139,1,0,0,0,0,0,109,1,1,109,0,5,164,0,0,0,0,0,0,0,139,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,139,0,5,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,109,109,0,0,0,0,0,0,109,109,144,0,0,1,144,0,0,1,144,0,144,1,1,144,0,0,144,98,-1,-1,-1,-1],[-1,-1,-1,-1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,98,98,144,0,0,0,144,0,98,159,159,159,159,159,159,159,159,159,159,159,159,1,1,159,159,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,18,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,98,98,159,159,159,159,159,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,101,0,0,0,109,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,1,0,0,109,101,0,0,0,109,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,109,101,0,0,0,109,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,35,1,1,1,109,101,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,98,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,159,18,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,98,109,109,109,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,67,1,18,109,109,109,18,1,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,18,18,0,0,0,0,18,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,67,18,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,1,1,1,1,4,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,18,109,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,98,109,18,0,0,0,0,18,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,67,18,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,1,1,4,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,1,1,67,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,4,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,67,0,0,0,0,0,0,0,67,1,1,1,159,159,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,98,0,0,0,0,0,0,0,98,13,1,4,0,0,0,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,98,0,0,0,0,0,0,0,98,98,98,109,109,109,109,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,50,0,0,0,0,0,0,0,50,1,1,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,98,109,109,109,98,1,1,0,0,0,0,0,0,0,0,0,1,1,98,109,109,109,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,159,159,159,0,109,0,0,0,0,0,0,0,0,0,0,0,109,0,159,159,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,159,0,109,0,0,0,0,0,0,0,0,0,0,0,109,0,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,159,0,109,0,0,0,0,0,0,0,0,0,0,0,109,0,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,50,0,0,0,0,0,50,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"8116e928-56f1-4e0b-933a-f86b841938c8","name":"Spider","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":41,"y":-42,"z":23},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":53,"y":13,"z":7},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":35,"y":-20,"z":59},"secretType":"CHEST","preRequisite":[]},"door-1":{"secretPoint":{"offsetPointList":[{"x":43,"y":16,"z":29},{"x":43,"y":15,"z":29},{"x":43,"y":14,"z":29},{"x":43,"y":13,"z":29},{"x":43,"y":16,"z":30},{"x":43,"y":15,"z":30},{"x":43,"y":14,"z":30},{"x":43,"y":13,"z":30},{"x":43,"y":16,"z":31},{"x":43,"y":15,"z":31},{"x":43,"y":14,"z":31},{"x":43,"y":13,"z":31},{"x":43,"y":16,"z":32},{"x":43,"y":15,"z":32},{"x":43,"y":14,"z":32},{"x":43,"y":13,"z":32},{"x":43,"y":16,"z":33},{"x":43,"y":15,"z":33},{"x":43,"y":14,"z":33},{"x":43,"y":13,"z":33}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":36,"y":23,"z":31},"preRequisite":[],"triggering":"door-1"},"bat-1":{"mechType":"Secret","secretPoint":{"x":9,"y":16,"z":27},"secretType":"BAT","preRequisite":[""]},"chest-6":{"mechType":"Secret","secretPoint":{"x":36,"y":14,"z":31},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-4":{"mechType":"Secret","secretPoint":{"x":14,"y":14,"z":27},"secretType":"CHEST","preRequisite":[""]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":36,"y":16,"z":7},{"x":36,"y":15,"z":7},{"x":36,"y":14,"z":7},{"x":36,"y":13,"z":7},{"x":36,"y":16,"z":8},{"x":36,"y":15,"z":8},{"x":36,"y":14,"z":8},{"x":36,"y":13,"z":8},{"x":36,"y":16,"z":9},{"x":36,"y":15,"z":9},{"x":36,"y":14,"z":9},{"x":36,"y":13,"z":9}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-5":{"mechType":"Secret","secretPoint":{"x":48,"y":22,"z":32},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":37,"y":21,"z":24},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":37,"y":22,"z":29},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":40,"y":14,"z":12},{"x":40,"y":13,"z":12},{"x":41,"y":14,"z":12},{"x":41,"y":13,"z":12},{"x":42,"y":14,"z":12},{"x":42,"y":13,"z":12},{"x":40,"y":14,"z":13},{"x":40,"y":13,"z":13},{"x":41,"y":14,"z":13},{"x":41,"y":13,"z":13},{"x":42,"y":14,"z":13},{"x":42,"y":13,"z":13},{"x":40,"y":14,"z":14},{"x":40,"y":13,"z":14},{"x":41,"y":14,"z":14},{"x":41,"y":13,"z":14},{"x":42,"y":14,"z":14},{"x":42,"y":13,"z":14}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":47,"y":14,"z":12},{"x":47,"y":13,"z":12},{"x":48,"y":14,"z":12},{"x":48,"y":13,"z":12},{"x":49,"y":14,"z":12},{"x":49,"y":13,"z":12},{"x":47,"y":14,"z":13},{"x":47,"y":13,"z":13},{"x":48,"y":14,"z":13},{"x":48,"y":13,"z":13},{"x":49,"y":14,"z":13},{"x":49,"y":13,"z":13},{"x":47,"y":14,"z":14},{"x":47,"y":13,"z":14},{"x":48,"y":14,"z":14},{"x":48,"y":13,"z":14},{"x":49,"y":14,"z":14},{"x":49,"y":13,"z":14}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":38,"y":4,"z":32},{"x":38,"y":3,"z":32},{"x":39,"y":4,"z":32},{"x":39,"y":3,"z":32},{"x":40,"y":4,"z":32},{"x":40,"y":3,"z":32},{"x":38,"y":4,"z":33},{"x":38,"y":3,"z":33},{"x":39,"y":4,"z":33},{"x":39,"y":3,"z":33},{"x":40,"y":4,"z":33},{"x":40,"y":3,"z":33},{"x":38,"y":4,"z":34},{"x":38,"y":3,"z":34},{"x":39,"y":4,"z":34},{"x":39,"y":3,"z":34},{"x":40,"y":4,"z":34},{"x":40,"y":3,"z":34},{"x":38,"y":4,"z":35},{"x":38,"y":3,"z":35},{"x":39,"y":4,"z":35},{"x":39,"y":3,"z":35},{"x":40,"y":4,"z":35},{"x":40,"y":3,"z":35},{"x":38,"y":4,"z":36},{"x":38,"y":3,"z":36},{"x":39,"y":4,"z":36},{"x":39,"y":3,"z":36},{"x":40,"y":4,"z":36},{"x":40,"y":3,"z":36}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":9} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/81cf3e0b-70c5-4803-9169-7e7864b096ce.json b/src/main/resources/dgroomdata/81cf3e0b-70c5-4803-9169-7e7864b096ce.json new file mode 100644 index 0000000..cc29dd3 --- /dev/null +++ b/src/main/resources/dgroomdata/81cf3e0b-70c5-4803-9169-7e7864b096ce.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":62,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,-1,0,50,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,139,0,0,0,0,0,0,0,0,0,0,0,139,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,139,0,0,0,0,0,0,0,0,0,0,0,139,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,1,98,0,0,0,0,0,0,0,0,0,109,98,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,1,98,98,0,0,0,0,0,0,0,0,0,109,98,98,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,139,0,0,0,0,0,0,0,0,0,0,0,139,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,23,0,0,0,0,0,0,0,0,0,0,0,0,0,23,98,35,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,139,0,0,0,0,0,0,0,0,0,0,0,139,98,98,35,35,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,1,98,98,0,0,0,0,0,0,0,0,0,35,35,49,35,35,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,35,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"81cf3e0b-70c5-4803-9169-7e7864b096ce","name":"Trap-hard","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":8,"y":20,"z":14},"secretType":"CHEST","preRequisite":["door-2:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":27,"y":1,"z":22},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":5,"y":13,"z":27},"secretType":"CHEST","preRequisite":[]},"door-1":{"secretPoint":{"offsetPointList":[{"x":22,"y":3,"z":3},{"x":22,"y":2,"z":3},{"x":22,"y":1,"z":3},{"x":22,"y":0,"z":3},{"x":22,"y":-1,"z":3},{"x":22,"y":3,"z":4},{"x":22,"y":2,"z":4},{"x":22,"y":1,"z":4},{"x":22,"y":0,"z":4},{"x":22,"y":-1,"z":4},{"x":22,"y":3,"z":5},{"x":22,"y":2,"z":5},{"x":22,"y":1,"z":5},{"x":22,"y":0,"z":5},{"x":22,"y":-1,"z":5},{"x":22,"y":3,"z":6},{"x":22,"y":2,"z":6},{"x":22,"y":1,"z":6},{"x":22,"y":0,"z":6},{"x":22,"y":-1,"z":6}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":27,"y":20,"z":23},"preRequisite":["door-2:open"],"triggering":"door-1"},"door-2":{"secretPoint":{"offsetPointList":[{"x":26,"y":15,"z":14},{"x":26,"y":14,"z":14},{"x":26,"y":13,"z":14},{"x":26,"y":12,"z":14},{"x":26,"y":11,"z":14},{"x":27,"y":15,"z":14},{"x":27,"y":14,"z":14},{"x":27,"y":13,"z":14},{"x":27,"y":12,"z":14},{"x":27,"y":11,"z":14},{"x":28,"y":15,"z":14},{"x":28,"y":14,"z":14},{"x":28,"y":13,"z":14},{"x":28,"y":12,"z":14},{"x":28,"y":11,"z":14},{"x":29,"y":15,"z":14},{"x":29,"y":14,"z":14},{"x":29,"y":13,"z":14},{"x":29,"y":12,"z":14},{"x":29,"y":11,"z":14}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":3,"y":13,"z":28},"preRequisite":[],"triggering":"door-2"},"bat-1":{"mechType":"Secret","secretPoint":{"x":9,"y":19,"z":23},"secretType":"BAT","preRequisite":["door-2:open"]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":21,"y":0,"z":26},{"x":21,"y":-1,"z":26},{"x":22,"y":0,"z":26},{"x":22,"y":-1,"z":26},{"x":23,"y":0,"z":26},{"x":23,"y":-1,"z":26},{"x":24,"y":0,"z":26},{"x":24,"y":-1,"z":26},{"x":21,"y":0,"z":27},{"x":21,"y":-1,"z":27},{"x":22,"y":0,"z":27},{"x":22,"y":-1,"z":27},{"x":23,"y":0,"z":27},{"x":23,"y":-1,"z":27},{"x":24,"y":0,"z":27},{"x":24,"y":-1,"z":27},{"x":21,"y":0,"z":28},{"x":21,"y":-1,"z":28},{"x":22,"y":0,"z":28},{"x":22,"y":-1,"z":28},{"x":23,"y":0,"z":28},{"x":23,"y":-1,"z":28},{"x":24,"y":0,"z":28},{"x":24,"y":-1,"z":28}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":0,"z":26},{"x":8,"y":-1,"z":26},{"x":9,"y":0,"z":26},{"x":9,"y":-1,"z":26},{"x":10,"y":0,"z":26},{"x":10,"y":-1,"z":26},{"x":11,"y":0,"z":26},{"x":11,"y":-1,"z":26},{"x":8,"y":0,"z":27},{"x":8,"y":-1,"z":27},{"x":9,"y":0,"z":27},{"x":9,"y":-1,"z":27},{"x":10,"y":0,"z":27},{"x":10,"y":-1,"z":27},{"x":11,"y":0,"z":27},{"x":11,"y":-1,"z":27},{"x":8,"y":0,"z":28},{"x":8,"y":-1,"z":28},{"x":9,"y":0,"z":28},{"x":9,"y":-1,"z":28},{"x":10,"y":0,"z":28},{"x":10,"y":-1,"z":28},{"x":11,"y":0,"z":28},{"x":11,"y":-1,"z":28}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/83e1ab6b-ad44-469e-a6bf-71c6bebcab4b.json b/src/main/resources/dgroomdata/83e1ab6b-ad44-469e-a6bf-71c6bebcab4b.json new file mode 100644 index 0000000..6f621e7 --- /dev/null +++ b/src/main/resources/dgroomdata/83e1ab6b-ad44-469e-a6bf-71c6bebcab4b.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,98,1,1,1,0,0,0,0,4,101,4,0,0,0,0,0,0,0,1,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,98,1,1,1,0,0,0,0,101,0,101,0,0,0,0,0,0,0,1,1,188,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,1,1,1,0,0,0,0,101,0,101,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,101,0,101,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,101,0,101,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,0,0,0,0,0,0,0,4,101,4,0,0,0,0,1,82,1,1,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,82,82,98,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,188,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,164,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,1,50,5,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"83e1ab6b-ad44-469e-a6bf-71c6bebcab4b","name":"Sand-Dragon","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":16,"y":16,"z":5},"secretType":"CHEST","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":0,"z":2},{"x":15,"y":-1,"z":2},{"x":16,"y":0,"z":2},{"x":16,"y":-1,"z":2},{"x":17,"y":0,"z":2},{"x":17,"y":-1,"z":2},{"x":15,"y":0,"z":3},{"x":15,"y":-1,"z":3},{"x":16,"y":0,"z":3},{"x":16,"y":-1,"z":3},{"x":17,"y":0,"z":3},{"x":17,"y":-1,"z":3},{"x":15,"y":0,"z":4},{"x":15,"y":-1,"z":4},{"x":16,"y":0,"z":4},{"x":16,"y":-1,"z":4},{"x":17,"y":0,"z":4},{"x":17,"y":-1,"z":4},{"x":15,"y":0,"z":5},{"x":15,"y":-1,"z":5},{"x":16,"y":0,"z":5},{"x":16,"y":-1,"z":5},{"x":17,"y":0,"z":5},{"x":17,"y":-1,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"journal-1":{"secretPoint":{"x":7,"y":-2,"z":23},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/845aec22-bc9e-4d50-b8de-db67188232e9.json b/src/main/resources/dgroomdata/845aec22-bc9e-4d50-b8de-db67188232e9.json new file mode 100644 index 0000000..15cc0bf --- /dev/null +++ b/src/main/resources/dgroomdata/845aec22-bc9e-4d50-b8de-db67188232e9.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"845aec22-bc9e-4d50-b8de-db67188232e9","name":"Temple","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":15,"y":-16,"z":16},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":11,"y":8,"z":3},"secretType":"ITEM_DROP","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":28,"y":-7,"z":6},"secretType":"BAT","preRequisite":[]}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/86a3b53b-6ede-43bd-8988-135001149d4b.json b/src/main/resources/dgroomdata/86a3b53b-6ede-43bd-8988-135001149d4b.json new file mode 100644 index 0000000..387d38c --- /dev/null +++ b/src/main/resources/dgroomdata/86a3b53b-6ede-43bd-8988-135001149d4b.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,140,50,134,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,-1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,-1,4,98,109,0,0,0,0,1,1,98,0,0,0,0,109,1,109,0,0,144,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,17,4,98,109,0,0,0,0,109,159,44,0,0,0,0,109,109,50,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,-1,0,0,0,0,0,0,0,159,144,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,-1,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,-1,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,134,17,-1,0,0,0,0,0,0,144,159,144,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,47,47,47,4,4,98,109,0,0,0,0,44,159,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,98,109,0,0,0,0,44,159,44,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,67,67,4,0,0,0,0,0,0,1,98,98,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,67,67,4,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,109,109,0,0,0,0,0,109,109,0,0,0,0,109,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,98,98,0,0,0,0,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,4,4,101,101,101,4,1,1,67,0,39,67,1,1,67,101,101,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,4,1,1,159,7,0,0,159,1,67,0,0,0,67,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,67,1,1,1,1,1,159,1,1,4,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,4,0,0,0,67,1,1,1,1,1,1,1,1,67,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,1,1,1,1,1,67,67,67,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"86a3b53b-6ede-43bd-8988-135001149d4b","name":"Mushroom","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":15,"y":10,"z":14},"secretType":"CHEST","preRequisite":["mushroom:click"]},"Winona":{"secretPoint":{"x":5,"y":-1,"z":6},"preRequisite":["superboom-1:open"],"mechType":"Npc"},"mushroom":{"secretPoint":{"x":13,"y":-1,"z":8},"preRequisite":[],"mechType":"Dummy"},"journal-1":{"secretPoint":{"x":21,"y":10,"z":17},"preRequisite":["mushroom:click"],"mechType":"Journal"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":2,"z":11},{"x":8,"y":1,"z":11},{"x":8,"y":0,"z":11},{"x":8,"y":3,"z":12},{"x":8,"y":2,"z":12},{"x":8,"y":1,"z":12},{"x":8,"y":0,"z":12},{"x":8,"y":-1,"z":12},{"x":8,"y":4,"z":13},{"x":8,"y":3,"z":13},{"x":8,"y":2,"z":13},{"x":8,"y":1,"z":13},{"x":8,"y":0,"z":13},{"x":8,"y":-1,"z":13},{"x":8,"y":4,"z":14},{"x":8,"y":3,"z":14},{"x":8,"y":0,"z":14}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/8b4ec0bf-b783-4e66-b5fa-89493ac6efa1.json b/src/main/resources/dgroomdata/8b4ec0bf-b783-4e66-b5fa-89493ac6efa1.json new file mode 100644 index 0000000..821704f --- /dev/null +++ b/src/main/resources/dgroomdata/8b4ec0bf-b783-4e66-b5fa-89493ac6efa1.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,109,85,0,0,85,0,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,85,0,0,85,0,109,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,89,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,65,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,85,0,0,85,0,0,0,0,4,0,0,0,67,4,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,98,98,4,0,0,0,0,0,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,98,98,4,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,4,0,0,0,0,0,0,0,144,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,171,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,67,0,0,0,0,0,0,0,171,171,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,171,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,50,0,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,98,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"8b4ec0bf-b783-4e66-b5fa-89493ac6efa1","name":"Mural","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":27,"y":13,"z":8},"secretType":"CHEST","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":19,"y":10,"z":15},{"x":19,"y":9,"z":15},{"x":19,"y":8,"z":15},{"x":19,"y":7,"z":15},{"x":19,"y":11,"z":16},{"x":19,"y":10,"z":16},{"x":19,"y":9,"z":16},{"x":19,"y":8,"z":16},{"x":19,"y":7,"z":16},{"x":19,"y":9,"z":17},{"x":19,"y":8,"z":17},{"x":19,"y":7,"z":17}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/8c184746-6857-480a-958e-f22e09bb1295.json b/src/main/resources/dgroomdata/8c184746-6857-480a-958e-f22e09bb1295.json new file mode 100644 index 0000000..cb21b73 --- /dev/null +++ b/src/main/resources/dgroomdata/8c184746-6857-480a-958e-f22e09bb1295.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":49,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,0,0,159,98,98,0,98,0,0,0,0,0,98,0,98,1,98,1,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,139,159,144,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,139,159,44,0,0,0,0,0,0,0,0,0,0,134,98,98,1,98,98,98,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,159,44,0,0,0,0,0,0,0,0,0,0,134,1,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,144,159,44,0,0,0,0,0,0,0,0,0,0,134,98,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,1,98,98,98,0,0,0,0,0,0,0,0,0,134,98,98,98,98,98,1,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,-1,-1,-1,98,98,98,98,98,1,0,0,0,1,98,98,98,98,98,98,98,98,98,1,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,98,98,1,98,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,139,98,134,85,17,0,0,0,0,0,17,169,1,98,98,98,159,159,159,159,159,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,1,1,98,98,144,0,139,144,144,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,164,5,5,98,1,139,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,5,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,0,0,0,0,109,0,0,0,0,0,0,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,98,0,0,0,0,0,0,98,98,50,0,0,0,139,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,98,134,134,134,134,98,0,0,0,18,98,98,98,98,98,0,0,0,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,98,98,98,98,98,0,0,0,0,1,98,98,98,98,0,101,101,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,98,98,98,98,98,98,0,0,0,18,98,1,98,98,98,0,0,0,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,-1,98,0,0,0,98,44,44,0,144,1,1,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,-1,98,0,0,0,98,159,159,159,159,98,98,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,-1,98,0,0,0,98,159,159,159,159,98,1,98,98,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,98,98,98,98,98,159,159,98,98,98,98,98,0,0,0,144,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,98,98,98,1,98,98,98,98,98,1,98,98,98,1,98,98,98,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,1,98,98,98,98,98,98,1,98,98,98,98,98,98,1,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,33,1,98,98,98,98,98,98,98,98,1,1,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,23,1,98,98,98,98,1,98,98,98,98,98,98,1,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,33,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,98,1,98,98,98,98,98,1,98,98,98,98,98,1,98,98,98,98,98,98,1,98,98,98,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,98,98,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,1,98,159,159,159,98,159,159,159,98,159,159,159,98,159,159,159,1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,0,0,0,0,0,98,139,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,0,0,0,1,5,5,0,1,0,0,0,1,0,0,0,1,98,98,98,98,1,98,98,98,98,98,98,98,98,98,98,98,98,109,139,0,0,0,0,0,0,0,0,0,0,0,0,0,144,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,1,53,5,0,0,0,0,0,0,0,17,0,50,98,98,98,98,98,98,98,98,1,98,98,1,98,1,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,98,98,98,98,98,98,98,98,98,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,109,109,109,98,1,98,98,98,98,1,1,98,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,98,98,98,98,98,98,1,98,1,98,98,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,4,4,4,67,67,98,109,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,5,5,0,0,0,0,0,0,0,0,0,0,1,136,5,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,144,0,144,0,144,98,1,98,139,0,0,0,0,139,139,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,5,53,0,0,0,0,0,0,0,0,0,0,0,5,136,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,0,0,0,0,0,0,139,109,98,98,144,144,0,1,98,139,0,0,0,0,0,0,139,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,188,0,17,0,0,0,0,0,0,0,139,98,4,4,4,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,98,159,144,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,159,144,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,98,159,139,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,139,98,4,4,4,98,98,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,98,98,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,0,0,0,0,0,0,0,109,98,98,0,0,0,98,98,98,0,0,0,0,0,0,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,31,0,0,98,98,98,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,0,0,0,0,0,0,0,98,109,0,0,0,0,0,109,109,101,101,0,0,0,101,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,5,5,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,53,5,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,144,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,159,0,0,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,159,0,0,136,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,31,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,98,98,98,98,0,0,5,5,0,0,0,0,17,85,85,17,0,0,0,0,50,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,5,163,0,0,0,0,85,98,98,0,0,0,0,0,139,98,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,136,5,0,0,0,0,98,0,0,0,0,0,0,0,0,136,5,0,0,0,0,0,0,0,0,98,98,98,98,98,188,0,0,0,0,0,85,98,98,0,0,0,0,0,98,98,0,0,0,0,0,144,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"8c184746-6857-480a-958e-f22e09bb1295","name":"layers","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":55,"y":8,"z":57},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":14,"y":-1,"z":27},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":48,"y":-1,"z":48},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":9,"y":21,"z":33},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":46,"y":2,"z":47},{"x":46,"y":1,"z":47},{"x":46,"y":0,"z":47},{"x":46,"y":-1,"z":47},{"x":46,"y":2,"z":48},{"x":46,"y":1,"z":48},{"x":46,"y":0,"z":48},{"x":46,"y":-1,"z":48},{"x":46,"y":2,"z":49},{"x":46,"y":1,"z":49},{"x":46,"y":0,"z":49},{"x":46,"y":-1,"z":49}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"door-2":{"secretPoint":{"offsetPointList":[{"x":5,"y":3,"z":10},{"x":5,"y":2,"z":10},{"x":5,"y":1,"z":10},{"x":5,"y":0,"z":10},{"x":5,"y":-1,"z":10},{"x":6,"y":3,"z":10},{"x":6,"y":2,"z":10},{"x":6,"y":1,"z":10},{"x":6,"y":0,"z":10},{"x":6,"y":-1,"z":10},{"x":7,"y":3,"z":10},{"x":7,"y":2,"z":10},{"x":7,"y":1,"z":10},{"x":7,"y":0,"z":10},{"x":7,"y":-1,"z":10}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":6,"y":6,"z":3},"preRequisite":["crypt-1:open"],"triggering":"door-2"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":10,"y":0,"z":26},{"x":10,"y":-1,"z":26},{"x":10,"y":1,"z":27},{"x":10,"y":0,"z":27},{"x":10,"y":-1,"z":27},{"x":10,"y":1,"z":28},{"x":10,"y":0,"z":28},{"x":10,"y":-1,"z":28}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-4":{"mechType":"Secret","secretPoint":{"x":6,"y":-1,"z":3},"secretType":"CHEST","preRequisite":["door-2:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":47,"y":12,"z":43},{"x":47,"y":11,"z":43},{"x":47,"y":10,"z":43},{"x":47,"y":9,"z":43},{"x":48,"y":12,"z":43},{"x":48,"y":11,"z":43},{"x":48,"y":10,"z":43},{"x":48,"y":9,"z":43},{"x":48,"y":8,"z":43},{"x":49,"y":11,"z":43},{"x":49,"y":10,"z":43},{"x":49,"y":9,"z":43},{"x":49,"y":8,"z":43}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-3":{"mechType":"Secret","secretPoint":{"x":48,"y":9,"z":35},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"itemdrop-4":{"mechType":"Secret","secretPoint":{"x":8,"y":26,"z":57},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":36,"y":-11,"z":53},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":26,"y":0,"z":29},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":38,"y":20,"z":55},{"x":38,"y":19,"z":55},{"x":39,"y":20,"z":55},{"x":39,"y":19,"z":55},{"x":38,"y":20,"z":56},{"x":38,"y":19,"z":56},{"x":39,"y":20,"z":56},{"x":39,"y":19,"z":56},{"x":38,"y":20,"z":57},{"x":38,"y":19,"z":57},{"x":39,"y":20,"z":57},{"x":39,"y":19,"z":57},{"x":38,"y":20,"z":58},{"x":38,"y":19,"z":58},{"x":39,"y":20,"z":58},{"x":39,"y":19,"z":58},{"x":38,"y":20,"z":59},{"x":38,"y":19,"z":59},{"x":39,"y":20,"z":59},{"x":39,"y":19,"z":59}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":57,"y":20,"z":55},{"x":57,"y":19,"z":55},{"x":58,"y":20,"z":55},{"x":58,"y":19,"z":55},{"x":57,"y":20,"z":56},{"x":57,"y":19,"z":56},{"x":58,"y":20,"z":56},{"x":58,"y":19,"z":56},{"x":57,"y":20,"z":57},{"x":57,"y":19,"z":57},{"x":58,"y":20,"z":57},{"x":58,"y":19,"z":57},{"x":57,"y":20,"z":58},{"x":57,"y":19,"z":58},{"x":58,"y":20,"z":58},{"x":58,"y":19,"z":58},{"x":57,"y":20,"z":59},{"x":57,"y":19,"z":59},{"x":58,"y":20,"z":59},{"x":58,"y":19,"z":59}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":8,"z":3},{"x":5,"y":7,"z":3},{"x":6,"y":8,"z":3},{"x":6,"y":7,"z":3},{"x":7,"y":8,"z":3},{"x":7,"y":7,"z":3},{"x":5,"y":8,"z":4},{"x":5,"y":7,"z":4},{"x":6,"y":8,"z":4},{"x":6,"y":7,"z":4},{"x":7,"y":8,"z":4},{"x":7,"y":7,"z":4},{"x":5,"y":8,"z":5},{"x":5,"y":7,"z":5},{"x":6,"y":8,"z":5},{"x":6,"y":7,"z":5},{"x":7,"y":8,"z":5},{"x":7,"y":7,"z":5},{"x":5,"y":8,"z":6},{"x":5,"y":7,"z":6},{"x":6,"y":8,"z":6},{"x":6,"y":7,"z":6},{"x":7,"y":8,"z":6},{"x":7,"y":7,"z":6}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":8} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/8e6409d8-ea3f-4348-ae30-f8f1e15d05b9.json b/src/main/resources/dgroomdata/8e6409d8-ea3f-4348-ae30-f8f1e15d05b9.json new file mode 100644 index 0000000..193b799 --- /dev/null +++ b/src/main/resources/dgroomdata/8e6409d8-ea3f-4348-ae30-f8f1e15d05b9.json @@ -0,0 +1,393 @@ +{ + "isUserMade": false, + "shape": 1, + "color": 62, + "uuid": "8e6409d8-ea3f-4348-ae30-f8f1e15d05b9", + "name": "Trap-very-hard2", + "processorId": "default", + "properties": {}, + "mechanics": { + "chest-2": { + "mechType": "Secret", + "secretPoint": { + "x": 15, + "y": 20, + "z": 5 + }, + "secretType": "CHEST", + "preRequisite": [ + "door-2:open" + ] + }, + "chest-1": { + "mechType": "Secret", + "secretPoint": { + "x": 13, + "y": -3, + "z": 26 + }, + "secretType": "CHEST", + "preRequisite": [] + }, + "door-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 24, + "y": 10, + "z": 4 + }, + { + "x": 24, + "y": 9, + "z": 4 + }, + { + "x": 24, + "y": 8, + "z": 4 + }, + { + "x": 24, + "y": 7, + "z": 4 + }, + { + "x": 24, + "y": 6, + "z": 4 + }, + { + "x": 24, + "y": 5, + "z": 4 + }, + { + "x": 24, + "y": 10, + "z": 5 + }, + { + "x": 24, + "y": 9, + "z": 5 + }, + { + "x": 24, + "y": 8, + "z": 5 + }, + { + "x": 24, + "y": 7, + "z": 5 + }, + { + "x": 24, + "y": 6, + "z": 5 + }, + { + "x": 24, + "y": 5, + "z": 5 + }, + { + "x": 24, + "y": 10, + "z": 6 + }, + { + "x": 24, + "y": 9, + "z": 6 + }, + { + "x": 24, + "y": 8, + "z": 6 + }, + { + "x": 24, + "y": 7, + "z": 6 + }, + { + "x": 24, + "y": 6, + "z": 6 + }, + { + "x": 24, + "y": 5, + "z": 6 + } + ] + }, + "preRequisite": [ + "lever-1:triggered" + ], + "mechType": "OnewayDoor" + }, + "lever-1": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 21, + "y": -4, + "z": 9 + }, + "preRequisite": [ + "crypt-1:open" + ], + "triggering": "door-1" + }, + "lever-2": { + "mechType": "OnewayLever", + "leverPoint": { + "x": 19, + "y": 11, + "z": 30 + }, + "preRequisite": [ + "superboom-1:open" + ], + "triggering": "door-2" + }, + "door-2": { + "secretPoint": { + "offsetPointList": [ + { + "x": 22, + "y": 22, + "z": 4 + }, + { + "x": 22, + "y": 21, + "z": 4 + }, + { + "x": 22, + "y": 20, + "z": 4 + }, + { + "x": 22, + "y": 19, + "z": 4 + }, + { + "x": 22, + "y": 22, + "z": 5 + }, + { + "x": 22, + "y": 21, + "z": 5 + }, + { + "x": 22, + "y": 20, + "z": 5 + }, + { + "x": 22, + "y": 19, + "z": 5 + } + ] + }, + "preRequisite": [ + "lever-2:triggered" + ], + "mechType": "OnewayDoor" + }, + "bat-1": { + "mechType": "Secret", + "secretPoint": { + "x": 22, + "y": 22, + "z": 10 + }, + "secretType": "BAT", + "preRequisite": [ + "superboom-1:open" + ] + }, + "crypt-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 20, + "y": -4, + "z": 7 + }, + { + "x": 20, + "y": -5, + "z": 7 + }, + { + "x": 21, + "y": -4, + "z": 7 + }, + { + "x": 21, + "y": -5, + "z": 7 + }, + { + "x": 22, + "y": -4, + "z": 7 + }, + { + "x": 22, + "y": -5, + "z": 7 + }, + { + "x": 20, + "y": -4, + "z": 8 + }, + { + "x": 20, + "y": -5, + "z": 8 + }, + { + "x": 21, + "y": -4, + "z": 8 + }, + { + "x": 21, + "y": -5, + "z": 8 + }, + { + "x": 22, + "y": -4, + "z": 8 + }, + { + "x": 22, + "y": -5, + "z": 8 + } + ] + }, + "preRequisite": [], + "mechType": "Tomb" + }, + "superboom-1": { + "secretPoint": { + "offsetPointList": [ + { + "x": 3, + "y": 16, + "z": 22 + }, + { + "x": 3, + "y": 15, + "z": 22 + }, + { + "x": 3, + "y": 14, + "z": 22 + }, + { + "x": 3, + "y": 13, + "z": 22 + }, + { + "x": 3, + "y": 12, + "z": 22 + }, + { + "x": 3, + "y": 11, + "z": 22 + }, + { + "x": 4, + "y": 17, + "z": 22 + }, + { + "x": 4, + "y": 16, + "z": 22 + }, + { + "x": 4, + "y": 15, + "z": 22 + }, + { + "x": 4, + "y": 14, + "z": 22 + }, + { + "x": 4, + "y": 13, + "z": 22 + }, + { + "x": 4, + "y": 12, + "z": 22 + }, + { + "x": 4, + "y": 11, + "z": 22 + }, + { + "x": 5, + "y": 16, + "z": 22 + }, + { + "x": 5, + "y": 15, + "z": 22 + }, + { + "x": 5, + "y": 14, + "z": 22 + }, + { + "x": 5, + "y": 13, + "z": 22 + }, + { + "x": 5, + "y": 12, + "z": 22 + }, + { + "x": 5, + "y": 11, + "z": 22 + } + ] + }, + "preRequisite": [ + "door-1:open" + ], + "mechType": "BreakableWall" + } + }, + "totalSecrets": 3 +} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/8f317c52-6550-42dd-829b-2a477389fe89.json b/src/main/resources/dgroomdata/8f317c52-6550-42dd-829b-2a477389fe89.json new file mode 100644 index 0000000..2a78256 --- /dev/null +++ b/src/main/resources/dgroomdata/8f317c52-6550-42dd-829b-2a477389fe89.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,98,109,0,0,0,0,0,109,98,139,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,0,0,126,136,5,0,0,0,0,109,98,0,0,0,0,0,109,98,98,98,159,159,159,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,98,98,98,98,109,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,17,0,0,17,98,109,0,0,0,0,0,109,98,98,98,44,44,44,44,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,144,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,98,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,98,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,98,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,98,98,98,109,0,0,0,0,0,50,139,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,50,109,98,0,0,0,0,0,50,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,98,98,98,159,98,98,109,0,0,0,0,109,98,1,98,98,101,144,0,0,101,101,98,1,0,0,0,98,98,101,144,0,0,144,101,98,98,98,98,98,0,0,0,0,98,98,98,98,44,44,44,44,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,44,4,1,4,44,4,98,109,0,0,0,0,98,98,98,98,159,159,159,159,159,159,159,98,98,0,0,0,98,98,159,159,159,159,159,159,159,159,98,98,1,0,0,0,0,109,98,98,98,159,159,159,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,139,0,0,98,0,0,0,98,98,0,0,0,0,144,159,98,98,0,41,41,98,98,98,98,0,0,0,0,0,0,0,98,1,1,98,0,0,0,144,98,98,98,0,0,0,0,109,109,109,98,0,144,0,0,144,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,17,50,0,0,0,0,0,159,98,147,0,0,147,0,1,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,5,-1,0,0,0,0,0,0,0,0,0,-1,5,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,0,-1,0,0,0,0,5,-1,0,0,0,0,0,0,0,0,0,-1,5,0,0,0,0,0,147,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,144,0,0,0,0,0,5,-1,0,0,0,0,0,0,0,0,0,-1,5,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,147,0,0,1,98,98,0,0,0,0,0,0,0,98,1,1,0,0,0,0,0,41,98,109,0,0,0,0,144,139,0,17,85,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,109,0,0,0,0,144,159,98,1,41,0,0,98,98,98,98,0,0,0,147,0,0,0,98,98,1,98,144,0,41,41,98,98,98,0,0,0,0,98,98,98,98,98,98,188,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,101,101,101,101,101,101,101,98,98,0,0,0,0,109,98,98,98,159,159,159,98,98,1,98,98,98,98,98,98,1,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,98,98,98,98,98,159,159,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,98,98,0,0,0,0,109,98,98,98,98,98,98,159,159,159,159,98,98,98,98,98,98,98,159,159,159,159,98,98,98,98,98,98,98,0,0,0,0,98,98,98,98,98,98,159,159,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,-1,0,0,0,0,0,139,98,98,0,0,0,1,0,0,0,0,1,0,0,0,0,50,1,0,0,0,144,1,0,0,0,98,98,0,0,0,0,0,0,109,98,98,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,109,109,109,109,98,109,0,0,0,0,0,98,98,139,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,98,109,0,0,0,0,109,98,0,0,0,0,0,109,1,98,1,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,98,1,98,0,0,0,0,0,109,98,44,43,44,44,98,109,0,0,0,0,0,0,0,0,0,0,0,98,98,50,0,44,44,98,98,0,0,0,0,0,1,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"8f317c52-6550-42dd-829b-2a477389fe89","name":"Pressure-plates","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":24,"y":-11,"z":8},"secretType":"CHEST","preRequisite":[]},"door-3":{"secretPoint":{"offsetPointList":[{"x":54,"y":27,"z":15},{"x":54,"y":26,"z":15},{"x":54,"y":25,"z":15},{"x":54,"y":24,"z":15},{"x":54,"y":23,"z":15},{"x":54,"y":27,"z":16},{"x":54,"y":26,"z":16},{"x":54,"y":25,"z":16},{"x":54,"y":24,"z":16},{"x":54,"y":23,"z":16},{"x":54,"y":27,"z":17},{"x":54,"y":26,"z":17},{"x":54,"y":25,"z":17},{"x":54,"y":24,"z":17},{"x":54,"y":23,"z":17}]},"preRequisite":["lever-3:triggered"],"mechType":"OnewayDoor"},"chest-3":{"mechType":"Secret","secretPoint":{"x":60,"y":24,"z":16},"secretType":"CHEST","preRequisite":["door-3:open"]},"door-4":{"secretPoint":{"offsetPointList":[{"x":12,"y":5,"z":22},{"x":12,"y":4,"z":22},{"x":12,"y":3,"z":22},{"x":12,"y":2,"z":22},{"x":12,"y":1,"z":22},{"x":12,"y":0,"z":22},{"x":12,"y":5,"z":23},{"x":12,"y":4,"z":23},{"x":12,"y":3,"z":23},{"x":12,"y":2,"z":23},{"x":12,"y":1,"z":23},{"x":12,"y":0,"z":23},{"x":12,"y":5,"z":24},{"x":12,"y":4,"z":24},{"x":12,"y":3,"z":24},{"x":12,"y":2,"z":24},{"x":12,"y":1,"z":24},{"x":12,"y":0,"z":24},{"x":12,"y":5,"z":25},{"x":12,"y":4,"z":25},{"x":12,"y":3,"z":25},{"x":12,"y":2,"z":25},{"x":12,"y":1,"z":25},{"x":12,"y":0,"z":25},{"x":12,"y":5,"z":26},{"x":12,"y":4,"z":26},{"x":12,"y":3,"z":26},{"x":12,"y":2,"z":26},{"x":12,"y":1,"z":26},{"x":12,"y":0,"z":26}]},"preRequisite":["lever-4:triggered"],"mechType":"OnewayDoor"},"pressure-plate-2":{"mechType":"PressurePlate","platePoint":{"x":44,"y":0,"z":16},"preRequisite":["door-1:open"],"triggering":"door-2"},"pressure-plate-1":{"mechType":"PressurePlate","platePoint":{"x":32,"y":0,"z":19},"preRequisite":[],"triggering":"door-1"},"chest-1":{"mechType":"Secret","secretPoint":{"x":21,"y":0,"z":16},"secretType":"CHEST","preRequisite":["door-2:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":37,"y":2,"z":15},{"x":37,"y":1,"z":15},{"x":37,"y":0,"z":15},{"x":37,"y":-1,"z":15},{"x":37,"y":2,"z":16},{"x":37,"y":1,"z":16},{"x":37,"y":0,"z":16},{"x":37,"y":-1,"z":16},{"x":37,"y":2,"z":17},{"x":37,"y":1,"z":17},{"x":37,"y":0,"z":17},{"x":37,"y":-1,"z":17}]},"closePreRequisite":["pressure-plate-1:untriggered"],"openPreRequisite":["pressure-plate-1:triggered"],"mechType":"Door"},"door-2":{"secretPoint":{"offsetPointList":[{"x":27,"y":2,"z":15},{"x":27,"y":1,"z":15},{"x":27,"y":0,"z":15},{"x":27,"y":-1,"z":15},{"x":27,"y":2,"z":16},{"x":27,"y":1,"z":16},{"x":27,"y":0,"z":16},{"x":27,"y":-1,"z":16},{"x":27,"y":2,"z":17},{"x":27,"y":1,"z":17},{"x":27,"y":0,"z":17},{"x":27,"y":-1,"z":17}]},"closePreRequisite":["pressure-plate-2:untriggered"],"openPreRequisite":["pressure-plate-2:triggered"],"mechType":"Door"},"superboom-3":{"secretPoint":{"offsetPointList":[{"x":52,"y":27,"z":7},{"x":52,"y":26,"z":7},{"x":52,"y":25,"z":7},{"x":52,"y":24,"z":7},{"x":52,"y":23,"z":7},{"x":52,"y":27,"z":8},{"x":52,"y":26,"z":8},{"x":52,"y":25,"z":8},{"x":52,"y":24,"z":8},{"x":52,"y":23,"z":8},{"x":52,"y":27,"z":9},{"x":52,"y":26,"z":9},{"x":52,"y":25,"z":9},{"x":52,"y":24,"z":9},{"x":52,"y":23,"z":9}]},"preRequisite":[],"mechType":"BreakableWall"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":52,"y":3,"z":7},{"x":52,"y":2,"z":7},{"x":52,"y":1,"z":7},{"x":52,"y":0,"z":7},{"x":52,"y":-1,"z":7},{"x":52,"y":3,"z":8},{"x":52,"y":2,"z":8},{"x":52,"y":1,"z":8},{"x":52,"y":0,"z":8},{"x":52,"y":-1,"z":8},{"x":52,"y":2,"z":9},{"x":52,"y":1,"z":9},{"x":52,"y":0,"z":9},{"x":52,"y":-1,"z":9}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-4":{"mechType":"Secret","secretPoint":{"x":61,"y":24,"z":8},"secretType":"CHEST","preRequisite":["superboom-3:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":10,"z":23},{"x":7,"y":10,"z":23},{"x":8,"y":10,"z":23},{"x":6,"y":10,"z":24},{"x":7,"y":10,"z":24},{"x":8,"y":10,"z":24},{"x":6,"y":10,"z":25},{"x":7,"y":10,"z":25},{"x":8,"y":10,"z":25}]},"preRequisite":[],"mechType":"BreakableWall"},"lever-3":{"mechType":"OnewayLever","leverPoint":{"x":22,"y":13,"z":16},"preRequisite":[],"triggering":"door-3"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":6,"y":0,"z":26},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":10,"y":-11,"z":7},{"x":10,"y":-12,"z":7},{"x":11,"y":-11,"z":7},{"x":11,"y":-12,"z":7},{"x":12,"y":-11,"z":7},{"x":12,"y":-12,"z":7},{"x":13,"y":-11,"z":7},{"x":13,"y":-12,"z":7},{"x":14,"y":-11,"z":7},{"x":14,"y":-12,"z":7},{"x":10,"y":-11,"z":8},{"x":10,"y":-12,"z":8},{"x":11,"y":-11,"z":8},{"x":11,"y":-12,"z":8},{"x":12,"y":-11,"z":8},{"x":12,"y":-12,"z":8},{"x":13,"y":-11,"z":8},{"x":13,"y":-12,"z":8},{"x":14,"y":-11,"z":8},{"x":14,"y":-12,"z":8},{"x":10,"y":-11,"z":9},{"x":10,"y":-12,"z":9},{"x":11,"y":-11,"z":9},{"x":11,"y":-12,"z":9},{"x":12,"y":-11,"z":9},{"x":12,"y":-12,"z":9},{"x":13,"y":-11,"z":9},{"x":13,"y":-12,"z":9},{"x":14,"y":-11,"z":9},{"x":14,"y":-12,"z":9}]},"preRequisite":[],"mechType":"Tomb"},"lever-4":{"mechType":"OnewayLever","leverPoint":{"x":6,"y":1,"z":26},"preRequisite":["superboom-1:open"],"triggering":"door-4"},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":59,"y":-1,"z":8},"secretType":"ITEM_DROP","preRequisite":["superboom-2:open"]},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":10,"y":-11,"z":15},{"x":10,"y":-12,"z":15},{"x":11,"y":-11,"z":15},{"x":11,"y":-12,"z":15},{"x":12,"y":-11,"z":15},{"x":12,"y":-12,"z":15},{"x":13,"y":-11,"z":15},{"x":13,"y":-12,"z":15},{"x":14,"y":-11,"z":15},{"x":14,"y":-12,"z":15},{"x":10,"y":-11,"z":16},{"x":10,"y":-12,"z":16},{"x":11,"y":-11,"z":16},{"x":11,"y":-12,"z":16},{"x":12,"y":-11,"z":16},{"x":12,"y":-12,"z":16},{"x":13,"y":-11,"z":16},{"x":13,"y":-12,"z":16},{"x":14,"y":-11,"z":16},{"x":14,"y":-12,"z":16},{"x":10,"y":-11,"z":17},{"x":10,"y":-12,"z":17},{"x":11,"y":-11,"z":17},{"x":11,"y":-12,"z":17},{"x":12,"y":-11,"z":17},{"x":12,"y":-12,"z":17},{"x":13,"y":-11,"z":17},{"x":13,"y":-12,"z":17},{"x":14,"y":-11,"z":17},{"x":14,"y":-12,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":29,"y":0,"z":4},{"x":29,"y":-1,"z":4},{"x":30,"y":0,"z":4},{"x":30,"y":-1,"z":4},{"x":31,"y":0,"z":4},{"x":31,"y":-1,"z":4},{"x":32,"y":0,"z":4},{"x":32,"y":-1,"z":4},{"x":33,"y":0,"z":4},{"x":33,"y":-1,"z":4},{"x":34,"y":0,"z":4},{"x":34,"y":-1,"z":4},{"x":29,"y":0,"z":5},{"x":29,"y":-1,"z":5},{"x":30,"y":0,"z":5},{"x":30,"y":-1,"z":5},{"x":31,"y":0,"z":5},{"x":31,"y":-1,"z":5},{"x":32,"y":0,"z":5},{"x":32,"y":-1,"z":5},{"x":33,"y":0,"z":5},{"x":33,"y":-1,"z":5},{"x":34,"y":0,"z":5},{"x":34,"y":-1,"z":5},{"x":29,"y":0,"z":6},{"x":29,"y":-1,"z":6},{"x":30,"y":0,"z":6},{"x":30,"y":-1,"z":6},{"x":31,"y":0,"z":6},{"x":31,"y":-1,"z":6},{"x":32,"y":0,"z":6},{"x":32,"y":-1,"z":6},{"x":33,"y":0,"z":6},{"x":33,"y":-1,"z":6},{"x":34,"y":0,"z":6},{"x":34,"y":-1,"z":6}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":30,"y":12,"z":15},{"x":30,"y":11,"z":15},{"x":31,"y":12,"z":15},{"x":31,"y":11,"z":15},{"x":32,"y":12,"z":15},{"x":32,"y":11,"z":15},{"x":33,"y":12,"z":15},{"x":33,"y":11,"z":15},{"x":34,"y":12,"z":15},{"x":34,"y":11,"z":15},{"x":30,"y":12,"z":16},{"x":30,"y":11,"z":16},{"x":31,"y":12,"z":16},{"x":31,"y":11,"z":16},{"x":32,"y":12,"z":16},{"x":32,"y":11,"z":16},{"x":33,"y":12,"z":16},{"x":33,"y":11,"z":16},{"x":34,"y":12,"z":16},{"x":34,"y":11,"z":16},{"x":30,"y":12,"z":17},{"x":30,"y":11,"z":17},{"x":31,"y":12,"z":17},{"x":31,"y":11,"z":17},{"x":32,"y":12,"z":17},{"x":32,"y":11,"z":17},{"x":33,"y":12,"z":17},{"x":33,"y":11,"z":17},{"x":34,"y":12,"z":17},{"x":34,"y":11,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":40,"y":12,"z":15},{"x":40,"y":11,"z":15},{"x":41,"y":12,"z":15},{"x":41,"y":11,"z":15},{"x":42,"y":12,"z":15},{"x":42,"y":11,"z":15},{"x":43,"y":12,"z":15},{"x":43,"y":11,"z":15},{"x":44,"y":12,"z":15},{"x":44,"y":11,"z":15},{"x":40,"y":12,"z":16},{"x":40,"y":11,"z":16},{"x":41,"y":12,"z":16},{"x":41,"y":11,"z":16},{"x":42,"y":12,"z":16},{"x":42,"y":11,"z":16},{"x":43,"y":12,"z":16},{"x":43,"y":11,"z":16},{"x":44,"y":12,"z":16},{"x":44,"y":11,"z":16},{"x":40,"y":12,"z":17},{"x":40,"y":11,"z":17},{"x":41,"y":12,"z":17},{"x":41,"y":11,"z":17},{"x":42,"y":12,"z":17},{"x":42,"y":11,"z":17},{"x":43,"y":12,"z":17},{"x":43,"y":11,"z":17},{"x":44,"y":12,"z":17},{"x":44,"y":11,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":4,"y":25,"z":5},{"x":4,"y":24,"z":5},{"x":5,"y":25,"z":5},{"x":5,"y":24,"z":5},{"x":6,"y":25,"z":5},{"x":6,"y":24,"z":5},{"x":4,"y":25,"z":6},{"x":4,"y":24,"z":6},{"x":5,"y":25,"z":6},{"x":5,"y":24,"z":6},{"x":6,"y":25,"z":6},{"x":6,"y":24,"z":6},{"x":4,"y":25,"z":7},{"x":4,"y":24,"z":7},{"x":5,"y":25,"z":7},{"x":5,"y":24,"z":7},{"x":6,"y":25,"z":7},{"x":6,"y":24,"z":7},{"x":4,"y":25,"z":8},{"x":4,"y":24,"z":8},{"x":5,"y":25,"z":8},{"x":5,"y":24,"z":8},{"x":6,"y":25,"z":8},{"x":6,"y":24,"z":8}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9087fdc7-43e2-4736-b53b-33477ac65351.json b/src/main/resources/dgroomdata/9087fdc7-43e2-4736-b53b-33477ac65351.json new file mode 100644 index 0000000..9d606b4 --- /dev/null +++ b/src/main/resources/dgroomdata/9087fdc7-43e2-4736-b53b-33477ac65351.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,169,67,0,0,0,0,0,43,43,171,-1,-1,171,-1,-1,171,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,48,48,0,0,0,0,0,43,43,171,0,0,171,0,0,171,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,169,67,0,0,0,0,0,43,43,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,169,67,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,98,4,0,0,0,0,0,0,0,0,0,0,43,43,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,98,98,43,43,101,101,0,43,43,0,0,0,43,43,101,0,101,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,5,5,169,43,43,0,0,0,44,0,0,0,0,44,43,0,171,171,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,5,5,5,164,0,0,0,0,0,0,0,0,0,0,0,0,171,171,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,126,0,0,0,101,0,0,0,0,0,5,164,164,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,134,0,171,0,101,0,0,0,0,0,5,5,1,44,144,44,44,44,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,126,171,0,0,0,0,0,0,0,0,164,5,1,159,159,159,159,159,44,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,171,171,171,0,43,44,0,0,0,0,0,0,1,44,44,0,44,159,44,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,43,0,0,0,0,0,0,0,0,0,0,44,159,44,50,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,171,171,0,0,0,0,0,0,0,0,0,1,1,1,43,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,5,164,164,0,0,0,0,0,0,0,0,98,98,43,43,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,5,5,5,109,0,0,0,0,0,0,188,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,43,134,134,109,0,0,0,0,0,50,43,43,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,171,0,43,43,0,0,0,0,0,0,0,0,0,43,43,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,126,0,0,171,101,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,126,0,0,171,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,126,0,171,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9087fdc7-43e2-4736-b53b-33477ac65351","name":"Blue-skulls","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":28,"y":7,"z":3},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":28,"y":1,"z":25},{"x":28,"y":0,"z":25},{"x":29,"y":1,"z":25},{"x":29,"y":0,"z":25},{"x":30,"y":1,"z":25},{"x":30,"y":0,"z":25},{"x":28,"y":1,"z":26},{"x":28,"y":0,"z":26},{"x":29,"y":1,"z":26},{"x":29,"y":0,"z":26},{"x":30,"y":1,"z":26},{"x":30,"y":0,"z":26}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":28,"y":1,"z":2},{"x":28,"y":0,"z":2},{"x":29,"y":1,"z":2},{"x":29,"y":0,"z":2},{"x":28,"y":1,"z":3},{"x":28,"y":0,"z":3},{"x":29,"y":1,"z":3},{"x":29,"y":0,"z":3},{"x":28,"y":1,"z":4},{"x":28,"y":0,"z":4},{"x":29,"y":1,"z":4},{"x":29,"y":0,"z":4}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":25,"y":1,"z":2},{"x":25,"y":0,"z":2},{"x":26,"y":1,"z":2},{"x":26,"y":0,"z":2},{"x":25,"y":1,"z":3},{"x":25,"y":0,"z":3},{"x":26,"y":1,"z":3},{"x":26,"y":0,"z":3},{"x":25,"y":1,"z":4},{"x":25,"y":0,"z":4},{"x":26,"y":1,"z":4},{"x":26,"y":0,"z":4}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":22,"y":1,"z":2},{"x":22,"y":0,"z":2},{"x":23,"y":1,"z":2},{"x":23,"y":0,"z":2},{"x":22,"y":1,"z":3},{"x":22,"y":0,"z":3},{"x":23,"y":1,"z":3},{"x":23,"y":0,"z":3},{"x":22,"y":1,"z":4},{"x":22,"y":0,"z":4},{"x":23,"y":1,"z":4},{"x":23,"y":0,"z":4}]},"preRequisite":[],"mechType":"Tomb"},"journal-1":{"secretPoint":{"x":22,"y":7,"z":5},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/91068a01-bd3e-402c-99aa-e148f9f04c41.json b/src/main/resources/dgroomdata/91068a01-bd3e-402c-99aa-e148f9f04c41.json new file mode 100644 index 0000000..ba22daa --- /dev/null +++ b/src/main/resources/dgroomdata/91068a01-bd3e-402c-99aa-e148f9f04c41.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,50,0,0,0,0,-1,-1,0,0,0,0,-1,-1,0,109,0,0,0,0,0,0,0,126,126,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,67,0,0,67,67,0,0,67,67,17,0,0,17,126,0,0,0,0,134,17,98,164,164,0,0,0,0,188,0,134,5,0,0,0,0,0,0,0,0,0,0,50,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,4,4,101,101,4,4,101,101,4,4,98,0,0,0,0,0,0,0,0,0,50,98,5,5,5,134,0,0,0,188,134,5,1,4,4,101,0,4,4,101,101,4,4,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,1,109,109,109,109,109,109,109,109,109,109,1,109,109,109,109,109,109,109,109,109,109,1,109,109,109,109,109,109,109,109,109,109,1,109,109,109,109,109,109,109,109,109,109,1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,1,109,109,109,109,109,109,109,109,109,109,1,109,109,109,109,109,109,109,109,109,109,1,109,109,109,109,109,109,109,109,109,109,1,0,0,0,0,0,0,0,0,109,109,1,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,4,109,109,109,4,4,98,98,4,101,101,4,4,101,101,4,4,1,183,0,183,50,0,0,0,0,0,0,98,98,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,4,4,4,98,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,126,126,0,0,0,50,188,5,169,98,188,183,188,0,17,0,0,0,144,17,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,44,4,98,98,109,0,0,98,44,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,5,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,0,0,98,101,101,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,51,51,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,188,0,188,0,0,164,164,0,0,50,98,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,188,159,109,0,0,0,159,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"91068a01-bd3e-402c-99aa-e148f9f04c41","name":"Purple-flags","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":40,"y":-21,"z":30},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":60,"y":-21,"z":25},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":33,"y":-3,"z":8},"secretType":"CHEST","preRequisite":[]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":36,"y":-15,"z":30},"preRequisite":["superboom-1:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":51,"y":-17,"z":25},{"x":51,"y":-18,"z":25},{"x":51,"y":-19,"z":25},{"x":51,"y":-20,"z":25},{"x":51,"y":-21,"z":25},{"x":51,"y":-17,"z":26},{"x":51,"y":-18,"z":26},{"x":51,"y":-19,"z":26},{"x":51,"y":-20,"z":26},{"x":51,"y":-21,"z":26},{"x":51,"y":-17,"z":27},{"x":51,"y":-18,"z":27},{"x":51,"y":-19,"z":27},{"x":51,"y":-20,"z":27},{"x":51,"y":-21,"z":27}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":21,"y":-20,"z":25},{"x":21,"y":-21,"z":25},{"x":21,"y":-18,"z":26},{"x":21,"y":-19,"z":26},{"x":21,"y":-20,"z":26},{"x":21,"y":-21,"z":26},{"x":21,"y":-19,"z":27},{"x":21,"y":-20,"z":27},{"x":21,"y":-21,"z":27}]},"preRequisite":[],"mechType":"BreakableWall"},"crypt-7":{"secretPoint":{"offsetPointList":[{"x":42,"y":-20,"z":2},{"x":42,"y":-21,"z":2},{"x":43,"y":-20,"z":2},{"x":43,"y":-21,"z":2},{"x":44,"y":-20,"z":2},{"x":44,"y":-21,"z":2},{"x":42,"y":-20,"z":3},{"x":42,"y":-21,"z":3},{"x":43,"y":-20,"z":3},{"x":43,"y":-21,"z":3},{"x":44,"y":-20,"z":3},{"x":44,"y":-21,"z":3},{"x":42,"y":-20,"z":4},{"x":42,"y":-21,"z":4},{"x":43,"y":-20,"z":4},{"x":43,"y":-21,"z":4},{"x":44,"y":-20,"z":4},{"x":44,"y":-21,"z":4},{"x":42,"y":-20,"z":5},{"x":42,"y":-21,"z":5},{"x":43,"y":-20,"z":5},{"x":43,"y":-21,"z":5},{"x":44,"y":-20,"z":5},{"x":44,"y":-21,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":21,"y":-11,"z":7},{"x":21,"y":-12,"z":7},{"x":22,"y":-11,"z":7},{"x":22,"y":-12,"z":7},{"x":23,"y":-11,"z":7},{"x":23,"y":-12,"z":7},{"x":21,"y":-11,"z":8},{"x":21,"y":-12,"z":8},{"x":22,"y":-11,"z":8},{"x":22,"y":-12,"z":8},{"x":23,"y":-11,"z":8},{"x":23,"y":-12,"z":8},{"x":21,"y":-11,"z":9},{"x":21,"y":-12,"z":9},{"x":22,"y":-11,"z":9},{"x":22,"y":-12,"z":9},{"x":23,"y":-11,"z":9},{"x":23,"y":-12,"z":9}]},"preRequisite":[],"mechType":"Tomb"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":28,"y":-21,"z":27},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":17,"y":-11,"z":2},{"x":17,"y":-12,"z":2},{"x":18,"y":-11,"z":2},{"x":18,"y":-12,"z":2},{"x":19,"y":-11,"z":2},{"x":19,"y":-12,"z":2},{"x":17,"y":-11,"z":3},{"x":17,"y":-12,"z":3},{"x":18,"y":-11,"z":3},{"x":18,"y":-12,"z":3},{"x":19,"y":-11,"z":3},{"x":19,"y":-12,"z":3},{"x":17,"y":-11,"z":4},{"x":17,"y":-12,"z":4},{"x":18,"y":-11,"z":4},{"x":18,"y":-12,"z":4},{"x":19,"y":-11,"z":4},{"x":19,"y":-12,"z":4}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":25,"y":-11,"z":28},{"x":25,"y":-12,"z":28},{"x":26,"y":-11,"z":28},{"x":26,"y":-12,"z":28},{"x":27,"y":-11,"z":28},{"x":27,"y":-12,"z":28},{"x":25,"y":-11,"z":29},{"x":25,"y":-12,"z":29},{"x":26,"y":-11,"z":29},{"x":26,"y":-12,"z":29},{"x":27,"y":-11,"z":29},{"x":27,"y":-12,"z":29},{"x":25,"y":-11,"z":30},{"x":25,"y":-12,"z":30},{"x":26,"y":-11,"z":30},{"x":26,"y":-12,"z":30},{"x":27,"y":-11,"z":30},{"x":27,"y":-12,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":40,"y":1,"z":2},{"x":40,"y":0,"z":2},{"x":41,"y":1,"z":2},{"x":41,"y":0,"z":2},{"x":40,"y":1,"z":3},{"x":40,"y":0,"z":3},{"x":41,"y":1,"z":3},{"x":41,"y":0,"z":3},{"x":40,"y":1,"z":4},{"x":40,"y":0,"z":4},{"x":41,"y":1,"z":4},{"x":41,"y":0,"z":4}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":34,"y":1,"z":2},{"x":34,"y":0,"z":2},{"x":35,"y":1,"z":2},{"x":35,"y":0,"z":2},{"x":34,"y":1,"z":3},{"x":34,"y":0,"z":3},{"x":35,"y":1,"z":3},{"x":35,"y":0,"z":3},{"x":34,"y":1,"z":4},{"x":34,"y":0,"z":4},{"x":35,"y":1,"z":4},{"x":35,"y":0,"z":4}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":2,"y":2,"z":26},{"x":2,"y":1,"z":26},{"x":3,"y":2,"z":26},{"x":3,"y":1,"z":26},{"x":4,"y":2,"z":26},{"x":4,"y":1,"z":26},{"x":2,"y":2,"z":27},{"x":2,"y":1,"z":27},{"x":3,"y":2,"z":27},{"x":3,"y":1,"z":27},{"x":4,"y":2,"z":27},{"x":4,"y":1,"z":27}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":7,"y":-13,"z":29},"secretType":"ESSENCE","preRequisite":[]}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9139cb1c-b6f3-4bac-92de-909b1eb73449.json b/src/main/resources/dgroomdata/9139cb1c-b6f3-4bac-92de-909b1eb73449.json new file mode 100644 index 0000000..d44ceed --- /dev/null +++ b/src/main/resources/dgroomdata/9139cb1c-b6f3-4bac-92de-909b1eb73449.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,18,18,0,171,171,171,0,0,0,0,7,1,1,171,7,7,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,1,1,171,18,0,0,0,0,0,171,171,171,0,0,159,35,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9139cb1c-b6f3-4bac-92de-909b1eb73449","name":"puzzle-water","processorId":"puzzle_water_solver","properties":{"doors":{"offsetPointList":[{"x":16,"y":-13,"z":15},{"x":17,"y":-13,"z":15},{"x":18,"y":-13,"z":15},{"x":19,"y":-13,"z":15},{"x":20,"y":-13,"z":15}]},"levers":{"offsetPointList":[{"x":11,"y":-9,"z":11},{"x":16,"y":-9,"z":11},{"x":21,"y":-9,"z":11},{"x":21,"y":-9,"z":21},{"x":16,"y":-9,"z":21},{"x":11,"y":-9,"z":21}]},"back":{"offsetPointList":[{"x":28,"y":12,"z":7},{"x":28,"y":11,"z":7},{"x":28,"y":10,"z":7},{"x":28,"y":9,"z":7},{"x":28,"y":8,"z":7},{"x":28,"y":7,"z":7},{"x":28,"y":6,"z":7},{"x":28,"y":5,"z":7},{"x":28,"y":4,"z":7},{"x":28,"y":3,"z":7},{"x":28,"y":2,"z":7},{"x":28,"y":1,"z":7},{"x":28,"y":0,"z":7},{"x":28,"y":-1,"z":7},{"x":28,"y":-2,"z":7},{"x":28,"y":-3,"z":7},{"x":28,"y":-4,"z":7},{"x":28,"y":-5,"z":7},{"x":28,"y":-6,"z":7},{"x":28,"y":-7,"z":7},{"x":28,"y":-8,"z":7},{"x":28,"y":-9,"z":7},{"x":28,"y":-10,"z":7},{"x":28,"y":-11,"z":7},{"x":28,"y":-12,"z":7},{"x":28,"y":12,"z":8},{"x":28,"y":11,"z":8},{"x":28,"y":10,"z":8},{"x":28,"y":9,"z":8},{"x":28,"y":8,"z":8},{"x":28,"y":7,"z":8},{"x":28,"y":6,"z":8},{"x":28,"y":5,"z":8},{"x":28,"y":4,"z":8},{"x":28,"y":3,"z":8},{"x":28,"y":2,"z":8},{"x":28,"y":1,"z":8},{"x":28,"y":0,"z":8},{"x":28,"y":-1,"z":8},{"x":28,"y":-2,"z":8},{"x":28,"y":-3,"z":8},{"x":28,"y":-4,"z":8},{"x":28,"y":-5,"z":8},{"x":28,"y":-6,"z":8},{"x":28,"y":-7,"z":8},{"x":28,"y":-8,"z":8},{"x":28,"y":-9,"z":8},{"x":28,"y":-10,"z":8},{"x":28,"y":-11,"z":8},{"x":28,"y":-12,"z":8},{"x":28,"y":12,"z":9},{"x":28,"y":11,"z":9},{"x":28,"y":10,"z":9},{"x":28,"y":9,"z":9},{"x":28,"y":8,"z":9},{"x":28,"y":7,"z":9},{"x":28,"y":6,"z":9},{"x":28,"y":5,"z":9},{"x":28,"y":4,"z":9},{"x":28,"y":3,"z":9},{"x":28,"y":2,"z":9},{"x":28,"y":1,"z":9},{"x":28,"y":0,"z":9},{"x":28,"y":-1,"z":9},{"x":28,"y":-2,"z":9},{"x":28,"y":-3,"z":9},{"x":28,"y":-4,"z":9},{"x":28,"y":-5,"z":9},{"x":28,"y":-6,"z":9},{"x":28,"y":-7,"z":9},{"x":28,"y":-8,"z":9},{"x":28,"y":-9,"z":9},{"x":28,"y":-10,"z":9},{"x":28,"y":-11,"z":9},{"x":28,"y":-12,"z":9},{"x":28,"y":12,"z":10},{"x":28,"y":11,"z":10},{"x":28,"y":10,"z":10},{"x":28,"y":9,"z":10},{"x":28,"y":8,"z":10},{"x":28,"y":7,"z":10},{"x":28,"y":6,"z":10},{"x":28,"y":5,"z":10},{"x":28,"y":4,"z":10},{"x":28,"y":3,"z":10},{"x":28,"y":2,"z":10},{"x":28,"y":1,"z":10},{"x":28,"y":0,"z":10},{"x":28,"y":-1,"z":10},{"x":28,"y":-2,"z":10},{"x":28,"y":-3,"z":10},{"x":28,"y":-4,"z":10},{"x":28,"y":-5,"z":10},{"x":28,"y":-6,"z":10},{"x":28,"y":-7,"z":10},{"x":28,"y":-8,"z":10},{"x":28,"y":-9,"z":10},{"x":28,"y":-10,"z":10},{"x":28,"y":-11,"z":10},{"x":28,"y":-12,"z":10},{"x":28,"y":12,"z":11},{"x":28,"y":11,"z":11},{"x":28,"y":10,"z":11},{"x":28,"y":9,"z":11},{"x":28,"y":8,"z":11},{"x":28,"y":7,"z":11},{"x":28,"y":6,"z":11},{"x":28,"y":5,"z":11},{"x":28,"y":4,"z":11},{"x":28,"y":3,"z":11},{"x":28,"y":2,"z":11},{"x":28,"y":1,"z":11},{"x":28,"y":0,"z":11},{"x":28,"y":-1,"z":11},{"x":28,"y":-2,"z":11},{"x":28,"y":-3,"z":11},{"x":28,"y":-4,"z":11},{"x":28,"y":-5,"z":11},{"x":28,"y":-6,"z":11},{"x":28,"y":-7,"z":11},{"x":28,"y":-8,"z":11},{"x":28,"y":-9,"z":11},{"x":28,"y":-10,"z":11},{"x":28,"y":-11,"z":11},{"x":28,"y":-12,"z":11},{"x":28,"y":12,"z":12},{"x":28,"y":11,"z":12},{"x":28,"y":10,"z":12},{"x":28,"y":9,"z":12},{"x":28,"y":8,"z":12},{"x":28,"y":7,"z":12},{"x":28,"y":6,"z":12},{"x":28,"y":5,"z":12},{"x":28,"y":4,"z":12},{"x":28,"y":3,"z":12},{"x":28,"y":2,"z":12},{"x":28,"y":1,"z":12},{"x":28,"y":0,"z":12},{"x":28,"y":-1,"z":12},{"x":28,"y":-2,"z":12},{"x":28,"y":-3,"z":12},{"x":28,"y":-4,"z":12},{"x":28,"y":-5,"z":12},{"x":28,"y":-6,"z":12},{"x":28,"y":-7,"z":12},{"x":28,"y":-8,"z":12},{"x":28,"y":-9,"z":12},{"x":28,"y":-10,"z":12},{"x":28,"y":-11,"z":12},{"x":28,"y":-12,"z":12},{"x":28,"y":12,"z":13},{"x":28,"y":11,"z":13},{"x":28,"y":10,"z":13},{"x":28,"y":9,"z":13},{"x":28,"y":8,"z":13},{"x":28,"y":7,"z":13},{"x":28,"y":6,"z":13},{"x":28,"y":5,"z":13},{"x":28,"y":4,"z":13},{"x":28,"y":3,"z":13},{"x":28,"y":2,"z":13},{"x":28,"y":1,"z":13},{"x":28,"y":0,"z":13},{"x":28,"y":-1,"z":13},{"x":28,"y":-2,"z":13},{"x":28,"y":-3,"z":13},{"x":28,"y":-4,"z":13},{"x":28,"y":-5,"z":13},{"x":28,"y":-6,"z":13},{"x":28,"y":-7,"z":13},{"x":28,"y":-8,"z":13},{"x":28,"y":-9,"z":13},{"x":28,"y":-10,"z":13},{"x":28,"y":-11,"z":13},{"x":28,"y":-12,"z":13},{"x":28,"y":12,"z":14},{"x":28,"y":11,"z":14},{"x":28,"y":10,"z":14},{"x":28,"y":9,"z":14},{"x":28,"y":8,"z":14},{"x":28,"y":7,"z":14},{"x":28,"y":6,"z":14},{"x":28,"y":5,"z":14},{"x":28,"y":4,"z":14},{"x":28,"y":3,"z":14},{"x":28,"y":2,"z":14},{"x":28,"y":1,"z":14},{"x":28,"y":0,"z":14},{"x":28,"y":-1,"z":14},{"x":28,"y":-2,"z":14},{"x":28,"y":-3,"z":14},{"x":28,"y":-4,"z":14},{"x":28,"y":-5,"z":14},{"x":28,"y":-6,"z":14},{"x":28,"y":-7,"z":14},{"x":28,"y":-8,"z":14},{"x":28,"y":-9,"z":14},{"x":28,"y":-10,"z":14},{"x":28,"y":-11,"z":14},{"x":28,"y":-12,"z":14},{"x":28,"y":12,"z":15},{"x":28,"y":11,"z":15},{"x":28,"y":10,"z":15},{"x":28,"y":9,"z":15},{"x":28,"y":8,"z":15},{"x":28,"y":7,"z":15},{"x":28,"y":6,"z":15},{"x":28,"y":5,"z":15},{"x":28,"y":4,"z":15},{"x":28,"y":3,"z":15},{"x":28,"y":2,"z":15},{"x":28,"y":1,"z":15},{"x":28,"y":0,"z":15},{"x":28,"y":-1,"z":15},{"x":28,"y":-2,"z":15},{"x":28,"y":-3,"z":15},{"x":28,"y":-4,"z":15},{"x":28,"y":-5,"z":15},{"x":28,"y":-6,"z":15},{"x":28,"y":-7,"z":15},{"x":28,"y":-8,"z":15},{"x":28,"y":-9,"z":15},{"x":28,"y":-10,"z":15},{"x":28,"y":-11,"z":15},{"x":28,"y":-12,"z":15},{"x":28,"y":12,"z":16},{"x":28,"y":11,"z":16},{"x":28,"y":10,"z":16},{"x":28,"y":9,"z":16},{"x":28,"y":8,"z":16},{"x":28,"y":7,"z":16},{"x":28,"y":6,"z":16},{"x":28,"y":5,"z":16},{"x":28,"y":4,"z":16},{"x":28,"y":3,"z":16},{"x":28,"y":2,"z":16},{"x":28,"y":1,"z":16},{"x":28,"y":0,"z":16},{"x":28,"y":-1,"z":16},{"x":28,"y":-2,"z":16},{"x":28,"y":-3,"z":16},{"x":28,"y":-4,"z":16},{"x":28,"y":-5,"z":16},{"x":28,"y":-6,"z":16},{"x":28,"y":-7,"z":16},{"x":28,"y":-8,"z":16},{"x":28,"y":-9,"z":16},{"x":28,"y":-10,"z":16},{"x":28,"y":-11,"z":16},{"x":28,"y":-12,"z":16},{"x":28,"y":12,"z":17},{"x":28,"y":11,"z":17},{"x":28,"y":10,"z":17},{"x":28,"y":9,"z":17},{"x":28,"y":8,"z":17},{"x":28,"y":7,"z":17},{"x":28,"y":6,"z":17},{"x":28,"y":5,"z":17},{"x":28,"y":4,"z":17},{"x":28,"y":3,"z":17},{"x":28,"y":2,"z":17},{"x":28,"y":1,"z":17},{"x":28,"y":0,"z":17},{"x":28,"y":-1,"z":17},{"x":28,"y":-2,"z":17},{"x":28,"y":-3,"z":17},{"x":28,"y":-4,"z":17},{"x":28,"y":-5,"z":17},{"x":28,"y":-6,"z":17},{"x":28,"y":-7,"z":17},{"x":28,"y":-8,"z":17},{"x":28,"y":-9,"z":17},{"x":28,"y":-10,"z":17},{"x":28,"y":-11,"z":17},{"x":28,"y":-12,"z":17},{"x":28,"y":12,"z":18},{"x":28,"y":11,"z":18},{"x":28,"y":10,"z":18},{"x":28,"y":9,"z":18},{"x":28,"y":8,"z":18},{"x":28,"y":7,"z":18},{"x":28,"y":6,"z":18},{"x":28,"y":5,"z":18},{"x":28,"y":4,"z":18},{"x":28,"y":3,"z":18},{"x":28,"y":2,"z":18},{"x":28,"y":1,"z":18},{"x":28,"y":0,"z":18},{"x":28,"y":-1,"z":18},{"x":28,"y":-2,"z":18},{"x":28,"y":-3,"z":18},{"x":28,"y":-4,"z":18},{"x":28,"y":-5,"z":18},{"x":28,"y":-6,"z":18},{"x":28,"y":-7,"z":18},{"x":28,"y":-8,"z":18},{"x":28,"y":-9,"z":18},{"x":28,"y":-10,"z":18},{"x":28,"y":-11,"z":18},{"x":28,"y":-12,"z":18},{"x":28,"y":12,"z":19},{"x":28,"y":11,"z":19},{"x":28,"y":10,"z":19},{"x":28,"y":9,"z":19},{"x":28,"y":8,"z":19},{"x":28,"y":7,"z":19},{"x":28,"y":6,"z":19},{"x":28,"y":5,"z":19},{"x":28,"y":4,"z":19},{"x":28,"y":3,"z":19},{"x":28,"y":2,"z":19},{"x":28,"y":1,"z":19},{"x":28,"y":0,"z":19},{"x":28,"y":-1,"z":19},{"x":28,"y":-2,"z":19},{"x":28,"y":-3,"z":19},{"x":28,"y":-4,"z":19},{"x":28,"y":-5,"z":19},{"x":28,"y":-6,"z":19},{"x":28,"y":-7,"z":19},{"x":28,"y":-8,"z":19},{"x":28,"y":-9,"z":19},{"x":28,"y":-10,"z":19},{"x":28,"y":-11,"z":19},{"x":28,"y":-12,"z":19},{"x":28,"y":12,"z":20},{"x":28,"y":11,"z":20},{"x":28,"y":10,"z":20},{"x":28,"y":9,"z":20},{"x":28,"y":8,"z":20},{"x":28,"y":7,"z":20},{"x":28,"y":6,"z":20},{"x":28,"y":5,"z":20},{"x":28,"y":4,"z":20},{"x":28,"y":3,"z":20},{"x":28,"y":2,"z":20},{"x":28,"y":1,"z":20},{"x":28,"y":0,"z":20},{"x":28,"y":-1,"z":20},{"x":28,"y":-2,"z":20},{"x":28,"y":-3,"z":20},{"x":28,"y":-4,"z":20},{"x":28,"y":-5,"z":20},{"x":28,"y":-6,"z":20},{"x":28,"y":-7,"z":20},{"x":28,"y":-8,"z":20},{"x":28,"y":-9,"z":20},{"x":28,"y":-10,"z":20},{"x":28,"y":-11,"z":20},{"x":28,"y":-12,"z":20},{"x":28,"y":12,"z":21},{"x":28,"y":11,"z":21},{"x":28,"y":10,"z":21},{"x":28,"y":9,"z":21},{"x":28,"y":8,"z":21},{"x":28,"y":7,"z":21},{"x":28,"y":6,"z":21},{"x":28,"y":5,"z":21},{"x":28,"y":4,"z":21},{"x":28,"y":3,"z":21},{"x":28,"y":2,"z":21},{"x":28,"y":1,"z":21},{"x":28,"y":0,"z":21},{"x":28,"y":-1,"z":21},{"x":28,"y":-2,"z":21},{"x":28,"y":-3,"z":21},{"x":28,"y":-4,"z":21},{"x":28,"y":-5,"z":21},{"x":28,"y":-6,"z":21},{"x":28,"y":-7,"z":21},{"x":28,"y":-8,"z":21},{"x":28,"y":-9,"z":21},{"x":28,"y":-10,"z":21},{"x":28,"y":-11,"z":21},{"x":28,"y":-12,"z":21},{"x":28,"y":12,"z":22},{"x":28,"y":11,"z":22},{"x":28,"y":10,"z":22},{"x":28,"y":9,"z":22},{"x":28,"y":8,"z":22},{"x":28,"y":7,"z":22},{"x":28,"y":6,"z":22},{"x":28,"y":5,"z":22},{"x":28,"y":4,"z":22},{"x":28,"y":3,"z":22},{"x":28,"y":2,"z":22},{"x":28,"y":1,"z":22},{"x":28,"y":0,"z":22},{"x":28,"y":-1,"z":22},{"x":28,"y":-2,"z":22},{"x":28,"y":-3,"z":22},{"x":28,"y":-4,"z":22},{"x":28,"y":-5,"z":22},{"x":28,"y":-6,"z":22},{"x":28,"y":-7,"z":22},{"x":28,"y":-8,"z":22},{"x":28,"y":-9,"z":22},{"x":28,"y":-10,"z":22},{"x":28,"y":-11,"z":22},{"x":28,"y":-12,"z":22},{"x":28,"y":12,"z":23},{"x":28,"y":11,"z":23},{"x":28,"y":10,"z":23},{"x":28,"y":9,"z":23},{"x":28,"y":8,"z":23},{"x":28,"y":7,"z":23},{"x":28,"y":6,"z":23},{"x":28,"y":5,"z":23},{"x":28,"y":4,"z":23},{"x":28,"y":3,"z":23},{"x":28,"y":2,"z":23},{"x":28,"y":1,"z":23},{"x":28,"y":0,"z":23},{"x":28,"y":-1,"z":23},{"x":28,"y":-2,"z":23},{"x":28,"y":-3,"z":23},{"x":28,"y":-4,"z":23},{"x":28,"y":-5,"z":23},{"x":28,"y":-6,"z":23},{"x":28,"y":-7,"z":23},{"x":28,"y":-8,"z":23},{"x":28,"y":-9,"z":23},{"x":28,"y":-10,"z":23},{"x":28,"y":-11,"z":23},{"x":28,"y":-12,"z":23},{"x":28,"y":12,"z":24},{"x":28,"y":11,"z":24},{"x":28,"y":10,"z":24},{"x":28,"y":9,"z":24},{"x":28,"y":8,"z":24},{"x":28,"y":7,"z":24},{"x":28,"y":6,"z":24},{"x":28,"y":5,"z":24},{"x":28,"y":4,"z":24},{"x":28,"y":3,"z":24},{"x":28,"y":2,"z":24},{"x":28,"y":1,"z":24},{"x":28,"y":0,"z":24},{"x":28,"y":-1,"z":24},{"x":28,"y":-2,"z":24},{"x":28,"y":-3,"z":24},{"x":28,"y":-4,"z":24},{"x":28,"y":-5,"z":24},{"x":28,"y":-6,"z":24},{"x":28,"y":-7,"z":24},{"x":28,"y":-8,"z":24},{"x":28,"y":-9,"z":24},{"x":28,"y":-10,"z":24},{"x":28,"y":-11,"z":24},{"x":28,"y":-12,"z":24},{"x":28,"y":12,"z":25},{"x":28,"y":11,"z":25},{"x":28,"y":10,"z":25},{"x":28,"y":9,"z":25},{"x":28,"y":8,"z":25},{"x":28,"y":7,"z":25},{"x":28,"y":6,"z":25},{"x":28,"y":5,"z":25},{"x":28,"y":4,"z":25},{"x":28,"y":3,"z":25},{"x":28,"y":2,"z":25},{"x":28,"y":1,"z":25},{"x":28,"y":0,"z":25},{"x":28,"y":-1,"z":25},{"x":28,"y":-2,"z":25},{"x":28,"y":-3,"z":25},{"x":28,"y":-4,"z":25},{"x":28,"y":-5,"z":25},{"x":28,"y":-6,"z":25},{"x":28,"y":-7,"z":25},{"x":28,"y":-8,"z":25},{"x":28,"y":-9,"z":25},{"x":28,"y":-10,"z":25},{"x":28,"y":-11,"z":25},{"x":28,"y":-12,"z":25}]},"water-lever":{"x":6,"y":-10,"z":16},"front":{"offsetPointList":[{"x":27,"y":12,"z":7},{"x":27,"y":11,"z":7},{"x":27,"y":10,"z":7},{"x":27,"y":9,"z":7},{"x":27,"y":8,"z":7},{"x":27,"y":7,"z":7},{"x":27,"y":6,"z":7},{"x":27,"y":5,"z":7},{"x":27,"y":4,"z":7},{"x":27,"y":3,"z":7},{"x":27,"y":2,"z":7},{"x":27,"y":1,"z":7},{"x":27,"y":0,"z":7},{"x":27,"y":-1,"z":7},{"x":27,"y":-2,"z":7},{"x":27,"y":-3,"z":7},{"x":27,"y":-4,"z":7},{"x":27,"y":-5,"z":7},{"x":27,"y":-6,"z":7},{"x":27,"y":-7,"z":7},{"x":27,"y":-8,"z":7},{"x":27,"y":-9,"z":7},{"x":27,"y":-10,"z":7},{"x":27,"y":-11,"z":7},{"x":27,"y":-12,"z":7},{"x":27,"y":12,"z":8},{"x":27,"y":11,"z":8},{"x":27,"y":10,"z":8},{"x":27,"y":9,"z":8},{"x":27,"y":8,"z":8},{"x":27,"y":7,"z":8},{"x":27,"y":6,"z":8},{"x":27,"y":5,"z":8},{"x":27,"y":4,"z":8},{"x":27,"y":3,"z":8},{"x":27,"y":2,"z":8},{"x":27,"y":1,"z":8},{"x":27,"y":0,"z":8},{"x":27,"y":-1,"z":8},{"x":27,"y":-2,"z":8},{"x":27,"y":-3,"z":8},{"x":27,"y":-4,"z":8},{"x":27,"y":-5,"z":8},{"x":27,"y":-6,"z":8},{"x":27,"y":-7,"z":8},{"x":27,"y":-8,"z":8},{"x":27,"y":-9,"z":8},{"x":27,"y":-10,"z":8},{"x":27,"y":-11,"z":8},{"x":27,"y":-12,"z":8},{"x":27,"y":12,"z":9},{"x":27,"y":11,"z":9},{"x":27,"y":10,"z":9},{"x":27,"y":9,"z":9},{"x":27,"y":8,"z":9},{"x":27,"y":7,"z":9},{"x":27,"y":6,"z":9},{"x":27,"y":5,"z":9},{"x":27,"y":4,"z":9},{"x":27,"y":3,"z":9},{"x":27,"y":2,"z":9},{"x":27,"y":1,"z":9},{"x":27,"y":0,"z":9},{"x":27,"y":-1,"z":9},{"x":27,"y":-2,"z":9},{"x":27,"y":-3,"z":9},{"x":27,"y":-4,"z":9},{"x":27,"y":-5,"z":9},{"x":27,"y":-6,"z":9},{"x":27,"y":-7,"z":9},{"x":27,"y":-8,"z":9},{"x":27,"y":-9,"z":9},{"x":27,"y":-10,"z":9},{"x":27,"y":-11,"z":9},{"x":27,"y":-12,"z":9},{"x":27,"y":12,"z":10},{"x":27,"y":11,"z":10},{"x":27,"y":10,"z":10},{"x":27,"y":9,"z":10},{"x":27,"y":8,"z":10},{"x":27,"y":7,"z":10},{"x":27,"y":6,"z":10},{"x":27,"y":5,"z":10},{"x":27,"y":4,"z":10},{"x":27,"y":3,"z":10},{"x":27,"y":2,"z":10},{"x":27,"y":1,"z":10},{"x":27,"y":0,"z":10},{"x":27,"y":-1,"z":10},{"x":27,"y":-2,"z":10},{"x":27,"y":-3,"z":10},{"x":27,"y":-4,"z":10},{"x":27,"y":-5,"z":10},{"x":27,"y":-6,"z":10},{"x":27,"y":-7,"z":10},{"x":27,"y":-8,"z":10},{"x":27,"y":-9,"z":10},{"x":27,"y":-10,"z":10},{"x":27,"y":-11,"z":10},{"x":27,"y":-12,"z":10},{"x":27,"y":12,"z":11},{"x":27,"y":11,"z":11},{"x":27,"y":10,"z":11},{"x":27,"y":9,"z":11},{"x":27,"y":8,"z":11},{"x":27,"y":7,"z":11},{"x":27,"y":6,"z":11},{"x":27,"y":5,"z":11},{"x":27,"y":4,"z":11},{"x":27,"y":3,"z":11},{"x":27,"y":2,"z":11},{"x":27,"y":1,"z":11},{"x":27,"y":0,"z":11},{"x":27,"y":-1,"z":11},{"x":27,"y":-2,"z":11},{"x":27,"y":-3,"z":11},{"x":27,"y":-4,"z":11},{"x":27,"y":-5,"z":11},{"x":27,"y":-6,"z":11},{"x":27,"y":-7,"z":11},{"x":27,"y":-8,"z":11},{"x":27,"y":-9,"z":11},{"x":27,"y":-10,"z":11},{"x":27,"y":-11,"z":11},{"x":27,"y":-12,"z":11},{"x":27,"y":12,"z":12},{"x":27,"y":11,"z":12},{"x":27,"y":10,"z":12},{"x":27,"y":9,"z":12},{"x":27,"y":8,"z":12},{"x":27,"y":7,"z":12},{"x":27,"y":6,"z":12},{"x":27,"y":5,"z":12},{"x":27,"y":4,"z":12},{"x":27,"y":3,"z":12},{"x":27,"y":2,"z":12},{"x":27,"y":1,"z":12},{"x":27,"y":0,"z":12},{"x":27,"y":-1,"z":12},{"x":27,"y":-2,"z":12},{"x":27,"y":-3,"z":12},{"x":27,"y":-4,"z":12},{"x":27,"y":-5,"z":12},{"x":27,"y":-6,"z":12},{"x":27,"y":-7,"z":12},{"x":27,"y":-8,"z":12},{"x":27,"y":-9,"z":12},{"x":27,"y":-10,"z":12},{"x":27,"y":-11,"z":12},{"x":27,"y":-12,"z":12},{"x":27,"y":12,"z":13},{"x":27,"y":11,"z":13},{"x":27,"y":10,"z":13},{"x":27,"y":9,"z":13},{"x":27,"y":8,"z":13},{"x":27,"y":7,"z":13},{"x":27,"y":6,"z":13},{"x":27,"y":5,"z":13},{"x":27,"y":4,"z":13},{"x":27,"y":3,"z":13},{"x":27,"y":2,"z":13},{"x":27,"y":1,"z":13},{"x":27,"y":0,"z":13},{"x":27,"y":-1,"z":13},{"x":27,"y":-2,"z":13},{"x":27,"y":-3,"z":13},{"x":27,"y":-4,"z":13},{"x":27,"y":-5,"z":13},{"x":27,"y":-6,"z":13},{"x":27,"y":-7,"z":13},{"x":27,"y":-8,"z":13},{"x":27,"y":-9,"z":13},{"x":27,"y":-10,"z":13},{"x":27,"y":-11,"z":13},{"x":27,"y":-12,"z":13},{"x":27,"y":12,"z":14},{"x":27,"y":11,"z":14},{"x":27,"y":10,"z":14},{"x":27,"y":9,"z":14},{"x":27,"y":8,"z":14},{"x":27,"y":7,"z":14},{"x":27,"y":6,"z":14},{"x":27,"y":5,"z":14},{"x":27,"y":4,"z":14},{"x":27,"y":3,"z":14},{"x":27,"y":2,"z":14},{"x":27,"y":1,"z":14},{"x":27,"y":0,"z":14},{"x":27,"y":-1,"z":14},{"x":27,"y":-2,"z":14},{"x":27,"y":-3,"z":14},{"x":27,"y":-4,"z":14},{"x":27,"y":-5,"z":14},{"x":27,"y":-6,"z":14},{"x":27,"y":-7,"z":14},{"x":27,"y":-8,"z":14},{"x":27,"y":-9,"z":14},{"x":27,"y":-10,"z":14},{"x":27,"y":-11,"z":14},{"x":27,"y":-12,"z":14},{"x":27,"y":12,"z":15},{"x":27,"y":11,"z":15},{"x":27,"y":10,"z":15},{"x":27,"y":9,"z":15},{"x":27,"y":8,"z":15},{"x":27,"y":7,"z":15},{"x":27,"y":6,"z":15},{"x":27,"y":5,"z":15},{"x":27,"y":4,"z":15},{"x":27,"y":3,"z":15},{"x":27,"y":2,"z":15},{"x":27,"y":1,"z":15},{"x":27,"y":0,"z":15},{"x":27,"y":-1,"z":15},{"x":27,"y":-2,"z":15},{"x":27,"y":-3,"z":15},{"x":27,"y":-4,"z":15},{"x":27,"y":-5,"z":15},{"x":27,"y":-6,"z":15},{"x":27,"y":-7,"z":15},{"x":27,"y":-8,"z":15},{"x":27,"y":-9,"z":15},{"x":27,"y":-10,"z":15},{"x":27,"y":-11,"z":15},{"x":27,"y":-12,"z":15},{"x":27,"y":12,"z":16},{"x":27,"y":11,"z":16},{"x":27,"y":10,"z":16},{"x":27,"y":9,"z":16},{"x":27,"y":8,"z":16},{"x":27,"y":7,"z":16},{"x":27,"y":6,"z":16},{"x":27,"y":5,"z":16},{"x":27,"y":4,"z":16},{"x":27,"y":3,"z":16},{"x":27,"y":2,"z":16},{"x":27,"y":1,"z":16},{"x":27,"y":0,"z":16},{"x":27,"y":-1,"z":16},{"x":27,"y":-2,"z":16},{"x":27,"y":-3,"z":16},{"x":27,"y":-4,"z":16},{"x":27,"y":-5,"z":16},{"x":27,"y":-6,"z":16},{"x":27,"y":-7,"z":16},{"x":27,"y":-8,"z":16},{"x":27,"y":-9,"z":16},{"x":27,"y":-10,"z":16},{"x":27,"y":-11,"z":16},{"x":27,"y":-12,"z":16},{"x":27,"y":12,"z":17},{"x":27,"y":11,"z":17},{"x":27,"y":10,"z":17},{"x":27,"y":9,"z":17},{"x":27,"y":8,"z":17},{"x":27,"y":7,"z":17},{"x":27,"y":6,"z":17},{"x":27,"y":5,"z":17},{"x":27,"y":4,"z":17},{"x":27,"y":3,"z":17},{"x":27,"y":2,"z":17},{"x":27,"y":1,"z":17},{"x":27,"y":0,"z":17},{"x":27,"y":-1,"z":17},{"x":27,"y":-2,"z":17},{"x":27,"y":-3,"z":17},{"x":27,"y":-4,"z":17},{"x":27,"y":-5,"z":17},{"x":27,"y":-6,"z":17},{"x":27,"y":-7,"z":17},{"x":27,"y":-8,"z":17},{"x":27,"y":-9,"z":17},{"x":27,"y":-10,"z":17},{"x":27,"y":-11,"z":17},{"x":27,"y":-12,"z":17},{"x":27,"y":12,"z":18},{"x":27,"y":11,"z":18},{"x":27,"y":10,"z":18},{"x":27,"y":9,"z":18},{"x":27,"y":8,"z":18},{"x":27,"y":7,"z":18},{"x":27,"y":6,"z":18},{"x":27,"y":5,"z":18},{"x":27,"y":4,"z":18},{"x":27,"y":3,"z":18},{"x":27,"y":2,"z":18},{"x":27,"y":1,"z":18},{"x":27,"y":0,"z":18},{"x":27,"y":-1,"z":18},{"x":27,"y":-2,"z":18},{"x":27,"y":-3,"z":18},{"x":27,"y":-4,"z":18},{"x":27,"y":-5,"z":18},{"x":27,"y":-6,"z":18},{"x":27,"y":-7,"z":18},{"x":27,"y":-8,"z":18},{"x":27,"y":-9,"z":18},{"x":27,"y":-10,"z":18},{"x":27,"y":-11,"z":18},{"x":27,"y":-12,"z":18},{"x":27,"y":12,"z":19},{"x":27,"y":11,"z":19},{"x":27,"y":10,"z":19},{"x":27,"y":9,"z":19},{"x":27,"y":8,"z":19},{"x":27,"y":7,"z":19},{"x":27,"y":6,"z":19},{"x":27,"y":5,"z":19},{"x":27,"y":4,"z":19},{"x":27,"y":3,"z":19},{"x":27,"y":2,"z":19},{"x":27,"y":1,"z":19},{"x":27,"y":0,"z":19},{"x":27,"y":-1,"z":19},{"x":27,"y":-2,"z":19},{"x":27,"y":-3,"z":19},{"x":27,"y":-4,"z":19},{"x":27,"y":-5,"z":19},{"x":27,"y":-6,"z":19},{"x":27,"y":-7,"z":19},{"x":27,"y":-8,"z":19},{"x":27,"y":-9,"z":19},{"x":27,"y":-10,"z":19},{"x":27,"y":-11,"z":19},{"x":27,"y":-12,"z":19},{"x":27,"y":12,"z":20},{"x":27,"y":11,"z":20},{"x":27,"y":10,"z":20},{"x":27,"y":9,"z":20},{"x":27,"y":8,"z":20},{"x":27,"y":7,"z":20},{"x":27,"y":6,"z":20},{"x":27,"y":5,"z":20},{"x":27,"y":4,"z":20},{"x":27,"y":3,"z":20},{"x":27,"y":2,"z":20},{"x":27,"y":1,"z":20},{"x":27,"y":0,"z":20},{"x":27,"y":-1,"z":20},{"x":27,"y":-2,"z":20},{"x":27,"y":-3,"z":20},{"x":27,"y":-4,"z":20},{"x":27,"y":-5,"z":20},{"x":27,"y":-6,"z":20},{"x":27,"y":-7,"z":20},{"x":27,"y":-8,"z":20},{"x":27,"y":-9,"z":20},{"x":27,"y":-10,"z":20},{"x":27,"y":-11,"z":20},{"x":27,"y":-12,"z":20},{"x":27,"y":12,"z":21},{"x":27,"y":11,"z":21},{"x":27,"y":10,"z":21},{"x":27,"y":9,"z":21},{"x":27,"y":8,"z":21},{"x":27,"y":7,"z":21},{"x":27,"y":6,"z":21},{"x":27,"y":5,"z":21},{"x":27,"y":4,"z":21},{"x":27,"y":3,"z":21},{"x":27,"y":2,"z":21},{"x":27,"y":1,"z":21},{"x":27,"y":0,"z":21},{"x":27,"y":-1,"z":21},{"x":27,"y":-2,"z":21},{"x":27,"y":-3,"z":21},{"x":27,"y":-4,"z":21},{"x":27,"y":-5,"z":21},{"x":27,"y":-6,"z":21},{"x":27,"y":-7,"z":21},{"x":27,"y":-8,"z":21},{"x":27,"y":-9,"z":21},{"x":27,"y":-10,"z":21},{"x":27,"y":-11,"z":21},{"x":27,"y":-12,"z":21},{"x":27,"y":12,"z":22},{"x":27,"y":11,"z":22},{"x":27,"y":10,"z":22},{"x":27,"y":9,"z":22},{"x":27,"y":8,"z":22},{"x":27,"y":7,"z":22},{"x":27,"y":6,"z":22},{"x":27,"y":5,"z":22},{"x":27,"y":4,"z":22},{"x":27,"y":3,"z":22},{"x":27,"y":2,"z":22},{"x":27,"y":1,"z":22},{"x":27,"y":0,"z":22},{"x":27,"y":-1,"z":22},{"x":27,"y":-2,"z":22},{"x":27,"y":-3,"z":22},{"x":27,"y":-4,"z":22},{"x":27,"y":-5,"z":22},{"x":27,"y":-6,"z":22},{"x":27,"y":-7,"z":22},{"x":27,"y":-8,"z":22},{"x":27,"y":-9,"z":22},{"x":27,"y":-10,"z":22},{"x":27,"y":-11,"z":22},{"x":27,"y":-12,"z":22},{"x":27,"y":12,"z":23},{"x":27,"y":11,"z":23},{"x":27,"y":10,"z":23},{"x":27,"y":9,"z":23},{"x":27,"y":8,"z":23},{"x":27,"y":7,"z":23},{"x":27,"y":6,"z":23},{"x":27,"y":5,"z":23},{"x":27,"y":4,"z":23},{"x":27,"y":3,"z":23},{"x":27,"y":2,"z":23},{"x":27,"y":1,"z":23},{"x":27,"y":0,"z":23},{"x":27,"y":-1,"z":23},{"x":27,"y":-2,"z":23},{"x":27,"y":-3,"z":23},{"x":27,"y":-4,"z":23},{"x":27,"y":-5,"z":23},{"x":27,"y":-6,"z":23},{"x":27,"y":-7,"z":23},{"x":27,"y":-8,"z":23},{"x":27,"y":-9,"z":23},{"x":27,"y":-10,"z":23},{"x":27,"y":-11,"z":23},{"x":27,"y":-12,"z":23},{"x":27,"y":12,"z":24},{"x":27,"y":11,"z":24},{"x":27,"y":10,"z":24},{"x":27,"y":9,"z":24},{"x":27,"y":8,"z":24},{"x":27,"y":7,"z":24},{"x":27,"y":6,"z":24},{"x":27,"y":5,"z":24},{"x":27,"y":4,"z":24},{"x":27,"y":3,"z":24},{"x":27,"y":2,"z":24},{"x":27,"y":1,"z":24},{"x":27,"y":0,"z":24},{"x":27,"y":-1,"z":24},{"x":27,"y":-2,"z":24},{"x":27,"y":-3,"z":24},{"x":27,"y":-4,"z":24},{"x":27,"y":-5,"z":24},{"x":27,"y":-6,"z":24},{"x":27,"y":-7,"z":24},{"x":27,"y":-8,"z":24},{"x":27,"y":-9,"z":24},{"x":27,"y":-10,"z":24},{"x":27,"y":-11,"z":24},{"x":27,"y":-12,"z":24},{"x":27,"y":12,"z":25},{"x":27,"y":11,"z":25},{"x":27,"y":10,"z":25},{"x":27,"y":9,"z":25},{"x":27,"y":8,"z":25},{"x":27,"y":7,"z":25},{"x":27,"y":6,"z":25},{"x":27,"y":5,"z":25},{"x":27,"y":4,"z":25},{"x":27,"y":3,"z":25},{"x":27,"y":2,"z":25},{"x":27,"y":1,"z":25},{"x":27,"y":0,"z":25},{"x":27,"y":-1,"z":25},{"x":27,"y":-2,"z":25},{"x":27,"y":-3,"z":25},{"x":27,"y":-4,"z":25},{"x":27,"y":-5,"z":25},{"x":27,"y":-6,"z":25},{"x":27,"y":-7,"z":25},{"x":27,"y":-8,"z":25},{"x":27,"y":-9,"z":25},{"x":27,"y":-10,"z":25},{"x":27,"y":-11,"z":25},{"x":27,"y":-12,"z":25}]}},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/95c57abe-34d4-443c-baac-11d43cbc821f.json b/src/main/resources/dgroomdata/95c57abe-34d4-443c-baac-11d43cbc821f.json new file mode 100644 index 0000000..4cde284 --- /dev/null +++ b/src/main/resources/dgroomdata/95c57abe-34d4-443c-baac-11d43cbc821f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,4,109,0,0,0,0,0,0,0,4,98,98,98,4,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,4,98,98,98,98,98,0,0,0,0,0,134,17,98,98,98,98,98,4,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,98,98,98,98,98,98,98,50,0,0,0,0,0,50,98,98,98,98,4,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,109,0,0,0,109,98,98,98,98,98,4,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,4,98,98,98,98,98,98,0,0,0,109,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,4,98,98,4,0,0,0,0,0,0,0,144,159,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,4,98,98,98,98,98,98,4,0,0,0,0,0,0,0,0,159,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,159,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,98,98,98,98,98,98,0,0,0,0,0,0,0,98,0,144,0,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,50,109,98,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,50,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,98,159,98,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,101,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,50,109,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,4,50,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,44,109,98,98,98,0,0,144,98,0,0,0,0,0,0,0,98,98,98,98,98,98,98,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,44,98,98,159,159,159,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,4,98,159,159,159,144,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,144,98,98,159,159,159,0,0,0,0,0,0,0,0,98,98,1,101,101,101,101,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,4,0,0,0,109,109,98,98,50,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,101,0,0,98,98,98,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,4,50,0,0,0,0,0,0,-1,98,0,0,0,0,0,-1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,4,98,98,98,0,0,0,0,0,0,0,-1,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,4,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,50,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"95c57abe-34d4-443c-baac-11d43cbc821f","name":"Multicolored","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":27,"y":0,"z":26},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":20,"y":1,"z":26},{"x":20,"y":0,"z":26},{"x":20,"y":-1,"z":26},{"x":20,"y":1,"z":27},{"x":20,"y":0,"z":27},{"x":20,"y":-1,"z":27}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9650cb39-5f22-45f4-86cd-5d197a4266e5.json b/src/main/resources/dgroomdata/9650cb39-5f22-45f4-86cd-5d197a4266e5.json new file mode 100644 index 0000000..f94cd14 --- /dev/null +++ b/src/main/resources/dgroomdata/9650cb39-5f22-45f4-86cd-5d197a4266e5.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,159,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,159,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,101,159,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,159,98,98,5,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,98,98,98,1,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,1,98,1,0,0,0,0,0,1,18,18,0,0,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,-1,-1,1,98,98,98,109,98,98,98,101,101,101,98,1,98,98,109,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,18,0,0,18,1,18,0,5,5,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,18,18,0,134,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,5,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,5,136,0,0,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,109,98,44,98,98,101,101,101,98,98,98,109,98,1,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,98,98,98,98,1,0,0,0,0,0,1,98,1,18,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,134,5,98,18,18,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,134,98,18,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,17,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,136,5,0,0,0,0,0,0,0,0,98,4,4,44,0,0,0,44,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,5,5,1,0,0,0,0,0,0,0,98,1,98,0,0,0,0,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9650cb39-5f22-45f4-86cd-5d197a4266e5","name":"Overgrown","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":7,"y":9,"z":16},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":28,"y":11,"z":16},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":4,"y":12,"z":21},{"x":4,"y":11,"z":21},{"x":4,"y":10,"z":21},{"x":4,"y":9,"z":21},{"x":5,"y":12,"z":21},{"x":5,"y":11,"z":21},{"x":5,"y":10,"z":21},{"x":5,"y":9,"z":21},{"x":6,"y":12,"z":21},{"x":6,"y":11,"z":21},{"x":6,"y":10,"z":21},{"x":6,"y":9,"z":21},{"x":7,"y":12,"z":21},{"x":7,"y":11,"z":21},{"x":7,"y":10,"z":21},{"x":7,"y":9,"z":21}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":5,"y":-1,"z":4},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"essence-1":{"mechType":"Secret","secretPoint":{"x":6,"y":17,"z":20},"secretType":"ESSENCE","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":1,"z":11},{"x":5,"y":0,"z":11},{"x":5,"y":-1,"z":11},{"x":6,"y":1,"z":11},{"x":6,"y":0,"z":11},{"x":6,"y":-1,"z":11}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9890fbac-d382-4525-ab88-fe1ebc118702.json b/src/main/resources/dgroomdata/9890fbac-d382-4525-ab88-fe1ebc118702.json new file mode 100644 index 0000000..5acc137 --- /dev/null +++ b/src/main/resources/dgroomdata/9890fbac-d382-4525-ab88-fe1ebc118702.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,139,98,159,109,50,0,0,0,0,0,0,109,0,0,98,98,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,144,159,109,0,0,0,0,0,0,0,98,0,0,98,139,0,0,98,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,98,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,159,98,139,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,139,98,159,98,98,0,0,0,0,0,98,109,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,139,98,159,144,0,0,0,0,0,0,0,98,0,0,0,0,0,0,139,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,17,17,17,0,1,159,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,-1,-1,-1,-1,98,98,159,0,0,0,0,0,0,0,18,98,0,0,50,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,139,159,144,0,0,0,0,0,0,0,98,98,98,98,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,139,98,139,0,0,0,0,0,0,98,98,98,109,0,0,0,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,159,98,98,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,144,159,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,144,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,159,101,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,164,5,139,98,98,98,0,0,0,0,0,0,139,139,139,0,0,0,0,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,164,5,139,98,98,139,0,0,0,0,0,0,109,98,98,98,109,109,98,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,98,109,0,0,0,0,0,0,0,109,0,0,0,0,98,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,98,109,0,0,0,0,0,0,67,98,0,0,0,0,109,0,0,69,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,109,98,98,98,0,0,0,0,0,0,67,98,0,101,0,101,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,101,101,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,98,0,0,0,0,50,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,50,109,101,101,101,109,0,0,0,0,0,0,67,98,17,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9890fbac-d382-4525-ab88-fe1ebc118702","name":"Knight","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":6,"y":-1,"z":2},"secretType":"CHEST","preRequisite":["dummy-1:click"]},"dummy-1":{"secretPoint":{"x":7,"y":-1,"z":2},"preRequisite":["door-1:open"],"mechType":"Dummy"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":28,"y":0,"z":22},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":2,"z":11},{"x":5,"y":1,"z":11},{"x":5,"y":0,"z":11},{"x":5,"y":-1,"z":11},{"x":6,"y":2,"z":11},{"x":6,"y":1,"z":11},{"x":6,"y":0,"z":11},{"x":6,"y":-1,"z":11},{"x":7,"y":2,"z":11},{"x":7,"y":1,"z":11},{"x":7,"y":0,"z":11},{"x":7,"y":-1,"z":11},{"x":8,"y":2,"z":11},{"x":8,"y":1,"z":11},{"x":8,"y":0,"z":11},{"x":8,"y":-1,"z":11}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":25,"y":5,"z":10},"secretType":"BAT","preRequisite":[]}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/990f6e4c-f7cf-4d27-ae91-11219b85861f.json b/src/main/resources/dgroomdata/990f6e4c-f7cf-4d27-ae91-11219b85861f.json new file mode 100644 index 0000000..44e0f94 --- /dev/null +++ b/src/main/resources/dgroomdata/990f6e4c-f7cf-4d27-ae91-11219b85861f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,109,109,109,98,98,98,98,98,98,98,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,0,0,0,98,1,1,43,43,1,1,43,43,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,0,0,0,98,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,109,109,1,98,98,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,1,79,79,79,79,79,1,1,0,0,0,0,0,0,0,0,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,1,79,79,79,79,79,1,1,0,0,0,0,0,0,0,0,109,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,-1,79,79,79,79,79,79,1,0,0,0,0,0,0,0,0,109,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,1,79,79,79,79,79,1,1,0,0,0,0,0,0,0,0,109,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,-1,-1,-1,-1,-1,1,79,79,79,79,79,1,1,0,0,0,0,0,0,0,0,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,98,1,-1,-1,-1],[-1,-1,-1,7,0,0,0,0,0,0,0,0,1,1,-1,-1,1,1,1,1,1,1,1,109,109,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,0,0,0,1,98,98,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,0,0,0,1,1,1,43,43,43,43,43,43,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,109,109,109,98,98,98,98,98,98,98,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"990f6e4c-f7cf-4d27-ae91-11219b85861f","name":"puzzle-icefill","processorId":"puzzle_icefill","properties":{"33-level":"4:3:0:1:3:1","55-board":{"offsetPointList":[{"x":13,"y":1,"z":14},{"x":14,"y":1,"z":14},{"x":15,"y":1,"z":14},{"x":16,"y":1,"z":14},{"x":17,"y":1,"z":14},{"x":18,"y":1,"z":14},{"x":13,"y":1,"z":15},{"x":14,"y":1,"z":15},{"x":15,"y":1,"z":15},{"x":16,"y":1,"z":15},{"x":17,"y":1,"z":15},{"x":18,"y":1,"z":15},{"x":13,"y":1,"z":16},{"x":14,"y":1,"z":16},{"x":15,"y":1,"z":16},{"x":16,"y":1,"z":16},{"x":17,"y":1,"z":16},{"x":18,"y":1,"z":16},{"x":13,"y":1,"z":17},{"x":14,"y":1,"z":17},{"x":15,"y":1,"z":17},{"x":16,"y":1,"z":17},{"x":17,"y":1,"z":17},{"x":18,"y":1,"z":17},{"x":13,"y":1,"z":18},{"x":14,"y":1,"z":18},{"x":15,"y":1,"z":18},{"x":16,"y":1,"z":18},{"x":17,"y":1,"z":18},{"x":18,"y":1,"z":18}]},"55-level":"6:5:0:2:5:2","77-board":{"offsetPointList":[{"x":20,"y":2,"z":13},{"x":21,"y":2,"z":13},{"x":22,"y":2,"z":13},{"x":23,"y":2,"z":13},{"x":24,"y":2,"z":13},{"x":25,"y":2,"z":13},{"x":26,"y":2,"z":13},{"x":27,"y":2,"z":13},{"x":20,"y":2,"z":14},{"x":21,"y":2,"z":14},{"x":22,"y":2,"z":14},{"x":23,"y":2,"z":14},{"x":24,"y":2,"z":14},{"x":25,"y":2,"z":14},{"x":26,"y":2,"z":14},{"x":27,"y":2,"z":14},{"x":20,"y":2,"z":15},{"x":21,"y":2,"z":15},{"x":22,"y":2,"z":15},{"x":23,"y":2,"z":15},{"x":24,"y":2,"z":15},{"x":25,"y":2,"z":15},{"x":26,"y":2,"z":15},{"x":27,"y":2,"z":15},{"x":20,"y":2,"z":16},{"x":21,"y":2,"z":16},{"x":22,"y":2,"z":16},{"x":23,"y":2,"z":16},{"x":24,"y":2,"z":16},{"x":25,"y":2,"z":16},{"x":26,"y":2,"z":16},{"x":27,"y":2,"z":16},{"x":20,"y":2,"z":17},{"x":21,"y":2,"z":17},{"x":22,"y":2,"z":17},{"x":23,"y":2,"z":17},{"x":24,"y":2,"z":17},{"x":25,"y":2,"z":17},{"x":26,"y":2,"z":17},{"x":27,"y":2,"z":17},{"x":20,"y":2,"z":18},{"x":21,"y":2,"z":18},{"x":22,"y":2,"z":18},{"x":23,"y":2,"z":18},{"x":24,"y":2,"z":18},{"x":25,"y":2,"z":18},{"x":26,"y":2,"z":18},{"x":27,"y":2,"z":18},{"x":20,"y":2,"z":19},{"x":21,"y":2,"z":19},{"x":22,"y":2,"z":19},{"x":23,"y":2,"z":19},{"x":24,"y":2,"z":19},{"x":25,"y":2,"z":19},{"x":26,"y":2,"z":19},{"x":27,"y":2,"z":19}]},"77-level":"8:7:0:3:7:3","33-board":{"offsetPointList":[{"x":8,"y":0,"z":15},{"x":9,"y":0,"z":15},{"x":10,"y":0,"z":15},{"x":11,"y":0,"z":15},{"x":8,"y":0,"z":16},{"x":9,"y":0,"z":16},{"x":10,"y":0,"z":16},{"x":11,"y":0,"z":16},{"x":8,"y":0,"z":17},{"x":9,"y":0,"z":17},{"x":10,"y":0,"z":17},{"x":11,"y":0,"z":17}]},"levels":"33,55,77"},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9a0e71bf-babd-421e-a785-442c13d5a8b2.json b/src/main/resources/dgroomdata/9a0e71bf-babd-421e-a785-442c13d5a8b2.json new file mode 100644 index 0000000..524d1bc --- /dev/null +++ b/src/main/resources/dgroomdata/9a0e71bf-babd-421e-a785-442c13d5a8b2.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,98,98,98,98,98,98,98,98,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,1,1,1,1,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,109,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,35,1,1,1,1,1,1,1,1,1,1,1,41,0,0,0,98,-1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,35,35,1,1,1,1,1,1,1,1,1,1,144,0,0,0,98,-1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,35,7,1,1,1,1,1,1,1,1,1,0,0,0,98,-1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,7,98,1,1,1,1,1,1,1,0,0,50,98,-1,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,4,109,109,53,53,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,4,109,109,53,5,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,4,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,109,98,1,1,1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,1,1,1,1,1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,109,98,1,1,1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,134,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,4,109,109,0,0,0,134,-1,-1,-1,-1],[-1,-1,-1,-1,134,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,134,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,1,1,1,1,1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9a0e71bf-babd-421e-a785-442c13d5a8b2","name":"Silvers-sword","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":19,"y":-1,"z":14},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":22,"y":1,"z":13},{"x":22,"y":0,"z":13},{"x":22,"y":1,"z":14},{"x":22,"y":0,"z":14},{"x":22,"y":-1,"z":14},{"x":22,"y":0,"z":15},{"x":22,"y":-1,"z":15},{"x":22,"y":1,"z":16},{"x":22,"y":0,"z":16},{"x":22,"y":-1,"z":16}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9b949f89-1542-4bcf-9bf3-063ec69bc5f4.json b/src/main/resources/dgroomdata/9b949f89-1542-4bcf-9bf3-063ec69bc5f4.json new file mode 100644 index 0000000..3ab526c --- /dev/null +++ b/src/main/resources/dgroomdata/9b949f89-1542-4bcf-9bf3-063ec69bc5f4.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,4,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,17,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,17,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,4,1,4,0,0,0,0,0,98,98,98,0,0,0,0,0,1,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,0,0,0,0,98,69,98,0,0,0,0,98,98,1,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,0,0,0,0,98,9,98,134,134,134,134,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,9,0,5,134,134,5,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,134,134,5,65,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,134,134,5,65,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,9,0,5,134,134,5,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,98,98,0,0,0,0,98,9,98,134,134,134,134,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,0,0,0,0,98,98,98,0,0,0,0,98,98,1,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,0,0,0,0,0,98,98,98,0,0,0,0,0,1,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9b949f89-1542-4bcf-9bf3-063ec69bc5f4","name":"Water","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":3,"y":-1,"z":6},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":16,"y":0,"z":8},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":2,"z":5},{"x":8,"y":1,"z":5},{"x":8,"y":0,"z":5},{"x":8,"y":-1,"z":5},{"x":8,"y":2,"z":6},{"x":8,"y":1,"z":6},{"x":8,"y":0,"z":6},{"x":8,"y":-1,"z":6}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":13,"y":-3,"z":6},"secretType":"BAT","preRequisite":[]}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9cd523a2-0c7f-4072-a374-9b99d59554ea.json b/src/main/resources/dgroomdata/9cd523a2-0c7f-4072-a374-9b99d59554ea.json new file mode 100644 index 0000000..6fcb7c9 --- /dev/null +++ b/src/main/resources/dgroomdata/9cd523a2-0c7f-4072-a374-9b99d59554ea.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,43,43,43,43,43,1,109,18,0,0,0,0,0,0,0,0,7,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,1,98,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,43,43,43,43,43,98,109,0,0,0,0,0,0,0,0,35,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,43,43,43,43,43,1,98,0,0,0,0,0,0,0,0,0,7,1,1,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,-1,-1,-1,-1],[-1,-1,-1,-1,43,43,43,43,43,98,98,50,0,0,0,0,0,0,0,0,35,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,43,43,43,43,43,5,5,134,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,5,134,0,0,0,0,0,0,0,0,50,98,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,5,134,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,1,98,98,109,0,0,0,0,0,0,0,7,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,1,98,98,0,0,0,0,0,0,0,0,35,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,44,144,0,0,98,98,98,109,0,0,0,0,0,0,0,0,35,35,35,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,50,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,50,139,98,18,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,139,0,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,109,98,98,89,98,98,89,98,98,89,98,98,109,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,43,43,43,43,43,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,43,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,109,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,98,98,109,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,0,0,0,109,1,1,109,0,18,18,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,50,98,98,109,50,0,18,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,98,98,98,98,98,1,98,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,98,98,98,98,98,1,98,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,159,159,159,159,159,159,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,98,98,98,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,0,-1,-1,-1,0,1,1,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,109,109,0,109,98,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,1,1,0,-1,-1,-1,0,1,1,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,139,0,0,139,0,0,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,-1,-1,-1,0,0,0,98,98,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,109,51,0,0,0,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,-1,-1,-1,0,0,0,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,-1,-1,-1,0,0,0,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,144,0,0,-1,-1,-1,0,0,0,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,109,51,0,0,0,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,1,1,0,-1,-1,-1,0,1,1,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,139,0,0,139,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,0,-1,-1,-1,0,1,1,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,44,109,98,109,109,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,159,159,159,159,159,159,159,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,159,159,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,159,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,1,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,35,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,1,159,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,1,1,1,159,159,0,1,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,159,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,159,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,35,159,1,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,41,35,35,35,35,35,1,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,43,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,43,43,43,43,43,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,188,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,159,159,0,0,0,0,0,0,0,0,98,139,0,0,109,98,1,89,98,98,89,98,98,89,98,98,109,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,159,1,159,159,0,0,0,0,0,0,0,139,98,98,98,98,1,98,1,98,98,98,98,98,1,98,98,98,98,98,98,98,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,159,1,1,159,159,50,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,1,159,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,50,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,159,159,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,17,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,159,159,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,35,0,0,0,0,0,0,0,188,0,188,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,1,1,1,1,1,1,1,0,0,0,0,0,159,159,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,159,1,1,1,159,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,0,0,0,1,1,1,7,0,0,0,0,0,0,0,159,159,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,159,35,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,1,1,35,0,0,0,0,0,0,0,35,159,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,159,35,41,144,0,0,0,0,0,0,18,35,35,35,35,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,35,0,0,0,0,1,35,18,106,0,0,0,0,0,0,35,159,159,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,35,0,0,17,0,0,0,0,0,0,0,0,35,1,1,1,35,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,1,35,18,0,0,0,0,0,0,0,35,159,159,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,0,0,0,0,0,0,0,0,0,35,1,1,1,159,0,134,134,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,159,159,159,1,159,35,0,0,0,0,0,0,0,0,0,35,159,159,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,159,159,0,0,0,0,0,0,0,35,159,1,1,159,159,0,134,134,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,159,1,1,1,1,159,0,0,0,0,0,0,0,159,159,159,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,159,0,0,0,0,0,0,0,35,1,1,1,1,159,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,159,159,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,159,159,0,0,0,0,0,0,18,159,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9cd523a2-0c7f-4072-a374-9b99d59554ea","name":"Atlas","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":12,"y":12,"z":32},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":37,"y":-13,"z":16},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":32,"y":8,"z":53},"secretType":"CHEST","preRequisite":[]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":61,"y":20,"z":34},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":7,"y":13,"z":25},{"x":7,"y":12,"z":25},{"x":7,"y":11,"z":25},{"x":7,"y":10,"z":25},{"x":8,"y":13,"z":25},{"x":8,"y":12,"z":25},{"x":8,"y":11,"z":25},{"x":8,"y":10,"z":25},{"x":9,"y":13,"z":25},{"x":9,"y":12,"z":25},{"x":9,"y":11,"z":25},{"x":9,"y":10,"z":25}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":54,"y":-3,"z":32},"preRequisite":[],"triggering":"cage-1"},"bat-1":{"mechType":"Secret","secretPoint":{"x":7,"y":2,"z":58},"secretType":"BAT","preRequisite":[]},"cage-1":{"secretPoint":{"offsetPointList":[{"x":31,"y":3,"z":31},{"x":32,"y":3,"z":31},{"x":33,"y":3,"z":31},{"x":31,"y":3,"z":32},{"x":32,"y":3,"z":32},{"x":33,"y":3,"z":32},{"x":31,"y":3,"z":33},{"x":32,"y":3,"z":33},{"x":33,"y":3,"z":33}]},"preRequisite":["lever-2:open"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":56,"y":6,"z":29},"secretType":"ITEM_DROP","preRequisite":[""]},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":4,"y":0,"z":21},{"x":4,"y":-1,"z":21},{"x":5,"y":0,"z":21},{"x":5,"y":-1,"z":21},{"x":6,"y":0,"z":21},{"x":6,"y":-1,"z":21},{"x":7,"y":0,"z":21},{"x":7,"y":-1,"z":21},{"x":4,"y":0,"z":22},{"x":4,"y":-1,"z":22},{"x":5,"y":0,"z":22},{"x":5,"y":-1,"z":22},{"x":6,"y":0,"z":22},{"x":6,"y":-1,"z":22},{"x":7,"y":0,"z":22},{"x":7,"y":-1,"z":22},{"x":4,"y":0,"z":23},{"x":4,"y":-1,"z":23},{"x":5,"y":0,"z":23},{"x":5,"y":-1,"z":23},{"x":6,"y":0,"z":23},{"x":6,"y":-1,"z":23},{"x":7,"y":0,"z":23},{"x":7,"y":-1,"z":23}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":29,"y":9,"z":9},{"x":29,"y":8,"z":9},{"x":30,"y":9,"z":9},{"x":30,"y":8,"z":9},{"x":31,"y":9,"z":9},{"x":31,"y":8,"z":9},{"x":29,"y":9,"z":10},{"x":29,"y":8,"z":10},{"x":30,"y":9,"z":10},{"x":30,"y":8,"z":10},{"x":31,"y":9,"z":10},{"x":31,"y":8,"z":10},{"x":29,"y":9,"z":11},{"x":29,"y":8,"z":11},{"x":30,"y":9,"z":11},{"x":30,"y":8,"z":11},{"x":31,"y":9,"z":11},{"x":31,"y":8,"z":11},{"x":29,"y":9,"z":12},{"x":29,"y":8,"z":12},{"x":30,"y":9,"z":12},{"x":30,"y":8,"z":12},{"x":31,"y":9,"z":12},{"x":31,"y":8,"z":12}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":29,"y":9,"z":4},{"x":29,"y":8,"z":4},{"x":30,"y":9,"z":4},{"x":30,"y":8,"z":4},{"x":31,"y":9,"z":4},{"x":31,"y":8,"z":4},{"x":29,"y":9,"z":5},{"x":29,"y":8,"z":5},{"x":30,"y":9,"z":5},{"x":30,"y":8,"z":5},{"x":31,"y":9,"z":5},{"x":31,"y":8,"z":5},{"x":29,"y":9,"z":6},{"x":29,"y":8,"z":6},{"x":30,"y":9,"z":6},{"x":30,"y":8,"z":6},{"x":31,"y":9,"z":6},{"x":31,"y":8,"z":6},{"x":29,"y":9,"z":7},{"x":29,"y":8,"z":7},{"x":30,"y":9,"z":7},{"x":30,"y":8,"z":7},{"x":31,"y":9,"z":7},{"x":31,"y":8,"z":7}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":8,"y":1,"z":26},{"x":8,"y":0,"z":26},{"x":9,"y":1,"z":26},{"x":9,"y":0,"z":26},{"x":10,"y":1,"z":26},{"x":10,"y":0,"z":26},{"x":8,"y":1,"z":27},{"x":8,"y":0,"z":27},{"x":9,"y":1,"z":27},{"x":9,"y":0,"z":27},{"x":10,"y":1,"z":27},{"x":10,"y":0,"z":27},{"x":8,"y":1,"z":28},{"x":8,"y":0,"z":28},{"x":9,"y":1,"z":28},{"x":9,"y":0,"z":28},{"x":10,"y":1,"z":28},{"x":10,"y":0,"z":28},{"x":8,"y":1,"z":29},{"x":8,"y":0,"z":29},{"x":9,"y":1,"z":29},{"x":9,"y":0,"z":29},{"x":10,"y":1,"z":29},{"x":10,"y":0,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":39,"y":8,"z":5},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":1,"z":35},{"x":8,"y":0,"z":35},{"x":9,"y":1,"z":35},{"x":9,"y":0,"z":35},{"x":10,"y":1,"z":35},{"x":10,"y":0,"z":35},{"x":8,"y":1,"z":36},{"x":8,"y":0,"z":36},{"x":9,"y":1,"z":36},{"x":9,"y":0,"z":36},{"x":10,"y":1,"z":36},{"x":10,"y":0,"z":36},{"x":8,"y":1,"z":37},{"x":8,"y":0,"z":37},{"x":9,"y":1,"z":37},{"x":9,"y":0,"z":37},{"x":10,"y":1,"z":37},{"x":10,"y":0,"z":37},{"x":8,"y":1,"z":38},{"x":8,"y":0,"z":38},{"x":9,"y":1,"z":38},{"x":9,"y":0,"z":38},{"x":10,"y":1,"z":38},{"x":10,"y":0,"z":38}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/9fa09d68-c483-4320-872e-9e07b049ee37.json b/src/main/resources/dgroomdata/9fa09d68-c483-4320-872e-9e07b049ee37.json new file mode 100644 index 0000000..1700b33 --- /dev/null +++ b/src/main/resources/dgroomdata/9fa09d68-c483-4320-872e-9e07b049ee37.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,13,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,98,98,13,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,3,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,98,31,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,98,18,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,31,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,98,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,1,0,0,0,1,1,0,0,0,0,0,0,98,1,0,0,0,1,98,98,1,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,1,0,0,0,1,1,7,0,0,0,0,1,1,1,-1,-1,-1,1,1,1,1,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,4,4,48,48,1,1,1,4,0,0,0,4,1,1,0,0,0,1,1,1,1,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,13,1,1,7,1,0,0,0,1,1,0,0,0,0,109,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,7,7,7,13,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,7,7,82,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,13,7,0,82,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,13,1,1,7,0,0,0,0,1,1,0,0,0,0,0,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,67,0,0,0,4,1,1,1,144,0,144,1,1,1,1,0,0,0,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,1,1,0,0,0,0,0,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,0,0,0,5,5,0,0,0,0,0,17,17,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,0,0,0,0,5,5,0,0,0,0,0,0,144,4,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"9fa09d68-c483-4320-872e-9e07b049ee37","name":"Pillars","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":20,"y":-1,"z":7},"secretType":"CHEST","preRequisite":["door-1:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":19,"y":5,"z":11},{"x":19,"y":4,"z":11},{"x":19,"y":3,"z":11},{"x":19,"y":2,"z":11},{"x":19,"y":1,"z":11},{"x":19,"y":0,"z":11},{"x":19,"y":-1,"z":11},{"x":20,"y":5,"z":11},{"x":20,"y":4,"z":11},{"x":20,"y":3,"z":11},{"x":20,"y":2,"z":11},{"x":20,"y":1,"z":11},{"x":20,"y":0,"z":11},{"x":20,"y":-1,"z":11},{"x":21,"y":5,"z":11},{"x":21,"y":4,"z":11},{"x":21,"y":3,"z":11},{"x":21,"y":2,"z":11},{"x":21,"y":1,"z":11},{"x":21,"y":0,"z":11},{"x":21,"y":-1,"z":11}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":4,"y":18,"z":7},"preRequisite":[],"triggering":"door-1"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a053f4fa-d6b2-4aef-ae3e-97c7eee0252e.json b/src/main/resources/dgroomdata/a053f4fa-d6b2-4aef-ae3e-97c7eee0252e.json new file mode 100644 index 0000000..deb0663 --- /dev/null +++ b/src/main/resources/dgroomdata/a053f4fa-d6b2-4aef-ae3e-97c7eee0252e.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,98,109,109,98,98,98,98,109,109,98,98,98,98,98,98,98,109,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,0,159,159,109,109,0,0,0,0,109,109,0,0,0,160,160,109,1,0,0,0,0,109,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,-1,-1,-1],[-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,1,-1,-1,-1],[-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,1,-1,-1,-1],[-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,1,-1,-1,-1],[-1,-1,-1,1,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,-1,-1,-1],[-1,-1,-1,0,0,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,51,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,159,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,-1],[-1,-1,-1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,1,-1,-1,-1],[-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,1,-1,-1,-1],[-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,1,-1,-1,-1],[-1,-1,-1,1,1,7,0,1,109,0,0,160,0,109,109,0,0,0,0,0,1,1,0,0,0,0,109,109,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,98,1,1,109,160,79,98,98,98,98,109,109,98,98,98,98,98,98,109,109,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,174,174,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a053f4fa-d6b2-4aef-ae3e-97c7eee0252e","name":"puzzle-silverfish","processorId":"puzzle_silverfish","properties":{"width":19,"endnodes":{"offsetPointList":[{"x":26,"y":-3,"z":15},{"x":26,"y":-3,"z":16},{"x":26,"y":-3,"z":17}]},"board":{"offsetPointList":[{"x":8,"y":-3,"z":7},{"x":9,"y":-3,"z":7},{"x":10,"y":-3,"z":7},{"x":11,"y":-3,"z":7},{"x":12,"y":-3,"z":7},{"x":13,"y":-3,"z":7},{"x":14,"y":-3,"z":7},{"x":15,"y":-3,"z":7},{"x":16,"y":-3,"z":7},{"x":17,"y":-3,"z":7},{"x":18,"y":-3,"z":7},{"x":19,"y":-3,"z":7},{"x":20,"y":-3,"z":7},{"x":21,"y":-3,"z":7},{"x":22,"y":-3,"z":7},{"x":23,"y":-3,"z":7},{"x":24,"y":-3,"z":7},{"x":25,"y":-3,"z":7},{"x":26,"y":-3,"z":7},{"x":8,"y":-3,"z":8},{"x":9,"y":-3,"z":8},{"x":10,"y":-3,"z":8},{"x":11,"y":-3,"z":8},{"x":12,"y":-3,"z":8},{"x":13,"y":-3,"z":8},{"x":14,"y":-3,"z":8},{"x":15,"y":-3,"z":8},{"x":16,"y":-3,"z":8},{"x":17,"y":-3,"z":8},{"x":18,"y":-3,"z":8},{"x":19,"y":-3,"z":8},{"x":20,"y":-3,"z":8},{"x":21,"y":-3,"z":8},{"x":22,"y":-3,"z":8},{"x":23,"y":-3,"z":8},{"x":24,"y":-3,"z":8},{"x":25,"y":-3,"z":8},{"x":26,"y":-3,"z":8},{"x":8,"y":-3,"z":9},{"x":9,"y":-3,"z":9},{"x":10,"y":-3,"z":9},{"x":11,"y":-3,"z":9},{"x":12,"y":-3,"z":9},{"x":13,"y":-3,"z":9},{"x":14,"y":-3,"z":9},{"x":15,"y":-3,"z":9},{"x":16,"y":-3,"z":9},{"x":17,"y":-3,"z":9},{"x":18,"y":-3,"z":9},{"x":19,"y":-3,"z":9},{"x":20,"y":-3,"z":9},{"x":21,"y":-3,"z":9},{"x":22,"y":-3,"z":9},{"x":23,"y":-3,"z":9},{"x":24,"y":-3,"z":9},{"x":25,"y":-3,"z":9},{"x":26,"y":-3,"z":9},{"x":8,"y":-3,"z":10},{"x":9,"y":-3,"z":10},{"x":10,"y":-3,"z":10},{"x":11,"y":-3,"z":10},{"x":12,"y":-3,"z":10},{"x":13,"y":-3,"z":10},{"x":14,"y":-3,"z":10},{"x":15,"y":-3,"z":10},{"x":16,"y":-3,"z":10},{"x":17,"y":-3,"z":10},{"x":18,"y":-3,"z":10},{"x":19,"y":-3,"z":10},{"x":20,"y":-3,"z":10},{"x":21,"y":-3,"z":10},{"x":22,"y":-3,"z":10},{"x":23,"y":-3,"z":10},{"x":24,"y":-3,"z":10},{"x":25,"y":-3,"z":10},{"x":26,"y":-3,"z":10},{"x":8,"y":-3,"z":11},{"x":9,"y":-3,"z":11},{"x":10,"y":-3,"z":11},{"x":11,"y":-3,"z":11},{"x":12,"y":-3,"z":11},{"x":13,"y":-3,"z":11},{"x":14,"y":-3,"z":11},{"x":15,"y":-3,"z":11},{"x":16,"y":-3,"z":11},{"x":17,"y":-3,"z":11},{"x":18,"y":-3,"z":11},{"x":19,"y":-3,"z":11},{"x":20,"y":-3,"z":11},{"x":21,"y":-3,"z":11},{"x":22,"y":-3,"z":11},{"x":23,"y":-3,"z":11},{"x":24,"y":-3,"z":11},{"x":25,"y":-3,"z":11},{"x":26,"y":-3,"z":11},{"x":8,"y":-3,"z":12},{"x":9,"y":-3,"z":12},{"x":10,"y":-3,"z":12},{"x":11,"y":-3,"z":12},{"x":12,"y":-3,"z":12},{"x":13,"y":-3,"z":12},{"x":14,"y":-3,"z":12},{"x":15,"y":-3,"z":12},{"x":16,"y":-3,"z":12},{"x":17,"y":-3,"z":12},{"x":18,"y":-3,"z":12},{"x":19,"y":-3,"z":12},{"x":20,"y":-3,"z":12},{"x":21,"y":-3,"z":12},{"x":22,"y":-3,"z":12},{"x":23,"y":-3,"z":12},{"x":24,"y":-3,"z":12},{"x":25,"y":-3,"z":12},{"x":26,"y":-3,"z":12},{"x":8,"y":-3,"z":13},{"x":9,"y":-3,"z":13},{"x":10,"y":-3,"z":13},{"x":11,"y":-3,"z":13},{"x":12,"y":-3,"z":13},{"x":13,"y":-3,"z":13},{"x":14,"y":-3,"z":13},{"x":15,"y":-3,"z":13},{"x":16,"y":-3,"z":13},{"x":17,"y":-3,"z":13},{"x":18,"y":-3,"z":13},{"x":19,"y":-3,"z":13},{"x":20,"y":-3,"z":13},{"x":21,"y":-3,"z":13},{"x":22,"y":-3,"z":13},{"x":23,"y":-3,"z":13},{"x":24,"y":-3,"z":13},{"x":25,"y":-3,"z":13},{"x":26,"y":-3,"z":13},{"x":8,"y":-3,"z":14},{"x":9,"y":-3,"z":14},{"x":10,"y":-3,"z":14},{"x":11,"y":-3,"z":14},{"x":12,"y":-3,"z":14},{"x":13,"y":-3,"z":14},{"x":14,"y":-3,"z":14},{"x":15,"y":-3,"z":14},{"x":16,"y":-3,"z":14},{"x":17,"y":-3,"z":14},{"x":18,"y":-3,"z":14},{"x":19,"y":-3,"z":14},{"x":20,"y":-3,"z":14},{"x":21,"y":-3,"z":14},{"x":22,"y":-3,"z":14},{"x":23,"y":-3,"z":14},{"x":24,"y":-3,"z":14},{"x":25,"y":-3,"z":14},{"x":26,"y":-3,"z":14},{"x":8,"y":-3,"z":15},{"x":9,"y":-3,"z":15},{"x":10,"y":-3,"z":15},{"x":11,"y":-3,"z":15},{"x":12,"y":-3,"z":15},{"x":13,"y":-3,"z":15},{"x":14,"y":-3,"z":15},{"x":15,"y":-3,"z":15},{"x":16,"y":-3,"z":15},{"x":17,"y":-3,"z":15},{"x":18,"y":-3,"z":15},{"x":19,"y":-3,"z":15},{"x":20,"y":-3,"z":15},{"x":21,"y":-3,"z":15},{"x":22,"y":-3,"z":15},{"x":23,"y":-3,"z":15},{"x":24,"y":-3,"z":15},{"x":25,"y":-3,"z":15},{"x":26,"y":-3,"z":15},{"x":8,"y":-3,"z":16},{"x":9,"y":-3,"z":16},{"x":10,"y":-3,"z":16},{"x":11,"y":-3,"z":16},{"x":12,"y":-3,"z":16},{"x":13,"y":-3,"z":16},{"x":14,"y":-3,"z":16},{"x":15,"y":-3,"z":16},{"x":16,"y":-3,"z":16},{"x":17,"y":-3,"z":16},{"x":18,"y":-3,"z":16},{"x":19,"y":-3,"z":16},{"x":20,"y":-3,"z":16},{"x":21,"y":-3,"z":16},{"x":22,"y":-3,"z":16},{"x":23,"y":-3,"z":16},{"x":24,"y":-3,"z":16},{"x":25,"y":-3,"z":16},{"x":26,"y":-3,"z":16},{"x":8,"y":-3,"z":17},{"x":9,"y":-3,"z":17},{"x":10,"y":-3,"z":17},{"x":11,"y":-3,"z":17},{"x":12,"y":-3,"z":17},{"x":13,"y":-3,"z":17},{"x":14,"y":-3,"z":17},{"x":15,"y":-3,"z":17},{"x":16,"y":-3,"z":17},{"x":17,"y":-3,"z":17},{"x":18,"y":-3,"z":17},{"x":19,"y":-3,"z":17},{"x":20,"y":-3,"z":17},{"x":21,"y":-3,"z":17},{"x":22,"y":-3,"z":17},{"x":23,"y":-3,"z":17},{"x":24,"y":-3,"z":17},{"x":25,"y":-3,"z":17},{"x":26,"y":-3,"z":17},{"x":8,"y":-3,"z":18},{"x":9,"y":-3,"z":18},{"x":10,"y":-3,"z":18},{"x":11,"y":-3,"z":18},{"x":12,"y":-3,"z":18},{"x":13,"y":-3,"z":18},{"x":14,"y":-3,"z":18},{"x":15,"y":-3,"z":18},{"x":16,"y":-3,"z":18},{"x":17,"y":-3,"z":18},{"x":18,"y":-3,"z":18},{"x":19,"y":-3,"z":18},{"x":20,"y":-3,"z":18},{"x":21,"y":-3,"z":18},{"x":22,"y":-3,"z":18},{"x":23,"y":-3,"z":18},{"x":24,"y":-3,"z":18},{"x":25,"y":-3,"z":18},{"x":26,"y":-3,"z":18},{"x":8,"y":-3,"z":19},{"x":9,"y":-3,"z":19},{"x":10,"y":-3,"z":19},{"x":11,"y":-3,"z":19},{"x":12,"y":-3,"z":19},{"x":13,"y":-3,"z":19},{"x":14,"y":-3,"z":19},{"x":15,"y":-3,"z":19},{"x":16,"y":-3,"z":19},{"x":17,"y":-3,"z":19},{"x":18,"y":-3,"z":19},{"x":19,"y":-3,"z":19},{"x":20,"y":-3,"z":19},{"x":21,"y":-3,"z":19},{"x":22,"y":-3,"z":19},{"x":23,"y":-3,"z":19},{"x":24,"y":-3,"z":19},{"x":25,"y":-3,"z":19},{"x":26,"y":-3,"z":19},{"x":8,"y":-3,"z":20},{"x":9,"y":-3,"z":20},{"x":10,"y":-3,"z":20},{"x":11,"y":-3,"z":20},{"x":12,"y":-3,"z":20},{"x":13,"y":-3,"z":20},{"x":14,"y":-3,"z":20},{"x":15,"y":-3,"z":20},{"x":16,"y":-3,"z":20},{"x":17,"y":-3,"z":20},{"x":18,"y":-3,"z":20},{"x":19,"y":-3,"z":20},{"x":20,"y":-3,"z":20},{"x":21,"y":-3,"z":20},{"x":22,"y":-3,"z":20},{"x":23,"y":-3,"z":20},{"x":24,"y":-3,"z":20},{"x":25,"y":-3,"z":20},{"x":26,"y":-3,"z":20},{"x":8,"y":-3,"z":21},{"x":9,"y":-3,"z":21},{"x":10,"y":-3,"z":21},{"x":11,"y":-3,"z":21},{"x":12,"y":-3,"z":21},{"x":13,"y":-3,"z":21},{"x":14,"y":-3,"z":21},{"x":15,"y":-3,"z":21},{"x":16,"y":-3,"z":21},{"x":17,"y":-3,"z":21},{"x":18,"y":-3,"z":21},{"x":19,"y":-3,"z":21},{"x":20,"y":-3,"z":21},{"x":21,"y":-3,"z":21},{"x":22,"y":-3,"z":21},{"x":23,"y":-3,"z":21},{"x":24,"y":-3,"z":21},{"x":25,"y":-3,"z":21},{"x":26,"y":-3,"z":21},{"x":8,"y":-3,"z":22},{"x":9,"y":-3,"z":22},{"x":10,"y":-3,"z":22},{"x":11,"y":-3,"z":22},{"x":12,"y":-3,"z":22},{"x":13,"y":-3,"z":22},{"x":14,"y":-3,"z":22},{"x":15,"y":-3,"z":22},{"x":16,"y":-3,"z":22},{"x":17,"y":-3,"z":22},{"x":18,"y":-3,"z":22},{"x":19,"y":-3,"z":22},{"x":20,"y":-3,"z":22},{"x":21,"y":-3,"z":22},{"x":22,"y":-3,"z":22},{"x":23,"y":-3,"z":22},{"x":24,"y":-3,"z":22},{"x":25,"y":-3,"z":22},{"x":26,"y":-3,"z":22},{"x":8,"y":-3,"z":23},{"x":9,"y":-3,"z":23},{"x":10,"y":-3,"z":23},{"x":11,"y":-3,"z":23},{"x":12,"y":-3,"z":23},{"x":13,"y":-3,"z":23},{"x":14,"y":-3,"z":23},{"x":15,"y":-3,"z":23},{"x":16,"y":-3,"z":23},{"x":17,"y":-3,"z":23},{"x":18,"y":-3,"z":23},{"x":19,"y":-3,"z":23},{"x":20,"y":-3,"z":23},{"x":21,"y":-3,"z":23},{"x":22,"y":-3,"z":23},{"x":23,"y":-3,"z":23},{"x":24,"y":-3,"z":23},{"x":25,"y":-3,"z":23},{"x":26,"y":-3,"z":23},{"x":8,"y":-3,"z":24},{"x":9,"y":-3,"z":24},{"x":10,"y":-3,"z":24},{"x":11,"y":-3,"z":24},{"x":12,"y":-3,"z":24},{"x":13,"y":-3,"z":24},{"x":14,"y":-3,"z":24},{"x":15,"y":-3,"z":24},{"x":16,"y":-3,"z":24},{"x":17,"y":-3,"z":24},{"x":18,"y":-3,"z":24},{"x":19,"y":-3,"z":24},{"x":20,"y":-3,"z":24},{"x":21,"y":-3,"z":24},{"x":22,"y":-3,"z":24},{"x":23,"y":-3,"z":24},{"x":24,"y":-3,"z":24},{"x":25,"y":-3,"z":24},{"x":26,"y":-3,"z":24},{"x":8,"y":-3,"z":25},{"x":9,"y":-3,"z":25},{"x":10,"y":-3,"z":25},{"x":11,"y":-3,"z":25},{"x":12,"y":-3,"z":25},{"x":13,"y":-3,"z":25},{"x":14,"y":-3,"z":25},{"x":15,"y":-3,"z":25},{"x":16,"y":-3,"z":25},{"x":17,"y":-3,"z":25},{"x":18,"y":-3,"z":25},{"x":19,"y":-3,"z":25},{"x":20,"y":-3,"z":25},{"x":21,"y":-3,"z":25},{"x":22,"y":-3,"z":25},{"x":23,"y":-3,"z":25},{"x":24,"y":-3,"z":25},{"x":25,"y":-3,"z":25},{"x":26,"y":-3,"z":25}]},"height":19},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a069f006-0728-4952-8d9f-1d318cee60d8.json b/src/main/resources/dgroomdata/a069f006-0728-4952-8d9f-1d318cee60d8.json new file mode 100644 index 0000000..2760d04 --- /dev/null +++ b/src/main/resources/dgroomdata/a069f006-0728-4952-8d9f-1d318cee60d8.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":7,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,109,109,109,98,98,98,98,98,0,0,0,31,0,1,5,164,0,0,0,4,169,35,18,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,1,1,1,98,1,164,0,0,0,0,0,0,0,0,0,126,126,1,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,0,0,38,38,1,0,164,5,0,0,0,136,4,44,18,18,0,0,0,0,0,0,0,0,0,0,44,44,98,1,1,1,1,1,1,1,1,1,1,159,5,164,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,31,31,4,0,0,0,0,0,0,0,136,5,98,98,44,18,0,0,0,0,0,0,0,0,0,188,0,98,98,1,1,1,1,98,1,1,1,1,159,5,5,134,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,44,98,98,98,98,4,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,50,17,5,5,98,1,98,0,98,159,1,1,159,5,134,134,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,98,98,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,134,0,98,101,188,0,44,159,1,98,1,0,0,0,0,0,0,0,0,0,0,0,0,1,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,44,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,101,0,0,43,159,98,1,0,0,0,0,0,0,0,0,0,0,144,18,1,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,98,98,98,1,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,77,44,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,101,50,0,98,159,0,0,17,0,0,0,0,0,0,0,0,17,18,18,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,98,98,98,98,98,98,98,98,4,98,98,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,44,1,0,0,134,134,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,101,98,98,98,98,98,98,98,0,0,0,109,109,98,98,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,17,126,126,17,109,109,109,17,0,0,17,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,44,44,44,4,0,0,0,0,0,0,0,0,0,4,98,98,134,134,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,0,0,98,0,0,0,0,0,0,98,50,0,1,188,188,188,1,126,126,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,17,44,0,0,98,0,0,0,0,0,0,0,0,0,109,98,1,98,4,44,0,0,0,0,0,0,0,0,4,171,188,98,98,5,17,5,0,0,0,0,0,0,0,0,0,0,0,48,48,98,98,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,98,98,0,1,98,98,0,0,0,0,0,0,0,0,109,98,98,109,0,0,0,0,0,0,0,0,0,44,171,171,144,188,0,98,169,5,0,0,0,0,0,0,0,0,0,0,109,109,18,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,1,98,98,98,98,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,0,44,171,0,0,0,0,17,0,4,98,0,0,0,0,0,0,0,0,0,0,109,109,0,0,98,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,4,98,4,98,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,4,0,0,0,0,0,0,0,0,0,4,98,0,0,0,0,0,0,0,0,0,0,0,0,0,109,188,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,4,98,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,4,0,0,0,0,0,0,0,0,5,17,0,4,0,0,0,0,0,0,0,0,0,0,0,0,17,98,0,50,44,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,4,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,5,0,0,0,0,0,0,0,0,164,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,98,98,98,0,0,0,109,154,98,98,98,98,109,0,0,0,0,0,0,164,164,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,44,4,98,4,98,109,109,0,0,0,0,0,0,0,0,0,0,0,188,98,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,98,44,0,0,0,0,0,0,0,0,0,17,109,98,0,0,0,98,159,1,1,1,1,109,0,0,0,0,0,0,164,5,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,5,109,0,126,17,126,126,17,0,0,0,0,0,0,0,98,98,98,98,98,98,109,0,0,109,0,0,0,0,0,0,0,0,109,1,98,5,5,0,0,0,0,0,0,0,0,0,0,0,0,98,1,109,109,109,0,0,0,0,0,0,0,0,109,98,0,0,0,98,1,1,1,1,1,109,0,0,0,0,0,144,164,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,98,98,4,98,109,109,4,4,98,98,4,98,0,0,0,109,4,98,98,98,1,98,98,109,0,98,98,98,0,0,0,0,0,0,0,109,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,101,98,98,43,43,109,0,0,0,0,0,0,0,0,109,98,0,0,0,98,1,98,98,98,98,98,0,0,0,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,4,0,98,17,126,17,98,126,0,0,0,0,0,0,44,4,98,98,1,98,98,98,98,98,98,98,0,0,0,0,0,0,109,98,98,109,4,0,0,0,0,0,0,0,0,0,101,101,101,0,98,43,43,109,17,0,0,0,0,0,0,0,0,0,0,0,0,164,1,1,1,1,1,1,159,159,159,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,109,109,109,98,4,0,0,0,0,0,0,0,101,101,0,0,0,0,98,1,1,98,154,0,0,0,0,0,0,0,0,0,0,0,164,5,1,1,1,1,1,1,169,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,77,98,98,4,1,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,171,0,0,101,0,0,0,0,0,98,1,1,1,98,17,0,0,0,0,0,0,0,0,0,0,0,17,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,1,4,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,171,5,5,101,101,0,0,0,0,98,1,1,1,1,1,109,109,109,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,139,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,171,5,98,98,0,0,0,50,98,1,1,1,1,1,1,43,43,109,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,98,98,98,1,1,98,0,188,98,1,1,1,1,1,1,1,43,43,1,1,82,0,134,134,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,7,17,5,164,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a069f006-0728-4952-8d9f-1d318cee60d8","name":"Diagonal","processorId":"default","properties":{},"mechanics":{"fairysoul-1":{"secretPoint":{"x":32,"y":-2,"z":4},"preRequisite":[],"mechType":"Fairysoul"},"chest-2":{"mechType":"Secret","secretPoint":{"x":70,"y":-10,"z":30},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":12,"y":-10,"z":10},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":91,"y":7,"z":15},"secretType":"CHEST","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":33,"y":2,"z":6},"secretType":"BAT","preRequisite":[]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":18,"y":6,"z":21},{"x":18,"y":5,"z":21},{"x":19,"y":6,"z":21},{"x":19,"y":5,"z":21},{"x":18,"y":6,"z":22},{"x":18,"y":5,"z":22},{"x":19,"y":6,"z":22},{"x":19,"y":5,"z":22},{"x":18,"y":6,"z":23},{"x":18,"y":5,"z":23},{"x":19,"y":6,"z":23},{"x":19,"y":5,"z":23}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":21,"y":6,"z":21},{"x":21,"y":5,"z":21},{"x":22,"y":6,"z":21},{"x":22,"y":5,"z":21},{"x":21,"y":6,"z":22},{"x":21,"y":5,"z":22},{"x":22,"y":6,"z":22},{"x":22,"y":5,"z":22},{"x":21,"y":6,"z":23},{"x":21,"y":5,"z":23},{"x":22,"y":6,"z":23},{"x":22,"y":5,"z":23}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":83,"y":6,"z":13},{"x":83,"y":5,"z":13},{"x":84,"y":6,"z":13},{"x":84,"y":5,"z":13},{"x":85,"y":6,"z":13},{"x":85,"y":5,"z":13},{"x":86,"y":6,"z":13},{"x":86,"y":5,"z":13},{"x":83,"y":6,"z":14},{"x":83,"y":5,"z":14},{"x":84,"y":6,"z":14},{"x":84,"y":5,"z":14},{"x":85,"y":6,"z":14},{"x":85,"y":5,"z":14},{"x":86,"y":6,"z":14},{"x":86,"y":5,"z":14},{"x":83,"y":6,"z":15},{"x":83,"y":5,"z":15},{"x":84,"y":6,"z":15},{"x":84,"y":5,"z":15},{"x":85,"y":6,"z":15},{"x":85,"y":5,"z":15},{"x":86,"y":6,"z":15},{"x":86,"y":5,"z":15}]},"preRequisite":[],"mechType":"Tomb"},"journal-1":{"secretPoint":{"x":56,"y":5,"z":28},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a0c57185-4e1a-4fdd-979d-6ed0957e78fb.json b/src/main/resources/dgroomdata/a0c57185-4e1a-4fdd-979d-6ed0957e78fb.json new file mode 100644 index 0000000..17c7d67 --- /dev/null +++ b/src/main/resources/dgroomdata/a0c57185-4e1a-4fdd-979d-6ed0957e78fb.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":35,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,98,139,0,0,0,0,0,0,0,0,0,0,0,98,98,1,0,0,109,98,98,139,98,0,0,0,0,0,0,0,98,139,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,98,0,0,109,98,98,44,0,0,0,0,0,0,0,0,0,44,98,98,1,98,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,98,0,0,109,1,98,98,0,0,0,0,0,0,0,0,0,44,1,98,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,98,0,0,109,159,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,0,0,109,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,44,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,44,44,44,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,1,159,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,1,159,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,159,0,0,0,0,0,44,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,50,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,44,44,44,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,3,159,159,159,159,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,0,0,0,0,0,0,159,3,3,159,159,159,159,159,159,3,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,159,159,3,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,159,159,3,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,65,159,159,159,159,0,0,0,0,0,0,0,0,1,98,98,1,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,159,3,3,3,0,0,0,0,0,0,0,0,0,0,1,98,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,1,1,1,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,159,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,98,1,1,159,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,159,159,0,0,0,0,139,98,0,0,0,0,0,0,159,1,1,1,1,98,1,1,159,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a0c57185-4e1a-4fdd-979d-6ed0957e78fb","name":"Lava-ravine","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":5,"y":16,"z":16},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":34,"y":18,"z":56},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":40,"y":-3,"z":6},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":55,"y":14,"z":21},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":38,"y":22,"z":53},{"x":38,"y":21,"z":53},{"x":38,"y":20,"z":53},{"x":38,"y":19,"z":53},{"x":38,"y":18,"z":53},{"x":38,"y":22,"z":54},{"x":38,"y":21,"z":54},{"x":38,"y":20,"z":54},{"x":38,"y":19,"z":54},{"x":38,"y":18,"z":54},{"x":38,"y":22,"z":55},{"x":38,"y":21,"z":55},{"x":38,"y":20,"z":55},{"x":38,"y":19,"z":55},{"x":38,"y":18,"z":55},{"x":38,"y":22,"z":56},{"x":38,"y":21,"z":56},{"x":38,"y":20,"z":56},{"x":38,"y":19,"z":56},{"x":38,"y":18,"z":56},{"x":38,"y":22,"z":57},{"x":38,"y":21,"z":57},{"x":38,"y":20,"z":57},{"x":38,"y":19,"z":57},{"x":38,"y":18,"z":57}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":48,"y":-19,"z":31},"secretType":"ITEM_DROP","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":53,"y":-6,"z":27},"secretType":"BAT","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":11,"y":17,"z":21},{"x":11,"y":16,"z":21},{"x":12,"y":17,"z":21},{"x":12,"y":16,"z":21},{"x":13,"y":17,"z":21},{"x":13,"y":16,"z":21},{"x":14,"y":17,"z":21},{"x":14,"y":16,"z":21},{"x":11,"y":17,"z":22},{"x":11,"y":16,"z":22},{"x":12,"y":17,"z":22},{"x":12,"y":16,"z":22},{"x":13,"y":17,"z":22},{"x":13,"y":16,"z":22},{"x":14,"y":17,"z":22},{"x":14,"y":16,"z":22},{"x":11,"y":17,"z":23},{"x":11,"y":16,"z":23},{"x":12,"y":17,"z":23},{"x":12,"y":16,"z":23},{"x":13,"y":17,"z":23},{"x":13,"y":16,"z":23},{"x":14,"y":17,"z":23},{"x":14,"y":16,"z":23}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":17,"z":9},{"x":11,"y":16,"z":9},{"x":12,"y":17,"z":9},{"x":12,"y":16,"z":9},{"x":13,"y":17,"z":9},{"x":13,"y":16,"z":9},{"x":14,"y":17,"z":9},{"x":14,"y":16,"z":9},{"x":11,"y":17,"z":10},{"x":11,"y":16,"z":10},{"x":12,"y":17,"z":10},{"x":12,"y":16,"z":10},{"x":13,"y":17,"z":10},{"x":13,"y":16,"z":10},{"x":14,"y":17,"z":10},{"x":14,"y":16,"z":10},{"x":11,"y":17,"z":11},{"x":11,"y":16,"z":11},{"x":12,"y":17,"z":11},{"x":12,"y":16,"z":11},{"x":13,"y":17,"z":11},{"x":13,"y":16,"z":11},{"x":14,"y":17,"z":11},{"x":14,"y":16,"z":11}]},"preRequisite":[],"mechType":"Tomb"},"chest-4":{"mechType":"Secret","secretPoint":{"x":34,"y":18,"z":54},"secretType":"CHEST","preRequisite":["door-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":36,"y":0,"z":5},{"x":36,"y":-1,"z":5},{"x":36,"y":-2,"z":5},{"x":36,"y":-3,"z":5},{"x":36,"y":0,"z":6},{"x":36,"y":-1,"z":6},{"x":36,"y":-2,"z":6},{"x":36,"y":-3,"z":6},{"x":36,"y":0,"z":7},{"x":36,"y":-1,"z":7},{"x":36,"y":-2,"z":7},{"x":36,"y":-3,"z":7}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a1c8fd24-c105-49b6-ba56-51dfbb7023cb.json b/src/main/resources/dgroomdata/a1c8fd24-c105-49b6-ba56-51dfbb7023cb.json new file mode 100644 index 0000000..28d11a0 --- /dev/null +++ b/src/main/resources/dgroomdata/a1c8fd24-c105-49b6-ba56-51dfbb7023cb.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,18,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,98,109,109,109,109,109,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,2,2,3,1,98,98,98,1,1,109,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,1,98,3,3,109,98,1,1,1,1,1,98,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,109,3,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,109,109,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,109,98,1,1,1,1,3,109,109,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,109,98,1,1,1,1,1,3,3,109,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,109,1,1,1,1,1,3,3,3,3,109,18,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,18,0,0,0,0,98,98,98,1,1,1,3,3,3,3,3,98,98,50,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,4,109,109,4,98,98,18,1,1,1,109,3,1,3,3,98,98,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,2,2,2,3,1,1,1,1,1,1,1,1,109,3,98,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,3,3,3,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,18,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,162,162,0,0,0,0,0,162,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a1c8fd24-c105-49b6-ba56-51dfbb7023cb","name":"Beams","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":29,"y":11,"z":8},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":6,"y":22,"z":9},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":24,"y":22,"z":13},{"x":24,"y":21,"z":13},{"x":25,"y":22,"z":13},{"x":25,"y":21,"z":13},{"x":26,"y":22,"z":13},{"x":26,"y":21,"z":13},{"x":24,"y":22,"z":14},{"x":24,"y":21,"z":14},{"x":25,"y":22,"z":14},{"x":25,"y":21,"z":14},{"x":26,"y":22,"z":14},{"x":26,"y":21,"z":14},{"x":24,"y":22,"z":15},{"x":24,"y":21,"z":15},{"x":25,"y":22,"z":15},{"x":25,"y":21,"z":15},{"x":26,"y":22,"z":15},{"x":26,"y":21,"z":15},{"x":24,"y":22,"z":16},{"x":24,"y":21,"z":16},{"x":25,"y":22,"z":16},{"x":25,"y":21,"z":16},{"x":26,"y":22,"z":16},{"x":26,"y":21,"z":16},{"x":24,"y":22,"z":17},{"x":24,"y":21,"z":17},{"x":25,"y":22,"z":17},{"x":25,"y":21,"z":17},{"x":26,"y":22,"z":17},{"x":26,"y":21,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":2,"z":26},{"x":15,"y":1,"z":26},{"x":16,"y":2,"z":26},{"x":16,"y":1,"z":26},{"x":17,"y":2,"z":26},{"x":17,"y":1,"z":26},{"x":15,"y":2,"z":27},{"x":15,"y":1,"z":27},{"x":16,"y":2,"z":27},{"x":16,"y":1,"z":27},{"x":17,"y":2,"z":27},{"x":17,"y":1,"z":27},{"x":15,"y":2,"z":28},{"x":15,"y":1,"z":28},{"x":16,"y":2,"z":28},{"x":16,"y":1,"z":28},{"x":17,"y":2,"z":28},{"x":17,"y":1,"z":28},{"x":15,"y":2,"z":29},{"x":15,"y":1,"z":29},{"x":16,"y":2,"z":29},{"x":16,"y":1,"z":29},{"x":17,"y":2,"z":29},{"x":17,"y":1,"z":29}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a2c5d503-55e7-4e5c-8fc0-5d37f2ac19bf.json b/src/main/resources/dgroomdata/a2c5d503-55e7-4e5c-8fc0-5d37f2ac19bf.json new file mode 100644 index 0000000..846e96c --- /dev/null +++ b/src/main/resources/dgroomdata/a2c5d503-55e7-4e5c-8fc0-5d37f2ac19bf.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,7,7,1,35,0,0,0,0,0,0,0,0,159,159,35,35,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,109,109,109,109,98,109,98,109,109,109,109,109,109,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,109,109,109,109,98,109,98,109,109,109,109,109,109,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,97,98,98,98,0,0,0,0,0,0,0,0,44,97,97,109,109,98,98,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,97,98,98,98,0,0,0,0,0,0,0,44,98,98,98,98,98,139,139,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,139,139,0,0,0,0,0,0,0,0,0,139,139,98,98,139,139,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,109,98,139,139,0,0,0,0,0,0,0,0,0,139,139,97,97,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,97,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,139,139,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,50,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,139,139,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,109,0,0,0,0,139,139,0,0,0,0,0,139,139,98,98,139,139,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,109,0,0,0,0,139,139,0,0,0,0,0,139,139,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,98,109,109,109,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,98,159,159,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,98,159,159,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,98,159,159,159,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,98,159,159,159,1,1,18,0,0,-1,-1,-1,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,159,159,159,159,98,98,97,50,0,-1,-1,-1,0,50,98,98,1,144,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,159,159,159,159,159,159,159,97,0,-1,-1,-1,0,98,98,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a2c5d503-55e7-4e5c-8fc0-5d37f2ac19bf","name":"Dip","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":15,"y":8,"z":19},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":7,"y":8,"z":3},"secretType":"CHEST","preRequisite":[]},"door-1":{"secretPoint":{"offsetPointList":[{"x":18,"y":12,"z":17},{"x":18,"y":11,"z":17},{"x":18,"y":10,"z":17},{"x":18,"y":9,"z":17},{"x":18,"y":8,"z":17},{"x":18,"y":12,"z":18},{"x":18,"y":11,"z":18},{"x":18,"y":10,"z":18},{"x":18,"y":9,"z":18},{"x":18,"y":8,"z":18}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":5,"y":9,"z":20},"preRequisite":["crypt-3:open"],"triggering":"door-1"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":18,"y":0,"z":26},{"x":18,"y":-1,"z":26},{"x":19,"y":0,"z":26},{"x":19,"y":-1,"z":26},{"x":20,"y":0,"z":26},{"x":20,"y":-1,"z":26},{"x":18,"y":0,"z":27},{"x":18,"y":-1,"z":27},{"x":19,"y":0,"z":27},{"x":19,"y":-1,"z":27},{"x":20,"y":0,"z":27},{"x":20,"y":-1,"z":27},{"x":18,"y":0,"z":28},{"x":18,"y":-1,"z":28},{"x":19,"y":0,"z":28},{"x":19,"y":-1,"z":28},{"x":20,"y":0,"z":28},{"x":20,"y":-1,"z":28},{"x":18,"y":0,"z":29},{"x":18,"y":-1,"z":29},{"x":19,"y":0,"z":29},{"x":19,"y":-1,"z":29},{"x":20,"y":0,"z":29},{"x":20,"y":-1,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":4,"y":9,"z":21},{"x":4,"y":8,"z":21},{"x":5,"y":9,"z":21},{"x":5,"y":8,"z":21},{"x":6,"y":9,"z":21},{"x":6,"y":8,"z":21},{"x":4,"y":9,"z":22},{"x":4,"y":8,"z":22},{"x":5,"y":9,"z":22},{"x":5,"y":8,"z":22},{"x":6,"y":9,"z":22},{"x":6,"y":8,"z":22},{"x":4,"y":9,"z":23},{"x":4,"y":8,"z":23},{"x":5,"y":9,"z":23},{"x":5,"y":8,"z":23},{"x":6,"y":9,"z":23},{"x":6,"y":8,"z":23},{"x":4,"y":9,"z":24},{"x":4,"y":8,"z":24},{"x":5,"y":9,"z":24},{"x":5,"y":8,"z":24},{"x":6,"y":9,"z":24},{"x":6,"y":8,"z":24}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":24,"y":9,"z":3},{"x":24,"y":8,"z":3},{"x":25,"y":9,"z":3},{"x":25,"y":8,"z":3},{"x":26,"y":9,"z":3},{"x":26,"y":8,"z":3},{"x":24,"y":9,"z":4},{"x":24,"y":8,"z":4},{"x":25,"y":9,"z":4},{"x":25,"y":8,"z":4},{"x":26,"y":9,"z":4},{"x":26,"y":8,"z":4},{"x":24,"y":9,"z":5},{"x":24,"y":8,"z":5},{"x":25,"y":9,"z":5},{"x":25,"y":8,"z":5},{"x":26,"y":9,"z":5},{"x":26,"y":8,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":18,"y":0,"z":26},{"x":18,"y":-1,"z":26},{"x":19,"y":0,"z":26},{"x":19,"y":-1,"z":26},{"x":20,"y":0,"z":26},{"x":20,"y":-1,"z":26},{"x":18,"y":0,"z":27},{"x":18,"y":-1,"z":27},{"x":19,"y":0,"z":27},{"x":19,"y":-1,"z":27},{"x":20,"y":0,"z":27},{"x":20,"y":-1,"z":27},{"x":18,"y":0,"z":28},{"x":18,"y":-1,"z":28},{"x":19,"y":0,"z":28},{"x":19,"y":-1,"z":28},{"x":20,"y":0,"z":28},{"x":20,"y":-1,"z":28},{"x":18,"y":0,"z":29},{"x":18,"y":-1,"z":29},{"x":19,"y":0,"z":29},{"x":19,"y":-1,"z":29},{"x":20,"y":0,"z":29},{"x":20,"y":-1,"z":29}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a5b419e7-49ee-4d6d-bdce-470f508b315d.json b/src/main/resources/dgroomdata/a5b419e7-49ee-4d6d-bdce-470f508b315d.json new file mode 100644 index 0000000..82180f6 --- /dev/null +++ b/src/main/resources/dgroomdata/a5b419e7-49ee-4d6d-bdce-470f508b315d.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,159,159,159,159,1,1,1,1,1,1,1,1,1,1,1,1,159,159,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,144,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,98,98,0,50,98,98,98,50,0,98,98,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,139,98,0,0,1,1,1,0,0,98,139,0,0,0,0,0,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,1,172,1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,139,98,0,1,1,1,1,0,0,98,139,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,98,98,50,44,98,98,98,50,0,98,98,154,0,0,0,154,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,0,0,0,98,98,98,98,98,98,4,98,98,98,98,98,109,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,154,0,0,0,154,0,0,98,139,0,0,0,0,98,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,98,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,44,44,98,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,109,0,0,109,44,0,98,0,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,109,0,0,109,44,44,98,0,0,0,0,0,0,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,109,44,109,98,0,0,109,109,109,98,0,0,0,0,0,0,109,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a5b419e7-49ee-4d6d-bdce-470f508b315d","name":"Granite","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":15,"y":-9,"z":25},"secretType":"ITEM_DROP","preRequisite":[]},"essence-1":{"mechType":"Secret","secretPoint":{"x":14,"y":-9,"z":30},"secretType":"ESSENCE","preRequisite":[]}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a7321dea-d35f-44f9-a5b0-0bcaf414dc12.json b/src/main/resources/dgroomdata/a7321dea-d35f-44f9-a5b0-0bcaf414dc12.json new file mode 100644 index 0000000..fc01d6d --- /dev/null +++ b/src/main/resources/dgroomdata/a7321dea-d35f-44f9-a5b0-0bcaf414dc12.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,109,0,0,0,109,98,0,0,0,0,0,0,0,0,0,1,109,0,0,0,0,134,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,50,98,98,0,0,0,0,0,101,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,109,139,0,139,0,0,0,139,0,139,109,98,0,0,0,0,0,101,-1,-1,-1,-1],[-1,-1,-1,-1,98,101,0,0,109,98,1,98,1,1,98,101,0,101,1,98,98,98,98,1,98,101,101,101,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,98,98,98,98,109,109,98,0,0,0,98,98,98,98,98,98,98,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,98,139,0,0,0,0,0,0,0,1,1,1,50,139,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,159,35,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,50,0,0,0,0,0,0,159,1,1,35,7,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,139,98,139,0,0,0,0,1,1,1,1,1,1,7,139,50,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,101,98,98,98,98,109,0,0,101,1,98,1,1,1,1,1,98,98,101,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,98,98,98,0,0,0,98,98,1,1,1,1,1,4,98,0,0,144,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,139,0,0,0,0,0,139,1,1,1,1,1,1,4,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,50,0,1,1,1,1,4,4,4,1,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,67,4,1,1,1,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,44,4,1,1,4,4,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,7,7,67,1,4,4,4,1,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a7321dea-d35f-44f9-a5b0-0bcaf414dc12","name":"Leaves","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":4,"y":11,"z":15},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"prince-1":{"secretPoint":{"offsetPointList":[{"x":8,"y":12,"z":14},{"x":8,"y":11,"z":14},{"x":9,"y":12,"z":14},{"x":9,"y":11,"z":14},{"x":10,"y":12,"z":14},{"x":10,"y":11,"z":14},{"x":8,"y":12,"z":15},{"x":8,"y":11,"z":15},{"x":9,"y":12,"z":15},{"x":9,"y":11,"z":15},{"x":10,"y":12,"z":15},{"x":10,"y":11,"z":15},{"x":8,"y":12,"z":16},{"x":8,"y":11,"z":16},{"x":9,"y":12,"z":16},{"x":9,"y":11,"z":16},{"x":10,"y":12,"z":16},{"x":10,"y":11,"z":16}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"fairysoul-7":{"secretPoint":{"x":3,"y":4,"z":3},"preRequisite":[],"mechType":"Fairysoul"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":16,"y":14,"z":14},{"x":16,"y":13,"z":14},{"x":16,"y":14,"z":15},{"x":16,"y":13,"z":15},{"x":16,"y":12,"z":15},{"x":16,"y":11,"z":15},{"x":16,"y":14,"z":16},{"x":16,"y":13,"z":16},{"x":16,"y":12,"z":16}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/a7f00d0f-bbf5-4d80-8eed-f3e28477879c.json b/src/main/resources/dgroomdata/a7f00d0f-bbf5-4d80-8eed-f3e28477879c.json new file mode 100644 index 0000000..27bcb55 --- /dev/null +++ b/src/main/resources/dgroomdata/a7f00d0f-bbf5-4d80-8eed-f3e28477879c.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":35,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,109,18,0,0,0,0,0,0,98,1,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,98,98,18,0,0,0,0,0,0,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,162,162,0,0,0,162,162,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,162,162,0,0,0,162,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,18,98,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,98,98,98,44,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,1,1,1,98,98,98,98,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,98,98,98,98,0,0,0,0,0,0,98,98,50,0,0,98,109,0,0,0,0,0,0,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,109,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,67,67,0,0,0,0,4,173,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,139,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,4,109,109,109,109,4,1,1,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,50,0,0,1,98,98,0,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,67,4,1,1,1,1,1,1,1,1,1,1,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,109,109,109,98,98,98,98,98,0,0,0,0,0,50,98,98,98,0,0,0,0,4,1,1,1,1,1,109,1,1,1,1,1,1,1,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,2,1,1,1,1,98,98,98,0,0,0,0,0,0,98,98,98,0,0,0,4,1,1,1,1,1,1,109,109,109,109,1,1,1,1,1,4,67,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,98,98,0,0,0,4,1,1,1,1,1,1,1,109,1,1,109,109,109,1,1,1,1,4,4,0,0,0,0,0,0,0,0,109,98,0,0,0,0,18,0,-1,-1,-1,-1],[-1,-1,-1,-1,2,2,1,1,1,1,1,98,0,0,0,0,0,0,0,0,109,109,0,0,173,1,1,1,109,1,1,1,1,109,1,1,109,109,1,1,1,1,1,1,4,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,109,109,0,173,1,1,1,109,109,109,1,1,1,109,109,109,109,1,1,1,109,109,1,1,1,1,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,2,1,2,1,2,1,1,98,0,0,0,0,0,0,0,0,1,98,0,4,1,1,1,1,109,1,1,1,1,1,1,1,1,1,1,109,109,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,2,2,2,2,2,2,1,98,98,0,0,0,0,0,0,0,98,98,98,4,1,1,1,1,1,1,1,1,109,109,109,109,109,109,1,1,1,1,1,1,1,4,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,2,3,1,2,1,1,98,0,0,0,0,0,0,0,98,1,1,4,1,1,1,109,109,109,109,1,109,0,0,0,0,109,1,109,109,109,109,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,109,109,109,1,1,109,1,1,109,0,0,0,0,0,0,0,0,0,0,0,162,162,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,109,1,109,1,1,109,1,1,109,0,0,0,0,0,0,0,0,0,0,0,162,162,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,65,109,1,109,109,109,109,1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,109,1,1,109,1,1,1,1,4,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,109,109,109,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,1,1,1,1,109,1,1,1,1,67,0,0,0,0,0,0,0,0,0,0,162,162,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,1,109,109,1,1,1,1,4,4,0,0,0,0,0,0,0,0,0,0,0,162,162,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,1,1,109,1,1,1,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,109,1,1,1,1,1,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,4,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,4,1,4,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,4,173,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,98,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,98,0,0,0,0,139,139,0,0,0,139,18,139,0,0,0,139,139,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,98,0,0,0,0,139,139,0,0,0,139,139,139,0,0,0,139,139,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,98,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,98,0,0,0,0,1,98,98,98,0,0,0,0,0,98,98,98,98,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,98,98,67,67,67,67,98,98,1,98,0,0,0,0,0,98,98,98,98,67,67,67,67,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,67,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,67,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,98,98,0,0,0,0,0,0,50,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,1,1,1,98,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"a7f00d0f-bbf5-4d80-8eed-f3e28477879c","name":"Withermancers","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":48,"y":34,"z":43},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":4,"y":-15,"z":18},"secretType":"CHEST","preRequisite":["prince-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":34,"y":41,"z":48},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":39,"y":-9,"z":60},"preRequisite":["superboom-1:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":37,"y":45,"z":47},{"x":37,"y":44,"z":47},{"x":37,"y":43,"z":47},{"x":37,"y":42,"z":47},{"x":37,"y":41,"z":47},{"x":37,"y":45,"z":48},{"x":37,"y":44,"z":48},{"x":37,"y":43,"z":48},{"x":37,"y":42,"z":48},{"x":37,"y":41,"z":48},{"x":37,"y":45,"z":49},{"x":37,"y":44,"z":49},{"x":37,"y":43,"z":49},{"x":37,"y":42,"z":49},{"x":37,"y":41,"z":49}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":36,"y":0,"z":57},{"x":37,"y":0,"z":57},{"x":38,"y":0,"z":57},{"x":36,"y":0,"z":58},{"x":37,"y":0,"z":58},{"x":38,"y":0,"z":58},{"x":39,"y":0,"z":58},{"x":36,"y":0,"z":59},{"x":37,"y":0,"z":59},{"x":38,"y":0,"z":59},{"x":39,"y":0,"z":59},{"x":40,"y":0,"z":59},{"x":39,"y":0,"z":60},{"x":40,"y":0,"z":60}]},"preRequisite":[],"mechType":"BreakableWall"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":46,"y":-9,"z":57},{"x":46,"y":-10,"z":57},{"x":47,"y":-9,"z":57},{"x":47,"y":-10,"z":57},{"x":48,"y":-9,"z":57},{"x":48,"y":-10,"z":57},{"x":49,"y":-9,"z":57},{"x":49,"y":-10,"z":57},{"x":46,"y":-9,"z":58},{"x":46,"y":-10,"z":58},{"x":47,"y":-9,"z":58},{"x":47,"y":-10,"z":58},{"x":48,"y":-9,"z":58},{"x":48,"y":-10,"z":58},{"x":49,"y":-9,"z":58},{"x":49,"y":-10,"z":58},{"x":46,"y":-9,"z":59},{"x":46,"y":-10,"z":59},{"x":47,"y":-9,"z":59},{"x":47,"y":-10,"z":59},{"x":48,"y":-9,"z":59},{"x":48,"y":-10,"z":59},{"x":49,"y":-9,"z":59},{"x":49,"y":-10,"z":59},{"x":46,"y":-9,"z":60},{"x":46,"y":-10,"z":60},{"x":47,"y":-9,"z":60},{"x":47,"y":-10,"z":60},{"x":48,"y":-9,"z":60},{"x":48,"y":-10,"z":60},{"x":49,"y":-9,"z":60},{"x":49,"y":-10,"z":60}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":46,"y":-9,"z":47},{"x":46,"y":-10,"z":47},{"x":47,"y":-9,"z":47},{"x":47,"y":-10,"z":47},{"x":48,"y":-9,"z":47},{"x":48,"y":-10,"z":47},{"x":49,"y":-9,"z":47},{"x":49,"y":-10,"z":47},{"x":46,"y":-9,"z":48},{"x":46,"y":-10,"z":48},{"x":47,"y":-9,"z":48},{"x":47,"y":-10,"z":48},{"x":48,"y":-9,"z":48},{"x":48,"y":-10,"z":48},{"x":49,"y":-9,"z":48},{"x":49,"y":-10,"z":48},{"x":46,"y":-9,"z":49},{"x":46,"y":-10,"z":49},{"x":47,"y":-9,"z":49},{"x":47,"y":-10,"z":49},{"x":48,"y":-9,"z":49},{"x":48,"y":-10,"z":49},{"x":49,"y":-9,"z":49},{"x":49,"y":-10,"z":49},{"x":46,"y":-9,"z":50},{"x":46,"y":-10,"z":50},{"x":47,"y":-9,"z":50},{"x":47,"y":-10,"z":50},{"x":48,"y":-9,"z":50},{"x":48,"y":-10,"z":50},{"x":49,"y":-9,"z":50},{"x":49,"y":-10,"z":50}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":56,"y":2,"z":56},{"x":56,"y":1,"z":56},{"x":57,"y":2,"z":56},{"x":57,"y":1,"z":56},{"x":58,"y":2,"z":56},{"x":58,"y":1,"z":56},{"x":59,"y":2,"z":56},{"x":59,"y":1,"z":56},{"x":56,"y":2,"z":57},{"x":56,"y":1,"z":57},{"x":57,"y":2,"z":57},{"x":57,"y":1,"z":57},{"x":58,"y":2,"z":57},{"x":58,"y":1,"z":57},{"x":59,"y":2,"z":57},{"x":59,"y":1,"z":57},{"x":56,"y":2,"z":58},{"x":56,"y":1,"z":58},{"x":57,"y":2,"z":58},{"x":57,"y":1,"z":58},{"x":58,"y":2,"z":58},{"x":58,"y":1,"z":58},{"x":59,"y":2,"z":58},{"x":59,"y":1,"z":58},{"x":56,"y":2,"z":59},{"x":56,"y":1,"z":59},{"x":57,"y":2,"z":59},{"x":57,"y":1,"z":59},{"x":58,"y":2,"z":59},{"x":58,"y":1,"z":59},{"x":59,"y":2,"z":59},{"x":59,"y":1,"z":59}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":3,"y":-15,"z":24},{"x":3,"y":-16,"z":24},{"x":4,"y":-15,"z":24},{"x":4,"y":-16,"z":24},{"x":5,"y":-15,"z":24},{"x":5,"y":-16,"z":24},{"x":6,"y":-15,"z":24},{"x":6,"y":-16,"z":24},{"x":3,"y":-15,"z":25},{"x":3,"y":-16,"z":25},{"x":4,"y":-15,"z":25},{"x":4,"y":-16,"z":25},{"x":5,"y":-15,"z":25},{"x":5,"y":-16,"z":25},{"x":6,"y":-15,"z":25},{"x":6,"y":-16,"z":25},{"x":3,"y":-15,"z":26},{"x":3,"y":-16,"z":26},{"x":4,"y":-15,"z":26},{"x":4,"y":-16,"z":26},{"x":5,"y":-15,"z":26},{"x":5,"y":-16,"z":26},{"x":6,"y":-15,"z":26},{"x":6,"y":-16,"z":26}]},"preRequisite":["prince-1:open"],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":62,"y":41,"z":48},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":-15,"z":10},{"x":3,"y":-16,"z":10},{"x":4,"y":-15,"z":10},{"x":4,"y":-16,"z":10},{"x":5,"y":-15,"z":10},{"x":5,"y":-16,"z":10},{"x":6,"y":-15,"z":10},{"x":6,"y":-16,"z":10},{"x":3,"y":-15,"z":11},{"x":3,"y":-16,"z":11},{"x":4,"y":-15,"z":11},{"x":4,"y":-16,"z":11},{"x":5,"y":-15,"z":11},{"x":5,"y":-16,"z":11},{"x":6,"y":-15,"z":11},{"x":6,"y":-16,"z":11},{"x":3,"y":-15,"z":12},{"x":3,"y":-16,"z":12},{"x":4,"y":-15,"z":12},{"x":4,"y":-16,"z":12},{"x":5,"y":-15,"z":12},{"x":5,"y":-16,"z":12},{"x":6,"y":-15,"z":12},{"x":6,"y":-16,"z":12}]},"preRequisite":["prince-1:open"],"mechType":"Tomb"},"prince-1":{"secretPoint":{"offsetPointList":[{"x":33,"y":3,"z":28},{"x":33,"y":2,"z":28},{"x":33,"y":1,"z":28},{"x":34,"y":3,"z":28},{"x":34,"y":2,"z":28},{"x":34,"y":1,"z":28},{"x":35,"y":3,"z":28},{"x":35,"y":2,"z":28},{"x":35,"y":1,"z":28},{"x":36,"y":3,"z":28},{"x":36,"y":2,"z":28},{"x":36,"y":1,"z":28},{"x":33,"y":3,"z":29},{"x":33,"y":2,"z":29},{"x":33,"y":1,"z":29},{"x":34,"y":3,"z":29},{"x":34,"y":2,"z":29},{"x":34,"y":1,"z":29},{"x":35,"y":3,"z":29},{"x":35,"y":2,"z":29},{"x":35,"y":1,"z":29},{"x":36,"y":3,"z":29},{"x":36,"y":2,"z":29},{"x":36,"y":1,"z":29},{"x":33,"y":3,"z":30},{"x":33,"y":2,"z":30},{"x":33,"y":1,"z":30},{"x":34,"y":3,"z":30},{"x":34,"y":2,"z":30},{"x":34,"y":1,"z":30},{"x":35,"y":3,"z":30},{"x":35,"y":2,"z":30},{"x":35,"y":1,"z":30},{"x":36,"y":3,"z":30},{"x":36,"y":2,"z":30},{"x":36,"y":1,"z":30},{"x":33,"y":3,"z":31},{"x":33,"y":2,"z":31},{"x":33,"y":1,"z":31},{"x":34,"y":3,"z":31},{"x":34,"y":2,"z":31},{"x":34,"y":1,"z":31},{"x":35,"y":3,"z":31},{"x":35,"y":2,"z":31},{"x":35,"y":1,"z":31},{"x":36,"y":3,"z":31},{"x":36,"y":2,"z":31},{"x":36,"y":1,"z":31}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/ae5b48ac-43ec-4837-a34e-ac70cba71481.json b/src/main/resources/dgroomdata/ae5b48ac-43ec-4837-a34e-ac70cba71481.json new file mode 100644 index 0000000..3115572 --- /dev/null +++ b/src/main/resources/dgroomdata/ae5b48ac-43ec-4837-a34e-ac70cba71481.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,159,51,101,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,159,159,139,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,109,98,0,0,98,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,4,17,0,0,0,0,0,17,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,4,67,67,98,98,109,0,0,0,0,98,98,98,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,171,0,0,0,0,0,0,98,98,44,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,171,0,0,0,0,0,139,4,44,0,0,0,0,101,51,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,0,0,98,144,44,44,4,0,0,0,0,44,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,188,0,0,188,0,0,188,0,0,188,0,0,134,5,98,98,98,0,0,98,159,159,159,4,44,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,188,134,98,43,1,0,0,0,5,1,98,98,98,98,0,0,0,0,101,51,-1,-1,-1,-1],[-1,-1,-1,-1,188,0,164,169,5,5,134,0,50,0,0,0,0,134,5,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,43,43,0,0,0,0,164,5,98,98,98,109,50,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,164,164,134,5,5,188,0,0,0,0,0,134,5,5,50,0,0,0,0,0,188,0,188,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,17,98,98,1,188,0,0,0,0,134,169,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,171,171,44,98,98,98,44,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,134,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,171,171,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,188,0,188,0,0,0,0,5,5,5,5,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,98,98,5,134,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,44,98,98,98,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,5,98,98,5,5,164,164,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,164,188,0,0,188,0,0,5,5,5,5,0,0,0,188,0,0,0,171,171,0,0,0,0,0,0,171,17,98,98,1,5,169,164,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,171,171,43,43,0,0,0,0,0,0,98,98,98,98,98,98,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,84,0,0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,171,164,43,43,1,44,43,44,144,1,98,98,98,98,98,17,0,0,17,5,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,188,0,0,0,0,0,188,0,134,134,0,0,0,0,0,0,84,84,188,0,0,188,0,50,5,5,5,5,0,0,0,188,0,0,0,188,5,164,98,98,159,159,159,159,98,98,98,98,98,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,98,164,5,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,144,0,44,44,1,188,0,0,109,98,0,0,0,101,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,101,101,0,101,101,98,5,5,0,0,0,0,0,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,109,98,50,0,0,101,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,67,98,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,17,0,0,17,134,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,4,50,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,98,98,98,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,0,0,0,101,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,164,164,98,1,0,0,0,171,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,67,0,0,0,0,0,4,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,5,164,0,0,0,0,0,0,0,0,0,0,0,0,0,171,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"ae5b48ac-43ec-4837-a34e-ac70cba71481","name":"Skull","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":53,"y":21,"z":8},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":3,"y":18,"z":16},"secretType":"CHEST","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":53,"y":-7,"z":20},{"x":53,"y":-8,"z":20},{"x":54,"y":-7,"z":20},{"x":54,"y":-8,"z":20},{"x":55,"y":-7,"z":20},{"x":55,"y":-8,"z":20},{"x":53,"y":-7,"z":21},{"x":53,"y":-8,"z":21},{"x":54,"y":-7,"z":21},{"x":54,"y":-8,"z":21},{"x":55,"y":-7,"z":21},{"x":55,"y":-8,"z":21},{"x":53,"y":-7,"z":22},{"x":53,"y":-8,"z":22},{"x":54,"y":-7,"z":22},{"x":54,"y":-8,"z":22},{"x":55,"y":-7,"z":22},{"x":55,"y":-8,"z":22},{"x":53,"y":-7,"z":23},{"x":53,"y":-8,"z":23},{"x":54,"y":-7,"z":23},{"x":54,"y":-8,"z":23},{"x":55,"y":-7,"z":23},{"x":55,"y":-8,"z":23}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/b2dce4ed-2bda-4303-a4d7-3ebb914db318.json b/src/main/resources/dgroomdata/b2dce4ed-2bda-4303-a4d7-3ebb914db318.json new file mode 100644 index 0000000..6eced45 --- /dev/null +++ b/src/main/resources/dgroomdata/b2dce4ed-2bda-4303-a4d7-3ebb914db318.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,17,17,17,1,1,43,43,43,43,43,43,43,43,43,43,43,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,98,98,109,109,98,98,0,109,43,43,43,43,43,43,43,43,43,43,17,109,0,98,98,98,98,98,98,-1,-1,-1],[-1,-1,-1,139,0,0,0,0,0,0,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,139,-1,-1,-1],[-1,-1,-1,139,0,0,0,0,0,159,109,43,43,43,43,43,43,43,43,43,43,17,109,0,0,0,0,0,0,139,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,159,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,18,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,1,0,0,0,0,0,0,109,43,43,43,43,43,43,43,43,43,43,43,109,0,0,0,0,0,0,139,-1,-1,-1],[-1,-1,-1,139,0,0,0,0,0,0,109,43,17,17,43,43,43,43,43,17,17,43,109,0,0,0,0,0,0,139,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,109,43,43,17,43,43,43,43,43,17,43,43,109,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,1,1,109,109,109,109,109,109,109,109,109,109,109,1,1,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,1,1,0,159,18,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,139,0,0,0,0,0,0,0,0,0,0,44,0,0,0,44,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1],[-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,50,0,0,77,0,0,50,0,0,0,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,77,43,77,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,44,0,0,0,77,0,0,0,0,0,0,0,0,0,77,0,0,0,44,0,0,0,0,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,77,43,77,0,0,0,0,0,0,0,77,43,77,0,0,0,0,0,0,0,-1,-1,-1],[-1,-1,-1,1,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,1,-1,-1,-1],[-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1],[-1,-1,-1,1,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,1,98,-1,-1,-1],[-1,-1,-1,98,1,98,98,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"b2dce4ed-2bda-4303-a4d7-3ebb914db318","name":"puzzle_kahoooooooot!","processorId":"puzzle_trivia","properties":{"A":{"x":11,"y":0,"z":25},"B":{"x":16,"y":0,"z":22},"C":{"x":21,"y":0,"z":25}},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/b2df250c-4af2-4201-963c-0ee1cb6bd3de.json b/src/main/resources/dgroomdata/b2df250c-4af2-4201-963c-0ee1cb6bd3de.json new file mode 100644 index 0000000..d779d72 --- /dev/null +++ b/src/main/resources/dgroomdata/b2df250c-4af2-4201-963c-0ee1cb6bd3de.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,169,4,44,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,48,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,48,67,0,0,44,98,1,1,1,1,1,1,1,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,188,98,1,1,1,1,1,1,1,1,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,139,188,98,1,1,1,1,1,1,1,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,188,0,98,98,1,1,1,1,1,1,1,98,109,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,5,5,5,5,1,1,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,5,5,0,0,1,1,1,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,7,7,7,7,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,44,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,0,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,109,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,18,1,1,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,13,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,98,98,98,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,13,1,1,18,0,0,0,0,0,0,0,0,1,1,1,98,98,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,13,18,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,7,1,7,7,7,0,0,0,0,0,0,0,0,109,98,109,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,1,1,1,1,82,0,0,0,0,0,0,0,109,98,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,82,0,0,0,1,1,1,1,1,1,1,82,0,0,0,0,0,1,1,1,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,1,1,1,1,1,1,1,1,1,7,0,0,18,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,82,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"b2df250c-4af2-4201-963c-0ee1cb6bd3de","name":"lava-pool","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":4,"y":22,"z":8},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":14,"y":-7,"z":16},"secretType":"CHEST","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":13,"y":0,"z":3},"secretType":"BAT","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":23,"z":19},{"x":6,"y":22,"z":19},{"x":6,"y":21,"z":19},{"x":6,"y":20,"z":19},{"x":7,"y":23,"z":19},{"x":7,"y":22,"z":19},{"x":7,"y":21,"z":19},{"x":7,"y":20,"z":19},{"x":8,"y":23,"z":19},{"x":8,"y":22,"z":19},{"x":8,"y":21,"z":19},{"x":8,"y":20,"z":19}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/b58cfdf5-a11d-4f28-b3c4-6576e5157374.json b/src/main/resources/dgroomdata/b58cfdf5-a11d-4f28-b3c4-6576e5157374.json new file mode 100644 index 0000000..bd19160 --- /dev/null +++ b/src/main/resources/dgroomdata/b58cfdf5-a11d-4f28-b3c4-6576e5157374.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":17,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,126,134,134,134,98,0,0,0,0,0,0,0,0,0,0,126,171,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,126,0,0,0,98,0,144,0,0,17,0,0,0,0,0,17,126,109,0,0,0,126,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,126,0,0,17,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,126,126,126,126,17,0,0,0,0,0,17,0,98,188,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,17,98,14,14,14,14,126,0,0,0,0,0,0,126,98,17,0,0,0,0,0,188,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,98,98,14,14,14,14,126,0,0,0,0,0,0,126,98,98,98,0,0,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,98,98,98,98,109,0,0,0,44,109,98,98,14,126,0,0,0,188,164,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,126,41,41,98,98,159,159,159,159,159,159,98,98,14,126,0,0,0,0,164,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,126,41,41,98,1,7,0,0,0,0,7,1,98,14,126,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,126,126,126,98,1,7,0,0,0,0,7,1,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,17,98,17,171,188,0,0,0,0,17,98,17,188,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,188,0,0,0,0,0,50,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,126,126,126,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,14,171,126,0,0,0,0,17,98,17,0,0,0,0,0,0,17,98,17,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,14,14,126,0,0,0,0,0,98,1,0,0,0,0,0,0,14,109,0,0,0,0,126,41,41,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,109,98,98,98,1,14,0,0,0,0,0,171,44,0,0,0,0,126,41,169,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,126,41,98,1,14,0,0,0,0,0,1,44,50,0,0,0,126,171,41,-1,-1,-1,-1],[-1,-1,-1,-1,144,0,0,0,0,0,126,17,98,17,14,0,0,0,50,0,17,98,17,0,0,0,126,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,188,0,101,0,0,0,0,0,144,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,44,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,44,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,50,0,0,0,0,0,0,1,101,0,0,0,0,0,44,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,126,126,17,98,17,0,0,0,0,0,0,17,98,17,0,0,0,0,44,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,126,14,171,98,14,0,0,0,0,0,0,1,98,50,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,188,0,0,0,0,126,1,1,98,14,0,0,0,0,0,0,1,98,98,98,0,0,109,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,126,50,0,0,0,0,1,1,98,0,0,0,0,0,0,14,1,98,0,188,0,0,0,134,14,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,0,0,0,0,17,98,17,0,0,126,126,0,0,17,98,17,0,0,0,0,134,134,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,44,0,0,0,0,0,101,0,0,0,0,0,0,0,50,101,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,44,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,144,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,0,0,0,0,0,0,101,188,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,44,0,0,126,126,17,98,17,188,0,0,0,0,0,17,98,17,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,109,0,0,126,171,14,98,0,0,0,0,0,0,1,169,98,50,0,0,0,0,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,1,1,1,98,171,0,0,0,0,0,14,1,98,0,0,0,0,0,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,0,0,98,98,1,98,1,0,0,0,0,0,14,1,98,109,0,0,98,98,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,41,134,17,0,0,0,50,17,98,17,50,0,0,0,0,0,17,98,17,0,0,98,98,50,126,-1,-1,-1,-1],[-1,-1,-1,-1,169,134,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,44,98,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,134,134,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,44,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,14,101,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,17,98,17,14,0,0,50,0,14,17,98,17,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,126,126,98,1,169,14,0,0,188,14,1,98,126,126,126,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,126,171,98,98,98,98,98,98,98,98,98,109,14,171,126,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,44,0,144,109,0,0,126,14,98,41,41,41,164,188,44,44,98,109,14,14,126,0,0,50,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,98,0,0,98,98,98,41,41,41,164,0,0,144,126,98,98,109,109,0,0,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,44,44,109,98,0,0,188,98,164,164,164,164,164,0,0,0,126,14,14,126,0,0,0,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,126,0,0,0,0,0,0,98,14,14,126,0,0,0,0,0,126,14,14,126,0,0,0,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,126,0,0,0,0,0,0,109,126,126,126,0,0,0,0,0,126,171,14,126,0,0,0,0,126,-1,-1,-1,-1],[-1,-1,-1,-1,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,126,126,126,126,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,126,0,0,0,0,0,0,0,0,0,0,0,0,0,50,109,50,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,126,126,126,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,164,164,164,171,41,98,44,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"b58cfdf5-a11d-4f28-b3c4-6576e5157374","name":"Gold","processorId":"default","properties":{},"mechanics":{"secret-1":{"mechType":"Secret","secretPoint":{"x":18,"y":-1,"z":15},"secretType":"ESSENCE","preRequisite":[]},"journal-3":{"secretPoint":{"x":16,"y":-1,"z":23},"preRequisite":[],"mechType":"Journal"},"journal-2":{"secretPoint":{"x":13,"y":-1,"z":27},"preRequisite":[],"mechType":"Journal"},"journal-1":{"secretPoint":{"x":14,"y":-1,"z":37},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/b9e8fcee-dce8-40fd-8f3a-d8cb5c3edd70.json b/src/main/resources/dgroomdata/b9e8fcee-dce8-40fd-8f3a-d8cb5c3edd70.json new file mode 100644 index 0000000..95bd698 --- /dev/null +++ b/src/main/resources/dgroomdata/b9e8fcee-dce8-40fd-8f3a-d8cb5c3edd70.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,44,4,144,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,4,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,44,0,0,0,0,0,0,0,0,1,0,0,144,1,98,1,139,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,98,159,159,159,0,0,50,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,44,0,0,0,0,109,159,159,98,98,98,98,159,144,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,0,0,0,0,0,1,144,0,1,1,98,98,98,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,98,98,159,159,159,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,44,0,0,0,0,0,0,0,0,98,1,0,0,0,1,1,1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,101,101,101,1,98,98,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,0,0,1,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,159,159,159,109,0,0,0,0,0,0,0,0,0,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,159,159,1,44,0,1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,44,44,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,1,98,50,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,44,44,44,1,139,0,0,0,139,1,139,0,0,0,139,1,159,98,44,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,159,159,159,1,98,0,0,0,98,98,109,0,0,144,109,98,1,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,159,159,159,1,1,159,159,159,159,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"b9e8fcee-dce8-40fd-8f3a-d8cb5c3edd70","name":"Andesite","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":30,"y":-1,"z":3},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"essence-1":{"mechType":"Secret","secretPoint":{"x":25,"y":-1,"z":9},"secretType":"ESSENCE","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":28,"y":4,"z":11},{"x":28,"y":3,"z":11},{"x":28,"y":2,"z":11},{"x":28,"y":1,"z":11},{"x":28,"y":0,"z":11},{"x":29,"y":2,"z":11},{"x":29,"y":1,"z":11},{"x":29,"y":0,"z":11}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/c1b1eaf0-d6de-4d1f-944b-e1b3205ef7d0.json b/src/main/resources/dgroomdata/c1b1eaf0-d6de-4d1f-944b-e1b3205ef7d0.json new file mode 100644 index 0000000..4e4c355 --- /dev/null +++ b/src/main/resources/dgroomdata/c1b1eaf0-d6de-4d1f-944b-e1b3205ef7d0.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,1,1,4,98,98,139,0,0,0,0,0,139,139,0,0,0,0,0,98,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,4,4,98,1,109,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,4,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,1,4,4,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,4,4,4,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,4,1,4,1,4,98,139,98,0,0,0,0,0,0,0,0,0,0,0,0,139,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,4,1,1,4,4,98,98,139,0,0,0,0,0,0,0,0,0,0,98,0,98,139,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,4,4,1,4,4,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,1,98,0,0,0,67,0,0,1,0,0,4,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,1,1,4,98,139,139,0,4,0,0,4,0,0,1,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,4,4,4,1,1,98,98,139,0,1,0,0,1,0,50,1,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,4,4,4,1,98,98,98,98,98,98,98,98,98,1,98,98,109,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,4,4,4,4,98,1,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,4,4,1,1,98,98,98,98,98,98,98,1,98,98,98,98,98,98,67,67,67,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,1,1,1,1,1,4,1,1,4,4,1,1,1,1,1,4,1,1,1,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,1,1,4,4,4,4,4,1,4,1,1,1,1,1,4,4,1,1,1,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,1,4,1,4,1,4,1,4,1,4,4,4,4,4,4,4,4,4,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,1,4,1,4,1,1,4,4,1,4,4,4,4,1,4,4,1,4,4,4,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,1,1,1,1,1,1,98,98,109,109,98,109,109,98,98,1,4,4,4,1,4,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,4,1,1,1,4,67,0,0,0,0,0,0,0,67,4,4,4,1,4,1,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,67,0,0,0,0,0,0,0,67,1,4,4,4,4,4,4,4,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"c1b1eaf0-d6de-4d1f-944b-e1b3205ef7d0","name":"Duncan","processorId":"default","properties":{},"mechanics":{"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":19,"y":19,"z":24},"secretType":"ITEM_DROP","preRequisite":[]},"Duncan":{"secretPoint":{"x":18,"y":18,"z":26},"preRequisite":[],"mechType":"Npc"},"journal-1":{"secretPoint":{"x":19,"y":19,"z":25},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/c2ea0a41-d495-437f-86cc-235a71c49f22.json b/src/main/resources/dgroomdata/c2ea0a41-d495-437f-86cc-235a71c49f22.json new file mode 100644 index 0000000..b6a231a --- /dev/null +++ b/src/main/resources/dgroomdata/c2ea0a41-d495-437f-86cc-235a71c49f22.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,144,4,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,4,4,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,50,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,0,144,0,0,0,0,0,0,101,0,0,0,0,4,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,101,0,0,0,0,4,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,101,0,1,101,101,1,1,0,0,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,101,0,0,0,0,4,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,101,0,0,0,0,7,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,50,0,0,0,50,1,1,0,0,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,98,4,4,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,4,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,98,109,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,159,98,98,98,0,0,0,109,98,109,159,159,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,1,0,0,0,0,0,0,0,0,0,1,159,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,98,144,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,144,98,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,1,0,0,0,0,0,0,0,0,0,1,159,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,159,98,98,0,0,0,0,0,98,98,159,159,0,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"c2ea0a41-d495-437f-86cc-235a71c49f22","name":"puzzle-riddle","processorId":"puzzle_riddle_solver","properties":{},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/c6c65c08-893a-42f7-ad9e-cecc0f0bdeaf.json b/src/main/resources/dgroomdata/c6c65c08-893a-42f7-ad9e-cecc0f0bdeaf.json new file mode 100644 index 0000000..0a96c78 --- /dev/null +++ b/src/main/resources/dgroomdata/c6c65c08-893a-42f7-ad9e-cecc0f0bdeaf.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":15,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,1,98,98,98,4,109,0,0,0,0,0,109,4,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,98,0,0,67,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,35,0,0,0,0,0,0,50,0,159,0,0,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,1,98,1,98,4,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,35,0,0,0,0,0,0,67,1,67,67,1,0,0,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,1,1,98,98,98,4,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,159,1,1,1,1,35,0,0,0,0,0,0,0,67,4,67,67,4,0,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,4,4,4,109,0,0,0,0,0,109,4,109,0,0,0,0,0,109,109,50,0,0,139,98,0,0,0,0,50,98,98,0,0,0,0,0,139,98,50,0,0,0,0,139,98,0,0,0,0,50,139,98,0,0,0,0,0,139,98,0,0,0,0,0,139,98,0,0,0,0,50,1,139,0,0,0,0,0,1,1,0,0,0,0,0,139,98,0,0,0,0,0,0,0,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,98,0,0,109,109,0,0,0,0,0,109,109,109,0,0,0,0,0,109,98,98,98,98,98,98,0,0,0,0,0,139,98,0,0,0,0,0,139,98,0,0,0,0,0,139,98,0,0,0,0,0,139,139,0,0,0,0,0,139,98,0,0,0,0,0,98,98,0,0,0,0,0,139,98,0,0,0,0,0,139,98,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,67,159,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,67,67,67,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,50,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,159,159,0,0,0,0,0,0,0,1,67,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,109,98,98,98,98,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,159,159,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,4,109,0,0,0,0,0,109,109,0,0,0,98,139,0,0,0,0,44,44,139,44,44,0,0,0,0,0,0,0,0,0,0,0,44,44,139,44,44,0,0,0,0,0,0,0,0,0,0,0,44,44,139,44,44,0,0,0,0,0,0,0,0,0,0,0,44,44,139,44,44,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,1,159,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,162,162,162,139,0,0,0,0,0,0,0,0,0,0,0,139,162,162,162,139,0,0,0,0,0,0,0,0,0,0,0,139,162,162,162,139,0,0,0,0,0,0,0,0,0,0,0,139,162,162,162,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,44,162,162,162,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,4,109,0,0,0,0,0,109,109,0,0,0,98,139,0,0,0,0,44,44,139,44,44,0,0,0,0,0,0,0,0,0,0,0,44,44,139,44,44,0,0,0,0,0,0,0,0,0,0,0,44,44,139,44,44,0,0,0,0,0,0,0,0,0,0,0,44,44,139,44,44,0,0,0,0,98,139,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,109,98,98,98,98,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,159,159,159,159,0,0,0,0,0,0,0,35,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,159,0,0,0,0,0,0,35,1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,159,0,0,0,0,35,159,1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,159,0,0,0,0,0,159,159,159,0,50,0,0,0,0,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,109,109,0,0,0,109,109,0,0,0,0,0,109,109,109,0,0,0,0,0,109,98,98,98,98,98,98,0,0,0,0,0,139,139,0,0,0,0,0,98,139,0,0,0,0,0,98,1,0,0,0,0,0,139,98,0,0,0,0,0,139,98,0,0,0,0,0,98,139,0,0,0,0,0,139,98,0,0,0,0,0,139,1,0,0,0,0,0,139,139,35,35,1,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,67,4,4,4,4,4,4,109,0,0,0,0,0,109,4,109,0,0,0,0,0,109,109,50,0,0,139,139,0,0,0,0,0,1,1,0,0,0,0,0,139,1,50,0,0,0,0,98,139,0,0,0,0,0,98,139,0,0,0,0,0,98,139,0,0,0,0,0,98,139,50,0,0,0,0,98,139,0,0,0,0,0,98,1,0,0,0,0,0,98,98,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,35,1,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,0,0,0,0,0,0,0,35,35,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,109,0,0,0,0,0,109,4,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,4,67,0,0,98,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,159,159,0,0,0,159,1,1,159,35,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"c6c65c08-893a-42f7-ad9e-cecc0f0bdeaf","name":"Pit","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":21,"y":21,"z":10},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":114,"y":22,"z":29},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":8,"y":-5,"z":8},"secretType":"CHEST","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":4,"y":6,"z":28},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":46,"y":13,"z":3},{"x":46,"y":12,"z":3},{"x":47,"y":13,"z":3},{"x":47,"y":12,"z":3},{"x":48,"y":13,"z":3},{"x":48,"y":12,"z":3},{"x":49,"y":13,"z":3},{"x":49,"y":12,"z":3},{"x":50,"y":13,"z":3},{"x":50,"y":12,"z":3},{"x":46,"y":13,"z":4},{"x":46,"y":12,"z":4},{"x":47,"y":13,"z":4},{"x":47,"y":12,"z":4},{"x":48,"y":13,"z":4},{"x":48,"y":12,"z":4},{"x":49,"y":13,"z":4},{"x":49,"y":12,"z":4},{"x":50,"y":13,"z":4},{"x":50,"y":12,"z":4},{"x":46,"y":13,"z":5},{"x":46,"y":12,"z":5},{"x":47,"y":13,"z":5},{"x":47,"y":12,"z":5},{"x":48,"y":13,"z":5},{"x":48,"y":12,"z":5},{"x":49,"y":13,"z":5},{"x":49,"y":12,"z":5},{"x":50,"y":13,"z":5},{"x":50,"y":12,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"bat-1":{"mechType":"Secret","secretPoint":{"x":9,"y":8,"z":29},"secretType":"BAT","preRequisite":["superboom-1:open"]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":46,"y":13,"z":27},{"x":46,"y":12,"z":27},{"x":47,"y":13,"z":27},{"x":47,"y":12,"z":27},{"x":48,"y":13,"z":27},{"x":48,"y":12,"z":27},{"x":49,"y":13,"z":27},{"x":49,"y":12,"z":27},{"x":50,"y":13,"z":27},{"x":50,"y":12,"z":27},{"x":46,"y":13,"z":28},{"x":46,"y":12,"z":28},{"x":47,"y":13,"z":28},{"x":47,"y":12,"z":28},{"x":48,"y":13,"z":28},{"x":48,"y":12,"z":28},{"x":49,"y":13,"z":28},{"x":49,"y":12,"z":28},{"x":50,"y":13,"z":28},{"x":50,"y":12,"z":28},{"x":46,"y":13,"z":29},{"x":46,"y":12,"z":29},{"x":47,"y":13,"z":29},{"x":47,"y":12,"z":29},{"x":48,"y":13,"z":29},{"x":48,"y":12,"z":29},{"x":49,"y":13,"z":29},{"x":49,"y":12,"z":29},{"x":50,"y":13,"z":29},{"x":50,"y":12,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":78,"y":13,"z":27},{"x":78,"y":12,"z":27},{"x":79,"y":13,"z":27},{"x":79,"y":12,"z":27},{"x":80,"y":13,"z":27},{"x":80,"y":12,"z":27},{"x":81,"y":13,"z":27},{"x":81,"y":12,"z":27},{"x":82,"y":13,"z":27},{"x":82,"y":12,"z":27},{"x":78,"y":13,"z":28},{"x":78,"y":12,"z":28},{"x":79,"y":13,"z":28},{"x":79,"y":12,"z":28},{"x":80,"y":13,"z":28},{"x":80,"y":12,"z":28},{"x":81,"y":13,"z":28},{"x":81,"y":12,"z":28},{"x":82,"y":13,"z":28},{"x":82,"y":12,"z":28},{"x":78,"y":13,"z":29},{"x":78,"y":12,"z":29},{"x":79,"y":13,"z":29},{"x":79,"y":12,"z":29},{"x":80,"y":13,"z":29},{"x":80,"y":12,"z":29},{"x":81,"y":13,"z":29},{"x":81,"y":12,"z":29},{"x":82,"y":13,"z":29},{"x":82,"y":12,"z":29}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":78,"y":13,"z":3},{"x":78,"y":12,"z":3},{"x":79,"y":13,"z":3},{"x":79,"y":12,"z":3},{"x":80,"y":13,"z":3},{"x":80,"y":12,"z":3},{"x":81,"y":13,"z":3},{"x":81,"y":12,"z":3},{"x":82,"y":13,"z":3},{"x":82,"y":12,"z":3},{"x":78,"y":13,"z":4},{"x":78,"y":12,"z":4},{"x":79,"y":13,"z":4},{"x":79,"y":12,"z":4},{"x":80,"y":13,"z":4},{"x":80,"y":12,"z":4},{"x":81,"y":13,"z":4},{"x":81,"y":12,"z":4},{"x":82,"y":13,"z":4},{"x":82,"y":12,"z":4},{"x":78,"y":13,"z":5},{"x":78,"y":12,"z":5},{"x":79,"y":13,"z":5},{"x":79,"y":12,"z":5},{"x":80,"y":13,"z":5},{"x":80,"y":12,"z":5},{"x":81,"y":13,"z":5},{"x":81,"y":12,"z":5},{"x":82,"y":13,"z":5},{"x":82,"y":12,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":9,"y":10,"z":24},{"x":9,"y":9,"z":24},{"x":9,"y":8,"z":24},{"x":9,"y":7,"z":24},{"x":9,"y":6,"z":24},{"x":10,"y":10,"z":24},{"x":10,"y":9,"z":24},{"x":10,"y":8,"z":24},{"x":10,"y":7,"z":24},{"x":10,"y":6,"z":24}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/c6ebcdb2-4ea8-4387-b997-031bd56f7e3b.json b/src/main/resources/dgroomdata/c6ebcdb2-4ea8-4387-b997-031bd56f7e3b.json new file mode 100644 index 0000000..c9761ad --- /dev/null +++ b/src/main/resources/dgroomdata/c6ebcdb2-4ea8-4387-b997-031bd56f7e3b.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,58,58,0,0,50,98,98,98,0,0,0,0,0,98,98,98,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,58,58,0,0,0,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,-1,-1,-1,-1],[-1,-1,-1,-1,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,164,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,98,0,0,0,164,164,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,98,98,98,0,0,0,0,0,98,98,98,0,0,0,164,5,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"c6ebcdb2-4ea8-4387-b997-031bd56f7e3b","name":"Mirror","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":4,"y":-15,"z":18},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":12,"y":-13,"z":17},{"x":12,"y":-14,"z":17},{"x":12,"y":-15,"z":17},{"x":12,"y":-13,"z":18},{"x":12,"y":-14,"z":18},{"x":12,"y":-15,"z":18},{"x":12,"y":-16,"z":18},{"x":12,"y":-14,"z":19},{"x":12,"y":-15,"z":19},{"x":12,"y":-16,"z":19}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/c9078cd2-91d4-457d-ae30-3579293821da.json b/src/main/resources/dgroomdata/c9078cd2-91d4-457d-ae30-3579293821da.json new file mode 100644 index 0000000..1ff0c8b --- /dev/null +++ b/src/main/resources/dgroomdata/c9078cd2-91d4-457d-ae30-3579293821da.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,159,98,98,139,0,0,0,0,0,0,0,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,139,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,159,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,0,144,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,139,0,0,0,0,0,98,98,0,17,17,0,0,0,0,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,1,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,17,98,98,17,0,0,17,17,17,118,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,101,101,101,101,101,101,101,98,98,101,101,101,101,101,101,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,109,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,139,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,139,98,0,0,0,0,0,0,118,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,98,118,0,0,0,0,0,0,109,109,0,0,0,0,0,118,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,159,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,159,43,98,1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,98,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"c9078cd2-91d4-457d-ae30-3579293821da","name":"Bridges","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":4,"y":12,"z":16},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":42,"y":-18,"z":22},"secretType":"CHEST","preRequisite":[]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":55,"y":-11,"z":29},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":10,"y":16,"z":15},{"x":10,"y":15,"z":15},{"x":10,"y":14,"z":15},{"x":10,"y":13,"z":15},{"x":10,"y":12,"z":15},{"x":10,"y":11,"z":15},{"x":10,"y":16,"z":16},{"x":10,"y":15,"z":16},{"x":10,"y":14,"z":16},{"x":10,"y":13,"z":16},{"x":10,"y":12,"z":16},{"x":10,"y":11,"z":16},{"x":10,"y":16,"z":17},{"x":10,"y":15,"z":17},{"x":10,"y":14,"z":17},{"x":10,"y":13,"z":17},{"x":10,"y":12,"z":17},{"x":10,"y":11,"z":17}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-1":{"mechType":"Secret","secretPoint":{"x":49,"y":27,"z":3},"secretType":"BAT","preRequisite":["superboom-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":48,"y":26,"z":12},{"x":48,"y":25,"z":12},{"x":48,"y":24,"z":12},{"x":48,"y":23,"z":12},{"x":49,"y":27,"z":12},{"x":49,"y":26,"z":12},{"x":49,"y":25,"z":12},{"x":49,"y":24,"z":12},{"x":49,"y":23,"z":12},{"x":50,"y":25,"z":12},{"x":50,"y":24,"z":12},{"x":50,"y":23,"z":12}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":56,"y":11,"z":18},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":48,"y":24,"z":15},{"x":48,"y":23,"z":15},{"x":49,"y":24,"z":15},{"x":49,"y":23,"z":15},{"x":50,"y":24,"z":15},{"x":50,"y":23,"z":15},{"x":48,"y":24,"z":16},{"x":48,"y":23,"z":16},{"x":49,"y":24,"z":16},{"x":49,"y":23,"z":16},{"x":50,"y":24,"z":16},{"x":50,"y":23,"z":16},{"x":48,"y":24,"z":17},{"x":48,"y":23,"z":17},{"x":49,"y":24,"z":17},{"x":49,"y":23,"z":17},{"x":50,"y":24,"z":17},{"x":50,"y":23,"z":17},{"x":48,"y":24,"z":18},{"x":48,"y":23,"z":18},{"x":49,"y":24,"z":18},{"x":49,"y":23,"z":18},{"x":50,"y":24,"z":18},{"x":50,"y":23,"z":18},{"x":48,"y":24,"z":19},{"x":48,"y":23,"z":19},{"x":49,"y":24,"z":19},{"x":49,"y":23,"z":19},{"x":50,"y":24,"z":19},{"x":50,"y":23,"z":19}]},"preRequisite":[],"mechType":"Tomb"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":55,"y":24,"z":23},{"x":55,"y":23,"z":23},{"x":56,"y":24,"z":23},{"x":56,"y":23,"z":23},{"x":57,"y":24,"z":23},{"x":57,"y":23,"z":23},{"x":55,"y":24,"z":24},{"x":55,"y":23,"z":24},{"x":56,"y":24,"z":24},{"x":56,"y":23,"z":24},{"x":57,"y":24,"z":24},{"x":57,"y":23,"z":24},{"x":55,"y":24,"z":25},{"x":55,"y":23,"z":25},{"x":56,"y":24,"z":25},{"x":56,"y":23,"z":25},{"x":57,"y":24,"z":25},{"x":57,"y":23,"z":25},{"x":55,"y":24,"z":26},{"x":55,"y":23,"z":26},{"x":56,"y":24,"z":26},{"x":56,"y":23,"z":26},{"x":57,"y":24,"z":26},{"x":57,"y":23,"z":26},{"x":55,"y":24,"z":27},{"x":55,"y":23,"z":27},{"x":56,"y":24,"z":27},{"x":56,"y":23,"z":27},{"x":57,"y":24,"z":27},{"x":57,"y":23,"z":27}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":5,"y":12,"z":7},{"x":5,"y":11,"z":7},{"x":6,"y":12,"z":7},{"x":6,"y":11,"z":7},{"x":7,"y":12,"z":7},{"x":7,"y":11,"z":7},{"x":8,"y":12,"z":7},{"x":8,"y":11,"z":7},{"x":9,"y":12,"z":7},{"x":9,"y":11,"z":7},{"x":5,"y":12,"z":8},{"x":5,"y":11,"z":8},{"x":6,"y":12,"z":8},{"x":6,"y":11,"z":8},{"x":7,"y":12,"z":8},{"x":7,"y":11,"z":8},{"x":8,"y":12,"z":8},{"x":8,"y":11,"z":8},{"x":9,"y":12,"z":8},{"x":9,"y":11,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":5,"y":12,"z":24},{"x":5,"y":11,"z":24},{"x":6,"y":12,"z":24},{"x":6,"y":11,"z":24},{"x":7,"y":12,"z":24},{"x":7,"y":11,"z":24},{"x":8,"y":12,"z":24},{"x":8,"y":11,"z":24},{"x":9,"y":12,"z":24},{"x":9,"y":11,"z":24},{"x":5,"y":12,"z":25},{"x":5,"y":11,"z":25},{"x":6,"y":12,"z":25},{"x":6,"y":11,"z":25},{"x":7,"y":12,"z":25},{"x":7,"y":11,"z":25},{"x":8,"y":12,"z":25},{"x":8,"y":11,"z":25},{"x":9,"y":12,"z":25},{"x":9,"y":11,"z":25}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":56,"y":0,"z":5},{"x":56,"y":-1,"z":5},{"x":57,"y":0,"z":5},{"x":57,"y":-1,"z":5},{"x":56,"y":0,"z":6},{"x":56,"y":-1,"z":6},{"x":57,"y":0,"z":6},{"x":57,"y":-1,"z":6},{"x":56,"y":0,"z":7},{"x":56,"y":-1,"z":7},{"x":57,"y":0,"z":7},{"x":57,"y":-1,"z":7},{"x":56,"y":0,"z":8},{"x":56,"y":-1,"z":8},{"x":57,"y":0,"z":8},{"x":57,"y":-1,"z":8},{"x":56,"y":0,"z":9},{"x":56,"y":-1,"z":9},{"x":57,"y":0,"z":9},{"x":57,"y":-1,"z":9}]},"preRequisite":[],"mechType":"Tomb"},"essence-2":{"mechType":"Secret","secretPoint":{"x":54,"y":-18,"z":18},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":39,"y":-6,"z":15},{"x":39,"y":-7,"z":15},{"x":40,"y":-6,"z":15},{"x":40,"y":-7,"z":15},{"x":41,"y":-6,"z":15},{"x":41,"y":-7,"z":15},{"x":42,"y":-6,"z":15},{"x":42,"y":-7,"z":15},{"x":43,"y":-6,"z":15},{"x":43,"y":-7,"z":15},{"x":39,"y":-6,"z":16},{"x":39,"y":-7,"z":16},{"x":40,"y":-6,"z":16},{"x":40,"y":-7,"z":16},{"x":41,"y":-6,"z":16},{"x":41,"y":-7,"z":16},{"x":42,"y":-6,"z":16},{"x":42,"y":-7,"z":16},{"x":43,"y":-6,"z":16},{"x":43,"y":-7,"z":16},{"x":39,"y":-6,"z":17},{"x":39,"y":-7,"z":17},{"x":40,"y":-6,"z":17},{"x":40,"y":-7,"z":17},{"x":41,"y":-6,"z":17},{"x":41,"y":-7,"z":17},{"x":42,"y":-6,"z":17},{"x":42,"y":-7,"z":17},{"x":43,"y":-6,"z":17},{"x":43,"y":-7,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":54,"y":-17,"z":14},"secretType":"ESSENCE","preRequisite":[]}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/cab054ed-b9ea-4f54-9d23-9864a50789f0.json b/src/main/resources/dgroomdata/cab054ed-b9ea-4f54-9d23-9864a50789f0.json new file mode 100644 index 0000000..ab45ff3 --- /dev/null +++ b/src/main/resources/dgroomdata/cab054ed-b9ea-4f54-9d23-9864a50789f0.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,98,98,98,1,1,98,98,98,1,1,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,109,109,98,98,98,98,98,109,109,98,98,98,98,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,4,0,0,0,0,0,109,98,0,0,0,109,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,67,4,4,4,67,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,67,0,98,0,67,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,188,0,0,0,188,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,98,101,0,101,98,101,0,101,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,101,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,101,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,109,109,98,109,109,98,109,109,98,109,109,98,98,98,109,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,0,0,50,0,0,0,0,0,50,0,0,98,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"cab054ed-b9ea-4f54-9d23-9864a50789f0","name":"Jumping-skulls","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":27,"y":-8,"z":24},"secretType":"CHEST","preRequisite":[]}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/cf44c95c-950e-49e0-aa4c-82c2b18d0acc.json b/src/main/resources/dgroomdata/cf44c95c-950e-49e0-aa4c-82c2b18d0acc.json new file mode 100644 index 0000000..9133803 --- /dev/null +++ b/src/main/resources/dgroomdata/cf44c95c-950e-49e0-aa4c-82c2b18d0acc.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,7,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,7,7,0,0,0,0,0,0,0,7,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,7,7,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,159,7,0,0,0,0,0,0,0,0,0,0,159,159,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,35,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,44,44,44,0,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,44,44,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,1,4,169,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,18,0,0,0,0,7,7,7,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,35,35,35,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"cf44c95c-950e-49e0-aa4c-82c2b18d0acc","name":"puzzle-blaze-down-to-top","processorId":"puzzle_blaze_solver","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":3,"y":48,"z":28},"secretType":"CHEST","preRequisite":[]}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/cf6d49d3-4f1e-4ec9-836e-049573793ddd.json b/src/main/resources/dgroomdata/cf6d49d3-4f1e-4ec9-836e-049573793ddd.json new file mode 100644 index 0000000..79453c0 --- /dev/null +++ b/src/main/resources/dgroomdata/cf6d49d3-4f1e-4ec9-836e-049573793ddd.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,44,1,1,1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,1,1,101,101,101,101,101,1,1,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,98,0,0,0,0,0,98,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"cf6d49d3-4f1e-4ec9-836e-049573793ddd","name":"puzzle-box","processorId":"puzzle_box","properties":{"board":{"offsetPointList":[{"x":7,"y":-5,"z":7},{"x":10,"y":-5,"z":7},{"x":13,"y":-5,"z":7},{"x":16,"y":-5,"z":7},{"x":19,"y":-5,"z":7},{"x":22,"y":-5,"z":7},{"x":25,"y":-5,"z":7},{"x":7,"y":-5,"z":10},{"x":10,"y":-5,"z":10},{"x":13,"y":-5,"z":10},{"x":16,"y":-5,"z":10},{"x":19,"y":-5,"z":10},{"x":22,"y":-5,"z":10},{"x":25,"y":-5,"z":10},{"x":7,"y":-5,"z":13},{"x":10,"y":-5,"z":13},{"x":13,"y":-5,"z":13},{"x":16,"y":-5,"z":13},{"x":19,"y":-5,"z":13},{"x":22,"y":-5,"z":13},{"x":25,"y":-5,"z":13},{"x":7,"y":-5,"z":16},{"x":10,"y":-5,"z":16},{"x":13,"y":-5,"z":16},{"x":16,"y":-5,"z":16},{"x":19,"y":-5,"z":16},{"x":22,"y":-5,"z":16},{"x":25,"y":-5,"z":16},{"x":7,"y":-5,"z":19},{"x":10,"y":-5,"z":19},{"x":13,"y":-5,"z":19},{"x":16,"y":-5,"z":19},{"x":19,"y":-5,"z":19},{"x":22,"y":-5,"z":19},{"x":25,"y":-5,"z":19},{"x":7,"y":-5,"z":22},{"x":10,"y":-5,"z":22},{"x":13,"y":-5,"z":22},{"x":16,"y":-5,"z":22},{"x":19,"y":-5,"z":22},{"x":22,"y":-5,"z":22},{"x":25,"y":-5,"z":22},{"x":7,"y":-5,"z":25},{"x":10,"y":-5,"z":25},{"x":13,"y":-5,"z":25},{"x":16,"y":-5,"z":25},{"x":19,"y":-5,"z":25},{"x":22,"y":-5,"z":25},{"x":25,"y":-5,"z":25}]}},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/d3e61abf-4198-4520-a950-a03761a0eb6f.json b/src/main/resources/dgroomdata/d3e61abf-4198-4520-a950-a03761a0eb6f.json new file mode 100644 index 0000000..0c3e557 --- /dev/null +++ b/src/main/resources/dgroomdata/d3e61abf-4198-4520-a950-a03761a0eb6f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,7,7,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,159,159,0,0,0,0,0,0,18,0,1,1,1,1,1,0,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,159,1,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,0,1,1,-1,-1,-1],[-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,-1,-1,-1],[-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,35,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,98,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,1,1,1,0,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,1,1,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,35,35,0,98,0,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,159,159,159,159,0,0,0,0,0,0,0,0,18,35,1,1,1,1,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,7,1,1,1,98,0,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,35,0,0,0,0,1,1,1,1,1,98,0,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,0,0,0,1,1,1,1,1,98,1,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"d3e61abf-4198-4520-a950-a03761a0eb6f","name":"puzzle-blaze-top-bottom","processorId":"puzzle_blaze_solver","properties":{"order":true},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":28,"y":-2,"z":29},"secretType":"CHEST","preRequisite":[]}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/d4a015ae-f123-4696-8fb6-719b5a21b623.json b/src/main/resources/dgroomdata/d4a015ae-f123-4696-8fb6-719b5a21b623.json new file mode 100644 index 0000000..7be8f93 --- /dev/null +++ b/src/main/resources/dgroomdata/d4a015ae-f123-4696-8fb6-719b5a21b623.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,50,0,0,0,50,0,35,1,1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,35,1,1,1,0,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,35,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,35,1,1,1,35,0,0,0,0,0,0,0,101,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,35,1,1,7,7,0,0,0,0,0,0,1,1,101,0,101,101,101,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,1,1,1,7,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,-1,-1,-1,1,1,1,1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,98,98,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,-1,-1,-1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,-1,-1,-1,0,1,1,1,1,5,0,0,50,1,144,0,0,98,50,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,-1,-1,-1,0,1,1,1,5,5,0,0,98,98,159,159,159,98,98,98,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,98,98,98,1,1,1,1,0,0,0,98,1,1,1,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,98,1,1,1,1,1,1,109,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,98,1,1,1,1,1,1,1,1,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"d4a015ae-f123-4696-8fb6-719b5a21b623","name":"Raccoon","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":5,"y":14,"z":23},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":4,"y":-1,"z":7},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":25,"y":7,"z":7},"secretType":"CHEST","preRequisite":[]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":7,"y":0,"z":3},"preRequisite":["superboom-2:open"],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":6,"y":2,"z":13},{"x":6,"y":1,"z":13},{"x":6,"y":0,"z":13},{"x":6,"y":-1,"z":13},{"x":7,"y":2,"z":13},{"x":7,"y":1,"z":13},{"x":7,"y":0,"z":13},{"x":7,"y":-1,"z":13},{"x":8,"y":2,"z":13},{"x":8,"y":1,"z":13},{"x":8,"y":0,"z":13},{"x":8,"y":-1,"z":13}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":7,"y":0,"z":20},{"x":7,"y":-1,"z":20},{"x":8,"y":0,"z":20},{"x":8,"y":-1,"z":20},{"x":9,"y":0,"z":20},{"x":9,"y":-1,"z":20},{"x":7,"y":0,"z":21},{"x":7,"y":-1,"z":21},{"x":8,"y":0,"z":21},{"x":8,"y":-1,"z":21},{"x":9,"y":0,"z":21},{"x":9,"y":-1,"z":21},{"x":7,"y":0,"z":22},{"x":7,"y":-1,"z":22},{"x":8,"y":0,"z":22},{"x":8,"y":-1,"z":22},{"x":9,"y":0,"z":22},{"x":9,"y":-1,"z":22}]},"preRequisite":[],"mechType":"Tomb"},"fairysoul-5":{"secretPoint":{"x":12,"y":13,"z":23},"preRequisite":[],"mechType":"Fairysoul"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":0,"z":16},{"x":3,"y":-1,"z":16},{"x":4,"y":0,"z":16},{"x":4,"y":-1,"z":16},{"x":5,"y":0,"z":16},{"x":5,"y":-1,"z":16},{"x":3,"y":0,"z":17},{"x":3,"y":-1,"z":17},{"x":4,"y":0,"z":17},{"x":4,"y":-1,"z":17},{"x":5,"y":0,"z":17},{"x":5,"y":-1,"z":17},{"x":3,"y":0,"z":18},{"x":3,"y":-1,"z":18},{"x":4,"y":0,"z":18},{"x":4,"y":-1,"z":18},{"x":5,"y":0,"z":18},{"x":5,"y":-1,"z":18},{"x":3,"y":0,"z":16},{"x":3,"y":-1,"z":16},{"x":4,"y":0,"z":16},{"x":4,"y":-1,"z":16},{"x":5,"y":0,"z":16},{"x":5,"y":-1,"z":16},{"x":3,"y":0,"z":17},{"x":3,"y":-1,"z":17},{"x":4,"y":0,"z":17},{"x":4,"y":-1,"z":17},{"x":5,"y":0,"z":17},{"x":5,"y":-1,"z":17},{"x":3,"y":0,"z":18},{"x":3,"y":-1,"z":18},{"x":4,"y":0,"z":18},{"x":4,"y":-1,"z":18},{"x":5,"y":0,"z":18},{"x":5,"y":-1,"z":18}]},"preRequisite":[],"mechType":"Tomb"},"journal-1":{"secretPoint":{"x":26,"y":11,"z":27},"preRequisite":[],"mechType":"Journal"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":6,"y":4,"z":9},{"x":7,"y":4,"z":9},{"x":6,"y":4,"z":10},{"x":7,"y":4,"z":10},{"x":6,"y":6,"z":8},{"x":6,"y":5,"z":8},{"x":7,"y":6,"z":8},{"x":7,"y":5,"z":8}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-4":{"mechType":"Secret","secretPoint":{"x":10,"y":-1,"z":7},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":5,"y":7,"z":16},{"x":5,"y":6,"z":16},{"x":6,"y":9,"z":16},{"x":6,"y":8,"z":16},{"x":6,"y":7,"z":16},{"x":6,"y":6,"z":16},{"x":6,"y":5,"z":16},{"x":7,"y":10,"z":16},{"x":7,"y":9,"z":16},{"x":7,"y":8,"z":16},{"x":7,"y":7,"z":16},{"x":7,"y":6,"z":16},{"x":7,"y":5,"z":16},{"x":8,"y":8,"z":16},{"x":8,"y":6,"z":16},{"x":8,"y":5,"z":16}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/d712ae5b-903a-4d80-96ee-8ee54b050ea5.json b/src/main/resources/dgroomdata/d712ae5b-903a-4d80-96ee-8ee54b050ea5.json new file mode 100644 index 0000000..892bb36 --- /dev/null +++ b/src/main/resources/dgroomdata/d712ae5b-903a-4d80-96ee-8ee54b050ea5.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,4,1,44,0,0,0,0,0,0,1,1,1,1,159,1,1,1,1,1,112,112,112,112,112,112,112,4,4,1,1,1,1,1,1,1,4,0,0,0,0,0,0,0,0,44,4,4,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,1,4,44,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,112,112,112,112,112,112,112,4,1,1,1,1,1,1,4,1,1,0,0,0,0,0,0,0,44,44,1,4,4,1,4,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,4,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,50,1,1,1,112,112,112,112,112,112,112,4,1,4,4,1,1,1,1,1,1,1,0,0,0,0,0,0,44,1,1,1,1,1,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,162,1,112,112,112,112,112,112,112,4,1,4,1,1,1,1,1,1,1,1,1,0,0,0,0,4,1,48,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,112,112,112,112,112,0,0,0,0,1,1,1,1,1,159,159,159,1,1,1,1,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,159,159,159,159,159,1,1,1,1,1,1,1,1,1,4,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,159,159,0,1,1,1,1,1,1,1,1,44,44,44,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,159,18,0,0,0,1,1,1,1,1,1,1,1,0,0,44,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,1,1,1,1,1,1,1,1,1,1,159,159,1,1,1,1,1,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,50,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,67,1,1,1,1,1,1,1,1,139,0,1,1,1,159,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,18,0,18,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,1,159,1,44,0,0,0,0,0,44,44,1,98,98,98,0,0,98,98,0,0,191,0,191,0,0,98,98,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,1,159,44,44,0,0,0,0,0,0,44,1,98,44,44,0,0,98,98,98,98,98,98,98,98,98,98,98,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,44,44,0,0,0,0,0,0,44,1,98,43,0,0,18,98,98,98,98,98,98,98,98,98,98,98,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,4,1,1,1,0,0,0,0,0,1,1,1,98,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,18,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,4,1,1,159,44,0,-1,44,1,1,1,98,0,0,0,0,98,98,0,0,191,0,191,0,0,98,44,0,0,0,0,0,0,0,0,0,0,188,0,50,1,1,1,1,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,4,1,1,159,1,1,159,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,1,1,1,1,1,1,1,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,0,0,0,0,4,159,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,1,1,1,1,1,1,1,1,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,139,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,159,1,1,1,1,1,1,1,4,44,44,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,4,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,4,1,4,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,1,1,1,1,4,1,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,4,1,4,4,4,112,112,112,112,112,112,112,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,4,1,1,4,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,50,1,1,1,1,1,1,4,4,4,4,4,112,112,112,112,112,112,112,1,162,0,0,0,139,1,159,1,1,1,0,0,0,0,1,1,1,1,1,4,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,112,112,112,112,112,112,112,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,44,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,139,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,112,112,112,112,112,112,112,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,44,1,1,4,4,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,4,4,1,1,1,1,1,1,1,112,112,112,112,112,112,112,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,44,4,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"d712ae5b-903a-4d80-96ee-8ee54b050ea5","name":"mages","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":17,"y":0,"z":18},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":43,"y":-8,"z":16},"secretType":"CHEST","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":57,"y":14,"z":9},"secretType":"BAT","preRequisite":[]},"essence-1":{"mechType":"Secret","secretPoint":{"x":59,"y":12,"z":6},"secretType":"ESSENCE","preRequisite":[]}},"totalSecrets":4} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/dc5d63b3-3dc4-41f1-a79c-973271ba71c2.json b/src/main/resources/dgroomdata/dc5d63b3-3dc4-41f1-a79c-973271ba71c2.json new file mode 100644 index 0000000..2f3f793 --- /dev/null +++ b/src/main/resources/dgroomdata/dc5d63b3-3dc4-41f1-a79c-973271ba71c2.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":3,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,109,109,109,109,109,98,0,0,0,98,98,98,0,0,0,0,0,1,0,0,0,0,139,1,0,0,0,0,0,1,0,0,0,0,0,98,98,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,109,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,109,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,109,109,109,109,109,98,0,0,0,98,98,98,0,0,0,0,0,1,0,0,0,0,139,1,0,0,0,0,0,1,0,0,0,0,0,98,98,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,98,1,0,0,0,0,0,98,98,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"dc5d63b3-3dc4-41f1-a79c-973271ba71c2","name":"Redstone-Warrior","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":31,"y":13,"z":28},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":25,"y":-12,"z":16},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":5,"y":-8,"z":16},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":27,"y":-9,"z":15},{"x":27,"y":-10,"z":15},{"x":27,"y":-11,"z":15},{"x":27,"y":-12,"z":15},{"x":27,"y":-9,"z":16},{"x":27,"y":-10,"z":16},{"x":27,"y":-11,"z":16},{"x":27,"y":-12,"z":16},{"x":27,"y":-9,"z":17},{"x":27,"y":-10,"z":17},{"x":27,"y":-11,"z":17},{"x":27,"y":-12,"z":17}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":59,"y":8,"z":30},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":59,"y":-7,"z":15},{"x":59,"y":-8,"z":15},{"x":60,"y":-7,"z":15},{"x":60,"y":-8,"z":15},{"x":61,"y":-7,"z":15},{"x":61,"y":-8,"z":15},{"x":62,"y":-7,"z":15},{"x":62,"y":-8,"z":15},{"x":59,"y":-7,"z":16},{"x":59,"y":-8,"z":16},{"x":60,"y":-7,"z":16},{"x":60,"y":-8,"z":16},{"x":61,"y":-7,"z":16},{"x":61,"y":-8,"z":16},{"x":62,"y":-7,"z":16},{"x":62,"y":-8,"z":16},{"x":59,"y":-7,"z":17},{"x":59,"y":-8,"z":17},{"x":60,"y":-7,"z":17},{"x":60,"y":-8,"z":17},{"x":61,"y":-7,"z":17},{"x":61,"y":-8,"z":17},{"x":62,"y":-7,"z":17},{"x":62,"y":-8,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":6,"y":0,"z":7},{"x":6,"y":-1,"z":7},{"x":7,"y":0,"z":7},{"x":7,"y":-1,"z":7},{"x":8,"y":0,"z":7},{"x":8,"y":-1,"z":7},{"x":9,"y":0,"z":7},{"x":9,"y":-1,"z":7},{"x":10,"y":0,"z":7},{"x":10,"y":-1,"z":7},{"x":6,"y":0,"z":8},{"x":6,"y":-1,"z":8},{"x":7,"y":0,"z":8},{"x":7,"y":-1,"z":8},{"x":8,"y":0,"z":8},{"x":8,"y":-1,"z":8},{"x":9,"y":0,"z":8},{"x":9,"y":-1,"z":8},{"x":10,"y":0,"z":8},{"x":10,"y":-1,"z":8},{"x":6,"y":0,"z":9},{"x":6,"y":-1,"z":9},{"x":7,"y":0,"z":9},{"x":7,"y":-1,"z":9},{"x":8,"y":0,"z":9},{"x":8,"y":-1,"z":9},{"x":9,"y":0,"z":9},{"x":9,"y":-1,"z":9},{"x":10,"y":0,"z":9},{"x":10,"y":-1,"z":9}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":6,"y":0,"z":23},{"x":6,"y":-1,"z":23},{"x":7,"y":0,"z":23},{"x":7,"y":-1,"z":23},{"x":8,"y":0,"z":23},{"x":8,"y":-1,"z":23},{"x":9,"y":0,"z":23},{"x":9,"y":-1,"z":23},{"x":10,"y":0,"z":23},{"x":10,"y":-1,"z":23},{"x":6,"y":0,"z":24},{"x":6,"y":-1,"z":24},{"x":7,"y":0,"z":24},{"x":7,"y":-1,"z":24},{"x":8,"y":0,"z":24},{"x":8,"y":-1,"z":24},{"x":9,"y":0,"z":24},{"x":9,"y":-1,"z":24},{"x":10,"y":0,"z":24},{"x":10,"y":-1,"z":24},{"x":6,"y":0,"z":25},{"x":6,"y":-1,"z":25},{"x":7,"y":0,"z":25},{"x":7,"y":-1,"z":25},{"x":8,"y":0,"z":25},{"x":8,"y":-1,"z":25},{"x":9,"y":0,"z":25},{"x":9,"y":-1,"z":25},{"x":10,"y":0,"z":25},{"x":10,"y":-1,"z":25}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":15,"z":15},{"x":3,"y":14,"z":15},{"x":4,"y":15,"z":15},{"x":4,"y":14,"z":15},{"x":5,"y":15,"z":15},{"x":5,"y":14,"z":15},{"x":6,"y":15,"z":15},{"x":6,"y":14,"z":15},{"x":3,"y":15,"z":16},{"x":3,"y":14,"z":16},{"x":4,"y":15,"z":16},{"x":4,"y":14,"z":16},{"x":5,"y":15,"z":16},{"x":5,"y":14,"z":16},{"x":6,"y":15,"z":16},{"x":6,"y":14,"z":16},{"x":3,"y":15,"z":17},{"x":3,"y":14,"z":17},{"x":4,"y":15,"z":17},{"x":4,"y":14,"z":17},{"x":5,"y":15,"z":17},{"x":5,"y":14,"z":17},{"x":6,"y":15,"z":17},{"x":6,"y":14,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":58,"y":8,"z":24},{"x":58,"y":7,"z":24},{"x":59,"y":10,"z":24},{"x":59,"y":9,"z":24},{"x":59,"y":8,"z":24},{"x":59,"y":7,"z":24},{"x":60,"y":11,"z":24},{"x":60,"y":10,"z":24},{"x":60,"y":9,"z":24},{"x":60,"y":8,"z":24},{"x":60,"y":7,"z":24},{"x":61,"y":10,"z":24},{"x":61,"y":9,"z":24}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/dfe5d13c-3284-4ad3-aadf-9719f2c12a6e.json b/src/main/resources/dgroomdata/dfe5d13c-3284-4ad3-aadf-9719f2c12a6e.json new file mode 100644 index 0000000..bfda610 --- /dev/null +++ b/src/main/resources/dgroomdata/dfe5d13c-3284-4ad3-aadf-9719f2c12a6e.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,98,0,0,0,0,0,0,0,67,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,67,9,0,0,101,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,109,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,144,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,109,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,50,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,67,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,4,4,4,4,4,67,139,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,109,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,4,67,67,67,4,67,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,109,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,98,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,144,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,159,159,159,159,159,159,109,0,0,0,0,0,0,139,67,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,4,0,0,0,101,0,0,0,0,0,0,0,18,98,1,159,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,44,0,144,44,44,98,98,135,135,0,0,0,0,50,67,67,4,4,4,4,4,4,4,4,1,1,1,1,4,67,67,4,4,4,4,67,67,4,4,0,0,0,0,0,0,0,98,98,18,144,0,0,0,144,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,126,126,5,135,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,4,1,1,1,43,0,0,0,188,188,188,188,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,126,126,0,85,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,4,1,1,1,4,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,109,98,1,1,1,1,4,1,1,1,67,126,0,0,0,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,1,4,1,1,1,67,126,0,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,1,4,1,1,1,4,134,0,0,171,171,171,171,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,4,1,1,1,43,0,0,0,171,0,171,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,188,50,17,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,4,1,1,1,43,0,0,0,0,171,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,144,0,98,0,0,144,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,4,1,1,1,4,134,0,0,171,0,17,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,159,159,159,159,159,159,0,0,0,0,0,0,0,0,164,5,0,0,0,0,0,98,109,109,48,1,1,1,67,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,67,0,0,0,0,0,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,144,0,0,0,0,0,134,134,164,5,0,0,0,0,0,0,0,0,67,1,1,98,4,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,4,109,109,109,109,109,4,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,134,134,0,0,0,0,0,0,0,0,0,18,48,1,1,1,4,134,0,0,0,0,0,0,0,0,0,0,0,109,109,0,0,0,1,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,5,5,43,43,67,4,67,48,67,43,43,43,43,4,4,67,43,43,43,0,0,0,44,0,0,44,43,43,43,67,4,43,43,43,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,98,98,0,0,0,0,0,18,18,98,98,0,0,0,0,0,98,139,0,0,0,0,0,0,0,98,98,0,0,0,0,139,98,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,139,0,0,0,0,98,139,0,0,-1,-1,-1,0,0,98,98,18,-1,-1,-1,0,98,98,0,0,0,0,0,0,0,139,98,0,0,0,0,139,139,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,18,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,4,1,1,159,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,4,1,98,0,144,98,98,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,98,4,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,43,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,43,98,0,0,0,0,0,69,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,98,98,0,0,0,0,98,98,0,0,-1,-1,-1,0,0,139,98,0,0,0,0,0,98,139,0,0,-1,-1,-1,0,0,98,139,0,0,0,0,139,98,1,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,98,98,0,0,0,0,139,98,0,0,0,0,0,0,0,98,139,0,0,0,0,144,139,98,0,0,0,0,0,0,0,139,98,0,0,0,0,98,98,1,98,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,43,4,67,67,4,4,43,0,0,0,0,0,0,0,0,0,43,4,67,67,4,4,43,0,0,0,0,0,0,0,134,98,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,109,67,67,98,1,109,0,0,0,0,0,0,0,0,4,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,109,0,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,1,98,0,0,0,0,0,0,0,0,67,1,1,1,1,159,44,0,0,0,0,0,0,9,0,0,109,98,109,109,98,98,109,0,0,0,0,0,0,0,0,109,98,139,144,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,101,0,0,98,98,98,0,0,0,0,0,0,0,0,109,98,109,109,98,98,109,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,18,18,0,0,0,0,0,0,0,0,0,159,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,101,0,0,109,98,98,0,0,0,0,0,0,0,17,0,188,17,0,0,0,0,17,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,159,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,101,0,0,109,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,1,1,1,1,159,109,0,0,0,0,0,0,0,0,139,109,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,159,159,159,159,159,109,0,0,0,0,0,0,0,0,0,109,159,159,1,159,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,43,144,0,98,144,0,43,0,0,0,0,0,0,0,0,0,43,144,0,98,0,144,43,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,50,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,1,98,139,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,109,-1,-1,-1,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,109,109,109,98,1,98,0,0,0,0,0,0,0,0,118,43,0,0,0,0,0,43,50,0,0,0,0,0,0,50,139,43,0,0,98,0,0,43,0,0,0,0,0,0,0,0,0,109,159,159,98,98,98,1,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,1,109,109,1,1,0,0,0,0,0,0,0,0,98,98,23,159,23,33,23,1,1,109,44,144,0,144,44,109,4,4,4,4,4,4,67,67,0,0,0,0,0,0,0,0,0,109,98,1,109,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,35,35,98,98,109,109,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,159,159,159,159,159,159,159,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,35,169,35,1,35,109,0,0,0,0,0,0,0,0,0,139,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,98,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,35,169,35,98,109,0,0,0,0,0,0,0,0,0,144,159,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,35,35,1,98,109,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,1,1,1,1,1,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,109,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"dfe5d13c-3284-4ad3-aadf-9719f2c12a6e","name":"Buttons","processorId":"button_5","properties":{"buttons":{"offsetPointList":[{"x":15,"y":11,"z":54},{"x":15,"y":11,"z":52},{"x":15,"y":11,"z":50},{"x":15,"y":11,"z":48},{"x":17,"y":11,"z":54},{"x":17,"y":11,"z":52},{"x":17,"y":11,"z":50},{"x":17,"y":11,"z":48},{"x":19,"y":11,"z":54},{"x":19,"y":11,"z":52},{"x":19,"y":11,"z":50},{"x":19,"y":11,"z":48}]}},"mechanics":{"dummy-1":{"secretPoint":{"x":19,"y":10,"z":51},"preRequisite":[],"mechType":"Dummy"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":43,"y":11,"z":58},"preRequisite":["crypt-7:open"],"triggering":"door-1"},"lever-2":{"mechType":"OnewayLever","leverPoint":{"x":59,"y":0,"z":37},"preRequisite":[],"triggering":"door-2"},"crypt-20":{"secretPoint":{"offsetPointList":[{"x":39,"y":0,"z":34},{"x":39,"y":-1,"z":34},{"x":40,"y":0,"z":34},{"x":40,"y":-1,"z":34},{"x":41,"y":0,"z":34},{"x":41,"y":-1,"z":34},{"x":39,"y":0,"z":35},{"x":39,"y":-1,"z":35},{"x":40,"y":0,"z":35},{"x":40,"y":-1,"z":35},{"x":41,"y":0,"z":35},{"x":41,"y":-1,"z":35},{"x":39,"y":0,"z":36},{"x":39,"y":-1,"z":36},{"x":40,"y":0,"z":36},{"x":40,"y":-1,"z":36},{"x":41,"y":0,"z":36},{"x":41,"y":-1,"z":36},{"x":39,"y":0,"z":37},{"x":39,"y":-1,"z":37},{"x":40,"y":0,"z":37},{"x":40,"y":-1,"z":37},{"x":41,"y":0,"z":37},{"x":41,"y":-1,"z":37},{"x":39,"y":0,"z":38},{"x":39,"y":-1,"z":38},{"x":40,"y":0,"z":38},{"x":40,"y":-1,"z":38},{"x":41,"y":0,"z":38},{"x":41,"y":-1,"z":38}]},"preRequisite":[],"mechType":"Tomb"},"crypt-16":{"secretPoint":{"offsetPointList":[{"x":7,"y":11,"z":3},{"x":7,"y":10,"z":3},{"x":8,"y":11,"z":3},{"x":8,"y":10,"z":3},{"x":7,"y":11,"z":4},{"x":7,"y":10,"z":4},{"x":8,"y":11,"z":4},{"x":8,"y":10,"z":4},{"x":7,"y":11,"z":5},{"x":7,"y":10,"z":5},{"x":8,"y":11,"z":5},{"x":8,"y":10,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-17":{"secretPoint":{"offsetPointList":[{"x":23,"y":0,"z":26},{"x":23,"y":-1,"z":26},{"x":24,"y":0,"z":26},{"x":24,"y":-1,"z":26},{"x":25,"y":0,"z":26},{"x":25,"y":-1,"z":26},{"x":23,"y":0,"z":27},{"x":23,"y":-1,"z":27},{"x":24,"y":0,"z":27},{"x":24,"y":-1,"z":27},{"x":25,"y":0,"z":27},{"x":25,"y":-1,"z":27},{"x":23,"y":0,"z":28},{"x":23,"y":-1,"z":28},{"x":24,"y":0,"z":28},{"x":24,"y":-1,"z":28},{"x":25,"y":0,"z":28},{"x":25,"y":-1,"z":28},{"x":23,"y":0,"z":29},{"x":23,"y":-1,"z":29},{"x":24,"y":0,"z":29},{"x":24,"y":-1,"z":29},{"x":25,"y":0,"z":29},{"x":25,"y":-1,"z":29},{"x":23,"y":0,"z":30},{"x":23,"y":-1,"z":30},{"x":24,"y":0,"z":30},{"x":24,"y":-1,"z":30},{"x":25,"y":0,"z":30},{"x":25,"y":-1,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-18":{"secretPoint":{"offsetPointList":[{"x":23,"y":0,"z":34},{"x":23,"y":-1,"z":34},{"x":24,"y":0,"z":34},{"x":24,"y":-1,"z":34},{"x":25,"y":0,"z":34},{"x":25,"y":-1,"z":34},{"x":23,"y":0,"z":35},{"x":23,"y":-1,"z":35},{"x":24,"y":0,"z":35},{"x":24,"y":-1,"z":35},{"x":25,"y":0,"z":35},{"x":25,"y":-1,"z":35},{"x":23,"y":0,"z":36},{"x":23,"y":-1,"z":36},{"x":24,"y":0,"z":36},{"x":24,"y":-1,"z":36},{"x":25,"y":0,"z":36},{"x":25,"y":-1,"z":36},{"x":23,"y":0,"z":37},{"x":23,"y":-1,"z":37},{"x":24,"y":0,"z":37},{"x":24,"y":-1,"z":37},{"x":25,"y":0,"z":37},{"x":25,"y":-1,"z":37},{"x":23,"y":0,"z":38},{"x":23,"y":-1,"z":38},{"x":24,"y":0,"z":38},{"x":24,"y":-1,"z":38},{"x":25,"y":0,"z":38},{"x":25,"y":-1,"z":38}]},"preRequisite":[],"mechType":"Tomb"},"crypt-19":{"secretPoint":{"offsetPointList":[{"x":31,"y":0,"z":26},{"x":31,"y":-1,"z":26},{"x":32,"y":0,"z":26},{"x":32,"y":-1,"z":26},{"x":33,"y":0,"z":26},{"x":33,"y":-1,"z":26},{"x":31,"y":0,"z":27},{"x":31,"y":-1,"z":27},{"x":32,"y":0,"z":27},{"x":32,"y":-1,"z":27},{"x":33,"y":0,"z":27},{"x":33,"y":-1,"z":27},{"x":31,"y":0,"z":28},{"x":31,"y":-1,"z":28},{"x":32,"y":0,"z":28},{"x":32,"y":-1,"z":28},{"x":33,"y":0,"z":28},{"x":33,"y":-1,"z":28},{"x":31,"y":0,"z":29},{"x":31,"y":-1,"z":29},{"x":32,"y":0,"z":29},{"x":32,"y":-1,"z":29},{"x":33,"y":0,"z":29},{"x":33,"y":-1,"z":29},{"x":31,"y":0,"z":30},{"x":31,"y":-1,"z":30},{"x":32,"y":0,"z":30},{"x":32,"y":-1,"z":30},{"x":33,"y":0,"z":30},{"x":33,"y":-1,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-12":{"secretPoint":{"offsetPointList":[{"x":49,"y":11,"z":6},{"x":49,"y":10,"z":6},{"x":50,"y":11,"z":6},{"x":50,"y":10,"z":6},{"x":51,"y":11,"z":6},{"x":51,"y":10,"z":6},{"x":49,"y":11,"z":7},{"x":49,"y":10,"z":7},{"x":50,"y":11,"z":7},{"x":50,"y":10,"z":7},{"x":51,"y":11,"z":7},{"x":51,"y":10,"z":7},{"x":49,"y":11,"z":8},{"x":49,"y":10,"z":8},{"x":50,"y":11,"z":8},{"x":50,"y":10,"z":8},{"x":51,"y":11,"z":8},{"x":51,"y":10,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"crypt-13":{"secretPoint":{"offsetPointList":[{"x":41,"y":11,"z":5},{"x":41,"y":10,"z":5},{"x":42,"y":11,"z":5},{"x":42,"y":10,"z":5},{"x":43,"y":11,"z":5},{"x":43,"y":10,"z":5},{"x":41,"y":11,"z":6},{"x":41,"y":10,"z":6},{"x":42,"y":11,"z":6},{"x":42,"y":10,"z":6},{"x":43,"y":11,"z":6},{"x":43,"y":10,"z":6},{"x":41,"y":11,"z":7},{"x":41,"y":10,"z":7},{"x":42,"y":11,"z":7},{"x":42,"y":10,"z":7},{"x":43,"y":11,"z":7},{"x":43,"y":10,"z":7},{"x":41,"y":11,"z":8},{"x":41,"y":10,"z":8},{"x":42,"y":11,"z":8},{"x":42,"y":10,"z":8},{"x":43,"y":11,"z":8},{"x":43,"y":10,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"crypt-14":{"secretPoint":{"offsetPointList":[{"x":41,"y":11,"z":11},{"x":41,"y":10,"z":11},{"x":42,"y":11,"z":11},{"x":42,"y":10,"z":11},{"x":43,"y":11,"z":11},{"x":43,"y":10,"z":11},{"x":41,"y":11,"z":12},{"x":41,"y":10,"z":12},{"x":42,"y":11,"z":12},{"x":42,"y":10,"z":12},{"x":43,"y":11,"z":12},{"x":43,"y":10,"z":12},{"x":41,"y":11,"z":13},{"x":41,"y":10,"z":13},{"x":42,"y":11,"z":13},{"x":42,"y":10,"z":13},{"x":43,"y":11,"z":13},{"x":43,"y":10,"z":13},{"x":41,"y":11,"z":14},{"x":41,"y":10,"z":14},{"x":42,"y":11,"z":14},{"x":42,"y":10,"z":14},{"x":43,"y":11,"z":14},{"x":43,"y":10,"z":14}]},"preRequisite":[],"mechType":"Tomb"},"crypt-15":{"secretPoint":{"offsetPointList":[{"x":31,"y":11,"z":12},{"x":31,"y":10,"z":12},{"x":32,"y":11,"z":12},{"x":32,"y":10,"z":12},{"x":33,"y":11,"z":12},{"x":33,"y":10,"z":12},{"x":31,"y":11,"z":13},{"x":31,"y":10,"z":13},{"x":32,"y":11,"z":13},{"x":32,"y":10,"z":13},{"x":33,"y":11,"z":13},{"x":33,"y":10,"z":13},{"x":31,"y":11,"z":14},{"x":31,"y":10,"z":14},{"x":32,"y":11,"z":14},{"x":32,"y":10,"z":14},{"x":33,"y":11,"z":14},{"x":33,"y":10,"z":14},{"x":31,"y":11,"z":15},{"x":31,"y":10,"z":15},{"x":32,"y":11,"z":15},{"x":32,"y":10,"z":15},{"x":33,"y":11,"z":15},{"x":33,"y":10,"z":15}]},"preRequisite":[],"mechType":"Tomb"},"chest-2":{"mechType":"Secret","secretPoint":{"x":58,"y":-1,"z":61},"secretType":"CHEST","preRequisite":["superboom-2:open"]},"door-3":{"secretPoint":{"offsetPointList":[{"x":11,"y":14,"z":49},{"x":11,"y":13,"z":49},{"x":11,"y":12,"z":49},{"x":11,"y":11,"z":49},{"x":11,"y":10,"z":49},{"x":11,"y":14,"z":50},{"x":11,"y":13,"z":50},{"x":11,"y":12,"z":50},{"x":11,"y":11,"z":50},{"x":11,"y":10,"z":50},{"x":11,"y":14,"z":51},{"x":11,"y":13,"z":51},{"x":11,"y":12,"z":51},{"x":11,"y":11,"z":51},{"x":11,"y":10,"z":51},{"x":11,"y":14,"z":52},{"x":11,"y":13,"z":52},{"x":11,"y":12,"z":52},{"x":11,"y":11,"z":52},{"x":11,"y":10,"z":52},{"x":11,"y":14,"z":53},{"x":11,"y":13,"z":53},{"x":11,"y":12,"z":53},{"x":11,"y":11,"z":53},{"x":11,"y":10,"z":53}]},"preRequisite":["dummy-1:navigate"],"mechType":"OnewayDoor"},"chest-3":{"mechType":"Secret","secretPoint":{"x":57,"y":11,"z":3},"secretType":"CHEST","preRequisite":["door-1:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":54,"y":-15,"z":32},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":56,"y":17,"z":16},{"x":56,"y":16,"z":16},{"x":56,"y":15,"z":16},{"x":56,"y":14,"z":16},{"x":56,"y":13,"z":16},{"x":56,"y":12,"z":16},{"x":56,"y":11,"z":16},{"x":56,"y":10,"z":16},{"x":57,"y":17,"z":16},{"x":57,"y":16,"z":16},{"x":57,"y":15,"z":16},{"x":57,"y":14,"z":16},{"x":57,"y":13,"z":16},{"x":57,"y":12,"z":16},{"x":57,"y":11,"z":16},{"x":57,"y":10,"z":16},{"x":58,"y":17,"z":16},{"x":58,"y":16,"z":16},{"x":58,"y":15,"z":16},{"x":58,"y":14,"z":16},{"x":58,"y":13,"z":16},{"x":58,"y":12,"z":16},{"x":58,"y":11,"z":16},{"x":58,"y":10,"z":16}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"door-2":{"secretPoint":{"offsetPointList":[{"x":30,"y":5,"z":18},{"x":30,"y":4,"z":18},{"x":30,"y":3,"z":18},{"x":30,"y":5,"z":19},{"x":30,"y":4,"z":19},{"x":30,"y":3,"z":19},{"x":30,"y":5,"z":20},{"x":30,"y":4,"z":20},{"x":30,"y":3,"z":20}]},"preRequisite":["lever-2:triggered"],"mechType":"OnewayDoor"},"superboom-3":{"secretPoint":{"offsetPointList":[{"x":54,"y":15,"z":41},{"x":54,"y":14,"z":41},{"x":54,"y":13,"z":41},{"x":54,"y":12,"z":41},{"x":54,"y":11,"z":41},{"x":54,"y":10,"z":41},{"x":54,"y":15,"z":42},{"x":54,"y":14,"z":42},{"x":54,"y":13,"z":42},{"x":54,"y":12,"z":42},{"x":54,"y":11,"z":42},{"x":54,"y":10,"z":42},{"x":54,"y":15,"z":43},{"x":54,"y":14,"z":43},{"x":54,"y":13,"z":43},{"x":54,"y":12,"z":43},{"x":54,"y":11,"z":43},{"x":54,"y":10,"z":43}]},"preRequisite":[],"mechType":"BreakableWall"},"crypt-10":{"secretPoint":{"offsetPointList":[{"x":50,"y":11,"z":41},{"x":50,"y":10,"z":41},{"x":51,"y":11,"z":41},{"x":51,"y":10,"z":41},{"x":52,"y":11,"z":41},{"x":52,"y":10,"z":41},{"x":53,"y":11,"z":41},{"x":53,"y":10,"z":41},{"x":50,"y":11,"z":42},{"x":50,"y":10,"z":42},{"x":51,"y":11,"z":42},{"x":51,"y":10,"z":42},{"x":52,"y":11,"z":42},{"x":52,"y":10,"z":42},{"x":53,"y":11,"z":42},{"x":53,"y":10,"z":42},{"x":50,"y":11,"z":43},{"x":50,"y":10,"z":43},{"x":51,"y":11,"z":43},{"x":51,"y":10,"z":43},{"x":52,"y":11,"z":43},{"x":52,"y":10,"z":43},{"x":53,"y":11,"z":43},{"x":53,"y":10,"z":43}]},"preRequisite":[],"mechType":"Tomb"},"crypt-11":{"secretPoint":{"offsetPointList":[{"x":49,"y":11,"z":15},{"x":49,"y":10,"z":15},{"x":50,"y":11,"z":15},{"x":50,"y":10,"z":15},{"x":51,"y":11,"z":15},{"x":51,"y":10,"z":15},{"x":49,"y":11,"z":16},{"x":49,"y":10,"z":16},{"x":50,"y":11,"z":16},{"x":50,"y":10,"z":16},{"x":51,"y":11,"z":16},{"x":51,"y":10,"z":16}]},"preRequisite":[],"mechType":"Tomb"},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":56,"y":0,"z":53},{"x":56,"y":-1,"z":53},{"x":57,"y":3,"z":53},{"x":57,"y":2,"z":53},{"x":57,"y":1,"z":53},{"x":57,"y":0,"z":53},{"x":57,"y":-1,"z":53},{"x":58,"y":1,"z":53},{"x":58,"y":0,"z":53},{"x":58,"y":-1,"z":53}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-4":{"mechType":"Secret","secretPoint":{"x":32,"y":3,"z":14},"secretType":"CHEST","preRequisite":["door-2:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":16,"y":-2,"z":31},{"x":17,"y":-2,"z":31},{"x":18,"y":-2,"z":31},{"x":16,"y":-2,"z":32},{"x":17,"y":-2,"z":32},{"x":18,"y":-2,"z":32},{"x":16,"y":-2,"z":33},{"x":17,"y":-2,"z":33},{"x":18,"y":-2,"z":33}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-5":{"mechType":"Secret","secretPoint":{"x":3,"y":11,"z":51},"secretType":"CHEST","preRequisite":["door-3:open"]},"crypt-9":{"secretPoint":{"offsetPointList":[{"x":38,"y":11,"z":52},{"x":38,"y":10,"z":52},{"x":39,"y":11,"z":52},{"x":39,"y":10,"z":52},{"x":40,"y":11,"z":52},{"x":40,"y":10,"z":52},{"x":41,"y":11,"z":52},{"x":41,"y":10,"z":52},{"x":42,"y":11,"z":52},{"x":42,"y":10,"z":52},{"x":38,"y":11,"z":53},{"x":38,"y":10,"z":53},{"x":39,"y":11,"z":53},{"x":39,"y":10,"z":53},{"x":40,"y":11,"z":53},{"x":40,"y":10,"z":53},{"x":41,"y":11,"z":53},{"x":41,"y":10,"z":53},{"x":42,"y":11,"z":53},{"x":42,"y":10,"z":53}]},"preRequisite":[],"mechType":"Tomb"},"crypt-8":{"secretPoint":{"offsetPointList":[{"x":31,"y":11,"z":50},{"x":31,"y":10,"z":50},{"x":32,"y":11,"z":50},{"x":32,"y":10,"z":50},{"x":33,"y":11,"z":50},{"x":33,"y":10,"z":50},{"x":31,"y":11,"z":51},{"x":31,"y":10,"z":51},{"x":32,"y":11,"z":51},{"x":32,"y":10,"z":51},{"x":33,"y":11,"z":51},{"x":33,"y":10,"z":51},{"x":31,"y":11,"z":52},{"x":31,"y":10,"z":52},{"x":32,"y":11,"z":52},{"x":32,"y":10,"z":52},{"x":33,"y":11,"z":52},{"x":33,"y":10,"z":52},{"x":31,"y":11,"z":53},{"x":31,"y":10,"z":53},{"x":32,"y":11,"z":53},{"x":32,"y":10,"z":53},{"x":33,"y":11,"z":53},{"x":33,"y":10,"z":53}]},"preRequisite":[],"mechType":"Tomb"},"crypt-7":{"secretPoint":{"offsetPointList":[{"x":39,"y":11,"z":57},{"x":39,"y":10,"z":57},{"x":40,"y":11,"z":57},{"x":40,"y":10,"z":57},{"x":41,"y":11,"z":57},{"x":41,"y":10,"z":57},{"x":42,"y":11,"z":57},{"x":42,"y":10,"z":57},{"x":39,"y":11,"z":58},{"x":39,"y":10,"z":58},{"x":40,"y":11,"z":58},{"x":40,"y":10,"z":58},{"x":41,"y":11,"z":58},{"x":41,"y":10,"z":58},{"x":42,"y":11,"z":58},{"x":42,"y":10,"z":58},{"x":39,"y":11,"z":59},{"x":39,"y":10,"z":59},{"x":40,"y":11,"z":59},{"x":40,"y":10,"z":59},{"x":41,"y":11,"z":59},{"x":41,"y":10,"z":59},{"x":42,"y":11,"z":59},{"x":42,"y":10,"z":59}]},"preRequisite":[],"mechType":"Tomb"},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":21,"y":-14,"z":20},{"x":21,"y":-15,"z":20},{"x":22,"y":-14,"z":20},{"x":22,"y":-15,"z":20},{"x":23,"y":-14,"z":20},{"x":23,"y":-15,"z":20},{"x":21,"y":-14,"z":21},{"x":21,"y":-15,"z":21},{"x":22,"y":-14,"z":21},{"x":22,"y":-15,"z":21},{"x":23,"y":-14,"z":21},{"x":23,"y":-15,"z":21},{"x":21,"y":-14,"z":22},{"x":21,"y":-15,"z":22},{"x":22,"y":-14,"z":22},{"x":22,"y":-15,"z":22},{"x":23,"y":-14,"z":22},{"x":23,"y":-15,"z":22},{"x":21,"y":-14,"z":23},{"x":21,"y":-15,"z":23},{"x":22,"y":-14,"z":23},{"x":22,"y":-15,"z":23},{"x":23,"y":-14,"z":23},{"x":23,"y":-15,"z":23},{"x":21,"y":-14,"z":24},{"x":21,"y":-15,"z":24},{"x":22,"y":-14,"z":24},{"x":22,"y":-15,"z":24},{"x":23,"y":-14,"z":24},{"x":23,"y":-15,"z":24}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":21,"y":-14,"z":40},{"x":21,"y":-15,"z":40},{"x":22,"y":-14,"z":40},{"x":22,"y":-15,"z":40},{"x":23,"y":-14,"z":40},{"x":23,"y":-15,"z":40},{"x":21,"y":-14,"z":41},{"x":21,"y":-15,"z":41},{"x":22,"y":-14,"z":41},{"x":22,"y":-15,"z":41},{"x":23,"y":-14,"z":41},{"x":23,"y":-15,"z":41},{"x":21,"y":-14,"z":42},{"x":21,"y":-15,"z":42},{"x":22,"y":-14,"z":42},{"x":22,"y":-15,"z":42},{"x":23,"y":-14,"z":42},{"x":23,"y":-15,"z":42},{"x":21,"y":-14,"z":43},{"x":21,"y":-15,"z":43},{"x":22,"y":-14,"z":43},{"x":22,"y":-15,"z":43},{"x":23,"y":-14,"z":43},{"x":23,"y":-15,"z":43},{"x":21,"y":-14,"z":44},{"x":21,"y":-15,"z":44},{"x":22,"y":-14,"z":44},{"x":22,"y":-15,"z":44},{"x":23,"y":-14,"z":44},{"x":23,"y":-15,"z":44}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":36,"y":-14,"z":20},{"x":36,"y":-15,"z":20},{"x":37,"y":-14,"z":20},{"x":37,"y":-15,"z":20},{"x":38,"y":-14,"z":20},{"x":38,"y":-15,"z":20},{"x":36,"y":-14,"z":21},{"x":36,"y":-15,"z":21},{"x":37,"y":-14,"z":21},{"x":37,"y":-15,"z":21},{"x":38,"y":-14,"z":21},{"x":38,"y":-15,"z":21},{"x":36,"y":-14,"z":22},{"x":36,"y":-15,"z":22},{"x":37,"y":-14,"z":22},{"x":37,"y":-15,"z":22},{"x":38,"y":-14,"z":22},{"x":38,"y":-15,"z":22},{"x":36,"y":-14,"z":23},{"x":36,"y":-15,"z":23},{"x":37,"y":-14,"z":23},{"x":37,"y":-15,"z":23},{"x":38,"y":-14,"z":23},{"x":38,"y":-15,"z":23},{"x":36,"y":-14,"z":24},{"x":36,"y":-15,"z":24},{"x":37,"y":-14,"z":24},{"x":37,"y":-15,"z":24},{"x":38,"y":-14,"z":24},{"x":38,"y":-15,"z":24}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":36,"y":-14,"z":40},{"x":36,"y":-15,"z":40},{"x":37,"y":-14,"z":40},{"x":37,"y":-15,"z":40},{"x":38,"y":-14,"z":40},{"x":38,"y":-15,"z":40},{"x":36,"y":-14,"z":41},{"x":36,"y":-15,"z":41},{"x":37,"y":-14,"z":41},{"x":37,"y":-15,"z":41},{"x":38,"y":-14,"z":41},{"x":38,"y":-15,"z":41},{"x":36,"y":-14,"z":42},{"x":36,"y":-15,"z":42},{"x":37,"y":-14,"z":42},{"x":37,"y":-15,"z":42},{"x":38,"y":-14,"z":42},{"x":38,"y":-15,"z":42},{"x":36,"y":-14,"z":43},{"x":36,"y":-15,"z":43},{"x":37,"y":-14,"z":43},{"x":37,"y":-15,"z":43},{"x":38,"y":-14,"z":43},{"x":38,"y":-15,"z":43},{"x":36,"y":-14,"z":44},{"x":36,"y":-15,"z":44},{"x":37,"y":-14,"z":44},{"x":37,"y":-15,"z":44},{"x":38,"y":-14,"z":44},{"x":38,"y":-15,"z":44}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":44,"y":-14,"z":20},{"x":44,"y":-15,"z":20},{"x":45,"y":-14,"z":20},{"x":45,"y":-15,"z":20},{"x":46,"y":-14,"z":20},{"x":46,"y":-15,"z":20},{"x":44,"y":-14,"z":21},{"x":44,"y":-15,"z":21},{"x":45,"y":-14,"z":21},{"x":45,"y":-15,"z":21},{"x":46,"y":-14,"z":21},{"x":46,"y":-15,"z":21},{"x":44,"y":-14,"z":22},{"x":44,"y":-15,"z":22},{"x":45,"y":-14,"z":22},{"x":45,"y":-15,"z":22},{"x":46,"y":-14,"z":22},{"x":46,"y":-15,"z":22},{"x":44,"y":-14,"z":23},{"x":44,"y":-15,"z":23},{"x":45,"y":-14,"z":23},{"x":45,"y":-15,"z":23},{"x":46,"y":-14,"z":23},{"x":46,"y":-15,"z":23},{"x":44,"y":-14,"z":24},{"x":44,"y":-15,"z":24},{"x":45,"y":-14,"z":24},{"x":45,"y":-15,"z":24},{"x":46,"y":-14,"z":24},{"x":46,"y":-15,"z":24}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":44,"y":-14,"z":40},{"x":44,"y":-15,"z":40},{"x":45,"y":-14,"z":40},{"x":45,"y":-15,"z":40},{"x":46,"y":-14,"z":40},{"x":46,"y":-15,"z":40},{"x":44,"y":-14,"z":41},{"x":44,"y":-15,"z":41},{"x":45,"y":-14,"z":41},{"x":45,"y":-15,"z":41},{"x":46,"y":-14,"z":41},{"x":46,"y":-15,"z":41},{"x":44,"y":-14,"z":42},{"x":44,"y":-15,"z":42},{"x":45,"y":-14,"z":42},{"x":45,"y":-15,"z":42},{"x":46,"y":-14,"z":42},{"x":46,"y":-15,"z":42},{"x":44,"y":-14,"z":43},{"x":44,"y":-15,"z":43},{"x":45,"y":-14,"z":43},{"x":45,"y":-15,"z":43},{"x":46,"y":-14,"z":43},{"x":46,"y":-15,"z":43},{"x":44,"y":-14,"z":44},{"x":44,"y":-15,"z":44},{"x":45,"y":-14,"z":44},{"x":45,"y":-15,"z":44},{"x":46,"y":-14,"z":44},{"x":46,"y":-15,"z":44}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"}},"totalSecrets":5} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e0608346-08a0-490b-a6d5-96786ebd5d96.json b/src/main/resources/dgroomdata/e0608346-08a0-490b-a6d5-96786ebd5d96.json new file mode 100644 index 0000000..016e77c --- /dev/null +++ b/src/main/resources/dgroomdata/e0608346-08a0-490b-a6d5-96786ebd5d96.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":51,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,50,0,0,0,0,0,0,0,0,0,0,109,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,35,35,35,35,0,0,0,0,0,0,7,35,1,1,1,1,1,1,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,67,0,0,0,0,0,0,0,0,0,0,0,109,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,50,35,35,35,35,159,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,67,0,0,0,0,0,0,0,0,0,0,50,109,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,67,0,0,0,0,0,0,0,0,0,109,98,98,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,67,67,4,0,0,0,0,0,0,0,0,0,0,67,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,3,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,67,4,1,1,1,1,1,1,1,98,98,1,4,1,1,1,1,98,3,3,7,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,5,53,53,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,1,98,98,1,1,4,67,1,98,98,3,3,3,7,0,31,139,35,35,35,35,7,0,17,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,134,50,0,0,0,0,0,0,0,0,0,0,0,0,0,67,4,4,1,1,1,1,1,98,98,1,44,44,44,44,44,98,98,3,3,3,7,31,1,159,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,98,98,3,3,3,3,7,1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,1,1,1,1,1,98,98,98,0,0,0,0,0,109,98,3,3,3,3,3,3,3,3,3,98,1,1,1,35,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,98,98,109,0,0,0,0,0,109,98,3,3,3,3,3,3,3,3,3,98,1,1,1,35,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,3,3,98,98,109,0,0,0,0,0,109,98,3,3,3,3,3,3,3,3,3,98,1,1,35,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,134,5,134,0,0,0,109,1,1,3,3,3,3,98,98,109,0,0,0,0,0,98,98,3,3,3,3,3,3,3,3,3,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,134,5,134,0,0,50,109,1,3,3,3,1,1,98,98,98,0,0,0,0,0,98,98,3,3,3,3,3,3,3,3,3,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,4,67,67,67,67,4,4,4,98,98,98,109,109,98,98,1,1,0,0,0,0,0,98,109,98,109,109,98,98,98,98,98,98,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,1,1,1,159,1,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,1,159,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,67,4,4,4,4,4,1,1,159,144,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,144,159,1,1,98,1,0,0,0,0,0,0,0,0,0,0,50,159,35,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,67,4,4,4,4,4,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,98,1,0,0,0,0,0,0,0,0,0,0,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,0,0,0,0,0,0,0,0,0,0,159,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,0,4,4,4,4,4,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,0,4,4,4,4,4,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,159,159,159,159,0,0,0,0,0,0,159,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,50,4,4,4,4,4,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,159,35,35,35,35,0,0,159,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,0,0,-1,-1,-1,98,4,4,4,4,4,98,139,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,98,1,1,1,1,1,1,1,1,1,7,0,35,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,98,98,1,98,98,98,4,4,98,98,98,98,139,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,98,1,1,1,1,98,98,98,98,98,98,7,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,109,109,98,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,109,109,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,50,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,109,98,98,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,1,1,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,109,0,0,0,0,0,0,139,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,139,0,0,0,0,0,50,109,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,109,109,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,109,109,98,98,1,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,98,98,98,98,98,1,1,1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,1,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,1,98,98,98,98,98,1,98,98,98,98,139,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,67,4,1,1,98,98,139,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,98,35,35,35,35,159,35,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,0,0,0,0,0,67,1,1,4,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,35,0,0,0,0,35,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,67,4,1,4,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,35,35,1,1,1,7,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,1,1,1,98,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,0,0,0,18,0,0,0,0,159,159,159,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,50,159,1,98,98,159,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,0,159,1,0,0,0,0,18,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,159,1,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,1,98,0,0,0,0,0,0,0,0,1,50,0,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,159,1,98,98,1,1,159,0,0,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,159,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,1,1,1,98,1,1,1,1,159,1,0,0,139,139,0,0,0,0,0,0,0,0,0,139,139,0,0,1,159,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,98,109,109,98,98,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,98,139,98,98,98,98,109,109,98,98,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,50,1,1,1,98,98,0,0,0,0,0,98,98,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,1,1,98,0,0,0,0,0,109,109,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,98,0,0,0,0,0,109,109,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,98,50,0,0,0,0,0,0,0,0,0,0,109,1,1,98,44,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,109,109,109,109,109,98,98,98,98,0,0,0,109,98,1,98,139,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,98,139,50,0,0,0,50,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,98,98,98,0,144,0,109,98,109,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,7,7,0,0,0,0,0,0,0,0,0,0,0,7,35,35,35,0,7,1,1,98,1,98,159,159,159,98,98,109,1,7,50,0,0,0,0,0,0,0,0,0,0,0,0,50,7,35,35,35,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e0608346-08a0-490b-a6d5-96786ebd5d96","name":"Cathedral","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":20,"y":-10,"z":8},"secretType":"CHEST","preRequisite":["crypt-2:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":29,"y":12,"z":4},"secretType":"CHEST","preRequisite":["superboom-3:open"]},"chest-1":{"mechType":"Secret","secretPoint":{"x":39,"y":-11,"z":37},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"bat-2":{"mechType":"Secret","secretPoint":{"x":43,"y":8,"z":14},"secretType":"BAT","preRequisite":[]},"superboom-3":{"secretPoint":{"offsetPointList":[{"x":30,"y":13,"z":10},{"x":30,"y":11,"z":10},{"x":31,"y":14,"z":10},{"x":31,"y":13,"z":10},{"x":31,"y":12,"z":10},{"x":31,"y":11,"z":10},{"x":32,"y":14,"z":10},{"x":32,"y":13,"z":10},{"x":32,"y":12,"z":10},{"x":32,"y":11,"z":10},{"x":33,"y":13,"z":10},{"x":33,"y":12,"z":10}]},"preRequisite":[],"mechType":"BreakableWall"},"bat-1":{"mechType":"Secret","secretPoint":{"x":60,"y":16,"z":3},"secretType":"BAT","preRequisite":[]},"superboom-2":{"secretPoint":{"offsetPointList":[{"x":30,"y":13,"z":10},{"x":30,"y":11,"z":10},{"x":31,"y":14,"z":10},{"x":31,"y":13,"z":10},{"x":31,"y":12,"z":10},{"x":31,"y":11,"z":10},{"x":32,"y":14,"z":10},{"x":32,"y":13,"z":10},{"x":32,"y":12,"z":10},{"x":32,"y":11,"z":10},{"x":33,"y":13,"z":10},{"x":33,"y":12,"z":10}]},"preRequisite":[],"mechType":"BreakableWall"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":46,"y":-8,"z":41},{"x":46,"y":-10,"z":41},{"x":46,"y":-8,"z":42},{"x":46,"y":-9,"z":42},{"x":46,"y":-10,"z":42},{"x":46,"y":-11,"z":42},{"x":46,"y":-8,"z":43},{"x":46,"y":-9,"z":43},{"x":46,"y":-10,"z":43},{"x":46,"y":-11,"z":43},{"x":46,"y":-9,"z":44},{"x":46,"y":-10,"z":44},{"x":46,"y":-11,"z":44}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-3":{"mechType":"Secret","secretPoint":{"x":34,"y":23,"z":50},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":49,"y":-11,"z":25},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":22,"y":20,"z":44},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":4,"y":15,"z":21},{"x":4,"y":14,"z":21},{"x":5,"y":15,"z":21},{"x":5,"y":14,"z":21},{"x":6,"y":15,"z":21},{"x":6,"y":14,"z":21},{"x":7,"y":15,"z":21},{"x":7,"y":14,"z":21},{"x":8,"y":15,"z":21},{"x":8,"y":14,"z":21},{"x":4,"y":15,"z":22},{"x":4,"y":14,"z":22},{"x":5,"y":15,"z":22},{"x":5,"y":14,"z":22},{"x":6,"y":15,"z":22},{"x":6,"y":14,"z":22},{"x":7,"y":15,"z":22},{"x":7,"y":14,"z":22},{"x":8,"y":15,"z":22},{"x":8,"y":14,"z":22},{"x":4,"y":15,"z":23},{"x":4,"y":14,"z":23},{"x":5,"y":15,"z":23},{"x":5,"y":14,"z":23},{"x":6,"y":15,"z":23},{"x":6,"y":14,"z":23},{"x":7,"y":15,"z":23},{"x":7,"y":14,"z":23},{"x":8,"y":15,"z":23},{"x":8,"y":14,"z":23}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":11,"y":-10,"z":14},{"x":11,"y":-11,"z":14},{"x":12,"y":-10,"z":14},{"x":12,"y":-11,"z":14},{"x":13,"y":-10,"z":14},{"x":13,"y":-11,"z":14},{"x":14,"y":-10,"z":14},{"x":14,"y":-11,"z":14},{"x":11,"y":-10,"z":15},{"x":11,"y":-11,"z":15},{"x":12,"y":-10,"z":15},{"x":12,"y":-11,"z":15},{"x":13,"y":-10,"z":15},{"x":13,"y":-11,"z":15},{"x":14,"y":-10,"z":15},{"x":14,"y":-11,"z":15},{"x":11,"y":-10,"z":16},{"x":11,"y":-11,"z":16},{"x":12,"y":-10,"z":16},{"x":12,"y":-11,"z":16},{"x":13,"y":-10,"z":16},{"x":13,"y":-11,"z":16},{"x":14,"y":-10,"z":16},{"x":14,"y":-11,"z":16}]},"preRequisite":["crypt-2:open"],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":9,"y":0,"z":23},{"x":9,"y":-1,"z":23},{"x":10,"y":0,"z":23},{"x":10,"y":-1,"z":23},{"x":11,"y":0,"z":23},{"x":11,"y":-1,"z":23},{"x":9,"y":0,"z":24},{"x":9,"y":-1,"z":24},{"x":10,"y":0,"z":24},{"x":10,"y":-1,"z":24},{"x":11,"y":0,"z":24},{"x":11,"y":-1,"z":24},{"x":9,"y":0,"z":25},{"x":9,"y":-1,"z":25},{"x":10,"y":0,"z":25},{"x":10,"y":-1,"z":25},{"x":11,"y":0,"z":25},{"x":11,"y":-1,"z":25},{"x":9,"y":0,"z":26},{"x":9,"y":-1,"z":26},{"x":10,"y":0,"z":26},{"x":10,"y":-1,"z":26},{"x":11,"y":0,"z":26},{"x":11,"y":-1,"z":26}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":4,"y":0,"z":23},{"x":4,"y":-1,"z":23},{"x":5,"y":0,"z":23},{"x":5,"y":-1,"z":23},{"x":6,"y":0,"z":23},{"x":6,"y":-1,"z":23},{"x":4,"y":0,"z":24},{"x":4,"y":-1,"z":24},{"x":5,"y":0,"z":24},{"x":5,"y":-1,"z":24},{"x":6,"y":0,"z":24},{"x":6,"y":-1,"z":24},{"x":4,"y":0,"z":25},{"x":4,"y":-1,"z":25},{"x":5,"y":0,"z":25},{"x":5,"y":-1,"z":25},{"x":6,"y":0,"z":25},{"x":6,"y":-1,"z":25},{"x":4,"y":0,"z":26},{"x":4,"y":-1,"z":26},{"x":5,"y":0,"z":26},{"x":5,"y":-1,"z":26},{"x":6,"y":0,"z":26},{"x":6,"y":-1,"z":26}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":8} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e22c44d7-4094-4230-89ba-efa438aa3615.json b/src/main/resources/dgroomdata/e22c44d7-4094-4230-89ba-efa438aa3615.json new file mode 100644 index 0000000..0adbe3a --- /dev/null +++ b/src/main/resources/dgroomdata/e22c44d7-4094-4230-89ba-efa438aa3615.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":273,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,7,7,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,1,1,7,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,7,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,7,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,1,35,35,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,7,7,35,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,7,7,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,109,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,18,18,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,44,44,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,44,44,44,44,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,44,44,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,44,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,44,44,44,44,98,98,98,0,0,0,0,0,0,0,98,98,98,44,44,44,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,1,0,0,0,0,0,0,0,98,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,44,44,44,44,98,98,98,0,0,0,0,0,0,0,98,98,98,44,44,44,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,44,0,0,0,98,98,98,0,0,0,0,0,0,0,98,1,98,0,0,0,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,44,44,44,44,109,109,0,0,0,0,0,0,0,0,0,109,109,44,44,44,44,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,44,44,44,44,109,109,0,0,0,0,0,0,0,0,0,109,109,44,44,44,44,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,109,109,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,0,0,0,0,1,98,0,0,0,0,0,0,0,0,0,98,1,0,0,0,0,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e22c44d7-4094-4230-89ba-efa438aa3615","name":"catwalk","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":16,"y":-20,"z":25},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":17,"y":-7,"z":85},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":4,"y":-7,"z":25},"secretType":"CHEST","preRequisite":[]},"journal-1":{"secretPoint":{"x":6,"y":-15,"z":88},"preRequisite":[],"mechType":"Journal"},"chest-4":{"mechType":"Secret","secretPoint":{"x":13,"y":-21,"z":90},"secretType":"CHEST","preRequisite":[]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":-17,"z":24},{"x":11,"y":-18,"z":24},{"x":11,"y":-19,"z":24},{"x":11,"y":-20,"z":24},{"x":11,"y":-17,"z":25},{"x":11,"y":-18,"z":25},{"x":11,"y":-19,"z":25},{"x":11,"y":-20,"z":25},{"x":11,"y":-17,"z":26},{"x":11,"y":-18,"z":26},{"x":11,"y":-19,"z":26},{"x":11,"y":-20,"z":26}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":25,"y":-20,"z":81},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":26,"y":-9,"z":15},{"x":26,"y":-10,"z":15},{"x":27,"y":-9,"z":15},{"x":27,"y":-10,"z":15},{"x":28,"y":-9,"z":15},{"x":28,"y":-10,"z":15},{"x":29,"y":-9,"z":15},{"x":29,"y":-10,"z":15},{"x":26,"y":-9,"z":16},{"x":26,"y":-10,"z":16},{"x":27,"y":-9,"z":16},{"x":27,"y":-10,"z":16},{"x":28,"y":-9,"z":16},{"x":28,"y":-10,"z":16},{"x":29,"y":-9,"z":16},{"x":29,"y":-10,"z":16},{"x":26,"y":-9,"z":17},{"x":26,"y":-10,"z":17},{"x":27,"y":-9,"z":17},{"x":27,"y":-10,"z":17},{"x":28,"y":-9,"z":17},{"x":28,"y":-10,"z":17},{"x":29,"y":-9,"z":17},{"x":29,"y":-10,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":19,"y":-19,"z":90},{"x":19,"y":-20,"z":90},{"x":19,"y":-21,"z":90},{"x":20,"y":-19,"z":90},{"x":20,"y":-20,"z":90},{"x":20,"y":-21,"z":90},{"x":21,"y":-19,"z":90},{"x":21,"y":-20,"z":90},{"x":21,"y":-21,"z":90},{"x":19,"y":-19,"z":91},{"x":19,"y":-20,"z":91},{"x":19,"y":-21,"z":91},{"x":20,"y":-19,"z":91},{"x":20,"y":-20,"z":91},{"x":20,"y":-21,"z":91},{"x":21,"y":-19,"z":91},{"x":21,"y":-20,"z":91},{"x":21,"y":-21,"z":91}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":27,"y":-19,"z":90},{"x":27,"y":-20,"z":90},{"x":27,"y":-21,"z":90},{"x":28,"y":-19,"z":90},{"x":28,"y":-20,"z":90},{"x":28,"y":-21,"z":90},{"x":29,"y":-19,"z":90},{"x":29,"y":-20,"z":90},{"x":29,"y":-21,"z":90},{"x":27,"y":-19,"z":91},{"x":27,"y":-20,"z":91},{"x":27,"y":-21,"z":91},{"x":28,"y":-19,"z":91},{"x":28,"y":-20,"z":91},{"x":28,"y":-21,"z":91},{"x":29,"y":-19,"z":91},{"x":29,"y":-20,"z":91},{"x":29,"y":-21,"z":91}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":27,"y":-19,"z":83},{"x":27,"y":-20,"z":83},{"x":27,"y":-21,"z":83},{"x":28,"y":-19,"z":83},{"x":28,"y":-20,"z":83},{"x":28,"y":-21,"z":83},{"x":29,"y":-19,"z":83},{"x":29,"y":-20,"z":83},{"x":29,"y":-21,"z":83},{"x":27,"y":-19,"z":84},{"x":27,"y":-20,"z":84},{"x":27,"y":-21,"z":84},{"x":28,"y":-19,"z":84},{"x":28,"y":-20,"z":84},{"x":28,"y":-21,"z":84},{"x":29,"y":-19,"z":84},{"x":29,"y":-20,"z":84},{"x":29,"y":-21,"z":84}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":23,"y":-20,"z":81},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":19,"y":-19,"z":83},{"x":19,"y":-20,"z":83},{"x":19,"y":-21,"z":83},{"x":20,"y":-19,"z":83},{"x":20,"y":-20,"z":83},{"x":20,"y":-21,"z":83},{"x":21,"y":-19,"z":83},{"x":21,"y":-20,"z":83},{"x":21,"y":-21,"z":83},{"x":19,"y":-19,"z":84},{"x":19,"y":-20,"z":84},{"x":19,"y":-21,"z":84},{"x":20,"y":-19,"z":84},{"x":20,"y":-20,"z":84},{"x":20,"y":-21,"z":84},{"x":21,"y":-19,"z":84},{"x":21,"y":-20,"z":84},{"x":21,"y":-21,"z":84}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e66fe526-22c1-45bc-b4a8-d10549d7ee3f.json b/src/main/resources/dgroomdata/e66fe526-22c1-45bc-b4a8-d10549d7ee3f.json new file mode 100644 index 0000000..8010743 --- /dev/null +++ b/src/main/resources/dgroomdata/e66fe526-22c1-45bc-b4a8-d10549d7ee3f.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,50,0,0,0,0,0,50,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,0,139,0,0,0,0,0,0,0,139,18,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,98,98,0,0,0,-1,-1,-1,0,0,0,98,98,98,98,98,1,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,98,98,0,50,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,98,98,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,98,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,1,1,1,98,159,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,98,0,0,0,144,-1,-1,-1,-1],[-1,-1,-1,-1,0,1,1,1,98,98,98,98,0,0,0,-1,-1,-1,0,0,0,98,98,98,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,1,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,159,1,159,0,0,0,0,0,0,0,0,0,0,0,159,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,98,0,139,0,0,0,0,0,0,0,139,0,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,131,1,98,98,98,0,0,0,0,0,0,0,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,132,159,98,98,98,0,0,0,0,0,0,0,98,98,98,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,0,0,0,132,1,159,98,0,0,0,0,0,0,0,0,18,159,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,132,44,1,109,0,50,0,0,0,0,0,50,0,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,132,44,1,98,98,98,0,0,0,0,0,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,139,132,1,1,98,98,98,0,0,0,0,0,98,98,98,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,131,1,1,1,98,0,0,0,0,0,0,0,159,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e66fe526-22c1-45bc-b4a8-d10549d7ee3f","name":"Sarcophagus","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":27,"y":-1,"z":16},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"bat-1":{"mechType":"Secret","secretPoint":{"x":9,"y":1,"z":23},"secretType":"BAT","preRequisite":[]},"essence-1":{"mechType":"Secret","secretPoint":{"x":4,"y":-2,"z":19},"secretType":"ESSENCE","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":15,"y":0,"z":14},{"x":15,"y":-1,"z":14},{"x":16,"y":0,"z":14},{"x":16,"y":-1,"z":14},{"x":17,"y":0,"z":14},{"x":17,"y":-1,"z":14},{"x":15,"y":0,"z":15},{"x":15,"y":-1,"z":15},{"x":16,"y":0,"z":15},{"x":16,"y":-1,"z":15},{"x":17,"y":0,"z":15},{"x":17,"y":-1,"z":15},{"x":15,"y":0,"z":16},{"x":15,"y":-1,"z":16},{"x":16,"y":0,"z":16},{"x":16,"y":-1,"z":16},{"x":17,"y":0,"z":16},{"x":17,"y":-1,"z":16},{"x":15,"y":0,"z":17},{"x":15,"y":-1,"z":17},{"x":16,"y":0,"z":17},{"x":16,"y":-1,"z":17},{"x":17,"y":0,"z":17},{"x":17,"y":-1,"z":17},{"x":15,"y":0,"z":18},{"x":15,"y":-1,"z":18},{"x":16,"y":0,"z":18},{"x":16,"y":-1,"z":18},{"x":17,"y":0,"z":18},{"x":17,"y":-1,"z":18},{"x":16,"y":1,"z":14},{"x":16,"y":1,"z":15},{"x":16,"y":1,"z":16},{"x":16,"y":1,"z":17},{"x":16,"y":1,"z":18}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":23,"y":2,"z":15},{"x":23,"y":1,"z":15},{"x":23,"y":2,"z":16},{"x":23,"y":1,"z":16},{"x":23,"y":0,"z":16},{"x":23,"y":-1,"z":16},{"x":23,"y":1,"z":17},{"x":23,"y":0,"z":17},{"x":23,"y":-1,"z":17}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e6d51aea-c715-4396-986d-2e09d31993e1.json b/src/main/resources/dgroomdata/e6d51aea-c715-4396-986d-2e09d31993e1.json new file mode 100644 index 0000000..f62a99c --- /dev/null +++ b/src/main/resources/dgroomdata/e6d51aea-c715-4396-986d-2e09d31993e1.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,0,18,98,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,13,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,109,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,0,0,0,0,0,0,0,0,0,0,0,0,4,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,0,0,0,0,4,1,4,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,109,18,0,0,0,0,0,98,4,44,43,1,1,48,43,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,0,0,0,0,0,0,98,1,43,1,1,1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,44,44,44,44,1,98,48,1,1,1,1,1,1,1,1,44,44,0,0,0,0,44,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,159,159,1,48,0,1,1,98,98,1,1,1,1,1,1,-1,-1,-1,1,44,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,48,0,43,98,44,0,98,1,1,4,1,1,0,0,0,43,43,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,44,98,44,139,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,4,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,98,98,98,98,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,18,18,0,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,0,171,171,0,4,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,109,109,109,109,4,98,44,0,0,0,0,0,44,0,1,98,98,98,0,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,1,98,0,0,0,0,0,98,98,1,1,1,0,0,0,0,0,50,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,0,0,0,0,1,1,48,0,0,0,0,139,1,1,1,126,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,44,1,48,0,0,0,0,0,98,1,1,126,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,109,98,0,0,0,0,0,98,0,126,126,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,44,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,44,44,44,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,0,0,0,0,0,98,1,50,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e6d51aea-c715-4396-986d-2e09d31993e1","name":"Lava-Skull","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":24,"y":-1,"z":6},"secretType":"CHEST","preRequisite":["door-1:open"]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":29,"y":15,"z":16},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":24,"y":3,"z":12},{"x":24,"y":2,"z":12},{"x":24,"y":1,"z":12},{"x":24,"y":0,"z":12},{"x":24,"y":-1,"z":12},{"x":25,"y":3,"z":12},{"x":25,"y":2,"z":12},{"x":25,"y":1,"z":12},{"x":25,"y":0,"z":12},{"x":25,"y":-1,"z":12},{"x":26,"y":3,"z":12},{"x":26,"y":2,"z":12},{"x":26,"y":1,"z":12},{"x":26,"y":0,"z":12},{"x":26,"y":-1,"z":12}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"bat-2":{"mechType":"Secret","secretPoint":{"x":24,"y":5,"z":7},"secretType":"BAT","preRequisite":["door-1:open"]},"bat-1":{"mechType":"Secret","secretPoint":{"x":3,"y":14,"z":20},"secretType":"BAT","preRequisite":[]},"journal-1":{"secretPoint":{"x":27,"y":15,"z":8},"preRequisite":[],"mechType":"Journal"}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e773dc09-f989-4d8f-8aba-43dbb71e7b62.json b/src/main/resources/dgroomdata/e773dc09-f989-4d8f-8aba-43dbb71e7b62.json new file mode 100644 index 0000000..dbd53b2 --- /dev/null +++ b/src/main/resources/dgroomdata/e773dc09-f989-4d8f-8aba-43dbb71e7b62.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,109,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,159,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,98,98,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,98,98,109,0,0,0,0,0,0,0,0,0,0,0,139,98,1,1,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,4,4,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,109,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,139,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,44,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,44,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,4,67,67,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,67,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,4,67,67,4,98,98,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,98,98,0,0,0,139,98,0,0,0,0,0,0,139,109,109,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,0,101,101,98,98,144,0,109,109,144,0,139,98,98,0,101,101,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,4,0,0,0,67,1,159,159,159,159,159,159,159,1,67,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,67,0,0,0,4,1,1,1,1,1,1,1,1,1,67,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,67,106,0,0,4,1,1,1,1,1,1,1,1,1,4,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,4,4,4,67,4,1,1,1,1,1,1,1,1,1,4,4,67,67,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e773dc09-f989-4d8f-8aba-43dbb71e7b62","name":"Locked-away","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":5,"y":5,"z":2},"secretType":"CHEST","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":4,"y":0,"z":4},{"x":4,"y":-1,"z":4},{"x":5,"y":0,"z":4},{"x":5,"y":-1,"z":4},{"x":6,"y":0,"z":4},{"x":6,"y":-1,"z":4},{"x":7,"y":0,"z":4},{"x":7,"y":-1,"z":4},{"x":4,"y":0,"z":5},{"x":4,"y":-1,"z":5},{"x":5,"y":0,"z":5},{"x":5,"y":-1,"z":5},{"x":6,"y":0,"z":5},{"x":6,"y":-1,"z":5},{"x":7,"y":0,"z":5},{"x":7,"y":-1,"z":5},{"x":4,"y":0,"z":6},{"x":4,"y":-1,"z":6},{"x":5,"y":0,"z":6},{"x":5,"y":-1,"z":6},{"x":6,"y":0,"z":6},{"x":6,"y":-1,"z":6},{"x":7,"y":0,"z":6},{"x":7,"y":-1,"z":6}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e7e0bb38-8fc3-4d7c-a0c6-1fce55ac9082.json b/src/main/resources/dgroomdata/e7e0bb38-8fc3-4d7c-a0c6-1fce55ac9082.json new file mode 100644 index 0000000..77992ff --- /dev/null +++ b/src/main/resources/dgroomdata/e7e0bb38-8fc3-4d7c-a0c6-1fce55ac9082.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,98,159,159,159,98,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,109,109,109,98,98,98,98,98,109,144,0,0,109,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,50,0,0,0,1,159,1,98,1,139,0,0,0,139,1,109,109,98,98,98,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,98,0,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,0,98,0,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,109,109,98,98,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,98,0,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,139,98,139,0,0,0,0,0,0,0,0,0,98,0,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,1,159,0,50,1,98,1,139,0,0,0,139,1,98,109,109,98,98,98,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,1,1,1,98,98,98,98,98,98,0,0,0,98,98,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,98,0,0,0,0,0,0,0,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,98,98,1,0,0,0,0,0,1,98,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,4,4,0,0,0,0,0,0,0,0,0,98,109,109,98,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,51,4,-1,0,0,0,0,0,0,0,0,101,0,0,0,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,51,4,-1,0,0,0,0,0,0,0,0,101,0,0,0,109,0,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,51,4,-1,0,0,0,0,0,0,0,0,0,0,0,0,109,0,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,51,4,-1,0,0,0,0,0,0,0,0,101,0,0,0,98,98,98,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,4,4,4,0,0,0,0,0,0,0,0,0,98,109,109,98,98,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e7e0bb38-8fc3-4d7c-a0c6-1fce55ac9082","name":"Prison-cell","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":11,"y":6,"z":24},"secretType":"CHEST","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":11,"y":0,"z":24},{"x":11,"y":-1,"z":24},{"x":11,"y":0,"z":25},{"x":11,"y":-1,"z":25},{"x":11,"y":0,"z":26},{"x":11,"y":-1,"z":26},{"x":11,"y":0,"z":27},{"x":11,"y":-1,"z":27}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e83ed91c-4a35-4020-985a-d0306f17117a.json b/src/main/resources/dgroomdata/e83ed91c-4a35-4020-985a-d0306f17117a.json new file mode 100644 index 0000000..426ab91 --- /dev/null +++ b/src/main/resources/dgroomdata/e83ed91c-4a35-4020-985a-d0306f17117a.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":19,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,159,159,1,1,1,1,1,1,1,1,1,4,98,98,98,98,98,98,1,98,98,98,1,98,98,98,139,0,0,0,0,0,139,139,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,50,0,0,0,0,0,0,35,35,35,35,1,35,35,7,7,4,98,98,98,98,98,98,98,1,98,98,98,98,98,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,35,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,35,159,0,65,65,0,4,98,98,98,98,98,98,98,98,98,98,159,159,98,0,0,0,0,0,0,0,0,0,98,159,159,98,1,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,50,1,1,1,1,1,0,0,0,0,0,0,0,0,17,0,0,109,98,0,0,0,109,4,1,98,98,98,98,98,98,98,98,98,144,0,98,0,0,0,0,0,0,0,0,0,1,144,0,98,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,1,1,159,1,159,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,109,4,98,98,98,98,1,98,98,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,159,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,1,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,159,1,1,35,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,0,0,0,0,35,1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,17,0,0,159,1,1,1,1,1,159,0,0,0,0,0,0,0,109,98,0,0,0,109,4,4,4,4,4,139,139,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,0,0,98,144,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,159,1,1,1,159,0,0,0,0,0,0,0,109,98,0,0,0,109,4,4,4,4,4,139,139,0,0,0,0,0,0,0,139,139,98,0,0,0,98,139,139,0,0,0,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,159,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,67,67,4,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,67,67,4,4,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,159,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,109,4,4,4,4,4,1,139,0,0,0,0,0,0,0,139,139,98,0,0,0,98,98,98,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,109,4,4,4,4,4,1,1,0,0,0,0,0,0,0,139,139,0,0,0,0,0,139,139,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,98,98,98,98,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,98,98,98,98,98,1,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,98,98,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,109,109,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,98,98,0,0,0,109,4,98,98,1,1,98,98,1,98,98,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,98,98,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,98,98,0,0,0,109,4,1,98,98,1,98,98,98,98,98,98,0,0,98,0,0,0,0,0,0,0,0,0,98,0,0,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,98,98,98,98,98,98,98,98,98,98,159,159,109,0,0,0,0,0,0,0,0,0,98,159,159,1,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,1,98,98,98,98,1,1,98,1,98,98,98,109,0,0,0,0,0,0,0,0,0,1,98,98,98,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,98,98,98,98,98,98,98,98,98,98,98,98,98,139,139,0,0,0,0,0,139,98,1,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,109,109,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,67,67,4,4,4,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,109,98,98,109,0,0,0,0,0,109,98,98,109,4,4,4,4,4,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,0,98,139,0,0,0,0,0,0,0,139,98,0,67,4,4,44,44,44,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,0,50,0,0,0,0,0,0,0,0,0,0,0,67,4,4,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,67,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,67,0,98,98,0,0,0,0,0,0,0,139,98,0,4,4,4,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,67,0,98,139,0,0,0,0,0,0,0,1,98,0,4,4,4,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,50,0,0,4,4,67,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,139,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,17,44,0,0,118,0,0,44,17,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,50,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,139,50,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,50,98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,109,109,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,98,159,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,1,159,1,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,1,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,5,159,1,67,67,67,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,98,98,98,50,0,0,0,0,0,0,0,0,0,0,139,98,0,35,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e83ed91c-4a35-4020-985a-d0306f17117a","name":"Well","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":38,"y":21,"z":19},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"chest-3":{"mechType":"Secret","secretPoint":{"x":16,"y":19,"z":61},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":13,"y":18,"z":12},"secretType":"CHEST","preRequisite":[]},"dummy-1":{"secretPoint":{"x":4,"y":25,"z":3},"preRequisite":[],"mechType":"Dummy"},"essences-1":{"mechType":"Secret","secretPoint":{"x":7,"y":25,"z":8},"secretType":"ESSENCE","preRequisite":["dummy-1:click"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":30,"y":20,"z":4},{"x":30,"y":19,"z":4},{"x":30,"y":18,"z":4},{"x":30,"y":17,"z":4},{"x":30,"y":20,"z":5},{"x":30,"y":19,"z":5},{"x":30,"y":18,"z":5},{"x":30,"y":17,"z":5},{"x":30,"y":19,"z":6},{"x":30,"y":18,"z":6},{"x":30,"y":17,"z":6}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":27,"y":21,"z":59},"secretType":"ITEM_DROP","preRequisite":[]},"itemdrop-2":{"mechType":"Secret","secretPoint":{"x":46,"y":-13,"z":15},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":49,"y":9,"z":17},{"x":49,"y":8,"z":17},{"x":50,"y":9,"z":17},{"x":50,"y":8,"z":17},{"x":51,"y":9,"z":17},{"x":51,"y":8,"z":17},{"x":49,"y":9,"z":18},{"x":49,"y":8,"z":18},{"x":50,"y":9,"z":18},{"x":50,"y":8,"z":18},{"x":51,"y":9,"z":18},{"x":51,"y":8,"z":18},{"x":49,"y":9,"z":19},{"x":49,"y":8,"z":19},{"x":50,"y":9,"z":19},{"x":50,"y":8,"z":19},{"x":51,"y":9,"z":19},{"x":51,"y":8,"z":19},{"x":49,"y":9,"z":20},{"x":49,"y":8,"z":20},{"x":50,"y":9,"z":20},{"x":50,"y":8,"z":20},{"x":51,"y":9,"z":20},{"x":51,"y":8,"z":20}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":42,"y":9,"z":12},{"x":42,"y":8,"z":12},{"x":43,"y":9,"z":12},{"x":43,"y":8,"z":12},{"x":44,"y":9,"z":12},{"x":44,"y":8,"z":12},{"x":42,"y":9,"z":13},{"x":42,"y":8,"z":13},{"x":43,"y":9,"z":13},{"x":43,"y":8,"z":13},{"x":44,"y":9,"z":13},{"x":44,"y":8,"z":13},{"x":42,"y":9,"z":14},{"x":42,"y":8,"z":14},{"x":43,"y":9,"z":14},{"x":43,"y":8,"z":14},{"x":44,"y":9,"z":14},{"x":44,"y":8,"z":14},{"x":42,"y":9,"z":15},{"x":42,"y":8,"z":15},{"x":43,"y":9,"z":15},{"x":43,"y":8,"z":15},{"x":44,"y":9,"z":15},{"x":44,"y":8,"z":15}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":35,"y":9,"z":17},{"x":35,"y":8,"z":17},{"x":36,"y":9,"z":17},{"x":36,"y":8,"z":17},{"x":37,"y":9,"z":17},{"x":37,"y":8,"z":17},{"x":35,"y":9,"z":18},{"x":35,"y":8,"z":18},{"x":36,"y":9,"z":18},{"x":36,"y":8,"z":18},{"x":37,"y":9,"z":18},{"x":37,"y":8,"z":18},{"x":35,"y":9,"z":19},{"x":35,"y":8,"z":19},{"x":36,"y":9,"z":19},{"x":36,"y":8,"z":19},{"x":37,"y":9,"z":19},{"x":37,"y":8,"z":19},{"x":35,"y":9,"z":20},{"x":35,"y":8,"z":20},{"x":36,"y":9,"z":20},{"x":36,"y":8,"z":20},{"x":37,"y":9,"z":20},{"x":37,"y":8,"z":20}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":3,"y":-8,"z":21},{"x":3,"y":-9,"z":21},{"x":4,"y":-8,"z":21},{"x":4,"y":-9,"z":21},{"x":5,"y":-8,"z":21},{"x":5,"y":-9,"z":21},{"x":6,"y":-8,"z":21},{"x":6,"y":-9,"z":21},{"x":3,"y":-8,"z":22},{"x":3,"y":-9,"z":22},{"x":4,"y":-8,"z":22},{"x":4,"y":-9,"z":22},{"x":5,"y":-8,"z":22},{"x":5,"y":-9,"z":22},{"x":6,"y":-8,"z":22},{"x":6,"y":-9,"z":22},{"x":3,"y":-8,"z":23},{"x":3,"y":-9,"z":23},{"x":4,"y":-8,"z":23},{"x":4,"y":-9,"z":23},{"x":5,"y":-8,"z":23},{"x":5,"y":-9,"z":23},{"x":6,"y":-8,"z":23},{"x":6,"y":-9,"z":23},{"x":3,"y":-7,"z":22},{"x":4,"y":-7,"z":22},{"x":5,"y":-7,"z":22},{"x":6,"y":-7,"z":22}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":37,"y":18,"z":13},{"x":37,"y":17,"z":13},{"x":38,"y":18,"z":13},{"x":38,"y":17,"z":13},{"x":39,"y":18,"z":13},{"x":39,"y":17,"z":13},{"x":37,"y":18,"z":14},{"x":37,"y":17,"z":14},{"x":38,"y":18,"z":14},{"x":38,"y":17,"z":14},{"x":39,"y":18,"z":14},{"x":39,"y":17,"z":14},{"x":37,"y":18,"z":15},{"x":37,"y":17,"z":15},{"x":38,"y":18,"z":15},{"x":38,"y":17,"z":15},{"x":39,"y":18,"z":15},{"x":39,"y":17,"z":15},{"x":37,"y":18,"z":16},{"x":37,"y":17,"z":16},{"x":38,"y":18,"z":16},{"x":38,"y":17,"z":16},{"x":39,"y":18,"z":16},{"x":39,"y":17,"z":16},{"x":38,"y":19,"z":13},{"x":38,"y":19,"z":14},{"x":38,"y":19,"z":15},{"x":38,"y":19,"z":16}]},"preRequisite":["superboom-1:open"],"mechType":"Tomb"}},"totalSecrets":7} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/e9f4f98a-0913-4542-a02d-4ed3cec6f09b.json b/src/main/resources/dgroomdata/e9f4f98a-0913-4542-a02d-4ed3cec6f09b.json new file mode 100644 index 0000000..3824830 --- /dev/null +++ b/src/main/resources/dgroomdata/e9f4f98a-0913-4542-a02d-4ed3cec6f09b.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,139,139,1,1,1,0,0,7,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,134,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,134,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,166,159,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,7,35,35,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,35,139,139,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,35,35,35,159,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,35,35,35,35,0,139,98,0,0,0,0,0,98,98,0,0,0,159,159,159,159,159,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"e9f4f98a-0913-4542-a02d-4ed3cec6f09b","name":"Spikes","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":20,"y":21,"z":5},"secretType":"CHEST","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":25,"y":-15,"z":3},"secretType":"BAT","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":26,"y":22,"z":11},{"x":26,"y":21,"z":11},{"x":27,"y":22,"z":11},{"x":27,"y":21,"z":11},{"x":28,"y":22,"z":11},{"x":28,"y":21,"z":11},{"x":26,"y":22,"z":12},{"x":26,"y":21,"z":12},{"x":27,"y":22,"z":12},{"x":27,"y":21,"z":12},{"x":28,"y":22,"z":12},{"x":28,"y":21,"z":12},{"x":26,"y":22,"z":13},{"x":26,"y":21,"z":13},{"x":27,"y":22,"z":13},{"x":27,"y":21,"z":13},{"x":28,"y":22,"z":13},{"x":28,"y":21,"z":13}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":26,"y":22,"z":6},{"x":26,"y":21,"z":6},{"x":27,"y":22,"z":6},{"x":27,"y":21,"z":6},{"x":28,"y":22,"z":6},{"x":28,"y":21,"z":6},{"x":26,"y":22,"z":7},{"x":26,"y":21,"z":7},{"x":27,"y":22,"z":7},{"x":27,"y":21,"z":7},{"x":28,"y":22,"z":7},{"x":28,"y":21,"z":7},{"x":26,"y":22,"z":8},{"x":26,"y":21,"z":8},{"x":27,"y":22,"z":8},{"x":27,"y":21,"z":8},{"x":28,"y":22,"z":8},{"x":28,"y":21,"z":8}]},"preRequisite":[],"mechType":"Tomb"},"essence-1":{"mechType":"Secret","secretPoint":{"x":23,"y":-17,"z":2},"secretType":"ESSENCE","preRequisite":[]}},"totalSecrets":3} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/ed57833a-01ca-4487-b516-6c3690c6221c.json b/src/main/resources/dgroomdata/ed57833a-01ca-4487-b516-6c3690c6221c.json new file mode 100644 index 0000000..25546de --- /dev/null +++ b/src/main/resources/dgroomdata/ed57833a-01ca-4487-b516-6c3690c6221c.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":4369,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,159,159,159,159,159,159,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,7,0,9,0,0,0,0,0,0,0,0,0,0,0,159,159,159,159,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,7,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,159,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,-1,-1,-1,-1],[-1,-1,-1,-1,159,159,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,159,-1,-1,-1,-1],[-1,-1,-1,-1,159,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,159,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,159,159,159,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,35,35,1,159,159,159,159,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,159,159,159,1,1,1,1,159,159,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,159,159,1,1,1,1,1,1,1,159,159,9,9,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,159,0,0,9,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,18,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,9,9,9,0,18,0,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,159,159,159,9,9,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,159,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,1,1,1,1,1,1,1,1,1,1,159,159,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,159,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,109,98,109,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,98,98,162,0,0,139,0,0,0,0,0,0,0,139,0,0,162,1,98,98,109,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,98,50,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,44,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,44,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,139,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,109,109,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,109,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,1,0,0,0,0,0,98,98,109,0,0,0,109,98,98,0,0,0,0,0,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,67,67,67,67,67,98,1,44,0,0,0,109,1,98,67,67,67,67,67,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,1,1,43,44,44,1,1,1,1,4,4,1,4,4,4,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,1,1,1,1,1,1,1,4,1,4,4,1,1,1,1,1,1,1,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,98,98,44,44,44,44,44,1,98,67,67,67,67,67,98,1,44,44,44,44,44,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,18,18,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,18,18,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,139,0,0,0,0,98,139,0,0,0,0,0,0,0,0,0,0,0,139,98,0,0,0,0,139,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"ed57833a-01ca-4487-b516-6c3690c6221c","name":"waterfall","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":28,"y":8,"z":83},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":10,"y":12,"z":43},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":16,"y":11,"z":122},"secretType":"CHEST","preRequisite":[]},"bat-2":{"mechType":"Secret","secretPoint":{"x":4,"y":-24,"z":89},"secretType":"BAT","preRequisite":[]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":3,"y":-26,"z":9},"secretType":"ITEM_DROP","preRequisite":[]},"bat-1":{"mechType":"Secret","secretPoint":{"x":28,"y":-9,"z":71},"secretType":"BAT","preRequisite":[]},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":26,"y":-24,"z":108},{"x":26,"y":-25,"z":108},{"x":27,"y":-24,"z":108},{"x":27,"y":-25,"z":108},{"x":28,"y":-24,"z":108},{"x":28,"y":-25,"z":108},{"x":29,"y":-24,"z":108},{"x":29,"y":-25,"z":108},{"x":26,"y":-24,"z":109},{"x":26,"y":-25,"z":109},{"x":27,"y":-24,"z":109},{"x":27,"y":-25,"z":109},{"x":28,"y":-24,"z":109},{"x":28,"y":-25,"z":109},{"x":29,"y":-24,"z":109},{"x":29,"y":-25,"z":109},{"x":26,"y":-24,"z":110},{"x":26,"y":-25,"z":110},{"x":27,"y":-24,"z":110},{"x":27,"y":-25,"z":110},{"x":28,"y":-24,"z":110},{"x":28,"y":-25,"z":110},{"x":29,"y":-24,"z":110},{"x":29,"y":-25,"z":110}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":26,"y":-24,"z":103},{"x":26,"y":-25,"z":103},{"x":27,"y":-24,"z":103},{"x":27,"y":-25,"z":103},{"x":28,"y":-24,"z":103},{"x":28,"y":-25,"z":103},{"x":29,"y":-24,"z":103},{"x":29,"y":-25,"z":103},{"x":26,"y":-24,"z":104},{"x":26,"y":-25,"z":104},{"x":27,"y":-24,"z":104},{"x":27,"y":-25,"z":104},{"x":28,"y":-24,"z":104},{"x":28,"y":-25,"z":104},{"x":29,"y":-24,"z":104},{"x":29,"y":-25,"z":104},{"x":26,"y":-24,"z":105},{"x":26,"y":-25,"z":105},{"x":27,"y":-24,"z":105},{"x":27,"y":-25,"z":105},{"x":28,"y":-24,"z":105},{"x":28,"y":-25,"z":105},{"x":29,"y":-24,"z":105},{"x":29,"y":-25,"z":105}]},"preRequisite":[],"mechType":"Tomb"},"chest-4":{"mechType":"Secret","secretPoint":{"x":8,"y":14,"z":35},"secretType":"CHEST","preRequisite":[]},"prince-1":{"secretPoint":{"offsetPointList":[{"x":27,"y":-30,"z":105},{"x":27,"y":-31,"z":105},{"x":28,"y":-30,"z":105},{"x":28,"y":-31,"z":105},{"x":29,"y":-30,"z":105},{"x":29,"y":-31,"z":105},{"x":27,"y":-30,"z":106},{"x":27,"y":-31,"z":106},{"x":28,"y":-30,"z":106},{"x":28,"y":-31,"z":106},{"x":29,"y":-30,"z":106},{"x":29,"y":-31,"z":106},{"x":27,"y":-30,"z":107},{"x":27,"y":-31,"z":107},{"x":28,"y":-30,"z":107},{"x":28,"y":-31,"z":107},{"x":29,"y":-30,"z":107},{"x":29,"y":-31,"z":107},{"x":27,"y":-30,"z":108},{"x":27,"y":-31,"z":108},{"x":28,"y":-30,"z":108},{"x":28,"y":-31,"z":108},{"x":29,"y":-30,"z":108},{"x":29,"y":-31,"z":108}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":-23,"z":48},{"x":3,"y":-24,"z":48},{"x":3,"y":-25,"z":48},{"x":3,"y":-26,"z":48},{"x":4,"y":-23,"z":48},{"x":4,"y":-24,"z":48},{"x":4,"y":-25,"z":48},{"x":4,"y":-26,"z":48}]},"preRequisite":[],"mechType":"BreakableWall"},"chest-5":{"mechType":"Secret","secretPoint":{"x":4,"y":-26,"z":54},"secretType":"CHEST","preRequisite":["superboom-1:open:::::::::"]}},"totalSecrets":8} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/ef097340-7c03-407d-b634-7bf7af551d01.json b/src/main/resources/dgroomdata/ef097340-7c03-407d-b634-7bf7af551d01.json new file mode 100644 index 0000000..222f917 --- /dev/null +++ b/src/main/resources/dgroomdata/ef097340-7c03-407d-b634-7bf7af551d01.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,98,98,98,98,98,1,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,98,1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,109,1,98,98,1,98,98,98,109,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,109,109,98,98,98,98,18,98,109,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,109,109,109,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,1,0,0,0,0,0,0,0,139,0,0,0,0,0,0,0,1,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"ef097340-7c03-407d-b634-7bf7af551d01","name":"Small-stairs","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":4,"y":12,"z":7},"secretType":"CHEST","preRequisite":["superboom-1:open"]},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":25,"y":-7,"z":3},"secretType":"ITEM_DROP","preRequisite":[]},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":27,"y":12,"z":15},{"x":27,"y":11,"z":15},{"x":28,"y":12,"z":15},{"x":28,"y":11,"z":15},{"x":29,"y":12,"z":15},{"x":29,"y":11,"z":15},{"x":27,"y":12,"z":16},{"x":27,"y":11,"z":16},{"x":28,"y":12,"z":16},{"x":28,"y":11,"z":16},{"x":29,"y":12,"z":16},{"x":29,"y":11,"z":16},{"x":27,"y":12,"z":17},{"x":27,"y":11,"z":17},{"x":28,"y":12,"z":17},{"x":28,"y":11,"z":17},{"x":29,"y":12,"z":17},{"x":29,"y":11,"z":17},{"x":27,"y":12,"z":18},{"x":27,"y":11,"z":18},{"x":28,"y":12,"z":18},{"x":28,"y":11,"z":18},{"x":29,"y":12,"z":18},{"x":29,"y":11,"z":18}]},"preRequisite":[],"mechType":"Tomb"},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":3,"y":14,"z":14},{"x":3,"y":13,"z":14},{"x":3,"y":12,"z":14},{"x":3,"y":11,"z":14},{"x":4,"y":14,"z":14},{"x":4,"y":13,"z":14},{"x":4,"y":12,"z":14},{"x":4,"y":11,"z":14},{"x":5,"y":14,"z":14},{"x":5,"y":13,"z":14},{"x":5,"y":12,"z":14},{"x":5,"y":11,"z":14}]},"preRequisite":[],"mechType":"BreakableWall"}},"totalSecrets":2} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/f8bee714-de5b-4007-a572-575fcd467c82.json b/src/main/resources/dgroomdata/f8bee714-de5b-4007-a572-575fcd467c82.json new file mode 100644 index 0000000..a7066f1 --- /dev/null +++ b/src/main/resources/dgroomdata/f8bee714-de5b-4007-a572-575fcd467c82.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,98,159,1,1,1,4,50,0,0,0,50,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,-1,-1,-1,4,1,1,4,0,0,0,0,0,4,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,-1,-1,-1,4,1,1,4,1,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,-1,-1,-1,4,1,1,1,4,-1,-1,-1,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,50,-1,-1,-1,50,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,98,98,0,0,0,0,0,98,98,1,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,98,98,98,0,0,0,0,0,1,98,98,0,0,0,0,0,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,98,50,-1,-1,-1,50,1,1,1,50,-1,-1,-1,50,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,67,-1,-1,-1,4,1,1,1,67,-1,-1,-1,67,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,-1,-1,-1,4,1,1,1,4,-1,-1,-1,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,4,4,4,4,4,-1,-1,-1,4,1,1,1,4,-1,-1,-1,4,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,159,98,159,1,1,1,1,1,159,98,159,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"f8bee714-de5b-4007-a572-575fcd467c82","name":"sanctuary","processorId":"default","properties":{},"mechanics":{"chest-1":{"mechType":"Secret","secretPoint":{"x":18,"y":-1,"z":5},"secretType":"CHEST","preRequisite":["door-1:open"]},"door-1":{"secretPoint":{"offsetPointList":[{"x":17,"y":1,"z":9},{"x":17,"y":0,"z":9},{"x":17,"y":-1,"z":9},{"x":18,"y":1,"z":9},{"x":18,"y":0,"z":9},{"x":18,"y":-1,"z":9},{"x":19,"y":1,"z":9},{"x":19,"y":0,"z":9},{"x":19,"y":-1,"z":9}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":2,"y":10,"z":14},"preRequisite":[],"triggering":"door-1"},"crypt-10":{"secretPoint":{"offsetPointList":[{"x":17,"y":0,"z":22},{"x":17,"y":-1,"z":22},{"x":18,"y":0,"z":22},{"x":18,"y":-1,"z":22},{"x":19,"y":0,"z":22},{"x":19,"y":-1,"z":22},{"x":17,"y":0,"z":23},{"x":17,"y":-1,"z":23},{"x":18,"y":0,"z":23},{"x":18,"y":-1,"z":23},{"x":19,"y":0,"z":23},{"x":19,"y":-1,"z":23},{"x":17,"y":0,"z":24},{"x":17,"y":-1,"z":24},{"x":18,"y":0,"z":24},{"x":18,"y":-1,"z":24},{"x":19,"y":0,"z":24},{"x":19,"y":-1,"z":24},{"x":17,"y":0,"z":25},{"x":17,"y":-1,"z":25},{"x":18,"y":0,"z":25},{"x":18,"y":-1,"z":25},{"x":19,"y":0,"z":25},{"x":19,"y":-1,"z":25}]},"preRequisite":[],"mechType":"Tomb"},"crypt-9":{"secretPoint":{"offsetPointList":[{"x":9,"y":0,"z":22},{"x":9,"y":-1,"z":22},{"x":10,"y":0,"z":22},{"x":10,"y":-1,"z":22},{"x":11,"y":0,"z":22},{"x":11,"y":-1,"z":22},{"x":9,"y":0,"z":23},{"x":9,"y":-1,"z":23},{"x":10,"y":0,"z":23},{"x":10,"y":-1,"z":23},{"x":11,"y":0,"z":23},{"x":11,"y":-1,"z":23},{"x":9,"y":0,"z":24},{"x":9,"y":-1,"z":24},{"x":10,"y":0,"z":24},{"x":10,"y":-1,"z":24},{"x":11,"y":0,"z":24},{"x":11,"y":-1,"z":24},{"x":9,"y":0,"z":25},{"x":9,"y":-1,"z":25},{"x":10,"y":0,"z":25},{"x":10,"y":-1,"z":25},{"x":11,"y":0,"z":25},{"x":11,"y":-1,"z":25}]},"preRequisite":[],"mechType":"Tomb"},"crypt-8":{"secretPoint":{"offsetPointList":[{"x":9,"y":0,"z":7},{"x":9,"y":-1,"z":7},{"x":10,"y":0,"z":7},{"x":10,"y":-1,"z":7},{"x":11,"y":0,"z":7},{"x":11,"y":-1,"z":7},{"x":9,"y":0,"z":8},{"x":9,"y":-1,"z":8},{"x":10,"y":0,"z":8},{"x":10,"y":-1,"z":8},{"x":11,"y":0,"z":8},{"x":11,"y":-1,"z":8},{"x":9,"y":0,"z":9},{"x":9,"y":-1,"z":9},{"x":10,"y":0,"z":9},{"x":10,"y":-1,"z":9},{"x":11,"y":0,"z":9},{"x":11,"y":-1,"z":9},{"x":9,"y":0,"z":10},{"x":9,"y":-1,"z":10},{"x":10,"y":0,"z":10},{"x":10,"y":-1,"z":10},{"x":11,"y":0,"z":10},{"x":11,"y":-1,"z":10}]},"preRequisite":[],"mechType":"Tomb"},"crypt-7":{"secretPoint":{"offsetPointList":[{"x":9,"y":6,"z":27},{"x":9,"y":5,"z":27},{"x":10,"y":6,"z":27},{"x":10,"y":5,"z":27},{"x":11,"y":6,"z":27},{"x":11,"y":5,"z":27},{"x":9,"y":6,"z":28},{"x":9,"y":5,"z":28},{"x":10,"y":6,"z":28},{"x":10,"y":5,"z":28},{"x":11,"y":6,"z":28},{"x":11,"y":5,"z":28},{"x":9,"y":6,"z":29},{"x":9,"y":5,"z":29},{"x":10,"y":6,"z":29},{"x":10,"y":5,"z":29},{"x":11,"y":6,"z":29},{"x":11,"y":5,"z":29},{"x":9,"y":6,"z":30},{"x":9,"y":5,"z":30},{"x":10,"y":6,"z":30},{"x":10,"y":5,"z":30},{"x":11,"y":6,"z":30},{"x":11,"y":5,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-6":{"secretPoint":{"offsetPointList":[{"x":17,"y":6,"z":27},{"x":17,"y":5,"z":27},{"x":18,"y":6,"z":27},{"x":18,"y":5,"z":27},{"x":19,"y":6,"z":27},{"x":19,"y":5,"z":27},{"x":17,"y":6,"z":28},{"x":17,"y":5,"z":28},{"x":18,"y":6,"z":28},{"x":18,"y":5,"z":28},{"x":19,"y":6,"z":28},{"x":19,"y":5,"z":28},{"x":17,"y":6,"z":29},{"x":17,"y":5,"z":29},{"x":18,"y":6,"z":29},{"x":18,"y":5,"z":29},{"x":19,"y":6,"z":29},{"x":19,"y":5,"z":29},{"x":17,"y":6,"z":30},{"x":17,"y":5,"z":30},{"x":18,"y":6,"z":30},{"x":18,"y":5,"z":30},{"x":19,"y":6,"z":30},{"x":19,"y":5,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-5":{"secretPoint":{"offsetPointList":[{"x":25,"y":6,"z":27},{"x":25,"y":5,"z":27},{"x":26,"y":6,"z":27},{"x":26,"y":5,"z":27},{"x":27,"y":6,"z":27},{"x":27,"y":5,"z":27},{"x":25,"y":6,"z":28},{"x":25,"y":5,"z":28},{"x":26,"y":6,"z":28},{"x":26,"y":5,"z":28},{"x":27,"y":6,"z":28},{"x":27,"y":5,"z":28},{"x":25,"y":6,"z":29},{"x":25,"y":5,"z":29},{"x":26,"y":6,"z":29},{"x":26,"y":5,"z":29},{"x":27,"y":6,"z":29},{"x":27,"y":5,"z":29},{"x":25,"y":6,"z":30},{"x":25,"y":5,"z":30},{"x":26,"y":6,"z":30},{"x":26,"y":5,"z":30},{"x":27,"y":6,"z":30},{"x":27,"y":5,"z":30}]},"preRequisite":[],"mechType":"Tomb"},"crypt-4":{"secretPoint":{"offsetPointList":[{"x":23,"y":3,"z":14},{"x":23,"y":2,"z":14},{"x":24,"y":3,"z":14},{"x":24,"y":2,"z":14},{"x":25,"y":3,"z":14},{"x":25,"y":2,"z":14},{"x":26,"y":3,"z":14},{"x":26,"y":2,"z":14},{"x":27,"y":3,"z":14},{"x":27,"y":2,"z":14},{"x":23,"y":3,"z":15},{"x":23,"y":2,"z":15},{"x":24,"y":3,"z":15},{"x":24,"y":2,"z":15},{"x":25,"y":3,"z":15},{"x":25,"y":2,"z":15},{"x":26,"y":3,"z":15},{"x":26,"y":2,"z":15},{"x":27,"y":3,"z":15},{"x":27,"y":2,"z":15},{"x":23,"y":3,"z":16},{"x":23,"y":2,"z":16},{"x":24,"y":3,"z":16},{"x":24,"y":2,"z":16},{"x":25,"y":3,"z":16},{"x":25,"y":2,"z":16},{"x":26,"y":3,"z":16},{"x":26,"y":2,"z":16},{"x":27,"y":3,"z":16},{"x":27,"y":2,"z":16},{"x":23,"y":3,"z":17},{"x":23,"y":2,"z":17},{"x":24,"y":3,"z":17},{"x":24,"y":2,"z":17},{"x":25,"y":3,"z":17},{"x":25,"y":2,"z":17},{"x":26,"y":3,"z":17},{"x":26,"y":2,"z":17},{"x":27,"y":3,"z":17},{"x":27,"y":2,"z":17},{"x":23,"y":3,"z":18},{"x":23,"y":2,"z":18},{"x":24,"y":3,"z":18},{"x":24,"y":2,"z":18},{"x":25,"y":3,"z":18},{"x":25,"y":2,"z":18},{"x":26,"y":3,"z":18},{"x":26,"y":2,"z":18},{"x":27,"y":3,"z":18},{"x":27,"y":2,"z":18}]},"preRequisite":[],"mechType":"Tomb"},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":25,"y":6,"z":2},{"x":25,"y":5,"z":2},{"x":26,"y":6,"z":2},{"x":26,"y":5,"z":2},{"x":27,"y":6,"z":2},{"x":27,"y":5,"z":2},{"x":25,"y":6,"z":3},{"x":25,"y":5,"z":3},{"x":26,"y":6,"z":3},{"x":26,"y":5,"z":3},{"x":27,"y":6,"z":3},{"x":27,"y":5,"z":3},{"x":25,"y":6,"z":4},{"x":25,"y":5,"z":4},{"x":26,"y":6,"z":4},{"x":26,"y":5,"z":4},{"x":27,"y":6,"z":4},{"x":27,"y":5,"z":4},{"x":25,"y":6,"z":5},{"x":25,"y":5,"z":5},{"x":26,"y":6,"z":5},{"x":26,"y":5,"z":5},{"x":27,"y":6,"z":5},{"x":27,"y":5,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":17,"y":6,"z":2},{"x":17,"y":5,"z":2},{"x":18,"y":6,"z":2},{"x":18,"y":5,"z":2},{"x":19,"y":6,"z":2},{"x":19,"y":5,"z":2},{"x":17,"y":6,"z":3},{"x":17,"y":5,"z":3},{"x":18,"y":6,"z":3},{"x":18,"y":5,"z":3},{"x":19,"y":6,"z":3},{"x":19,"y":5,"z":3},{"x":17,"y":6,"z":4},{"x":17,"y":5,"z":4},{"x":18,"y":6,"z":4},{"x":18,"y":5,"z":4},{"x":19,"y":6,"z":4},{"x":19,"y":5,"z":4},{"x":17,"y":6,"z":5},{"x":17,"y":5,"z":5},{"x":18,"y":6,"z":5},{"x":18,"y":5,"z":5},{"x":19,"y":6,"z":5},{"x":19,"y":5,"z":5}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":9,"y":6,"z":2},{"x":9,"y":5,"z":2},{"x":9,"y":4,"z":2},{"x":10,"y":6,"z":2},{"x":10,"y":5,"z":2},{"x":10,"y":4,"z":2},{"x":11,"y":6,"z":2},{"x":11,"y":5,"z":2},{"x":11,"y":4,"z":2},{"x":9,"y":6,"z":3},{"x":9,"y":5,"z":3},{"x":9,"y":4,"z":3},{"x":10,"y":6,"z":3},{"x":10,"y":5,"z":3},{"x":10,"y":4,"z":3},{"x":11,"y":6,"z":3},{"x":11,"y":5,"z":3},{"x":11,"y":4,"z":3},{"x":9,"y":6,"z":4},{"x":9,"y":5,"z":4},{"x":9,"y":4,"z":4},{"x":10,"y":6,"z":4},{"x":10,"y":5,"z":4},{"x":10,"y":4,"z":4},{"x":11,"y":6,"z":4},{"x":11,"y":5,"z":4},{"x":11,"y":4,"z":4},{"x":9,"y":6,"z":5},{"x":9,"y":5,"z":5},{"x":9,"y":4,"z":5},{"x":10,"y":6,"z":5},{"x":10,"y":5,"z":5},{"x":10,"y":4,"z":5},{"x":11,"y":6,"z":5},{"x":11,"y":5,"z":5},{"x":11,"y":4,"z":5}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":1} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/fd34b23c-ce7c-4df6-9f5b-0aa23ba9a758.json b/src/main/resources/dgroomdata/fd34b23c-ce7c-4df6-9f5b-0aa23ba9a758.json new file mode 100644 index 0000000..140aa1e --- /dev/null +++ b/src/main/resources/dgroomdata/fd34b23c-ce7c-4df6-9f5b-0aa23ba9a758.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":7,"color":63,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,44,4,4,4,44,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,0,0,0,0,0,0,0,109,1,98,98,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,1,98,98,98,98,1,98,44,4,4,4,44,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,109,98,98,0,0,0,0,0,0,0,98,98,1,98,159,159,159,159,1,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,98,1,98,44,4,4,4,44,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,98,98,0,0,43,43,43,0,0,98,159,44,0,0,0,0,0,0,0,109,98,1,98,109,109,109,109,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,98,98,1,98,98,98,98,98,44,44,44,44,44,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,1,0,0,43,43,43,0,0,98,159,0,0,0,0,0,0,0,0,109,1,98,98,0,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,1,98,1,98,98,98,98,98,98,98,98,98,98,1,109,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,188,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,43,43,43,0,0,98,98,98,0,0,0,0,0,0,0,98,98,98,109,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,98,98,98,98,98,98,98,139,30,0,0,0,0,98,1,17,0,0,0,17,98,98,0,0,0,0,0,98,98,98,98,98,0,0,109,98,0,0,0,0,0,109,98,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,0,98,159,98,98,109,0,0,0,0,109,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,1,98,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,139,0,0,0,0,0,98,98,0,0,0,0,0,98,139,0,0,0,0,0,98,98,98,1,98,159,159,98,98,0,0,0,0,0,109,98,0,0,0,0,0,0,0,98,98,98,98,0,0,0,0,0,109,44,159,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,1,0,0,0,0,0,98,98,109,109,98,98,1,98,98,98,98,1,98,98,98,98,98,98,98,98,0,18,0,0,0,0,0,0,154,0,0,0,0,0,154,0,0,0,0,0,85,0,85,109,98,98,98,98,159,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,109,109,0,0,0,0,0,0,0,0,0,144,159,1,98,-1,-1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,50,98,98,17,0,171,171,0,17,98,1,98,1,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,159,98,0,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,65,98,109,109,98,98,1,1,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,85,0,98,98,98,98,159,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,139,0,0,0,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,1,98,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,98,98,98,98,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,69,98,98,98,98,98,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,109,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,-1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,98,98,98,98,98,98,109,44,144,0,0,109,109,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,159,159,159,159,159,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,98,98,0,0,0,0,0,0,98,98,1,1,98,98,98,98,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,1,98,98,98,98,98,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,0,0,0,50,109,-1,-1,-1,-1],[-1,-1,-1,-1,50,0,0,0,0,0,0,98,1,17,0,171,171,0,17,98,98,98,98,98,98,98,1,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,159,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,144,0,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,109,109,109,109,98,98,98,98,98,98,98,98,98,98,98,98,1,98,0,0,0,0,0,0,0,0,154,0,0,0,0,0,154,0,0,0,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,98,159,159,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,1,98,98,98,98,98,98,98,98,98,98,98,1,0,0,0,0,0,98,98,0,0,0,0,0,1,1,0,0,0,0,0,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,109,109,98,0,0,0,0,0,139,1,0,0,0,0,0,109,44,159,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,1,1,98,1,98,98,98,98,98,18,0,0,0,0,98,98,0,0,0,0,0,98,98,0,0,0,0,0,98,1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,98,98,1,139,0,0,0,0,98,98,0,0,0,0,0,109,159,98,98,1,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,98,98,98,98,98,98,1,1,109,0,0,0,0,0,0,109,109,0,0,0,0,0,109,109,98,98,98,98,98,1,98,1,98,98,1,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,1,98,98,1,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,98,98,98,98,1,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,98,98,98,98,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,98,98,98,98,98,98,1,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,1,98,98,98,98,98,98,98,98,98,98,98,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,1,98,98,98,98,98,1,98,-1,-1,-1,-1],[-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,98,98,98,98,98,1,98,98,98,98,98,98,98,98,1,98,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,98,98,98,98,1,98,98,98,98,98,98,98,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,98,98,98,98,1,98,98,-1,-1,-1,-1],[-1,-1,-1,-1,98,0,0,0,0,0,98,98,0,0,0,0,0,0,0,98,1,98,98,98,98,1,98,98,98,98,1,98,98,98,98,98,1,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,159,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,144,0,0,0,144,98,98,0,0,0,0,0,98,98,98,98,98,98,98,98,98,1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"fd34b23c-ce7c-4df6-9f5b-0aa23ba9a758","name":"Deathmite","processorId":"default","properties":{},"mechanics":{"chest-2":{"mechType":"Secret","secretPoint":{"x":68,"y":12,"z":16},"secretType":"CHEST","preRequisite":[]},"chest-3":{"mechType":"Secret","secretPoint":{"x":84,"y":22,"z":28},"secretType":"CHEST","preRequisite":[]},"chest-1":{"mechType":"Secret","secretPoint":{"x":70,"y":-10,"z":11},"secretType":"CHEST","preRequisite":[]},"lever-1":{"mechType":"OnewayLever","leverPoint":{"x":54,"y":0,"z":16},"preRequisite":[],"triggering":"door-1"},"door-1":{"secretPoint":{"offsetPointList":[{"x":28,"y":0,"z":15},{"x":28,"y":-1,"z":15},{"x":28,"y":-2,"z":15},{"x":28,"y":-3,"z":15},{"x":28,"y":-4,"z":15},{"x":28,"y":-5,"z":15},{"x":28,"y":0,"z":16},{"x":28,"y":-1,"z":16},{"x":28,"y":-2,"z":16},{"x":28,"y":-3,"z":16},{"x":28,"y":-4,"z":16},{"x":28,"y":-5,"z":16},{"x":28,"y":0,"z":17},{"x":28,"y":-1,"z":17},{"x":28,"y":-2,"z":17},{"x":28,"y":-3,"z":17},{"x":28,"y":-4,"z":17},{"x":28,"y":-5,"z":17}]},"preRequisite":["lever-1:triggered"],"mechType":"OnewayDoor"},"deathmite-1":{"secretPoint":{"offsetPointList":[{"x":14,"y":14,"z":14},{"x":15,"y":14,"z":14},{"x":14,"y":14,"z":15},{"x":15,"y":14,"z":15},{"x":14,"y":14,"z":16},{"x":15,"y":14,"z":16},{"x":14,"y":14,"z":17},{"x":15,"y":14,"z":17}]},"preRequisite":[],"mechType":"Tomb"},"bat-1":{"mechType":"Secret","secretPoint":{"x":85,"y":26,"z":26},"secretType":"BAT","preRequisite":[]},"chest-4":{"mechType":"Secret","secretPoint":{"x":13,"y":-1,"z":16},"secretType":"CHEST","preRequisite":["door-1:open"]},"superboom-1":{"secretPoint":{"offsetPointList":[{"x":89,"y":1,"z":11},{"x":89,"y":0,"z":11},{"x":89,"y":-1,"z":11},{"x":90,"y":2,"z":11},{"x":90,"y":1,"z":11},{"x":90,"y":0,"z":11},{"x":90,"y":-1,"z":11}]},"preRequisite":[],"mechType":"BreakableWall"},"itemdrop-1":{"mechType":"Secret","secretPoint":{"x":89,"y":-1,"z":7},"secretType":"ITEM_DROP","preRequisite":["superboom-1:open"]},"crypt-3":{"secretPoint":{"offsetPointList":[{"x":45,"y":17,"z":4},{"x":45,"y":16,"z":4},{"x":46,"y":17,"z":4},{"x":46,"y":16,"z":4},{"x":47,"y":17,"z":4},{"x":47,"y":16,"z":4},{"x":45,"y":17,"z":5},{"x":45,"y":16,"z":5},{"x":46,"y":17,"z":5},{"x":46,"y":16,"z":5},{"x":47,"y":17,"z":5},{"x":47,"y":16,"z":5},{"x":45,"y":17,"z":6},{"x":45,"y":16,"z":6},{"x":46,"y":17,"z":6},{"x":46,"y":16,"z":6},{"x":47,"y":17,"z":6},{"x":47,"y":16,"z":6},{"x":45,"y":17,"z":7},{"x":45,"y":16,"z":7},{"x":46,"y":17,"z":7},{"x":46,"y":16,"z":7},{"x":47,"y":17,"z":7},{"x":47,"y":16,"z":7}]},"preRequisite":[],"mechType":"Tomb"},"crypt-2":{"secretPoint":{"offsetPointList":[{"x":35,"y":17,"z":25},{"x":35,"y":16,"z":25},{"x":36,"y":17,"z":25},{"x":36,"y":16,"z":25},{"x":37,"y":17,"z":25},{"x":37,"y":16,"z":25},{"x":35,"y":17,"z":26},{"x":35,"y":16,"z":26},{"x":36,"y":17,"z":26},{"x":36,"y":16,"z":26},{"x":37,"y":17,"z":26},{"x":37,"y":16,"z":26},{"x":35,"y":17,"z":27},{"x":35,"y":16,"z":27},{"x":36,"y":17,"z":27},{"x":36,"y":16,"z":27},{"x":37,"y":17,"z":27},{"x":37,"y":16,"z":27},{"x":35,"y":17,"z":28},{"x":35,"y":16,"z":28},{"x":36,"y":17,"z":28},{"x":36,"y":16,"z":28},{"x":37,"y":17,"z":28},{"x":37,"y":16,"z":28}]},"preRequisite":[],"mechType":"Tomb"},"crypt-1":{"secretPoint":{"offsetPointList":[{"x":40,"y":17,"z":25},{"x":40,"y":16,"z":25},{"x":41,"y":17,"z":25},{"x":41,"y":16,"z":25},{"x":42,"y":17,"z":25},{"x":42,"y":16,"z":25},{"x":40,"y":17,"z":26},{"x":40,"y":16,"z":26},{"x":41,"y":17,"z":26},{"x":41,"y":16,"z":26},{"x":42,"y":17,"z":26},{"x":42,"y":16,"z":26},{"x":40,"y":17,"z":27},{"x":40,"y":16,"z":27},{"x":41,"y":17,"z":27},{"x":41,"y":16,"z":27},{"x":42,"y":17,"z":27},{"x":42,"y":16,"z":27},{"x":40,"y":17,"z":28},{"x":40,"y":16,"z":28},{"x":41,"y":17,"z":28},{"x":41,"y":16,"z":28},{"x":42,"y":17,"z":28},{"x":42,"y":16,"z":28}]},"preRequisite":[],"mechType":"Tomb"}},"totalSecrets":6} \ No newline at end of file diff --git a/src/main/resources/dgroomdata/ffd5411b-6ff4-4f60-b387-72f00510ec50.json b/src/main/resources/dgroomdata/ffd5411b-6ff4-4f60-b387-72f00510ec50.json new file mode 100644 index 0000000..22f58c9 --- /dev/null +++ b/src/main/resources/dgroomdata/ffd5411b-6ff4-4f60-b387-72f00510ec50.json @@ -0,0 +1 @@ +{"isUserMade":false,"shape":1,"color":66,"blocks":[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,-1,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,-1,-1,0,0,0,0,0,-1,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,-1,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,-1,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,-1,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,0,0,0,0,0,-1,-1,0,0,0,0,0,0,0,-1,-1,0,0,0,0,0,-1,-1,1,-1,-1,-1],[-1,-1,-1,-1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,0,0,0,0,0,0,0,-1,0,-1,0,0,0,-1,0,-1,0,0,0,0,0,0,0,-1,1,-1,-1,-1],[-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,0,0,0,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,-1,0,0,0,0,0,-1,1,1,1,1,1,-1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,-1,0,0,0,0,0,-1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,1,1,1,1,1,1,1,1,1,1,-1,0,0,0,0,0,-1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"uuid":"ffd5411b-6ff4-4f60-b387-72f00510ec50","name":"puzzle-teleport2","processorId":"puzzle_teleport_solver","properties":{},"mechanics":{},"totalSecrets":0} \ No newline at end of file diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 322f01d..36b6796 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -4,11 +4,10 @@ "name": "Dungeon Rooms Mod", "description": "Adds Secret Waypoints and tells you the name of your current room in Skyblock Dungeons.", "version": "${version}", - "mcversion": "${mcversion}", + "mcversion": "1.8.9", "url": "https://discord.gg/7B5RbsArYK", "updateUrl": "", "authorList": ["_risk (aka Quantizr)"], - "credits": "", "logoFile": "assets/dungeonrooms/logo.png", "screenshots": [], "dependencies": [] diff --git a/src/main/resources/roomdataindex.txt b/src/main/resources/roomdataindex.txt new file mode 100644 index 0000000..a313784 --- /dev/null +++ b/src/main/resources/roomdataindex.txt @@ -0,0 +1,118 @@ +roomdata/e773dc09-f989-4d8f-8aba-43dbb71e7b62.json +roomdata/e22c44d7-4094-4230-89ba-efa438aa3615.json +roomdata/12080b02-4ccc-49ce-9eaf-e7d8946f3984.json +roomdata/44d9b135-d2ca-4350-969e-6e9c34af2fe6.json +roomdata/b2dce4ed-2bda-4303-a4d7-3ebb914db318.json +roomdata/7d975e04-15c8-40cb-8c12-d664edc1b0d7.json +roomdata/2f7927cc-4ce0-4f02-a81a-88d5709248e8.json +roomdata/990f6e4c-f7cf-4d27-ae91-11219b85861f.json +roomdata/4f8be93c-f3e7-47ca-9e0d-87261f5fc386.json +roomdata/1ae1d65c-2c72-4ed6-afab-84d0de759e1e.json +roomdata/dc5d63b3-3dc4-41f1-a79c-973271ba71c2.json +roomdata/01949106-2ddc-4601-9b4c-e934f5d373a6.json +roomdata/4ed557b1-553c-4ecc-b3c1-88dd9da6d33c.json +roomdata/b2df250c-4af2-4201-963c-0ee1cb6bd3de.json +roomdata/c9078cd2-91d4-457d-ae30-3579293821da.json +roomdata/1df3a849-2a5b-451d-8bd7-971eb608363c.json +roomdata/e6d51aea-c715-4396-986d-2e09d31993e1.json +roomdata/e66fe526-22c1-45bc-b4a8-d10549d7ee3f.json +roomdata/9890fbac-d382-4525-ab88-fe1ebc118702.json +roomdata/4ffce449-eab8-470b-bc8c-d30507248fc2.json +roomdata/95c57abe-34d4-443c-baac-11d43cbc821f.json +roomdata/e7e0bb38-8fc3-4d7c-a0c6-1fce55ac9082.json +roomdata/23d6e1f6-efa3-476b-b452-ad5cf6a37be9.json +roomdata/9b949f89-1542-4bcf-9bf3-063ec69bc5f4.json +roomdata/0877607a-b8a2-433a-b893-f4de7c83378a.json +roomdata/54aaf168-7039-48dc-99a3-8d1f02d79097.json +roomdata/65d8264d-f47c-4306-b89f-46e28b117511.json +roomdata/067df8a7-9d28-4fdd-a538-c6d38f126cd2.json +roomdata/b58cfdf5-a11d-4f28-b3c4-6576e5157374.json +roomdata/2b5cb4ef-00a3-4aae-baec-d2094a158d60.json +roomdata/5b6968ce-4a5b-4a48-8cb3-423ff9a7788d.json +roomdata/9a0e71bf-babd-421e-a785-442c13d5a8b2.json +roomdata/ffd5411b-6ff4-4f60-b387-72f00510ec50.json +roomdata/4538898f-8e79-4d53-aae6-08e4df6abb61.json +roomdata/ae5b48ac-43ec-4837-a34e-ac70cba71481.json +roomdata/9087fdc7-43e2-4736-b53b-33477ac65351.json +roomdata/d4a015ae-f123-4696-8fb6-719b5a21b623.json +roomdata/25956a46-7094-4a9e-b5d9-c9f8291ffef4.json +roomdata/6367a338-dd48-4c30-9e03-7ff6b5c7a936.json +roomdata/5000be9d-3081-4a5e-8563-dd826705663a.json +roomdata/70a1451a-5430-40bd-b20b-13245aac910a.json +roomdata/54008e69-d31e-4ed2-9ad0-870a3ad5ee1a.json +roomdata/3acb9949-d252-4f16-9983-a1fcdc38a6cf.json +roomdata/2ccc73b5-883f-4436-9b8f-1a32123b2cb9.json +roomdata/41086d97-5e36-41a5-88ff-d3fb296791ce.json +roomdata/cab054ed-b9ea-4f54-9d23-9864a50789f0.json +roomdata/a5b419e7-49ee-4d6d-bdce-470f508b315d.json +roomdata/40fb4b64-18d7-4301-b899-0da7b1d466c1.json +roomdata/d3e61abf-4198-4520-a950-a03761a0eb6f.json +roomdata/a7321dea-d35f-44f9-a5b0-0bcaf414dc12.json +roomdata/2d9705f3-2e69-4035-905d-6b11d6ee270b.json +roomdata/09c3072e-3099-4019-a577-7ddc17a9e29d.json +roomdata/b9e8fcee-dce8-40fd-8f3a-d8cb5c3edd70.json +roomdata/6b0dfb3e-c86c-41d1-8526-a172027dbb8d.json +roomdata/83e1ab6b-ad44-469e-a6bf-71c6bebcab4b.json +roomdata/9fa09d68-c483-4320-872e-9e07b049ee37.json +roomdata/35fb741d-b0b1-471a-a5b6-8224f99a1133.json +roomdata/42029218-9142-4286-b184-e17b3734886f.json +roomdata/e83ed91c-4a35-4020-985a-d0306f17117a.json +roomdata/3406a386-c56d-47de-a0ad-aa0ab74d2abb.json +roomdata/cf6d49d3-4f1e-4ec9-836e-049573793ddd.json +roomdata/296fd7ea-4ac5-46e5-beb9-5d27019e3796.json +roomdata/91068a01-bd3e-402c-99aa-e148f9f04c41.json +roomdata/e9f4f98a-0913-4542-a02d-4ed3cec6f09b.json +roomdata/4e8087d2-0c64-4558-b4ff-4be94275a320.json +roomdata/02b94b9a-8990-446a-993a-9b59de987b16.json +roomdata/6dcddc04-c094-4b9b-8c05-b101e8f3dd27.json +roomdata/15083814-fb7b-4791-b5d7-0810dd396b01.json +roomdata/5aef2a82-42a3-495a-9e72-63a9b611e1cb.json +roomdata/43c74bd0-77f6-4a2b-8edb-c227a72abf0f.json +roomdata/ed57833a-01ca-4487-b516-6c3690c6221c.json +roomdata/81cf3e0b-70c5-4803-9169-7e7864b096ce.json +roomdata/8f317c52-6550-42dd-829b-2a477389fe89.json +roomdata/7a594650-2a42-46e5-81a6-9b7d198e9c1c.json +roomdata/250624ee-bb7a-4330-b698-a78f5e44ba99.json +roomdata/00d66020-b34e-429d-9fd3-696bc15cfce2.json +roomdata/a053f4fa-d6b2-4aef-ae3e-97c7eee0252e.json +roomdata/fd34b23c-ce7c-4df6-9f5b-0aa23ba9a758.json +roomdata/a7f00d0f-bbf5-4d80-8eed-f3e28477879c.json +roomdata/9cd523a2-0c7f-4072-a374-9b99d59554ea.json +roomdata/86a3b53b-6ede-43bd-8988-135001149d4b.json +roomdata/ef097340-7c03-407d-b634-7bf7af551d01.json +roomdata/6b7256ae-8673-4c2f-825f-6cd727801ea9.json +roomdata/1e8d4327-7465-4bff-a8c7-505528273985.json +roomdata/05ba6123-3468-4ec3-8e32-0553a8e5d3b2.json +roomdata/a069f006-0728-4952-8d9f-1d318cee60d8.json +roomdata/845aec22-bc9e-4d50-b8de-db67188232e9.json +roomdata/e0608346-08a0-490b-a6d5-96786ebd5d96.json +roomdata/8b4ec0bf-b783-4e66-b5fa-89493ac6efa1.json +roomdata/31766264-1004-492f-9d65-cb5deaff82f0.json +roomdata/8116e928-56f1-4e0b-933a-f86b841938c8.json +roomdata/c1b1eaf0-d6de-4d1f-944b-e1b3205ef7d0.json +roomdata/8c184746-6857-480a-958e-f22e09bb1295.json +roomdata/9139cb1c-b6f3-4bac-92de-909b1eb73449.json +roomdata/07ce87bb-a49a-412b-a8f7-c9dde9f884de.json +roomdata/38affd31-fc6f-44cd-a41e-ae7d0589ba0d.json +roomdata/d712ae5b-903a-4d80-96ee-8ee54b050ea5.json +roomdata/a2c5d503-55e7-4e5c-8fc0-5d37f2ac19bf.json +roomdata/4067578d-c259-4f89-8b88-a891b2decbbf.json +roomdata/f8bee714-de5b-4007-a572-575fcd467c82.json +roomdata/388e95fc-4775-4747-8473-5329fbb8e5cc.json +roomdata/340c5665-e59b-42c1-bf84-8fc03d38981f.json +roomdata/31749ba0-8b9d-4129-b3c9-ee78d9fdb9d7.json +roomdata/8e6409d8-ea3f-4348-ae30-f8f1e15d05b9.json +roomdata/7dd6596f-c647-4144-9eec-fb4690e12251.json +roomdata/c6c65c08-893a-42f7-ad9e-cecc0f0bdeaf.json +roomdata/a1c8fd24-c105-49b6-ba56-51dfbb7023cb.json +roomdata/a0c57185-4e1a-4fdd-979d-6ed0957e78fb.json +roomdata/cf44c95c-950e-49e0-aa4c-82c2b18d0acc.json +roomdata/6fac9602-c596-458f-9750-9b331e2cb845.json +roomdata/11982f7f-703e-4d98-9d27-4e07ba3fef71.json +roomdata/dfe5d13c-3284-4ad3-aadf-9719f2c12a6e.json +roomdata/63634341-8ef3-4197-aafa-17f5875dd307.json +roomdata/c6ebcdb2-4ea8-4387-b997-031bd56f7e3b.json +roomdata/c2ea0a41-d495-437f-86cc-235a71c49f22.json +roomdata/9650cb39-5f22-45f4-86cd-5d197a4266e5.json +roomdata/4b5f4983-0453-4402-821c-804f092d1ecd.json +roomdata/34639497-d991-4137-83c4-db0a25542b71.json