From 0c711242c8d96517e49e0ecc7a081f8e15cdd7ed Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Sat, 7 Jan 2023 03:11:17 +0100 Subject: Introduced IslandType enum. --- .../java/at/hannibal2/skyhanni/data/HyPixelData.kt | 24 +++++++++++++++------- .../java/at/hannibal2/skyhanni/data/IslandType.kt | 22 ++++++++++++++++++++ 2 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 src/main/java/at/hannibal2/skyhanni/data/IslandType.kt (limited to 'src/main/java/at/hannibal2/skyhanni/data') 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 -- cgit