aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-13 06:42:24 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-13 06:42:24 +0200
commitc8f81f0fc19ffe0778ea3d0ebb7e34d7f7ac76da (patch)
tree2f12ac9dc1f30c314904ff0cebc0d81a95fb27b0 /src/main/java/at/hannibal2/skyhanni/data
parentca01ffa10846f8fabc0fe77d915575171e895160 (diff)
downloadSkyHanni-c8f81f0fc19ffe0778ea3d0ebb7e34d7f7ac76da.tar.gz
SkyHanni-c8f81f0fc19ffe0778ea3d0ebb7e34d7f7ac76da.tar.bz2
SkyHanni-c8f81f0fc19ffe0778ea3d0ebb7e34d7f7ac76da.zip
hopefully fixed finnegan perk detection and calculation logic
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/MayorElectionData.kt13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/MayorElectionData.kt b/src/main/java/at/hannibal2/skyhanni/data/MayorElectionData.kt
index 634958217..70f30a021 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/MayorElectionData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/MayorElectionData.kt
@@ -53,9 +53,14 @@ class MayorElectionData {
SkyHanniMod.coroutineScope.launch {
val url = "https://api.hypixel.net/resources/skyblock/election"
val jsonObject = withContext(Dispatchers.IO) { APIUtil.getJSONResponse(url) }
- rawMayorData = gson.fromJson(jsonObject, MayorData::class.java).also {
- candidates = mapOf(it.mayor.election.getPairs(), it.current.getPairs())
+ rawMayorData = gson.fromJson(jsonObject, MayorData::class.java)
+ val data = rawMayorData ?: return@launch
+ val map = mutableMapOf<Int, Candidate>()
+ map put data.mayor.election.getPairs()
+ data.current?.let {
+ map put data.current.getPairs()
}
+ candidates = map
}
}
@@ -79,4 +84,8 @@ class MayorElectionData {
private fun MayorData.Election.getPairs() = year + 1 to candidates.bestCandidate()
private fun List<MayorData.Candidate>.bestCandidate() = maxBy { it.votes }
+
+ private infix fun <K, V> MutableMap<K, V>.put(pairs: Pair<K, V>) {
+ this[pairs.first] = pairs.second
+ }
} \ No newline at end of file