Files
KSpigot/src/main/kotlin/net/axay/kspigot/serialization/serializables/SerializableLocation.kt
2021-05-12 14:17:44 +02:00

26 lines
841 B
Kotlin

@file:Suppress("MemberVisibilityCanBePrivate")
package net.axay.kspigot.serialization.serializables
import net.axay.kspigot.serialization.SpigotSerializable
import net.axay.kspigot.serialization.SpigotSerializableCompanion
import org.bukkit.Location
data class SerializableLocation(
val world: SerializableWorld?,
val x: Double,
val y: Double,
val z: Double,
val direction: SerializableVector,
) : SpigotSerializable<Location> {
companion object : SpigotSerializableCompanion<SerializableLocation>
constructor(loc: Location) : this(loc.world?.let { SerializableWorld(it) },
loc.x,
loc.y,
loc.z,
SerializableVector(loc.direction))
override fun toSpigot() = Location(world?.toSpigot(), x, y, z)
.apply { direction = this@SerializableLocation.direction.toSpigot() }
}