From a68c4aaae74db6192db9157bf9d4b01e0ec2a023 Mon Sep 17 00:00:00 2001 From: KoutaChan <76502083+KoutaChan@users.noreply.github.com> Date: Sat, 23 Mar 2024 20:03:00 +0900 Subject: [PATCH 1/6] feat: Add Zodd-1 room --- .../dungeons/catacombs/DungeonManager.java | 2 + .../dungeons/catacombs/RoomDetection.java | 33 +++++++++----- .../quantizr/dungeonrooms/utils/MapUtils.java | 41 +++++++++++++++--- .../catacombs/1x1/Temple-3.skeleton | Bin 72491 -> 73991 bytes .../catacombs/1x1/Zodd-1.skeleton | Bin 0 -> 68718 bytes .../assets/dungeonrooms/dungeonrooms.json | 34 +++++++++++---- .../assets/dungeonrooms/secretlocations.json | 15 +++++-- 7 files changed, 97 insertions(+), 28 deletions(-) create mode 100644 src/main/resources/assets/dungeonrooms/catacombs/1x1/Zodd-1.skeleton 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 index 6771ebd..574de42 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java @@ -49,6 +49,7 @@ public class DungeonManager { public static Point entrancePhysicalNWCorner; public static int tickAmount = 0; + public static Integer mapId; long bloodTime = Long.MAX_VALUE; @@ -159,6 +160,7 @@ public void onWorldUnload(WorldEvent.Unload event) { tickAmount = 0; gameStage = 0; + mapId = null; map = null; entranceMapCorners = null; entrancePhysicalNWCorner = null; 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 index 20ddb82..b20dea3 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java @@ -28,14 +28,18 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.settings.GameSettings; +import net.minecraft.item.ItemStack; 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 java.util.*; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import static io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager.*; @@ -55,7 +59,6 @@ public class RoomDetection { 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; @@ -72,12 +75,14 @@ public class RoomDetection { @SubscribeEvent public void onTick(TickEvent.ClientTickEvent event) { if (event.phase != TickEvent.Phase.START) return; - EntityPlayerSP player = mc.thePlayer; - if (!Utils.inCatacombs) return; + EntityPlayerSP player = mc.thePlayer; //From this point forward, everything assumes that Utils.inCatacombs == true if (gameStage == 2) { //Room clearing phase + if (mapId == null && extractMapId() == null) // Extract the map id + return; // If we failed to extract the map id, we cannot detect the dungeon room + stage2Ticks++; if (stage2Ticks == 10) { stage2Ticks = 0; @@ -194,12 +199,12 @@ public void onTick(TickEvent.ClientTickEvent event) { if (possibleRoomsSet.size() == 0) { //no match - DungeonRooms.textToDisplay = new ArrayList<>(Arrays.asList( + 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; + )); + redoScan = System.currentTimeMillis() + 5000; } else if (possibleRoomsSet.size() == 1) { //room found roomName = possibleRoomsSet.first(); @@ -228,7 +233,6 @@ public void onTick(TickEvent.ClientTickEvent event) { } } - void updateCurrentRoom() { EntityPlayerSP player = mc.thePlayer; map = MapUtils.updatedMap(); @@ -273,6 +277,15 @@ public static void resetCurrentRoom() { Waypoints.secretNum = 0; } + public static Integer extractMapId() { + if (!MapUtils.mapExists()) + return null; + ItemStack mapSlot = Minecraft.getMinecraft().thePlayer.inventory.getStackInSlot(8); //get map ItemStack + // MapUtils.updatedMap(mapSlot); // - Skip check + DungeonRooms.logger.info("DungeonRooms: Extracting the map id"); + return mapId = mapSlot.getMetadata(); + } + public static void newRoom() { if (!roomName.equals("undefined") && !roomCategory.equals("undefined")) { //update Waypoints info @@ -450,4 +463,4 @@ Future>> getPossibleRooms() { return updatedPossibleRooms; }); } -} +} \ No newline at end of file diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java index 2855b08..21bc999 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java @@ -18,6 +18,9 @@ package io.github.quantizr.dungeonrooms.utils; +import io.github.quantizr.dungeonrooms.DungeonRooms; +import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; +import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; import net.minecraft.init.Items; @@ -45,16 +48,42 @@ public static boolean mapExists() { } /** - * Reads the hotbar map and converts it into a 2D Integer array of RGB colors which can be used by the rest of the + * Reads the map data 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); + return updatedMap(DungeonManager.mapId); + } + + /** + * Reads the map data 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(int mapId) { + return updatedMap((MapData) Minecraft.getMinecraft().theWorld.getMapStorage().loadData(MapData.class, "map_" + mapId)); + } + + /** + * 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(ItemStack mapSlot) { + return updatedMap(Items.filled_map.getMapData(mapSlot, Minecraft.getMinecraft().theWorld)); + } + + /** + * Reads the map data 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(MapData mapData) { if(mapData == null) return null; Integer[][] map = new Integer[128][128]; @@ -448,4 +477,4 @@ public static BlockPos relativeToActual(BlockPos relative, String cornerDirectio } return new BlockPos(x, relative.getY(), z); } -} +} \ No newline at end of file diff --git a/src/main/resources/assets/dungeonrooms/catacombs/1x1/Temple-3.skeleton b/src/main/resources/assets/dungeonrooms/catacombs/1x1/Temple-3.skeleton index a0be54e0b48471c6c4c3a5f130c99c523d8e6859..b2193e712c24dea256456c4ee4b976a7ef74e874 100644 GIT binary patch literal 73991 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 pr>*?O;KeuqY$n)$=8{tYqS_r(AJ literal 72491 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 diff --git a/src/main/resources/assets/dungeonrooms/catacombs/1x1/Zodd-1.skeleton b/src/main/resources/assets/dungeonrooms/catacombs/1x1/Zodd-1.skeleton new file mode 100644 index 0000000000000000000000000000000000000000..099d5547ebec4cadce4f7e2af8317b50b28a0c05 GIT binary patch literal 68718 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dungeonrooms/dungeonrooms.json b/src/main/resources/assets/dungeonrooms/dungeonrooms.json index 5303f6b..a6c7f4c 100644 --- a/src/main/resources/assets/dungeonrooms/dungeonrooms.json +++ b/src/main/resources/assets/dungeonrooms/dungeonrooms.json @@ -891,54 +891,70 @@ "category": "1x1", "secrets": 3, "fairysoul": false, - "sbp": "redstone-skull" + "dsg": "null", + "sbp": null }, "Sewer-7": { "category": "1x4", "secrets": 7, "fairysoul": false, - "sbp": "sewer" + "dsg": "null", + "sbp": null }, "Altar-6": { "category": "L-shape", "secrets": 6, "fairysoul": false, - "sbp": "altar" + "dsg": "null", + "sbp": null }, "Slime-5": { "category": "1x3", "secrets": 5, "fairysoul": false, - "sbp": "slime" + "dsg": "null", + "sbp": null }, "Crypts-1": { "category": "1x1", "secrets": 1, "fairysoul": false, - "sbp": "crypts" + "dsg": "null", + "sbp": null }, "Draw-Bridge-6": { "category": "1x1", "secrets": 6, "fairysoul": false, - "sbp": "draw-bridge" + "dsg": "null", + "sbp": null }, "Double-Stair-3": { "category": "1x1", "secrets": 3, "fairysoul": false, - "sbp": "double-stair" + "dsg": "null", + "sbp": null }, "Lava-Skulls-3": { "category": "1x1", "secrets": 3, "fairysoul": false, - "sbp": "lava-skulls" + "dsg": "null", + "sbp": null }, "Four-Banner-1": { "category": "1x1", "secrets": 1, "fairysoul": false, - "sbp": "four-banner" + "dsg": "null", + "sbp": null + }, + "Zodd-1": { + "category": "1x1", + "secrets": 1, + "fairysoul": false, + "dsg": "null", + "sbp": null } } \ No newline at end of file diff --git a/src/main/resources/assets/dungeonrooms/secretlocations.json b/src/main/resources/assets/dungeonrooms/secretlocations.json index d5e3834..d315277 100644 --- a/src/main/resources/assets/dungeonrooms/secretlocations.json +++ b/src/main/resources/assets/dungeonrooms/secretlocations.json @@ -5504,7 +5504,7 @@ "z":24 }, { - "secretName":"3 - Stonk (may locked)", + "secretName":"3 - Stonk", "category":"stonk", "x":63, "y":55, @@ -5521,7 +5521,7 @@ "secretName":"3 - Entrance", "category":"entrance", "x":63, - "y":55, + "y":54, "z":7 }, { @@ -5981,5 +5981,14 @@ "y":94, "z":26 } + ], + "Zodd-1": [ + { + "secretName":"1 - Chest", + "category":"chest", + "x":7, + "y":70, + "z":3 + } ] -} +} \ No newline at end of file From 503542d48a6d7edc4aafeaa14820eb123252923c Mon Sep 17 00:00:00 2001 From: KoutaChan <76502083+KoutaChan@users.noreply.github.com> Date: Sun, 24 Mar 2024 14:41:12 +0900 Subject: [PATCH 2/6] fix: use #mapExists --- .../dungeonrooms/dungeons/catacombs/DungeonManager.java | 3 +-- .../java/io/github/quantizr/dungeonrooms/utils/MapUtils.java | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) 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 index 574de42..89e2e34 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java @@ -114,8 +114,7 @@ public void onTick(TickEvent.ClientTickEvent event) { DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); } - Integer[][] map = MapUtils.updatedMap(); - if (map != null) { + if (MapUtils.mapExists()) { DungeonRooms.logger.warn("DungeonRooms: Run started but gameStage is not on 2"); gameStage = 2; DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java index 21bc999..37a302d 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java @@ -18,9 +18,7 @@ package io.github.quantizr.dungeonrooms.utils; -import io.github.quantizr.dungeonrooms.DungeonRooms; import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; -import io.github.quantizr.dungeonrooms.dungeons.catacombs.RoomDetection; import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; import net.minecraft.init.Items; @@ -31,8 +29,8 @@ import net.minecraft.world.storage.MapData; import java.awt.*; -import java.util.*; import java.util.List; +import java.util.*; public class MapUtils { From 05f5940fde4f2601402345d8c24c9c4b64d852a9 Mon Sep 17 00:00:00 2001 From: KoutaChan <76502083+KoutaChan@users.noreply.github.com> Date: Sun, 24 Mar 2024 15:31:11 +0900 Subject: [PATCH 3/6] fix: Correct the messages --- .../dungeons/catacombs/RoomDetection.java | 12 ++++++------ .../quantizr/dungeonrooms/handlers/OpenLink.java | 2 +- .../github/quantizr/dungeonrooms/utils/MapUtils.java | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) 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 index b20dea3..2e86b72 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/RoomDetection.java @@ -95,16 +95,16 @@ public void onTick(TickEvent.ClientTickEvent event) { 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"); + DungeonRooms.logger.info("DungeonRooms: Getting entrance map corners from map data..."); + } else if (entranceMapCorners[0] == null || entranceMapCorners[1] == null) { //prevent crashes if map data bugged + DungeonRooms.logger.warn("DungeonRooms: Entrance room not found, map data 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?")); + + "Dungeon Rooms: Error with map data, perhaps your texture pack is interfering with room detection?")); DungeonRooms.textToDisplay = new ArrayList<>(Collections.singletonList( - "Dungeon Rooms: " + EnumChatFormatting.RED + "Hotbar map may be bugged" + "Dungeon Rooms: " + EnumChatFormatting.RED + "Entrance Room corner not found" )); //gameStage = 4; //DungeonRooms.logger.info("DungeonRooms: gameStage set to " + gameStage); @@ -147,7 +147,7 @@ public void onTick(TickEvent.ClientTickEvent event) { updateCurrentRoom(); if (roomColor.equals("undefined")) { DungeonRooms.textToDisplay = new ArrayList<>(Collections.singletonList("Dungeon Rooms: " - + EnumChatFormatting.RED + "Waiting for hotbar map to update...")); + + EnumChatFormatting.RED + "Waiting for map data to update...")); } else { switch (roomColor) { case "brown": diff --git a/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java b/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java index d14a8e8..f94d159 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/handlers/OpenLink.java @@ -69,7 +69,7 @@ public static void checkForLink(String type){ 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)); + + "Dungeon Rooms: You need the Skyblock Personalized (SBP) Mod for this feature, get it from ").appendSibling(sbp)); } break; } diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java index 37a302d..8ba0166 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java @@ -66,7 +66,7 @@ public static Integer[][] updatedMap(int mapId) { } /** - * Reads the hotbar map and converts it into a 2D Integer array of RGB colors which can be used by the rest of the + * Reads the map item 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 From 552c9561fc4c5a597acf9547ce49e0b3c31b4719 Mon Sep 17 00:00:00 2001 From: KoutaChan <76502083+KoutaChan@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:40:54 +0900 Subject: [PATCH 4/6] fix: use map data --- .../io/github/quantizr/dungeonrooms/utils/MapUtils.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java index 8ba0166..12e5ae4 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java @@ -18,6 +18,7 @@ package io.github.quantizr.dungeonrooms.utils; +import io.github.quantizr.dungeonrooms.DungeonRooms; import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; @@ -335,10 +336,7 @@ public static String roomCategory(String roomSize, String roomColor) { * @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); + MapData mapData = (MapData) Minecraft.getMinecraft().theWorld.getMapStorage().loadData(MapData.class, "map_" + DungeonManager.mapId); if(mapData == null) return null; if (mapData.mapDecorations != null) { for (Map.Entry entry : mapData.mapDecorations.entrySet()) { From 92899e5c24842c9eb8cfbb3918848488176ea157 Mon Sep 17 00:00:00 2001 From: KoutaChan <76502083+KoutaChan@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:41:52 +0900 Subject: [PATCH 5/6] refactor: remove unused import --- .../java/io/github/quantizr/dungeonrooms/utils/MapUtils.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java index 12e5ae4..eddad78 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/utils/MapUtils.java @@ -18,7 +18,6 @@ package io.github.quantizr.dungeonrooms.utils; -import io.github.quantizr.dungeonrooms.DungeonRooms; import io.github.quantizr.dungeonrooms.dungeons.catacombs.DungeonManager; import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; From 066ac4dc6da866734741fb61de90b4056bde513f Mon Sep 17 00:00:00 2001 From: KoutaChan <76502083+KoutaChan@users.noreply.github.com> Date: Sun, 24 Mar 2024 18:08:54 +0900 Subject: [PATCH 6/6] fix: optimize for rejoining --- .../dungeonrooms/dungeons/catacombs/DungeonManager.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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 index 89e2e34..31dc1dc 100644 --- a/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java +++ b/src/main/java/io/github/quantizr/dungeonrooms/dungeons/catacombs/DungeonManager.java @@ -48,7 +48,6 @@ public class DungeonManager { public static Point[] entranceMapCorners; public static Point entrancePhysicalNWCorner; - public static int tickAmount = 0; public static Integer mapId; long bloodTime = Long.MAX_VALUE; @@ -91,9 +90,8 @@ public void onTick(TickEvent.ClientTickEvent event) { 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 (gameStage == 0 || gameStage == 1) { if (DungeonRooms.firstLogin) { DungeonRooms.firstLogin = false; @@ -148,15 +146,12 @@ public void onTick(TickEvent.ClientTickEvent event) { } oddRun = !oddRun; } - - tickAmount = 0; } } @SubscribeEvent public void onWorldUnload(WorldEvent.Unload event) { Utils.inCatacombs = false; - tickAmount = 0; gameStage = 0; mapId = null;