TerraOceanPlugin/KotlinPlugin/src/main/kotlin/com/terraocean/plugin/listeners/AFKRecorder.kt

29 lines
870 B
Kotlin

package com.terraocean.plugin.listeners
import com.terraocean.plugin.bridge.reportPlayerActivity
import org.bukkit.event.player.PlayerMoveEvent
//activityRequirement is the time it takes for a player to be considered inactive.
const val activityRequirement = 1000 * 30
var lastMovement = HashMap<String, Long>()
var lastRecord = HashMap<String, Long>()
fun onPlayerMovement(e: PlayerMoveEvent) {
val playerID = e.player.uniqueId.toString()
val time = System.currentTimeMillis()
lastMovement[playerID]?.let { lastActive ->
if (time <= lastActive + activityRequirement) {
return@let
}
reportPlayerActivity(e.player.name, lastActive - lastRecord[playerID]!!)
lastRecord[playerID] = time
}
if (lastRecord[playerID] == null) {
lastRecord[playerID] = time
}
lastMovement[playerID] = time
}