From ed07b78b83aaa736c860a7aa510e578f46c62514 Mon Sep 17 00:00:00 2001 From: Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com> Date: Sat, 30 Mar 2024 01:01:51 +0100 Subject: aprilfoolsjoke-words (#1314) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Linnea Gräf Co-authored-by: Cal Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../features/misc/visualwords/ModifyVisualWords.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc') 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() + 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 } -- cgit