summaryrefslogtreecommitdiff
path: root/src/main/java/at/lorenz/mod/dungeon
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/lorenz/mod/dungeon')
-rw-r--r--src/main/java/at/lorenz/mod/dungeon/DungeonData.kt34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/at/lorenz/mod/dungeon/DungeonData.kt b/src/main/java/at/lorenz/mod/dungeon/DungeonData.kt
new file mode 100644
index 000000000..d14183d99
--- /dev/null
+++ b/src/main/java/at/lorenz/mod/dungeon/DungeonData.kt
@@ -0,0 +1,34 @@
+package at.lorenz.mod.dungeon
+
+import at.lorenz.mod.events.DungeonEnterEvent
+import at.lorenz.mod.misc.ScoreboardData
+import at.lorenz.mod.utils.LorenzUtils
+import net.minecraftforge.event.world.WorldEvent
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+import net.minecraftforge.fml.common.gameevent.TickEvent
+
+class DungeonData {
+
+ var dungeonFloor: String? = null
+
+ @SubscribeEvent
+ fun onTick(event: TickEvent.ClientTickEvent) {
+ if (event.phase != TickEvent.Phase.START) return
+ if (LorenzUtils.inDungeons) {
+ if (dungeonFloor == null) {
+ for (line in ScoreboardData.sidebarLines) {
+ if (line.contains("The Catacombs (")) {
+ dungeonFloor = line.substringAfter("(").substringBefore(")")
+ DungeonEnterEvent(dungeonFloor!!).postAndCatch()
+ break
+ }
+ }
+ }
+ }
+ }
+
+ @SubscribeEvent
+ fun onWorldChange(event: WorldEvent.Load) {
+ dungeonFloor = null
+ }
+} \ No newline at end of file