aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/dulkirfabric/features/chat
diff options
context:
space:
mode:
authoringlettronald <inglettronald@gmail.com>2023-06-16 11:56:00 -0500
committeringlettronald <inglettronald@gmail.com>2023-06-16 11:56:00 -0500
commitb56cf5d2a1aa1864b43acae69aedde676afafd57 (patch)
treebac77a8cc0bd639b0f4e798bab53e1ad6c79b49b /src/main/kotlin/com/dulkirfabric/features/chat
parent2b93c22070564ed3ad31cd1862c65185b79c1a78 (diff)
downloadDulkirMod-Fabric-b56cf5d2a1aa1864b43acae69aedde676afafd57.tar.gz
DulkirMod-Fabric-b56cf5d2a1aa1864b43acae69aedde676afafd57.tar.bz2
DulkirMod-Fabric-b56cf5d2a1aa1864b43acae69aedde676afafd57.zip
wip
Diffstat (limited to 'src/main/kotlin/com/dulkirfabric/features/chat')
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/chat/AbiPhoneDND.kt45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/kotlin/com/dulkirfabric/features/chat/AbiPhoneDND.kt b/src/main/kotlin/com/dulkirfabric/features/chat/AbiPhoneDND.kt
new file mode 100644
index 0000000..f3f83e2
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/features/chat/AbiPhoneDND.kt
@@ -0,0 +1,45 @@
+package com.dulkirfabric.features.chat
+
+import com.dulkirfabric.config.DulkirConfig
+import com.dulkirfabric.events.ChatReceivedEvent
+import com.dulkirfabric.events.PlaySoundEvent
+import com.dulkirfabric.util.TextUtils
+import meteordevelopment.orbit.EventHandler
+
+object AbiPhoneDND {
+
+ private val abiPhoneFormat = "โœ† (\\w+) โœ† ".toRegex()
+ var lastRing = 0L
+
+ //BLOCK ABIPHONE SOUNDS
+ @EventHandler
+ fun onSound(event: PlaySoundEvent) {
+ if (!DulkirConfig.configOptions.abiPhoneDND) return
+ if (System.currentTimeMillis() - lastRing < 5000) {
+ if (event.sound.sound.identifier.path == "note.pling" && event.sound.volume == 0.69f && event.sound.pitch == 1.6666666f) {
+ event.isCancelled = true
+ }
+ }
+ }
+
+ @EventHandler
+ fun handle(event: ChatReceivedEvent) {
+ if (!DulkirConfig.configOptions.abiPhoneDND) return
+ val unformatted: String = TextUtils.stripColorCodes(event.message)
+ if (unformatted matches abiPhoneFormat && !unformatted.contains("Elle") && !unformatted.contains("Dean")) {
+ val matchResult = abiPhoneFormat.find(unformatted)
+ event.isCancelled = true
+ lastRing = System.currentTimeMillis()
+ if (DulkirConfig.configOptions.abiPhoneCallerID) {
+ val blocked = if (Math.random() < .001) "Breefing"
+ else matchResult?.groups?.get(1)?.value
+ TextUtils.info("ยง6Call blocked from $blocked!")
+ }
+ }
+ if (unformatted.startsWith("โœ† Ring...") && unformatted.endsWith("[PICK UP]")
+ && System.currentTimeMillis() - lastRing < 5000
+ ) {
+ event.isCancelled
+ }
+ }
+} \ No newline at end of file