ServuxSpigot/Deprecated/util/PlayerDimensionPosition.kt

34 lines
945 B
Kotlin

package cc.maxmc.servux.util
import org.bukkit.World
import org.bukkit.entity.Player
import org.bukkit.util.BlockVector
import org.bukkit.util.Vector
import kotlin.math.abs
class PlayerDimensionPosition(player: Player) {
lateinit var world: World
lateinit var pos: BlockVector
init {
setPosition(player)
}
fun dimensionChanged(player: Player): Boolean {
return world != player.world
}
fun needsUpdate(player: Player, distanceThreshold: Int): Boolean {
if (player.world != world) {
return true
}
val pos: Vector = player.location.toVector().toBlockVector()
return abs(pos.x - this.pos.x) > distanceThreshold || abs(pos.y - this.pos.y) > distanceThreshold || abs(
pos.z - this.pos.z) > distanceThreshold
}
fun setPosition(player: Player) {
world = player.world
pos = player.location.toVector().toBlockVector()
}
}