aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/repo/item/SBItemId.kt
diff options
context:
space:
mode:
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
+}