diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-09-16 12:34:18 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-09-16 12:34:18 +0200 |
| commit | 4293cfd919c3c93d4532534f722c407d7ad1370d (patch) | |
| tree | f9f612f021ef7f4283d74312edfaca30badc6749 /src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt | |
| parent | 538e3ceb76f8e0b590291ce9aa90aa94896cdcb6 (diff) | |
| parent | 024ba52fb69b6cd44b4e31542867f802de656f15 (diff) | |
| download | SkyHanni-cum.tar.gz SkyHanni-cum.tar.bz2 SkyHanni-cum.zip | |
Merge branch 'beta' into cumcum
# Conflicts:
# src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt
# src/main/java/at/hannibal2/skyhanni/config/features/AshfangConfig.java
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt index 38e1c319e..09b86deba 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt @@ -13,19 +13,14 @@ import at.hannibal2.skyhanni.utils.RenderUtils.renderString import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import at.hannibal2.skyhanni.utils.StringUtils.removeColor import net.minecraftforge.fml.common.eventhandler.SubscribeEvent -import kotlin.math.roundToInt +import kotlin.math.roundToLong import kotlin.time.Duration.Companion.milliseconds class GardenLevelDisplay { private val config get() = SkyHanniMod.feature.garden - private val expToNextLevelPattern = "(?:.*) §e(?<nextLevelExp>.*)§6\\/(?:.*)".toPattern() + private val expToNextLevelPattern = ".* §e(?<nextLevelExp>.*)§6/.*".toPattern() private val overflowPattern = ".*§r §6(?<overflow>.*) XP".toPattern() private val namePattern = "Garden Level (?<currentLevel>.*)".toPattern() - private var gardenExp - get() = GardenAPI.config?.experience ?: -1 - set(value) { - GardenAPI.config?.experience = value - } private var display = "" private var visitorRewardPattern = " {4}§r§8\\+§r§2(?<exp>.*) §r§7Garden Experience".toPattern() @@ -44,15 +39,17 @@ class GardenLevelDisplay { } private fun addExp(moreExp: Int) { - val oldLevel = GardenAPI.getLevelForExp(gardenExp.toLong()) - gardenExp += moreExp - val newLevel = GardenAPI.getLevelForExp(gardenExp.toLong()) + val gardenExp = GardenAPI.gardenExp ?: return + val oldLevel = GardenAPI.getGardenLevel() + GardenAPI.gardenExp = gardenExp + moreExp + val newLevel = GardenAPI.getGardenLevel() if (newLevel == oldLevel + 1) { if (newLevel > 15) { LorenzUtils.runDelayed(50.milliseconds) { - LorenzUtils.chat( + LorenzUtils.clickableChat( " \n§b§lGARDEN LEVEL UP §8$oldLevel ➜ §b$newLevel\n" + - " §8+§aRespect from Elite Farmers and SkyHanni members :)\n " + " §8+§aRespect from Elite Farmers and SkyHanni members :)\n ", + "/gardenlevels" ) } } @@ -68,20 +65,20 @@ class GardenLevelDisplay { namePattern.matchMatcher(item.name!!.removeColor()) { val currentLevel = group("currentLevel").romanToDecimalIfNeeded() - var nextLevelExp = 0 + var nextLevelExp = 0L for (line in item.getLore()) { expToNextLevelPattern.matchMatcher(line) { - nextLevelExp = group("nextLevelExp").replace(",", "").toDouble().roundToInt() + nextLevelExp = group("nextLevelExp").replace(",", "").toDouble().roundToLong() } overflowPattern.matchMatcher(line) { - val overflow = group("overflow").replace(",", "").toDouble().roundToInt() - gardenExp = overflow + val overflow = group("overflow").replace(",", "").toDouble().roundToLong() + GardenAPI.gardenExp = overflow update() return } } val expForLevel = GardenAPI.getExpForLevel(currentLevel).toInt() - gardenExp = expForLevel + nextLevelExp + GardenAPI.gardenExp = expForLevel + nextLevelExp update() } } @@ -91,8 +88,8 @@ class GardenLevelDisplay { } private fun drawDisplay(): String { - if (gardenExp == -1) return "§aGarden Level ? §cOpen the desk!" - val currentLevel = GardenAPI.getLevelForExp(gardenExp.toLong()) + val gardenExp = GardenAPI.gardenExp ?: return "§aGarden Level ? §cOpen the desk!" + val currentLevel = GardenAPI.getGardenLevel() val needForLevel = GardenAPI.getExpForLevel(currentLevel).toInt() val nextLevel = currentLevel + 1 val needForNextLevel = GardenAPI.getExpForLevel(nextLevel).toInt() |
