diff options
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java | 5 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/inventory/ItemDisplayOverlayFeatures.kt | 81 |
2 files changed, 47 insertions, 39 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java b/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java index a86e8a5a2..3575e2379 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java @@ -105,10 +105,11 @@ public class Inventory { "§bWishing Compass", "§bKuudra Key", "§bSkill Level", - "§bCollection Level" + "§bCollection Level", + "§bRancher Boot's speed" } ) - public List<Integer> itemNumberAsStackSize = new ArrayList<>(Arrays.asList(3, 9)); + public List<Integer> itemNumberAsStackSize = new ArrayList<>(Arrays.asList(3, 9, 11)); @Expose @ConfigOption(name = "Sack Name", desc = "Show an abbreviation of the Sack name.") diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemDisplayOverlayFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemDisplayOverlayFeatures.kt index e77865a35..2a0cfc20c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemDisplayOverlayFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/ItemDisplayOverlayFeatures.kt @@ -5,7 +5,6 @@ import at.hannibal2.skyhanni.api.CollectionAPI import at.hannibal2.skyhanni.events.RenderItemTipEvent import at.hannibal2.skyhanni.utils.InventoryUtils import at.hannibal2.skyhanni.utils.ItemUtils -import at.hannibal2.skyhanni.utils.ItemUtils.cleanName import at.hannibal2.skyhanni.utils.ItemUtils.getLore import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LorenzUtils.between @@ -19,6 +18,7 @@ import java.util.regex.Pattern class ItemDisplayOverlayFeatures { private val wishingCompassPattern = Pattern.compile("§7Remaining Uses: §e(.*)§8/§e3") + private val rangerBootsSpeedCapPattern = Pattern.compile("§7Current Speed Cap: §a(.*)") @SubscribeEvent fun onRenderItemTip(event: RenderItemTipEvent) { @@ -26,10 +26,10 @@ class ItemDisplayOverlayFeatures { } private fun getStackTip(item: ItemStack): String { - val name = item.cleanName() + val itemName = item.name ?: return "" if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(0)) { - when (name) { + when (itemName) { "First Master Star" -> return "1" "Second Master Star" -> return "2" "Third Master Star" -> return "3" @@ -39,37 +39,37 @@ class ItemDisplayOverlayFeatures { } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(1)) { - if (name.matchRegex("(.*)Master Skull - Tier .")) { - return name.substring(name.length - 1) + if (itemName.matchRegex("(.*)Master Skull - Tier .")) { + return itemName.substring(itemName.length - 1) } } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(2)) { - if (name.contains("Golden ") || name.contains("Diamond ")) { + if (itemName.contains("Golden ") || itemName.contains("Diamond ")) { when { - name.contains("Bonzo") -> return "1" - name.contains("Scarf") -> return "2" - name.contains("Professor") -> return "3" - name.contains("Thorn") -> return "4" - name.contains("Livid") -> return "5" - name.contains("Sadan") -> return "6" - name.contains("Necron") -> return "7" + itemName.contains("Bonzo") -> return "1" + itemName.contains("Scarf") -> return "2" + itemName.contains("Professor") -> return "3" + itemName.contains("Thorn") -> return "4" + itemName.contains("Livid") -> return "5" + itemName.contains("Sadan") -> return "6" + itemName.contains("Necron") -> return "7" } } } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(3)) { - if (name.startsWith("New Year Cake (")) { - return "§b" + name.between("(Year ", ")") + if (itemName.startsWith("New Year Cake (")) { + return "§b" + itemName.between("(Year ", ")") } } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(4)) { val chestName = InventoryUtils.openInventoryName() if (!chestName.endsWith("Sea Creature Guide")) { - if (ItemUtils.isPet(name)) { - val level = name.between("Lvl ", "] ").toInt() - if (level != ItemUtils.maxPetLevel(name)) { + if (ItemUtils.isPet(itemName)) { + val level = itemName.between("Lvl ", "] ").toInt() + if (level != ItemUtils.maxPetLevel(itemName)) { return "$level" } } @@ -77,9 +77,9 @@ class ItemDisplayOverlayFeatures { } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(5)) { - if (name.contains(" Minion ")) { + if (itemName.contains(" Minion ")) { if (item.getLore().any { it.contains("Place this minion") }) { - val array = name.split(" ") + val array = itemName.split(" ") val last = array[array.size - 1] return last.romanToDecimal().toString() } @@ -87,14 +87,14 @@ class ItemDisplayOverlayFeatures { } if (SkyHanniMod.feature.inventory.displaySackName) { - if (ItemUtils.isSack(name)) { - val sackName = grabSackName(name) - return (if (name.contains("Enchanted")) "§5" else "") + sackName.substring(0, 2) + if (ItemUtils.isSack(itemName)) { + val sackName = grabSackName(itemName) + return (if (itemName.contains("Enchanted")) "§5" else "") + sackName.substring(0, 2) } } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(7)) { - if (name.contains("Wishing Compass")) { + if (itemName.contains("Wishing Compass")) { for (line in item.getLore()) { val matcher = wishingCompassPattern.matcher(line) if (matcher.matches()) { @@ -108,8 +108,8 @@ class ItemDisplayOverlayFeatures { } if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(8)) { - if (name.contains("Kuudra Key")) { - return when (name) { + if (itemName.contains("Kuudra Key")) { + return when (itemName) { "Kuudra Key" -> "§a1" "Hot Kuudra Key" -> "§22" "Burning Kuudra Key" -> "§e3" @@ -123,11 +123,9 @@ class ItemDisplayOverlayFeatures { if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(9)) { if (InventoryUtils.openInventoryName() == "Your Skills") { if (item.getLore().any { it.contains("Click to view!") }) { - item.name?.let { - if (!it.contains("Dungeon")) { - val text = it.split(" ").last() - return "" + text.romanToDecimalIfNeeded() - } + if (!itemName.contains("Dungeon")) { + val text = itemName.split(" ").last() + return "" + text.romanToDecimalIfNeeded() } } } @@ -137,12 +135,21 @@ class ItemDisplayOverlayFeatures { if (InventoryUtils.openInventoryName().endsWith(" Collections")) { val lore = item.getLore() if (lore.any { it.contains("Click to view!") }) { - item.name?.let { - if (CollectionAPI.isCollectionTier0(lore)) return "0" - if (it.startsWith("§e")) { - val text = it.split(" ").last() - return "" + text.romanToDecimalIfNeeded() - } + if (CollectionAPI.isCollectionTier0(lore)) return "0" + if (itemName.startsWith("§e")) { + val text = itemName.split(" ").last() + return "" + text.romanToDecimalIfNeeded() + } + } + } + } + + if (SkyHanniMod.feature.inventory.itemNumberAsStackSize.contains(11)) { + if (itemName.contains("Rancher's Boots")) { + for (line in item.getLore()) { + val matcher = rangerBootsSpeedCapPattern.matcher(line) + if (matcher.matches()) { + return matcher.group(1) } } } |