From 2dd1970d6d31ea1e2bbfa30b57141ea9a4720834 Mon Sep 17 00:00:00 2001 From: NetheriteMiner <88792142+NetheriteMiner@users.noreply.github.com> Date: Thu, 27 Apr 2023 06:07:33 -0400 Subject: Added Discord RPC (#35) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../hannibal2/skyhanni/data/ActionBarStatsData.kt | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt (limited to 'src/main/java/at/hannibal2/skyhanni/data') diff --git a/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt b/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt new file mode 100644 index 000000000..5130e7080 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt @@ -0,0 +1,35 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.events.LorenzActionBarEvent +import at.hannibal2.skyhanni.utils.LorenzUtils +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import java.util.regex.Pattern + +class ActionBarStatsData { + private val pattern = + Pattern.compile("..((?:\\d|,)*)\\/(?:\\d|,)*(.) *..((?:\\d|,)*)..(. \\w*) *..((?:\\d|,)*)\\/(?:\\d|,)*(.*)") +// Sample input: §c2,817/2,817❤ §a703§a❈ Defense §b3,479/3,479✎ Mana +// Returns the following groups: 1 = 2,817; 2 = ❤; 3 = 703; 4 = ❈ Defense; 5 = 3,479; 6 = ✎ Mana + + companion object { + var groups = listOf() + } + + @SubscribeEvent + fun onActionBar(event: LorenzActionBarEvent) { + groups = readGroups(event.message) + } + + private fun readGroups(message: String): List { + if (!LorenzUtils.inSkyBlock) return emptyList() + + val matcher = pattern.matcher(message) + if (!matcher.matches()) return emptyList() + + val list = mutableListOf() + for (i in 1..matcher.groupCount()) { + list.add(matcher.group(i)) + } + return list + } +} -- cgit