aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt')
-rw-r--r--src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt b/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt
index 413c209..b1b66b0 100644
--- a/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt
+++ b/src/main/kotlin/moe/nea/firmament/events/ProcessChatEvent.kt
@@ -6,8 +6,8 @@
package moe.nea.firmament.events
-import moe.nea.firmament.util.unformattedString
import net.minecraft.text.Text
+import moe.nea.firmament.util.unformattedString
/**
* Behaves like [AllowChatEvent], but is triggered even when cancelled by other mods. Intended for data collection.
@@ -16,6 +16,13 @@ import net.minecraft.text.Text
data class ProcessChatEvent(val text: Text, val wasExternallyCancelled: Boolean) : FirmamentEvent.Cancellable() {
val unformattedString = text.unformattedString
+ val nameHeuristic: String? = run {
+ val firstColon = unformattedString.indexOf(':')
+ if (firstColon < 0) return@run null
+ val firstSpace = unformattedString.lastIndexOf(' ', firstColon)
+ unformattedString.substring(firstSpace + 1 until firstColon).takeIf { it.isNotEmpty() }
+ }
+
init {
if (wasExternallyCancelled)
cancelled = true