diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/CachedItemData.kt | 2 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt | 19 |
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" |
