Files
KSpigot/src/main/kotlin/net/axay/kspigot/nbt/NBTDataLoader.kt
2020-08-28 00:24:50 +02:00

26 lines
776 B
Kotlin

package net.axay.kspigot.nbt
import net.axay.kspigot.annotations.NMS_General
import net.minecraft.server.v1_16_R2.NBTTagCompound
import org.bukkit.craftbukkit.v1_16_R2.entity.CraftEntity
import org.bukkit.craftbukkit.v1_16_R2.inventory.CraftItemStack
import org.bukkit.entity.Entity
import org.bukkit.inventory.ItemStack
@NMS_General
var Entity.nbtData: NBTData
get() {
val nbtTagCompound = NBTTagCompound()
(this as CraftEntity).handle.load(nbtTagCompound)
return NBTData(nbtTagCompound)
}
set(value) {
(this as CraftEntity).handle.save(value.nbtTagCompound)
}
@NMS_General
val ItemStack.nbtData: NBTData get() {
CraftItemStack.asNMSCopy(this).let {
return if (it.hasTag()) NBTData(it.tag) else NBTData()
}
}