diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
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() } |
