aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt
index 42f8e04f..0f29b5f8 100644
--- a/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt
+++ b/src/main/kotlin/skytils/skytilsmod/features/impl/handlers/SpamHider.kt
@@ -18,6 +18,7 @@
package skytils.skytilsmod.features.impl.handlers
import com.google.gson.JsonObject
+import gg.essential.universal.UChat
import gg.essential.universal.UResolution
import net.minecraft.client.Minecraft
import net.minecraft.network.play.server.S02PacketChat
@@ -644,10 +645,19 @@ class SpamHider : PersistentSave(File(Skytils.modDir, "spamhider.json")) {
}
private fun checkFilter(filter: Filter, formatted: String, unformatted: String, event: ReceiveEvent): Boolean {
- if (filter.skyblockOnly && !Utils.inSkyblock) return false
- if (filter.check(if (filter.formatted) formatted else unformatted) && filter.state > 0) {
- cancelChatPacket(event, filter.state == 2)
- return true
+ runCatching {
+ if (filter.skyblockOnly && !Utils.inSkyblock) return false
+ if (filter.check(if (filter.formatted) formatted else unformatted) && filter.state > 0) {
+ cancelChatPacket(event, filter.state == 2)
+ return true
+ }
+ }.onFailure {
+ UChat.chat("§cSkytils ran into an error whilst checking your Spam Hider filters. Please send your logs to discord.gg/skytils.")
+ println("A ${it::class.simpleName} was thrown while checking Spam Hider Filter:")
+ println("Spam Filter: ${filter}")
+ println("Formatted Text: ${formatted}")
+ println("Unformatted Text: ${unformatted}")
+ it.printStackTrace()
}
return false
}