aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/repo/item/SBItemId.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-03-11 12:44:59 +0100
committerLinnea Gräf <nea@nea.moe>2025-03-11 12:44:59 +0100
commit17a855a4bdfcca00b29f85981d8fb86968d9038c (patch)
tree4ecde192607e1b6fea54fc264a6b79a197ae8619 /src/main/kotlin/repo/item/SBItemId.kt
parent0765c8aee181dda89b08f89c4a7deb301f00f656 (diff)
downloadFirmament-17a855a4bdfcca00b29f85981d8fb86968d9038c.tar.gz
Firmament-17a855a4bdfcca00b29f85981d8fb86968d9038c.tar.bz2
Firmament-17a855a4bdfcca00b29f85981d8fb86968d9038c.zip
feat: add SBItemData implementation
Diffstat (limited to 'src/main/kotlin/repo/item/SBItemId.kt')
-rw-r--r--src/main/kotlin/repo/item/SBItemId.kt24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/kotlin/repo/item/SBItemId.kt b/src/main/kotlin/repo/item/SBItemId.kt
new file mode 100644
index 0000000..fcafff0
--- /dev/null
+++ b/src/main/kotlin/repo/item/SBItemId.kt
@@ -0,0 +1,24 @@
+package moe.nea.firmament.repo.item
+
+import com.google.auto.service.AutoService
+import net.minecraft.item.ItemStack
+import moe.nea.firmament.repo.ItemCache.asItemStack
+import moe.nea.firmament.repo.RepoManager
+import moe.nea.firmament.util.SkyblockId
+import moe.nea.firmament.util.skyBlockId
+
+@AutoService(SBItemProperty::class)
+object SBItemId : SBItemProperty.State<SkyblockId>() {
+
+ override fun fromStack(stack: ItemStack, store: SBItemData): SkyblockId? {
+ return stack.skyBlockId
+ }
+
+ override fun applyToStack(stack: ItemStack, store: SBItemData, value: SkyblockId?): ItemStack {
+ val id = value ?: SkyblockId.NULL
+ return RepoManager.getNEUItem(id).asItemStack(idHint = id)
+ }
+
+ override val order: Int
+ get() = -10000
+}