diff options
author | inglettronald <inglettronald@gmail.com> | 2023-06-16 11:56:00 -0500 |
---|---|---|
committer | inglettronald <inglettronald@gmail.com> | 2023-06-16 11:56:00 -0500 |
commit | b56cf5d2a1aa1864b43acae69aedde676afafd57 (patch) | |
tree | bac77a8cc0bd639b0f4e798bab53e1ad6c79b49b /src/main/kotlin/com/dulkirfabric/features/chat | |
parent | 2b93c22070564ed3ad31cd1862c65185b79c1a78 (diff) | |
download | DulkirMod-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.kt | 45 |
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 |