aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/mc/NbtItemData.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/util/mc/NbtItemData.kt')
-rw-r--r--src/main/kotlin/util/mc/NbtItemData.kt22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/kotlin/util/mc/NbtItemData.kt b/src/main/kotlin/util/mc/NbtItemData.kt
new file mode 100644
index 0000000..e8a908f
--- /dev/null
+++ b/src/main/kotlin/util/mc/NbtItemData.kt
@@ -0,0 +1,22 @@
+package moe.nea.firmament.util.mc
+
+import net.minecraft.component.DataComponentTypes
+import net.minecraft.component.type.LoreComponent
+import net.minecraft.item.ItemStack
+import net.minecraft.text.Text
+
+var ItemStack.loreAccordingToNbt
+ get() = get(DataComponentTypes.LORE)?.lines ?: listOf()
+ set(value) {
+ set(DataComponentTypes.LORE, LoreComponent(value))
+ }
+
+var ItemStack.displayNameAccordingToNbt: Text
+ get() = get(DataComponentTypes.CUSTOM_NAME) ?: get(DataComponentTypes.ITEM_NAME) ?: item.name
+ set(value) {
+ set(DataComponentTypes.CUSTOM_NAME, value)
+ }
+
+fun ItemStack.setCustomName(text: Text) {
+ set(DataComponentTypes.CUSTOM_NAME, text)
+}