29 lines
870 B
Kotlin
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
|
|
}
|