diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/misc/PatcherFixes.kt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/PatcherFixes.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/PatcherFixes.kt new file mode 100644 index 000000000..a7d844e4e --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/PatcherFixes.kt @@ -0,0 +1,47 @@ +package at.hannibal2.skyhanni.features.misc + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.utils.ChatUtils +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.OtherModsSettings +import at.hannibal2.skyhanni.utils.SimpleTimeMark +import kotlin.time.Duration.Companion.minutes +import kotlin.time.Duration.Companion.seconds + +object PatcherFixes { + private val config get() = SkyHanniMod.feature.misc + + private var lastCheck = SimpleTimeMark.farPast() + private var lastChatMessage = SimpleTimeMark.farPast() + + fun onPlayerEyeLine() { + if (!isEnabled()) return + if (lastCheck.passedSince() < 5.seconds) return + lastCheck = SimpleTimeMark.now() + + val patcher = OtherModsSettings.patcher() + if (!patcher.getBoolean("parallaxFix")) return + + if (lastChatMessage.passedSince() < 3.minutes) return + lastChatMessage = SimpleTimeMark.now() + + ChatUtils.clickToActionOrDisable( + "§cPatcher's Parallax Fix breaks SkyHanni's line rendering!", + config::fixPatcherLines, + "disable this option in Patcher", + action = { tryFix() }, + ) + } + + private fun tryFix() { + val patcher = OtherModsSettings.patcher() + if (patcher.getBoolean("parallaxFix")) { + patcher.setBoolean("parallaxFix", false) + ChatUtils.chat("§aDisabled Patcher's Parallax Fix! SkyHanni's lines should now work correctly.") + } else { + ChatUtils.userError("Patcher's Parallax is already disabled!") + } + } + + private fun isEnabled() = LorenzUtils.inSkyBlock && config.fixPatcherLines +} |
