diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2023-09-16 12:33:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-16 12:33:05 -0400 |
commit | f6289ce26020d9be6053b028a4bd15e341ef962d (patch) | |
tree | ef9c0a5476371e4a2b767961891ca8fb4f1c2396 /src/main/java | |
parent | 045e5c5c8693b9c71b32672df404c129995ed867 (diff) | |
download | Skyblocker-f6289ce26020d9be6053b028a4bd15e341ef962d.tar.gz Skyblocker-f6289ce26020d9be6053b028a4bd15e341ef962d.tar.bz2 Skyblocker-f6289ce26020d9be6053b028a4bd15e341ef962d.zip |
Update Dungeon Secrets (#306)
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java index 18b63793..ac389d34 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java @@ -179,8 +179,8 @@ public class DungeonSecrets { } dungeonFutures.add(CompletableFuture.runAsync(() -> { try (BufferedReader roomsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/dungeonrooms.json")); BufferedReader waypointsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/secretlocations.json"))) { - SkyblockerMod.GSON.fromJson(roomsReader, JsonObject.class).asMap().forEach((room, jsonElement) -> roomsJson.put(room.toLowerCase(), jsonElement)); - SkyblockerMod.GSON.fromJson(waypointsReader, JsonObject.class).asMap().forEach((room, jsonElement) -> waypointsJson.put(room.toLowerCase(), jsonElement)); + loadJson(roomsReader, roomsJson); + loadJson(waypointsReader, waypointsJson); LOGGER.debug("[Skyblocker] Loaded dungeon secrets json"); } catch (Exception e) { LOGGER.error("[Skyblocker] Failed to load dungeon secrets json", e); @@ -201,6 +201,15 @@ public class DungeonSecrets { } } + /** + * Loads the json from the given {@link BufferedReader} into the given {@link Map}. + * @param reader the reader to read the json from + * @param map the map to load into + */ + private static void loadJson(BufferedReader reader, Map<String, JsonElement> map) { + SkyblockerMod.GSON.fromJson(reader, JsonObject.class).asMap().forEach((room, jsonElement) -> map.put(room.toLowerCase().replaceAll(" ", "-"), jsonElement)); + } + private static ArgumentBuilder<FabricClientCommandSource, RequiredArgumentBuilder<FabricClientCommandSource, Integer>> markSecretsCommand(boolean found) { return argument("secret", IntegerArgumentType.integer()).executes(context -> { int secretIndex = IntegerArgumentType.getInteger(context, "secret"); |