diff --git a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java index 754eea3bba59..4ccb0823d512 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java +++ b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java @@ -102,6 +102,9 @@ public static class ChocolateFactoryStorage { @Expose public long currentChocolate = 0; + @Expose + public long maxChocolate = 0; + @Expose public long chocolateThisPrestige = 0; diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateAmount.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateAmount.kt index 7f0694e2a779..1f1f6d0c0969 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateAmount.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateAmount.kt @@ -31,6 +31,7 @@ enum class ChocolateAmount(val chocolate: () -> Long) { companion object { fun chocolateSinceUpdate(): Long { + if (ChocolateFactoryAPI.isMax()) return 0L val lastUpdate = profileStorage?.lastDataSave ?: return 0 val currentTime = SimpleTimeMark.now() val secondsSinceUpdate = (currentTime - lastUpdate).inWholeSeconds diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt index 112e8a7a7383..195ea51d32f9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryAPI.kt @@ -239,4 +239,8 @@ object ChocolateFactoryAPI { it.rabbit.removeColor() == rabbitName.removeColor() } } + + fun isMax(): Boolean = profileStorage?.let { + it.maxChocolate == it.currentChocolate + } ?: false } diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt index eebbb19e93a7..64a99a8c911f 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryDataLoader.kt @@ -51,6 +51,14 @@ object ChocolateFactoryDataLoader { "chocolate.thisprestige", "§7Chocolate this Prestige: §6(?[\\d,]+)", ) + + /** + * REGEX-TEST: §7Max Chocolate: §660B + */ + private val maxChocolatePattern by ChocolateFactoryAPI.patternGroup.pattern( + "chocolate.max", + "§7Max Chocolate: §6(?.*)", + ) private val chocolateForPrestigePattern by ChocolateFactoryAPI.patternGroup.pattern( "chocolate.forprestige", "§7§cRequires (?\\w+) Chocolate this.*", @@ -230,6 +238,9 @@ object ChocolateFactoryDataLoader { chocolateThisPrestigePattern.matchMatcher(line) { profileStorage.chocolateThisPrestige = group("amount").formatLong() } + maxChocolatePattern.matchMatcher(line) { + profileStorage.maxChocolate = group("max").formatLong() + } chocolateForPrestigePattern.matchMatcher(line) { ChocolateFactoryAPI.chocolateForPrestige = group("amount").formatLong() prestigeCost = ChocolateFactoryAPI.chocolateForPrestige diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt index 8d08e485e16f..36c79728cd39 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryStats.kt @@ -76,7 +76,10 @@ object ChocolateFactoryStats { val map = buildMap { put(ChocolateFactoryStat.HEADER, "§6§lChocolate Factory ${ChocolateFactoryAPI.currentPrestige.toRoman()}") - put(ChocolateFactoryStat.CURRENT, "§eCurrent Chocolate: §6${ChocolateAmount.CURRENT.formatted}") + val maxSuffix = if (ChocolateFactoryAPI.isMax()) { + " §cMax!" + } else "" + put(ChocolateFactoryStat.CURRENT, "§eCurrent Chocolate: §6${ChocolateAmount.CURRENT.formatted}$maxSuffix") put(ChocolateFactoryStat.THIS_PRESTIGE, "§eThis Prestige: §6${ChocolateAmount.PRESTIGE.formatted}") put(ChocolateFactoryStat.ALL_TIME, "§eAll-time: §6${ChocolateAmount.ALL_TIME.formatted}")