summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-02-20 00:59:39 +1100
committerGitHub <noreply@github.com>2024-02-19 14:59:39 +0100
commitc19a902d2ef4aa93ff2d3cc93230f067e9315b71 (patch)
tree588e197fa91adc383223948d003db565b5e9f5a5 /src/main/java/at/hannibal2/skyhanni/data
parentab769839034888bc10ddfb2ef815be2400d64641 (diff)
downloadskyhanni-c19a902d2ef4aa93ff2d3cc93230f067e9315b71.tar.gz
skyhanni-c19a902d2ef4aa93ff2d3cc93230f067e9315b71.tar.bz2
skyhanni-c19a902d2ef4aa93ff2d3cc93230f067e9315b71.zip
Created ActionBarUpdateEvent and used it. #977
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt29
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt15
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt8
4 files changed, 38 insertions, 24 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt b/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt
new file mode 100644
index 000000000..aa72e9868
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/ActionBarData.kt
@@ -0,0 +1,29 @@
+package at.hannibal2.skyhanni.data
+
+import at.hannibal2.skyhanni.events.ActionBarUpdateEvent
+import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent
+import at.hannibal2.skyhanni.utils.LorenzUtils
+import net.minecraftforge.client.event.ClientChatReceivedEvent
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+
+object ActionBarData {
+ private var actionBar = ""
+
+ fun getActionBar() = actionBar
+
+ @SubscribeEvent
+ fun onWorldChange(event: LorenzWorldChangeEvent) {
+ actionBar = ""
+ }
+
+ @SubscribeEvent(receiveCanceled = true)
+ fun onChatReceive(event: ClientChatReceivedEvent) {
+ if (event.type.toInt() != 2) return
+
+ val original = event.message
+ val message = LorenzUtils.stripVanillaMessage(original.formattedText)
+ if (message == actionBar) return
+ actionBar = message
+ ActionBarUpdateEvent(actionBar).postAndCatch()
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt b/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt
index e4f78142f..3c962ad0a 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ActionBarStatsData.kt
@@ -1,7 +1,7 @@
package at.hannibal2.skyhanni.data
-import at.hannibal2.skyhanni.events.ActionBarValueUpdate
-import at.hannibal2.skyhanni.events.LorenzActionBarEvent
+import at.hannibal2.skyhanni.events.ActionBarUpdateEvent
+import at.hannibal2.skyhanni.events.ActionBarValueUpdateEvent
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
@@ -44,15 +44,15 @@ enum class ActionBarStatsData(@Language("RegExp") rawPattern: String) {
}
@SubscribeEvent
- fun onActionBar(event: LorenzActionBarEvent) {
+ fun onActionBarUpdate(event: ActionBarUpdateEvent) {
if (!LorenzUtils.inSkyBlock) return
entries.mapNotNull { data ->
- data.pattern.matchMatcher(event.message) {
+ data.pattern.matchMatcher(event.actionBar) {
val newValue = group(1)
if (data.value != newValue) {
data.value = newValue
- ActionBarValueUpdate(data)
+ ActionBarValueUpdateEvent(data)
} else null
}
}.forEach { it.postAndCatch() }
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt b/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt
index 7d0bb6728..9a5f93c0f 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/ChatManager.kt
@@ -1,7 +1,6 @@
package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.SkyHanniMod
-import at.hannibal2.skyhanni.events.LorenzActionBarEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.MessageSendToServerEvent
import at.hannibal2.skyhanni.events.PacketEvent
@@ -17,12 +16,10 @@ import net.minecraft.client.gui.ChatLine
import net.minecraft.client.gui.GuiNewChat
import net.minecraft.event.HoverEvent
import net.minecraft.network.play.client.C01PacketChatMessage
-import net.minecraft.network.play.server.S02PacketChat
import net.minecraft.util.ChatComponentText
import net.minecraft.util.EnumChatFormatting
import net.minecraft.util.IChatComponent
import net.minecraftforge.client.event.ClientChatReceivedEvent
-import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.relauncher.ReflectionHelper
import java.lang.invoke.MethodHandles
@@ -71,18 +68,6 @@ object ChatManager {
val hoverExtraInfo: List<String> = listOf(),
)
- @SubscribeEvent(priority = EventPriority.LOW, receiveCanceled = true)
- fun onActionBarPacket(event: PacketEvent.ReceiveEvent) {
- val packet = event.packet as? S02PacketChat ?: return
-
- val messageComponent = packet.chatComponent
- val message = LorenzUtils.stripVanillaMessage(messageComponent.formattedText)
- if (packet.type.toInt() == 2) {
- val actionBarEvent = LorenzActionBarEvent(message)
- actionBarEvent.postAndCatch()
- }
- }
-
@SubscribeEvent
fun onSendMessageToServerPacket(event: PacketEvent.SendEvent) {
val packet = event.packet as? C01PacketChatMessage ?: return
diff --git a/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt b/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt
index 93fb6e14e..78a44cda3 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/SkillExperience.kt
@@ -1,7 +1,7 @@
package at.hannibal2.skyhanni.data
+import at.hannibal2.skyhanni.events.ActionBarUpdateEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
-import at.hannibal2.skyhanni.events.LorenzActionBarEvent
import at.hannibal2.skyhanni.events.ProfileJoinEvent
import at.hannibal2.skyhanni.events.SkillExpGainEvent
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
@@ -35,10 +35,10 @@ class SkillExperience {
}
@SubscribeEvent
- fun onActionBar(event: LorenzActionBarEvent) {
+ fun onActionBarUpdate(event: ActionBarUpdateEvent) {
if (!LorenzUtils.inSkyBlock) return
- actionBarPattern.matchMatcher(event.message) {
+ actionBarPattern.matchMatcher(event.actionBar) {
val skill = group("skill").lowercase()
val overflow = group("overflow").formatNumber()
val neededForNextLevel = group("needed").formatNumber()
@@ -48,7 +48,7 @@ class SkillExperience {
skillExp[skill] = totalExp
SkillExpGainEvent(skill).postAndCatch()
}
- actionBarLowLevelPattern.matchMatcher(event.message) {
+ actionBarLowLevelPattern.matchMatcher(event.actionBar) {
val skill = group("skill").lowercase()
SkillExpGainEvent(skill).postAndCatch()
}