aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/repo/item/SBRecombobulator.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-03-11 17:58:47 +0100
committerLinnea Gräf <nea@nea.moe>2025-03-11 17:58:47 +0100
commit03a1a00e57633ff30048d5af09fa10db9dcf423b (patch)
tree8ff130eb0684fa4839c85f6e1bb2d0bd5271f735 /src/main/kotlin/repo/item/SBRecombobulator.kt
parent17a855a4bdfcca00b29f85981d8fb86968d9038c (diff)
downloadFirmament-03a1a00e57633ff30048d5af09fa10db9dcf423b.tar.gz
Firmament-03a1a00e57633ff30048d5af09fa10db9dcf423b.tar.bz2
Firmament-03a1a00e57633ff30048d5af09fa10db9dcf423b.zip
feat: Add SBRecombobulatedexperiment/itemstacks
Diffstat (limited to 'src/main/kotlin/repo/item/SBRecombobulator.kt')
-rw-r--r--src/main/kotlin/repo/item/SBRecombobulator.kt38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/kotlin/repo/item/SBRecombobulator.kt b/src/main/kotlin/repo/item/SBRecombobulator.kt
new file mode 100644
index 0000000..8798493
--- /dev/null
+++ b/src/main/kotlin/repo/item/SBRecombobulator.kt
@@ -0,0 +1,38 @@
+package moe.nea.firmament.repo.item
+
+import com.google.auto.service.AutoService
+import net.minecraft.item.ItemStack
+import net.minecraft.nbt.NbtInt
+import moe.nea.firmament.repo.set
+import moe.nea.firmament.util.extraAttributes
+import moe.nea.firmament.util.mc.modifyLore
+import moe.nea.firmament.util.modifyExtraAttributes
+import moe.nea.firmament.util.skyblock.Rarity
+
+@AutoService(SBItemProperty::class)
+object SBRecombobulator : SBItemProperty.State<Boolean>() {
+ override fun applyToStack(
+ stack: ItemStack,
+ store: SBItemData,
+ value: Boolean?
+ ): ItemStack {
+ if (value != true) return stack
+ stack.modifyLore { lore ->
+ Rarity.recombobulateLore(lore)
+ }
+ stack.modifyExtraAttributes {
+ it["rarity_upgrades"] = NbtInt.of(1)
+ }
+ return stack
+ }
+
+ override fun fromStack(
+ stack: ItemStack,
+ store: SBItemData
+ ): Boolean? {
+ return stack.extraAttributes.getInt("rarity_upgrades") > 0
+ }
+
+ override val order: Int
+ get() = -100
+}