diff options
| author | J10a1n15 <45315647+j10a1n15@users.noreply.github.com> | 2024-08-31 21:17:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-31 21:17:56 +0200 |
| commit | 31f9e29c0aa055b615d1eaaf7bca9d8d10b0ba7e (patch) | |
| tree | e9f923771820da3fb21db8a0e614e5ae376720f1 /src/main/java/at/hannibal2/skyhanni/features/misc | |
| parent | c1c3fcc963bbf79f75e33a9383431784f36bdf36 (diff) | |
| download | skyhanni-31f9e29c0aa055b615d1eaaf7bca9d8d10b0ba7e.tar.gz skyhanni-31f9e29c0aa055b615d1eaaf7bca9d8d10b0ba7e.tar.bz2 skyhanni-31f9e29c0aa055b615d1eaaf7bca9d8d10b0ba7e.zip | |
Feature: Last server (#2046)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/misc/LastServers.kt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/LastServers.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/LastServers.kt new file mode 100644 index 000000000..8a4023314 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/LastServers.kt @@ -0,0 +1,36 @@ +package at.hannibal2.skyhanni.features.misc + +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.data.HypixelData +import at.hannibal2.skyhanni.events.SecondPassedEvent +import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule +import at.hannibal2.skyhanni.utils.ChatUtils +import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.SimpleTimeMark +import at.hannibal2.skyhanni.utils.TimeUtils.format +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import kotlin.time.Duration.Companion.seconds + +@SkyHanniModule +object LastServers { + + private val config get() = SkyHanniMod.feature.misc.lastServers + private var lastServerId: String? = null + private val lastServers = mutableMapOf<String, SimpleTimeMark>() + + @SubscribeEvent + fun onSecondPassed(event: SecondPassedEvent) { + if (!isEnabled() || HypixelData.serverId == lastServerId) return + + val id = HypixelData.serverId ?: return + lastServers.entries.removeIf { it.value.passedSince() > config.warnTime.seconds } + lastServers[id]?.passedSince()?.let { + ChatUtils.chat("§7You already joined this server §b${it.format()}§7 ago.") + } + ChatUtils.debug("Adding $id to last servers.") + lastServers[id] = SimpleTimeMark.now() + lastServerId = id + } + + private fun isEnabled() = LorenzUtils.inSkyBlock && config.enabled +} |
