aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt71
1 files changed, 27 insertions, 44 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt
index 30bb7cee7..32fa50328 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt
@@ -41,7 +41,7 @@ object BestiaryData {
private val titlePattern = "^(?:\\(\\d+/\\d+\\) )?(Bestiary|.+) ➜ (.+)$".toPattern()
private var inInventory = false
private var isCategory = false
- private var overallProgressEnabled = false;
+ private var overallProgressEnabled = false
private var indexes = listOf(
10, 11, 12, 13, 14, 15, 16,
19, 20, 21, 22, 23, 24, 25,
@@ -54,10 +54,7 @@ object BestiaryData {
if (!isEnabled()) return
if (inInventory) {
config.position.renderStringsAndItems(
- display,
- extraSpace = -1,
- itemScale = 1.3,
- posLabel = "Bestiary Data"
+ display, extraSpace = -1, itemScale = 1.3, posLabel = "Bestiary Data"
)
}
}
@@ -83,19 +80,15 @@ object BestiaryData {
fun onInventoryOpen(event: InventoryFullyOpenedEvent) {
if (!isEnabled()) return
val inventoryName = event.inventoryName
- val stack = event.inventoryItems[4] ?: return
- if ((inventoryName == "Bestiary ➜ Fishing" || inventoryName == "Bestiary") || isBestiaryGui(
- stack,
- inventoryName
- )
- ) {
- isCategory = inventoryName == "Bestiary ➜ Fishing" || inventoryName == "Bestiary"
- stackList.putAll(event.inventoryItems)
- inInventory = true
- overallProgressEnabled = event.inventoryItems[52]?.getLore()?.any { it == "§7Overall Progress: §aSHOWN" }
- ?: false
- update()
- }
+ val items = event.inventoryItems
+ val stack = items[4] ?: return
+ val bestiaryGui = isBestiaryGui(stack, inventoryName)
+ if (!(inventoryName == "Bestiary ➜ Fishing" || inventoryName == "Bestiary") && !bestiaryGui) return
+ isCategory = inventoryName == "Bestiary ➜ Fishing" || inventoryName == "Bestiary"
+ stackList.putAll(items)
+ inInventory = true
+ overallProgressEnabled = items[52]?.getLore()?.any { it == "§7Overall Progress: §aSHOWN" } ?: false
+ update()
}
@SubscribeEvent
@@ -175,9 +168,7 @@ object BestiaryData {
for ((lineIndex, line) in stack.getLore().withIndex()) {
val loreLine = line.removeColor()
if (loreLine.startsWith("Kills: ")) {
- actualRealTotalKill =
- "([0-9,.]+)".toRegex().find(loreLine)?.groupValues?.get(1)?.formatNumber()
- ?: 0
+ actualRealTotalKill = "([0-9,.]+)".toRegex().find(loreLine)?.groupValues?.get(1)?.formatNumber() ?: 0
}
if (!loreLine.startsWith(" ")) continue
val previousLine = stack.getLore()[lineIndex - 1]
@@ -282,36 +273,29 @@ object BestiaryData {
"§7More info thing"
)
- private fun getMobLine(
- mob: BestiaryMob,
- isMaxed: Boolean
- ): String {
- val displayType = config.displayType
+ private fun getMobLine(mob: BestiaryMob, isMaxed: Boolean): String {
+ val type = config.displayType
var text = ""
text += " §7- "
text += "${mob.name} ${mob.level.romanOrInt()}: "
text += if (isMaxed) {
"§c§lMAXED! §7(§b${mob.actualRealTotalKill.formatNumber()}§7 kills)"
} else {
- when (displayType) {
+ when (type) {
DisplayTypeEntry.GLOBAL_MAX, DisplayTypeEntry.GLOBAL_NEXT -> {
- val currentKill = when (displayType) {
+ val currentKill = when (type) {
DisplayTypeEntry.GLOBAL_MAX -> mob.totalKills
DisplayTypeEntry.GLOBAL_NEXT -> mob.currentKillToNextLevel
else -> 0
}
- val killNeeded = when (displayType) {
+ val killNeeded = when (type) {
DisplayTypeEntry.GLOBAL_MAX -> mob.killToMax
DisplayTypeEntry.GLOBAL_NEXT -> mob.killNeededForNextLevel
else -> 0
}
- "§7(§b${currentKill.formatNumber()}§7/§b${killNeeded.formatNumber()}§7) §a${
- ((currentKill.toDouble()
- / killNeeded)
- * 100).roundToPrecision(
- 2
- )
- }§6% ${if (displayType == DisplayTypeEntry.GLOBAL_NEXT) "§ato level ${mob.getNextLevel()}" else ""}"
+ val percentage = ((currentKill.toDouble() / killNeeded) * 100).roundToPrecision(2)
+ val suffix = if (type == DisplayTypeEntry.GLOBAL_NEXT) "§ato level ${mob.getNextLevel()}" else ""
+ "§7(§b${currentKill.formatNumber()}§7/§b${killNeeded.formatNumber()}§7) §a$percentage§6% $suffix"
}
DisplayTypeEntry.LOWEST_TOTAL, DisplayTypeEntry.HIGHEST_TOTAL -> {
@@ -490,14 +474,13 @@ object BestiaryData {
if (config.replaceRoman || it == 0) it.toString() else it.toRoman()
}
- private fun String.getNextLevel() =
- if (this == "0") {
- "I".romanOrInt()
- } else {
- val intValue = romanToDecimalIfNecessary()
- (intValue + 1).toRoman().romanOrInt()
- }
+ private fun String.getNextLevel() = if (this == "0") {
+ "I".romanOrInt()
+ } else {
+ val intValue = romanToDecimalIfNecessary()
+ (intValue + 1).toRoman().romanOrInt()
+ }
private fun isEnabled() = LorenzUtils.inSkyBlock && config.enabled
-} \ No newline at end of file
+}