aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-09-15 13:08:31 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-09-15 13:08:31 +0200
commit85d7ae90e5e299972f4ff288686d08bb671e72bf (patch)
treee45e4140238ef10507f5b01ecb59106617c1e7e4 /src/main/java
parentb26814bc3b7559c999dbbb11d0aec11f6ecb2be3 (diff)
downloadskyhanni-85d7ae90e5e299972f4ff288686d08bb671e72bf.tar.gz
skyhanni-85d7ae90e5e299972f4ff288686d08bb671e72bf.tar.bz2
skyhanni-85d7ae90e5e299972f4ff288686d08bb671e72bf.zip
Fixed pet exp tooltip doesn't show in pet inventory or Hypixel profile viewer (right-click a player).
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/PetExpTooltip.kt23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/PetExpTooltip.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/PetExpTooltip.kt
index 7a96c86d2..35ed88534 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/PetExpTooltip.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/PetExpTooltip.kt
@@ -4,10 +4,10 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.utils.*
import at.hannibal2.skyhanni.utils.ItemUtils.getItemRarityOrNull
import at.hannibal2.skyhanni.utils.ItemUtils.name
-import at.hannibal2.skyhanni.utils.LorenzUtils.indexOfFirst
import at.hannibal2.skyhanni.utils.LorenzUtils.round
import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators
import at.hannibal2.skyhanni.utils.SkyBlockItemModifierUtils.getPetExp
+import io.github.moulberry.notenoughupdates.NotEnoughUpdates
import net.minecraftforge.event.entity.player.ItemTooltipEvent
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
@@ -25,11 +25,7 @@ class PetExpTooltip {
val petExperience = itemStack.getPetExp()?.round(1) ?: return
val name = itemStack.name ?: return
- val index = event.toolTip.indexOfFirst(
- "§5§o§7§eClick to summon!",
- "§5§o§7§cClick to despawn!",
- "§5§o§7§eRight-click to add this pet to",
- ) ?: return
+ val index = findIndex(event.toolTip) ?: return
val maxLevel = ItemUtils.maxPetLevel(name)
val maxXp = maxPetExp(name) // lvl 100 legendary
@@ -49,6 +45,21 @@ class PetExpTooltip {
}
}
+ private fun findIndex(toolTip: List<String>): Int? {
+ var index = toolTip.indexOfFirst { it.contains("MAX LEVEL") }
+ if (index != -1) {
+ return index + 2
+ }
+
+ index = toolTip.indexOfFirst { it.contains("Progress to Level") }
+ if (index != -1) {
+ val offset = if (NotEnoughUpdates.INSTANCE.config.tooltipTweaks.petExtendExp) 4 else 3
+ return index + offset
+ }
+
+ return null
+ }
+
private fun maxPetExp(petName: String) = when {
petName.contains("Golden Dragon") && config.goldenDragon200 -> 210_255_385 // lvl 200 legendary
petName.contains("Bingo") -> 5_624_785 // lvl 100 common