Added serializable support

This commit is contained in:
bluefireoly
2020-10-16 23:46:44 +02:00
parent 71ff0d47f8
commit c4cea5b921
3 changed files with 74 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
@file:Suppress("MemberVisibilityCanBePrivate")
package net.axay.kspigot.serialization.serializables
import net.axay.kspigot.serialization.SpigotSerializable
import net.axay.kspigot.serialization.SpigotSerialzableCompanion
import org.bukkit.Bukkit
import org.bukkit.Location
class SerializableLocation(
val world: String?,
val x: Double,
val y: Double,
val z: Double,
val direction: SerializableVector
) : SpigotSerializable<Location> {
companion object : SpigotSerialzableCompanion<SerializableLocation>
constructor(loc: Location) : this(loc.world?.name, loc.x, loc.y, loc.z, SerializableVector(loc.direction))
override fun toSpigot()
= Location(world?.let { Bukkit.getWorld(world) }, x, y, z)
.apply { direction = this@SerializableLocation.direction.toSpigot() }
}