diff --git a/src/main/kotlin/me/nobaboy/nobaaddons/api/skyblock/PetAPI.kt b/src/main/kotlin/me/nobaboy/nobaaddons/api/skyblock/PetAPI.kt index 78f9c02e..0ce2365f 100644 --- a/src/main/kotlin/me/nobaboy/nobaaddons/api/skyblock/PetAPI.kt +++ b/src/main/kotlin/me/nobaboy/nobaaddons/api/skyblock/PetAPI.kt @@ -29,7 +29,7 @@ object PetAPI { private val PET_NAME_REGEX by Regex("^(?⭐ )?\\[Lvl (?\\d+)] (?:\\[\\d+✦] )?(?[A-z- ]+)(?: ✦|\$)").fromRepo("pets.name") // TODO cache autopet rule pets to allow for getting complete data - private val AUTOPET_REGEX by Regex( + val AUTOPET_REGEX by Regex( "^§cAutopet §eequipped your §7\\[Lvl (?\\d+)] (?:§.\\[.*] )?§(?.)(?[A-z ]+)(?:§. ✦)?§e! §a§lVIEW RULE" ).fromRepo("pets.autopet") diff --git a/src/main/kotlin/me/nobaboy/nobaaddons/config/categories/ChatCategory.kt b/src/main/kotlin/me/nobaboy/nobaaddons/config/categories/ChatCategory.kt index 4c881b04..54e3902d 100644 --- a/src/main/kotlin/me/nobaboy/nobaaddons/config/categories/ChatCategory.kt +++ b/src/main/kotlin/me/nobaboy/nobaaddons/config/categories/ChatCategory.kt @@ -145,6 +145,10 @@ object ChatCategory { descriptionText = tr("nobaaddons.config.chat.filters.hideProfileInfo.tooltip", "Hides messages showing the active profile and profile ID") booleanController() } + add({ chat.filters::hideAutopetMessages }) { + name = tr("nobaaddons.config.chat.filters.hideAutopetMessages", "Hide Autopet Messages") + booleanController() + } // endregion } } diff --git a/src/main/kotlin/me/nobaboy/nobaaddons/config/configs/ChatConfig.kt b/src/main/kotlin/me/nobaboy/nobaaddons/config/configs/ChatConfig.kt index 37cb23ad..121d5205 100644 --- a/src/main/kotlin/me/nobaboy/nobaaddons/config/configs/ChatConfig.kt +++ b/src/main/kotlin/me/nobaboy/nobaaddons/config/configs/ChatConfig.kt @@ -37,6 +37,7 @@ class ChatConfig { var hideProfileInfo = false var hideTipMessages = false + var hideAutopetMessages = false } class ChatCommands { diff --git a/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/IChatFilter.kt b/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/IChatFilter.kt index 5ef40d97..8cbf1a8b 100644 --- a/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/IChatFilter.kt +++ b/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/IChatFilter.kt @@ -6,6 +6,7 @@ import me.nobaboy.nobaaddons.features.chat.filters.ability.AbilityChatFilter import me.nobaboy.nobaaddons.features.chat.filters.dungeons.BlessingChatFilter import me.nobaboy.nobaaddons.features.chat.filters.dungeons.HealerOrbChatFilter import me.nobaboy.nobaaddons.features.chat.filters.dungeons.PickupObtainChatFilter +import me.nobaboy.nobaaddons.features.chat.filters.miscellaneous.AutoPetChatFilter import me.nobaboy.nobaaddons.features.chat.filters.miscellaneous.ProfileInfoChatFilter import me.nobaboy.nobaaddons.features.chat.filters.miscellaneous.TipMessagesChatFilter import me.nobaboy.nobaaddons.features.chat.filters.mobs.SeaCreatureCatchMessageChatFilter @@ -34,6 +35,7 @@ interface IChatFilter { HealerOrbChatFilter, PickupObtainChatFilter, // Miscellaneous + AutoPetChatFilter, ProfileInfoChatFilter, TipMessagesChatFilter, ) diff --git a/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/miscellaneous/AutoPetChatFilter.kt b/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/miscellaneous/AutoPetChatFilter.kt new file mode 100644 index 00000000..3fea90e1 --- /dev/null +++ b/src/main/kotlin/me/nobaboy/nobaaddons/features/chat/filters/miscellaneous/AutoPetChatFilter.kt @@ -0,0 +1,9 @@ +package me.nobaboy.nobaaddons.features.chat.filters.miscellaneous + +import me.nobaboy.nobaaddons.api.skyblock.PetAPI +import me.nobaboy.nobaaddons.features.chat.filters.IChatFilter + +object AutoPetChatFilter : IChatFilter { + override val enabled: Boolean get() = config.hideAutopetMessages + override fun shouldFilter(message: String): Boolean = message.matches(PetAPI.AUTOPET_REGEX) +} \ No newline at end of file