From f67af16eacb6cdf3598183d473f072d123ef8a25 Mon Sep 17 00:00:00 2001 From: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> Date: Sun, 26 May 2024 23:02:48 +1000 Subject: Backend: Convert stuff to SimpleTimeMark (#1777) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../skyhanni/features/slayer/SlayerQuestWarning.kt | 10 +++++----- .../skyhanni/features/slayer/SlayerRngMeterDisplay.kt | 13 +++++++------ .../features/slayer/blaze/BlazeSlayerDaggerHelper.kt | 15 +++++++++------ 3 files changed, 21 insertions(+), 17 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/slayer') diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt index 95ba80060..ad90e89b6 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerQuestWarning.kt @@ -80,7 +80,7 @@ class SlayerQuestWarning { } private var needSlayerQuest = false - private var lastWarning = 0L + private var lastWarning = SimpleTimeMark.farPast() private var currentReason = "" private fun needNewQuest(reason: String) { @@ -95,13 +95,13 @@ class SlayerQuestWarning { private fun warn(titleMessage: String, chatMessage: String) { if (!config.questWarning) return - if (lastWarning + 10_000 > System.currentTimeMillis()) return + if (lastWarning.passedSince() < 10.seconds) return if (DianaAPI.isDoingDiana()) return // prevent warnings when mobs are hit by other players if (lastWeaponUse.passedSince() > 500.milliseconds) return - - lastWarning = System.currentTimeMillis() + + lastWarning = SimpleTimeMark.now() ChatUtils.chat(chatMessage) if (config.questWarningTitle) { @@ -128,7 +128,7 @@ class SlayerQuestWarning { if (slayerType != activeSlayer) { val activeSlayerName = activeSlayer.displayName val slayerName = slayerType.displayName - SlayerAPI.latestWrongAreaWarning = System.currentTimeMillis() + SlayerAPI.latestWrongAreaWarning = SimpleTimeMark.now() warn( "Wrong Slayer!", "Wrong slayer selected! You have $activeSlayerName selected and you are in an $slayerName area!" diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt index aeb7d4590..07bc097a8 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerRngMeterDisplay.kt @@ -22,9 +22,10 @@ import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators import at.hannibal2.skyhanni.utils.NumberUtil.formatLong -import at.hannibal2.skyhanni.utils.RenderUtils.renderRenderables import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher import at.hannibal2.skyhanni.utils.RegexUtils.matches +import at.hannibal2.skyhanni.utils.RenderUtils.renderRenderables +import at.hannibal2.skyhanni.utils.SimpleTimeMark import at.hannibal2.skyhanni.utils.StringUtils.removeColor import at.hannibal2.skyhanni.utils.StringUtils.removeWordsAtEnd import at.hannibal2.skyhanni.utils.renderables.Renderable @@ -63,7 +64,7 @@ class SlayerRngMeterDisplay { ) private var display = emptyList() - private var lastItemDroppedTime = 0L + private var lastItemDroppedTime = SimpleTimeMark.farPast() var rngScore = mapOf>() @@ -71,8 +72,8 @@ class SlayerRngMeterDisplay { fun onSecondPassed(event: SecondPassedEvent) { if (!isEnabled()) return - if (lastItemDroppedTime != 0L && System.currentTimeMillis() > lastItemDroppedTime + 4_000) { - lastItemDroppedTime = 0L + if (!lastItemDroppedTime.isFarPast() && lastItemDroppedTime.passedSince() > 4.seconds) { + lastItemDroppedTime = SimpleTimeMark.farPast() update() } } @@ -121,7 +122,7 @@ class SlayerRngMeterDisplay { if (rawPercentage > 1) rawPercentage = 1.0 val percentage = LorenzUtils.formatPercentage(rawPercentage) ChatUtils.chat("§dRNG Meter §7dropped at §e$percentage §7XP ($from/${to}§7)") - lastItemDroppedTime = System.currentTimeMillis() + lastItemDroppedTime = SimpleTimeMark.now() } if (blockChat) { event.blockedReason = "slayer_rng_meter" @@ -220,7 +221,7 @@ class SlayerRngMeterDisplay { with(storage) { if (itemGoal == "?") return "§cOpen RNG Meter Inventory!" if (itemGoal == "") { - return if (lastItemDroppedTime != 0L) { + return if (!lastItemDroppedTime.isFarPast()) { "§a§lRNG Item dropped!" } else { "§eNo RNG Item selected!" diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt index 7d900c2e6..4f94838e9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt @@ -17,11 +17,14 @@ import at.hannibal2.skyhanni.utils.LocationUtils import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.RegexUtils.matches import at.hannibal2.skyhanni.utils.RenderUtils.renderString +import at.hannibal2.skyhanni.utils.SimpleTimeMark import at.hannibal2.skyhanni.utils.getLorenzVec import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern import net.minecraft.client.Minecraft import net.minecraft.item.ItemStack import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import kotlin.time.Duration.Companion.milliseconds +import kotlin.time.Duration.Companion.seconds class BlazeSlayerDaggerHelper { @@ -36,8 +39,8 @@ class BlazeSlayerDaggerHelper { private var textTop = "" private var textBottom = "" - private var lastDaggerCheck = 0L - private var lastNearestCheck = 0L + private var lastDaggerCheck = SimpleTimeMark.farPast() + private var lastNearestCheck = SimpleTimeMark.farPast() private var lastNearest: HellionShield? = null @SubscribeEvent @@ -80,8 +83,8 @@ class BlazeSlayerDaggerHelper { private fun findNearest(): HellionShield? { if (!config.markRightHellionShield) return null - if (lastNearestCheck + 100 > System.currentTimeMillis()) return lastNearest - lastNearestCheck = System.currentTimeMillis() + if (lastNearestCheck.passedSince() < 100.milliseconds) return lastNearest + lastNearestCheck = SimpleTimeMark.now() val playerLocation = LocationUtils.playerLocation() return HellionShieldHelper.hellionShieldMobs @@ -124,8 +127,8 @@ class BlazeSlayerDaggerHelper { } private fun checkActiveDagger() { - if (lastDaggerCheck + 1_000 > System.currentTimeMillis()) return - lastDaggerCheck = System.currentTimeMillis() + if (lastDaggerCheck.passedSince() < 1.seconds) return + lastDaggerCheck = SimpleTimeMark.now() for (dagger in Dagger.entries) { if (dagger.updated) continue -- cgit