diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/combat')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/combat/mobs/SpawnTimers.kt | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/SpawnTimers.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/SpawnTimers.kt index 3d77e214a..ac2496f18 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/SpawnTimers.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/mobs/SpawnTimers.kt @@ -20,6 +20,7 @@ import net.minecraft.network.play.server.S2APacketParticles import net.minecraft.util.EnumParticleTypes import net.minecraftforge.fml.common.eventhandler.EventPriority import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import kotlin.time.Duration.Companion.milliseconds import kotlin.time.Duration.Companion.seconds class SpawnTimers { @@ -40,13 +41,13 @@ class SpawnTimers { private var arachneSpawnTime = SimpleTimeMark.farPast() private var saveNextTickParticles = false private var particleCounter = 0 - private var tickTime: Long = 0 - private var searchTime: Long = 0 + private var lastTickTime = SimpleTimeMark.farPast() + private var searchTime = SimpleTimeMark.farPast() @SubscribeEvent fun onWorldChange(event: LorenzWorldChangeEvent) { - searchTime = 0 - tickTime = 0 + searchTime = SimpleTimeMark.farPast() + lastTickTime = SimpleTimeMark.farPast() particleCounter = 0 saveNextTickParticles = false arachneSpawnTime = SimpleTimeMark.farPast() @@ -70,9 +71,9 @@ class SpawnTimers { if (arachneFragmentPattern.matches(message) || arachneCrystalPattern.matches(message)) { if (arachneCrystalPattern.matches(message)) { saveNextTickParticles = true - searchTime = System.currentTimeMillis() + searchTime = SimpleTimeMark.now() particleCounter = 0 - tickTime = 0L + lastTickTime = SimpleTimeMark.farPast() } else arachneSpawnTime = SimpleTimeMark.now() + 19.seconds } } @@ -81,11 +82,11 @@ class SpawnTimers { @SubscribeEvent(priority = EventPriority.LOW, receiveCanceled = true) fun onPacketReceive(event: PacketEvent.ReceiveEvent) { if (!saveNextTickParticles) return - if (System.currentTimeMillis() <= searchTime + 3000) return + if (searchTime.passedSince() < 3.seconds) return - if (particleCounter == 0 && tickTime == 0L) tickTime = System.currentTimeMillis() + if (particleCounter == 0 && lastTickTime.isFarPast()) lastTickTime = SimpleTimeMark.now() - if (System.currentTimeMillis() > tickTime + 60) { + if (lastTickTime.passedSince() > 60.milliseconds) { arachneSpawnTime = if (particleCounter <= 20) { SimpleTimeMark.now() + 21.seconds } else { |
