aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/misc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/ModifyVisualWords.kt14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/ModifyVisualWords.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/ModifyVisualWords.kt
index 55d9b7202..e6fcb8af5 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/ModifyVisualWords.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/ModifyVisualWords.kt
@@ -4,10 +4,12 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.ConfigFileType
import at.hannibal2.skyhanni.config.enums.OutsideSbFeature
import at.hannibal2.skyhanni.events.HypixelJoinEvent
+import at.hannibal2.skyhanni.mixins.hooks.FontRendererHook
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.convertToFormatted
import at.hannibal2.skyhanni.utils.TimeLimitedCache
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+import kotlin.random.Random
import kotlin.time.Duration.Companion.minutes
object ModifyVisualWords {
@@ -17,6 +19,8 @@ object ModifyVisualWords {
var modifiedWords = mutableListOf<VisualWord>()
+ val reverseRegex = "(§.|^|[\\s:()+-])([^§\\s:()+-]*)".toRegex()
+
fun modifyText(originalText: String?): String? {
var modifiedText = originalText ?: return null
if (!LorenzUtils.onHypixel) return originalText
@@ -42,13 +46,17 @@ object ModifyVisualWords {
if (phrase.isEmpty()) continue
modifiedText = modifiedText.replace(
- phrase,
- modifiedWord.replacement.convertToFormatted(),
- modifiedWord.isCaseSensitive()
+ phrase, modifiedWord.replacement.convertToFormatted(), modifiedWord.isCaseSensitive()
)
}
}
+
+ if (LorenzUtils.isAprilFoolsDay && !FontRendererHook.cameFromChat && Random.nextDouble() < 0.02) {
+ modifiedText = modifiedText.replace(reverseRegex) {
+ it.groupValues[1] + it.groupValues[2].reversed()
+ }
+ }
textCache.put(originalText, modifiedText)
return modifiedText
}