summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/HyPixelData.kt24
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/IslandType.kt22
2 files changed, 39 insertions, 7 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/HyPixelData.kt b/src/main/java/at/hannibal2/skyhanni/data/HyPixelData.kt
index e1c466762..24738893f 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/HyPixelData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/HyPixelData.kt
@@ -17,7 +17,7 @@ class HyPixelData {
companion object {
var hypixel = false
var skyBlock = false
- var skyBlockIsland: String = ""
+ var skyBlockIsland = IslandType.UNKNOWN
//Ironman, Stranded and Bingo
var noTrade = false
@@ -133,14 +133,24 @@ class HyPixelData {
guesting = true
}
}
- if (guesting) {
- newIsland = "$newIsland guesting"
+
+ var islandType = IslandType.getBySidebarName(newIsland)
+
+ if (islandType == IslandType.PRIVATE_ISLAND) {
+ if (guesting) {
+ islandType = IslandType.PRIVATE_ISLAND_GUEST
+ }
}
- if (skyBlockIsland != newIsland) {
- IslandChangeEvent(newIsland, skyBlockIsland).postAndCatch()
- loggerIslandChange.log(newIsland)
- skyBlockIsland = newIsland
+ if (skyBlockIsland != islandType) {
+ IslandChangeEvent(islandType, skyBlockIsland).postAndCatch()
+ if (islandType == IslandType.UNKNOWN) {
+ println("Unknown island detected: '$newIsland'")
+ loggerIslandChange.log("Unknown: '$newIsland'")
+ } else {
+ loggerIslandChange.log(islandType.name)
+ }
+ skyBlockIsland = islandType
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/IslandType.kt b/src/main/java/at/hannibal2/skyhanni/data/IslandType.kt
new file mode 100644
index 000000000..527cce548
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/IslandType.kt
@@ -0,0 +1,22 @@
+package at.hannibal2.skyhanni.data
+
+enum class IslandType(val displayName: String) {
+ PRIVATE_ISLAND("Private Island"),
+ PRIVATE_ISLAND_GUEST("Private Island Guest"),
+ THE_END("The End"),
+ KUUDRA_ARENA("Instanced"),
+ CRIMSON_ISLE("Crimson Isle"),
+
+ HUB("Hub"),
+ THE_FARMING_ISLANDS("The Farming Islands"),
+
+ NONE(""),
+ UNKNOWN("???"),
+ ;
+
+ companion object {
+ fun getBySidebarName(name: String): IslandType {
+ return values().firstOrNull { it.displayName == name } ?: UNKNOWN
+ }
+ }
+} \ No newline at end of file