aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-10-07 20:55:50 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-10-07 20:55:50 +0200
commit6c113fc08517dc9781b93725816dda4cb043c12c (patch)
treefe8d2ac4d87d16f084c0a17fc0f6b9c3340a708a /src
parent9dc01ba47fc99e2a115f2304153973f02c45c061 (diff)
downloadskyhanni-6c113fc08517dc9781b93725816dda4cb043c12c.tar.gz
skyhanni-6c113fc08517dc9781b93725816dda4cb043c12c.tar.bz2
skyhanni-6c113fc08517dc9781b93725816dda4cb043c12c.zip
add support for dynamic bingo ranks
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt18
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanks.java11
4 files changed, 25 insertions, 18 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
index fd56e2bc0..df9171aa1 100644
--- a/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
+++ b/src/main/java/at/hannibal2/skyhanni/SkyHanniMod.kt
@@ -6,6 +6,7 @@ import at.hannibal2.skyhanni.config.Features
import at.hannibal2.skyhanni.config.SackData
import at.hannibal2.skyhanni.config.commands.Commands.init
import at.hannibal2.skyhanni.data.ActionBarStatsData
+import at.hannibal2.skyhanni.data.BingoAPI
import at.hannibal2.skyhanni.data.BlockData
import at.hannibal2.skyhanni.data.ChatManager
import at.hannibal2.skyhanni.data.CropAccessoryData
@@ -361,6 +362,7 @@ class SkyHanniMod {
loadModule(PurseAPI())
loadModule(RiftAPI)
loadModule(SackAPI)
+ loadModule(BingoAPI)
// features
loadModule(BazaarOrderHelper())
diff --git a/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt
index 8eac5b720..ca2557af0 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt
@@ -1,17 +1,17 @@
package at.hannibal2.skyhanni.data
-object BingoAPI {
+import at.hannibal2.skyhanni.events.RepositoryReloadEvent
+import at.hannibal2.skyhanni.utils.jsonobjects.BingoRanks
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+object BingoAPI {
private var ranks = mapOf<String, Int>()
- init {
- ranks = mapOf(
- "§7Ⓑ" to 0,
- "§aⒷ" to 1,
- "§9Ⓑ" to 2,
- "§5Ⓑ" to 3,
- "§6Ⓑ" to 4,
- )
+ @SubscribeEvent
+ fun onRepoReload(event: RepositoryReloadEvent) {
+ event.getConstant<BingoRanks>("BingoRanks")?.let {
+ ranks = it.ranks
+ }
}
fun getRank(text: String) = ranks.entries.find { text.contains(it.key) }?.value
diff --git a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt
index 012a76f1c..e8ca2ab3b 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt
@@ -142,16 +142,10 @@ class HypixelData {
bingo = false
for (line in ScoreboardData.sidebarLinesFormatted) {
+ if (BingoAPI.getRank(line) != null) {
+ bingo = true
+ }
when (line) {
- " §7Ⓑ §7Bingo", // No Rank
- " §aⒷ §aBingo", // Rank 1
- " §9Ⓑ §9Bingo", // Rank 2
- " §5Ⓑ §5Bingo", // Rank 3
- " §6Ⓑ §6Bingo", // Rank 4
- -> {
- bingo = true
- }
-
" §7♲ §7Ironman" -> {
ironman = true
}
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanks.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanks.java
new file mode 100644
index 000000000..a7b7dbecc
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanks.java
@@ -0,0 +1,11 @@
+package at.hannibal2.skyhanni.utils.jsonobjects;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+
+public class BingoRanks {
+ @Expose
+ public Map<String, Integer> ranks;
+
+}