summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/CachedItemData.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt19
2 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/CachedItemData.kt b/src/main/java/at/hannibal2/skyhanni/utils/CachedItemData.kt
index b6cf391b7..b9beea397 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/CachedItemData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/CachedItemData.kt
@@ -4,4 +4,6 @@ data class CachedItemData(
/** -1 = not loaded */ var petCandies: Int? = -1,
/** "" = not loaded */ var heldItem: String? = "",
/** -1 = not loaded */ var sackInASack: Int? = -1,
+ /** null = not loaded */ var riftTransferable: Boolean? = null,
+ /** null = not loaded */ var riftExportable: Boolean? = null,
) \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt
index 6292bf7e0..af0f26bcc 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt
@@ -3,6 +3,7 @@ package at.hannibal2.skyhanni.utils
import at.hannibal2.skyhanni.config.ConfigManager
import at.hannibal2.skyhanni.mixins.hooks.ItemStackCachedData
import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
+import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.ItemUtils.name
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import com.google.gson.JsonObject
@@ -59,6 +60,22 @@ object SkyBlockItemModifierUtils {
return data.heldItem
}
+ fun ItemStack.isRiftTransferable(): Boolean? {
+ val data = cachedData
+ if (data.riftTransferable == null) {
+ data.riftTransferable = getLore().any { it == "§5§kX§5 Rift-Transferable §kX" }
+ }
+ return data.riftTransferable
+ }
+
+ fun ItemStack.isRiftExportable(): Boolean? {
+ val data = cachedData
+ if (data.riftExportable == null) {
+ data.riftExportable = getLore().any { it == "§5§kX§5 Rift-Exportable §kX" }
+ }
+ return data.riftExportable
+ }
+
private fun ItemStack.getPetInfo() =
ConfigManager.gson.fromJson(getExtraAttributes()?.getString("petInfo"), JsonObject::class.java)
@@ -210,7 +227,7 @@ object SkyBlockItemModifierUtils {
return getExtraAttributes()?.hasKey(label) ?: false
}
- private fun ItemStack.getExtraAttributes() = tagCompound?.getCompoundTag("ExtraAttributes")
+ fun ItemStack.getExtraAttributes() = tagCompound?.getCompoundTag("ExtraAttributes")
class GemstoneSlot(val type: GemstoneType, val quality: GemstoneQuality) {
fun getInternalName() = "${quality}_${type}_GEM"