aboutsummaryrefslogtreecommitdiff
path: root/ingame/src/main/kotlin/moe/nea89/sbdata/dungeon
diff options
context:
space:
mode:
Diffstat (limited to 'ingame/src/main/kotlin/moe/nea89/sbdata/dungeon')
-rw-r--r--ingame/src/main/kotlin/moe/nea89/sbdata/dungeon/DungeonMapCoordinates.kt29
1 files changed, 29 insertions, 0 deletions
diff --git a/ingame/src/main/kotlin/moe/nea89/sbdata/dungeon/DungeonMapCoordinates.kt b/ingame/src/main/kotlin/moe/nea89/sbdata/dungeon/DungeonMapCoordinates.kt
index 02df59c..4fe9a8a 100644
--- a/ingame/src/main/kotlin/moe/nea89/sbdata/dungeon/DungeonMapCoordinates.kt
+++ b/ingame/src/main/kotlin/moe/nea89/sbdata/dungeon/DungeonMapCoordinates.kt
@@ -14,6 +14,8 @@ import java.awt.datatransfer.StringSelection
object DungeonMapCoordinates {
+ var logMarkers = false
+
init {
Commands.addSubCommand("map") {
when (args.firstOrNull()) {
@@ -34,6 +36,25 @@ object DungeonMapCoordinates {
}
}
}
+ "logmarkers" -> {
+ if (args.size == 2) {
+ when (args[1]) {
+ "on" -> {
+ logMarkers = true
+ reply("Turned on marker order logging")
+ }
+ "off" -> {
+ logMarkers = false
+ reply("Turned off marker order logging")
+ }
+ else -> {
+ reply("logmarkers <on/off>")
+ }
+ }
+ } else {
+ reply("Marker order logging is ${if (logMarkers) "on" else "off"}.")
+ }
+ }
"load" -> {
val base = SBData.configDirectory.resolve("mapdata")
base.mkdirs()
@@ -89,8 +110,16 @@ object DungeonMapCoordinates {
.firstNotNullOfOrNull { FLOOR_REGEX.find(it) }
?.let { it.groupValues[1] } ?: return
logPosition(player, playerMarker, floor)
+ if (logMarkers) {
+ println("-----------")
+ mapData.mapDecorations.entries.sortedBy { it.key }.forEach { (key, value) ->
+ println(" $key -> ${value.func_176112_b().toInt() / 2 + 64} ${value.func_176113_c().toInt() / 2 + 64}")
+ }
+ println("-----------")
+ }
}
+
fun logPosition(player: EntityPlayerSP, playerMarker: Vec4b, floor: String) {
val coordList = coords.computeIfAbsent(floor) { hashSetOf() }
val coordEntry = Coordinates(