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> --- .../event/diana/InquisitorWaypointShare.kt | 45 +++++++++++----------- .../features/event/diana/SoopyGuessBurrow.kt | 8 ++-- 2 files changed, 27 insertions(+), 26 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/features/event') diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt index c8f7fc240..c884bd818 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt @@ -29,6 +29,7 @@ import net.minecraftforge.event.entity.EntityJoinWorldEvent import net.minecraftforge.fml.common.eventhandler.EventPriority import net.minecraftforge.fml.common.eventhandler.SubscribeEvent import java.util.regex.Matcher +import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.seconds object InquisitorWaypointShare { @@ -58,13 +59,14 @@ object InquisitorWaypointShare { "(?§9Party §8> )?(?.*)§f: §rInquisitor dead!" ) - private var time = 0L - private var testTime = 0L + private var inquisitorTime = SimpleTimeMark.farPast() + private var testTime = SimpleTimeMark.farPast() private var lastInquisitorMessage = "" private var inquisitor = -1 private var lastInquisitor = -1 - private var lastShareTime = 0L + private var lastShareTime = SimpleTimeMark.farPast() private var inquisitorsNearby = emptyList() + private val soonRange = (-500).milliseconds..1.5.seconds private val logger = LorenzLogger("diana/waypoints") @@ -105,26 +107,25 @@ object InquisitorWaypointShare { fun onChat(event: LorenzChatEvent) { if (!isEnabled()) return val message = event.message + // TODO repo pattern if (message.contains("§eYou dug out")) { - testTime = System.currentTimeMillis() + testTime = SimpleTimeMark.now() lastInquisitorMessage = message - val diff = System.currentTimeMillis() - time + val passedSince = inquisitorTime.passedSince() - if (diff < 10_000) { + if (passedSince < 10.seconds) { logger.log(" ") logger.log("reverse!") - logger.log("diff: $diff") - } - if (diff > 1500 || diff < -500) { - return + logger.log("diff: $passedSince") } + if (passedSince in soonRange) return foundInquisitor(lastInquisitor) } // TODO: Change the check to only one line once we have a confirmed inquis message line if (message.contains("§r§eYou dug out ") && message.contains("Inquis")) { - time = System.currentTimeMillis() + inquisitorTime = SimpleTimeMark.now() logger.log("found Inquisitor") } } @@ -145,15 +146,15 @@ object InquisitorWaypointShare { inquisitorsNearby = inquisitorsNearby.editCopy { add(entity) } GriffinBurrowHelper.update() - val diff = System.currentTimeMillis() - time - time = System.currentTimeMillis() + val passedSince = inquisitorTime.passedSince() + inquisitorTime = SimpleTimeMark.now() lastInquisitor = entity.entityId - logger.log("diff: $diff") - if (diff > 1500 || diff < -500) { - val testDiff = System.currentTimeMillis() - testTime - if (testDiff > 1500 || testDiff < -500) { - logger.log("testDiff: $diff") + logger.log("diff: $passedSince") + if (passedSince in soonRange) { + val testDiff = testTime.passedSince() + if (testDiff in soonRange) { + logger.log("testDiff: $passedSince") return } else { logger.log("wrong Inquisitor message!") @@ -204,8 +205,8 @@ object InquisitorWaypointShare { private fun sendDeath() { if (!isEnabled()) return - if (lastShareTime + 5000 > System.currentTimeMillis()) return - lastShareTime = System.currentTimeMillis() + if (lastShareTime.passedSince() > 5.seconds) return + lastShareTime = SimpleTimeMark.now() if (inquisitor == -1) { logger.log("Inquisitor is already null!") @@ -217,8 +218,8 @@ object InquisitorWaypointShare { fun sendInquisitor() { if (!isEnabled()) return - if (lastShareTime + 5000 > System.currentTimeMillis()) return - lastShareTime = System.currentTimeMillis() + if (lastShareTime.passedSince() > 5.seconds) return + lastShareTime = SimpleTimeMark.now() if (inquisitor == -1) { ChatUtils.error("No Inquisitor Found!") diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt index 535e8d4a0..37c9d50f1 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt @@ -24,7 +24,7 @@ import kotlin.math.sin class SoopyGuessBurrow { private var dingIndex = 0 - private var lastDing = 0L + private var hasDinged = false private var lastDingPitch = 0f private var firstPitch = 0f private var lastParticlePoint: LorenzVec? = null @@ -43,7 +43,7 @@ class SoopyGuessBurrow { @SubscribeEvent fun onWorldChange(event: LorenzWorldChangeEvent) { - lastDing = 0L + hasDinged = false lastDingPitch = 0f firstPitch = 0f lastParticlePoint = null @@ -63,11 +63,11 @@ class SoopyGuessBurrow { if (event.soundName != "note.harp") return val pitch = event.pitch - if (lastDing == 0L) { + if (!hasDinged) { firstPitch = pitch } - lastDing = System.currentTimeMillis() + hasDinged = true if (pitch < lastDingPitch) { firstPitch = pitch -- cgit