summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-22 22:47:58 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-22 22:47:58 +0200
commit51af64037d0422d4d6b603e1164e60cf4b50dda0 (patch)
tree7db56555251734d1df908248715c3d8e7ea7fcf0 /src/main/java/at/hannibal2/skyhanni/utils
parentdd8b540be1eb5a97b26750b3c75f15d3af305e90 (diff)
downloadskyhanni-51af64037d0422d4d6b603e1164e60cf4b50dda0.tar.gz
skyhanni-51af64037d0422d4d6b603e1164e60cf4b50dda0.tar.bz2
skyhanni-51af64037d0422d4d6b603e1164e60cf4b50dda0.zip
Pet Experience Tooltip
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt25
3 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
index 4641c566c..2186a6d19 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
@@ -474,4 +474,6 @@ object LorenzUtils {
javaClass.getDeclaredField("modifiers").makeAccessible().set(this, modifiers and (Modifier.FINAL.inv()))
return this
}
+
+ fun <T> List<T>.indexOfFirst(vararg args: T) = args.map { indexOf(it) }.firstOrNull { it != -1 }
} \ 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 77d291d84..385571c56 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/SkyBlockItemModifierUtils.kt
@@ -42,6 +42,8 @@ object SkyBlockItemModifierUtils {
fun ItemStack.getDungeonStarCount() =
getAttributeInt("upgrade_level") ?: getAttributeInt("dungeon_item_level")
+ fun ItemStack.getPetExp() = getPetInfo()?.get("exp")?.asDouble
+
fun ItemStack.getPetCandyUsed(): Int? {
val data = cachedData
if (data.petCandies == -1) {
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
index b4d3d106a..d60a1c9ce 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
@@ -127,4 +127,29 @@ object StringUtils {
fun optionalPlural(number: Int, singular: String, plural: String) =
"$number " + if (number == 1) singular else plural
+
+ fun progressBar(percentage: Double, steps: Int = 25): Any {
+ //'§5§o§2§l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §f§l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §l§m §r §e348,144.3§6/§e936k'
+ val prefix = "§5§o§2"
+ val step = "§l§m "
+ val missing = "§f"
+ val end = "§r"
+
+ val builder = StringBuilder()
+ var inMissingArea = false
+ builder.append(prefix)
+ for (i in 0..steps) {
+ builder.append(step)
+ val toDouble = i.toDouble()
+ val stepPercentage = toDouble / steps
+ if (stepPercentage > percentage) {
+ if (!inMissingArea) {
+ builder.append(missing)
+ inMissingArea = true
+ }
+ }
+ }
+ builder.append(end)
+ return builder.toString()
+ }
} \ No newline at end of file