From 03a1a00e57633ff30048d5af09fa10db9dcf423b Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Tue, 11 Mar 2025 17:58:47 +0100 Subject: feat: Add SBRecombobulated --- src/main/kotlin/repo/item/SBRecombobulator.kt | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/kotlin/repo/item/SBRecombobulator.kt (limited to 'src/main/kotlin/repo/item/SBRecombobulator.kt') 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() { + 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 +} -- cgit