aboutsummaryrefslogtreecommitdiff
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/BitsAPI.kt22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/BitsAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/BitsAPI.kt
index 65af5b8bd..54131f4bf 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/BitsAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/BitsAPI.kt
@@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.data.FameRanks.getFameRankByNameOrNull
+import at.hannibal2.skyhanni.events.BitsUpdateEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.ScoreboardChangeEvent
@@ -117,8 +118,8 @@ object BitsAPI {
if (amount > bits) {
bitsToClaim -= amount - bits
ChatUtils.debug("You have gained §3${amount - bits} Bits §7according to the scoreboard!")
+ sendEvent()
}
- bits = amount
return
}
@@ -133,12 +134,14 @@ object BitsAPI {
bitsFromFameRankUpChatPattern.matchMatcher(message) {
val amount = group("amount").formatInt()
bitsToClaim += amount
+ sendEvent()
return
}
boosterCookieAte.matchMatcher(message) {
bitsToClaim += (defaultcookiebits * (currentFameRank?.bitsMultiplier ?: return)).toInt()
+ sendEvent()
return
}
@@ -161,7 +164,11 @@ object BitsAPI {
for (line in cookieStack.getLore()) {
bitsAvailableMenuPattern.matchMatcher(line) {
- bitsToClaim = group("toClaim").formatInt()
+ val amount = group("toClaim").formatInt()
+ if (bitsToClaim != amount) {
+ bitsToClaim = amount
+ sendEvent()
+ }
return
}
@@ -207,7 +214,12 @@ object BitsAPI {
line@ for (line in bitsStack.getLore()) {
bitsAvailableMenuPattern.matchMatcher(line) {
- bitsToClaim = group("toClaim").formatInt()
+ val amount = group("toClaim").formatInt()
+ if (amount != bitsToClaim) {
+ bitsToClaim = amount
+ sendEvent()
+ }
+
continue@line
}
@@ -215,6 +227,10 @@ object BitsAPI {
}
}
+ private fun sendEvent() {
+ BitsUpdateEvent(bits, bitsToClaim).postAndCatch()
+ }
+
fun isEnabled() = LorenzUtils.inSkyBlock && profileStorage != null
class FameRankNotFoundException(rank: String) : Exception("FameRank not found: $rank")