ItemStacks.kt
Branches > main > f9e9bc5 > files / src / main / kotlin / net / bowmap / server / item / ItemStacks.kt
/// Itemstack interop functions
package net.bowmap.server.item
import org.bukkit.inventory.ItemStack
fun toItemStack(item: Item): ItemStack {
// TODO custommodeldata
val itemStack = ItemStack(item.material, item.amount)
val meta = itemStack.getItemMeta()
// itemName is not editable via an anvil, which is the desired behavior
// TODO make sure its not italics!
meta.itemName(item.name)
meta.lore(computeLore(item))
itemStack.setItemMeta(meta)
return itemStack
}
/// Turns a vanilla ItemStack into a Bowmap item.
/// This function is the inverse of toItemStack, so that toItem(toItemStack(x)) == x
fun toItem(itemStack: ItemStack): Item {
// TODO custommodeldata
// See the above itemName comment
val meta = itemStack.getItemMeta()
return Item(
material = itemStack.type,
amount = itemStack.amount,
name = meta.itemName(),
)
}