summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardDisplay.kt10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt22
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt29
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fame/AccountUpgradeReminder.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt19
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fishing/TotemOfCorruption.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/AtmosphericFilterDisplay.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt34
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/composter/GardenComposterInventoryFeatures.kt20
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/farming/ArmorDropTracker.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropMoneyDisplay.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingWeightDisplay.kt18
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/farming/GardenCropMilestoneDisplay.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/visitor/HighlightVisitorsOutsideOfGarden.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbility.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/mining/KingTalismanHelper.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/mining/eventtracker/MiningEventTracker.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/ServerRestartTitle.kt57
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValue.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedItemValueCalculator.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/items/EstimatedWardrobePrice.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/DailyQuestHelper.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/area/livingcave/LivingCaveDefenseBlocks.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/area/livingcave/LivingMetalSuitProgress.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/area/stillgorechateau/RiftBloodEffigies.kt22
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/kloon/KloonHacking.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/CruxTalismanDisplay.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerClearView.kt35
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerFeatures.kt5
32 files changed, 171 insertions, 222 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardDisplay.kt
index e1cd1dbca..9fca47fbc 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardDisplay.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardDisplay.kt
@@ -4,7 +4,7 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator
import at.hannibal2.skyhanni.events.ConfigLoadEvent
import at.hannibal2.skyhanni.events.GuiRenderEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.events.bingo.BingoCardUpdateEvent
import at.hannibal2.skyhanni.features.bingo.BingoAPI
import at.hannibal2.skyhanni.features.bingo.card.goals.BingoGoal
@@ -71,11 +71,9 @@ class BingoCardDisplay {
}
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
- if (event.repeatSeconds(1)) {
- if (hasHiddenPersonalGoals) {
- update()
- }
+ fun onSecondPassed(event: SecondPassedEvent) {
+ if (hasHiddenPersonalGoals) {
+ update()
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt b/src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt
index f44185c4c..2823d57d9 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt
@@ -2,8 +2,8 @@ package at.hannibal2.skyhanni.features.chat
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.LorenzChatEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.features.dungeon.DungeonAPI
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.features.misc.MarkedPlayerManager
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.EntityUtils
@@ -27,12 +27,10 @@ class PlayerDeathMessages {
)
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!isHideFarDeathsEnabled()) return
- if (event.repeatSeconds(1)) {
- checkOtherPlayers()
- }
+ checkOtherPlayers()
}
@SubscribeEvent
diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt
index ea94117af..176a40f59 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt
@@ -34,19 +34,19 @@ class CroesusChestTracker {
private val config get() = SkyHanniMod.feature.dungeon.chest
- private val repoGroup = RepoPattern.group("dungeon.croesus")
+ private val patternGroup = RepoPattern.group("dungeon.croesus")
- private val croesusPattern by repoGroup.pattern("inventory", "Croesus")
- private val croesusEmptyPattern by repoGroup.pattern("empty", "§cNo treasures!")
- private val kismetPattern by repoGroup.pattern("kismet.reroll", "§aReroll Chest")
- private val kismetUsedPattern by repoGroup.pattern("kismet.used", "§aYou already rerolled a chest!")
+ private val croesusPattern by patternGroup.pattern("inventory", "Croesus")
+ private val croesusEmptyPattern by patternGroup.pattern("empty", "§cNo treasures!")
+ private val kismetPattern by patternGroup.pattern("kismet.reroll", "§aReroll Chest")
+ private val kismetUsedPattern by patternGroup.pattern("kismet.used", "§aYou already rerolled a chest!")
- private val floorPattern by repoGroup.pattern("chest.floor", "§7Tier: §eFloor (?<floor>[IV]+)")
- private val masterPattern by repoGroup.pattern("chest.master", ".*Master.*")
+ private val floorPattern by patternGroup.pattern("chest.floor", "§7Tier: §eFloor (?<floor>[IV]+)")
+ private val masterPattern by patternGroup.pattern("chest.master", ".*Master.*")
- private val keyUsedPattern by repoGroup.pattern("chest.state.keyused", "§aNo more Chests to open!")
- private val openedPattern by repoGroup.pattern("chest.state.opened", "§8Opened Chest:.*")
- private val unopenedPattern by repoGroup.pattern("chest.state.unopened", "§8No Chests Opened!")
+ private val keyUsedPattern by patternGroup.pattern("chest.state.keyused", "§aNo more Chests to open!")
+ private val openedPattern by patternGroup.pattern("chest.state.opened", "§8Opened Chest:.*")
+ private val unopenedPattern by patternGroup.pattern("chest.state.unopened", "§8No Chests Opened!")
private val kismetSlotId = 50
private val emptySlotId = 22
@@ -115,7 +115,7 @@ class CroesusChestTracker {
private fun kismetDungeonChestSetup(event: InventoryFullyOpenedEvent) {
chestInventory = DungeonChest.getByInventoryName(event.inventoryName) ?: return
if (config.kismetStackSize) {
- kismetAmountCache = getKismetAmount().toInt()
+ kismetAmountCache = getKismetAmount()
}
if (config.showUsedKismets) {
val kismetItem = event.inventoryItems[kismetSlotId] ?: return
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt
index 42a4c8850..33f7efab4 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt
@@ -4,9 +4,9 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.EntityHealthUpdateEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.LorenzKeyPressEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent
import at.hannibal2.skyhanni.events.PacketEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.CollectionUtils.editCopy
import at.hannibal2.skyhanni.utils.EntityUtils
@@ -84,15 +84,14 @@ object InquisitorWaypointShare {
}
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!isEnabled()) return
if (event.repeatSeconds(3)) {
inquisitorsNearby = inquisitorsNearby.editCopy { removeIf { it.isDead } }
}
- if (event.repeatSeconds(1)) {
- waypoints = waypoints.editCopy { values.removeIf { it.spawnTime.passedSince() > 75.seconds } }
- }
+
+ waypoints = waypoints.editCopy { values.removeIf { it.spawnTime.passedSince() > 75.seconds } }
}
@SubscribeEvent
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt b/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt
index 4bc6c02b5..9a68947dc 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt
@@ -2,10 +2,10 @@ package at.hannibal2.skyhanni.features.event.winter
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.data.ProfileStorageData
+import at.hannibal2.skyhanni.data.ScoreboardData
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
-import at.hannibal2.skyhanni.events.ScoreboardChangeEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.features.fame.ReminderUtils
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.LorenzUtils
@@ -23,14 +23,12 @@ class NewYearCakeReminder {
"event.winter.newyearcake.reminder.sidebar",
"§dNew Year Event!§f (?<time>.*)"
)
-
- private var cakeTime = false
private var lastReminderSend = SimpleTimeMark.farPast()
@SubscribeEvent
fun onChat(event: LorenzChatEvent) {
if (event.message == "§aYou claimed a §r§cNew Year Cake§r§a!") {
- makedClaimed()
+ markCakeClaimed()
}
}
@@ -38,11 +36,11 @@ class NewYearCakeReminder {
fun onInventoryOpen(event: InventoryFullyOpenedEvent) {
// cake already claimed
if (event.inventoryName == "Baker") {
- makedClaimed()
+ markCakeClaimed()
}
}
- private fun makedClaimed() {
+ private fun markCakeClaimed() {
val playerSpecific = ProfileStorageData.playerSpecific ?: return
playerSpecific.winter.cakeCollectedYear = SkyBlockTime.now().year
}
@@ -53,21 +51,10 @@ class NewYearCakeReminder {
}
@SubscribeEvent
- fun onScoreboardChange(event: ScoreboardChangeEvent) {
- cakeTime = event.newList.any { sidebarDetectionPattern.matches(it) }
- }
-
- @SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!LorenzUtils.inSkyBlock) return
- if (event.repeatSeconds(1)) {
- check()
- }
- }
-
- private fun check() {
- if (!cakeTime) return
if (!config.newYearCakeReminder) return
+ if (!isCakeTime()) return
if (ReminderUtils.isBusy()) return
if (isClaimed()) return
@@ -79,4 +66,6 @@ class NewYearCakeReminder {
"openbaker"
)
}
+
+ private fun isCakeTime() = ScoreboardData.sidebarLinesFormatted.any { sidebarDetectionPattern.matches(it) }
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fame/AccountUpgradeReminder.kt b/src/main/java/at/hannibal2/skyhanni/features/fame/AccountUpgradeReminder.kt
index 4f1e3b5ea..ca700e2b1 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fame/AccountUpgradeReminder.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fame/AccountUpgradeReminder.kt
@@ -6,7 +6,7 @@ import at.hannibal2.skyhanni.events.GuiContainerEvent
import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
import at.hannibal2.skyhanni.events.LorenzChatEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.LorenzUtils
@@ -32,16 +32,11 @@ class AccountUpgradeReminder {
}
}
+ // TODO: Merge this logic with CityProjectFeatures reminder to reduce duplication
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!LorenzUtils.inSkyBlock) return
- if (event.repeatSeconds(1)) {
- checkReminder()
- }
- }
- // TODO: Merge this logic with CityProjectFeatures reminder to reduce duplication
- private fun checkReminder() {
if (!isEnabled()) return
val playerSpecific = ProfileStorageData.playerSpecific ?: return
if (ReminderUtils.isBusy()) return
@@ -50,7 +45,6 @@ class AccountUpgradeReminder {
val upgrade = playerSpecific.currentAccountUpgrade ?: return
val nextCompletionTime = nextCompletionTime ?: return
if (!nextCompletionTime.isInPast()) return
-
if (lastReminderSend.passedSince() < 30.seconds) return
lastReminderSend = SimpleTimeMark.now()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt
index c2bfd586e..f5f45862e 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt
@@ -7,7 +7,7 @@ import at.hannibal2.skyhanni.events.GuiContainerEvent
import at.hannibal2.skyhanni.events.GuiRenderEvent
import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.features.inventory.bazaar.BazaarApi
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.CollectionUtils.addAsSingletonList
@@ -38,12 +38,13 @@ import net.minecraft.client.gui.inventory.GuiEditSign
import net.minecraft.inventory.ContainerChest
import net.minecraft.item.ItemStack
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+import kotlin.time.Duration.Companion.seconds
class CityProjectFeatures {
private var display = emptyList<List<Any>>()
private var inInventory = false
- private var lastReminderSend = 0L
+ private var lastReminderSend = SimpleTimeMark.farPast()
private val patternGroup = RepoPattern.group("fame.projects")
private val contributeAgainPattern by patternGroup.pattern(
@@ -65,14 +66,7 @@ class CityProjectFeatures {
}
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
- if (!LorenzUtils.inSkyBlock) return
- if (event.repeatSeconds(1)) {
- checkDailyReminder()
- }
- }
-
- private fun checkDailyReminder() {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!config.dailyReminder) return
val playerSpecific = ProfileStorageData.playerSpecific ?: return
if (ReminderUtils.isBusy()) return
@@ -81,9 +75,8 @@ class CityProjectFeatures {
if (playerSpecific.nextCityProjectParticipationTime == 0L) return
if (System.currentTimeMillis() <= playerSpecific.nextCityProjectParticipationTime) return
-
- if (lastReminderSend + 30_000 > System.currentTimeMillis()) return
- lastReminderSend = System.currentTimeMillis()
+ if (lastReminderSend.passedSince() < 30.seconds) return
+ lastReminderSend = SimpleTimeMark.now()
ChatUtils.clickableChat(
"Daily City Project Reminder! (Click here to disable this reminder)",
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/TotemOfCorruption.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/TotemOfCorruption.kt
index 54e5d6c30..b6da38ccd 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fishing/TotemOfCorruption.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/TotemOfCorruption.kt
@@ -4,8 +4,8 @@ import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.features.fishing.TotemOfCorruptionConfig.OutlineType
import at.hannibal2.skyhanni.events.GuiRenderEvent
import at.hannibal2.skyhanni.events.LorenzRenderWorldEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.events.ReceiveParticleEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.utils.ColorUtils.toChromaColor
import at.hannibal2.skyhanni.utils.EntityUtils
import at.hannibal2.skyhanni.utils.LocationUtils.distanceToPlayer
@@ -35,16 +35,16 @@ class TotemOfCorruption {
private var display = emptyList<String>()
private var totems: List<Totem> = emptyList()
- private val group = RepoPattern.group("fishing.totemofcorruption")
- private val totemNamePattern by group.pattern(
+ private val patternGroup = RepoPattern.group("fishing.totemofcorruption")
+ private val totemNamePattern by patternGroup.pattern(
"totemname",
"§5§lTotem of Corruption"
)
- private val timeRemainingPattern by group.pattern(
+ private val timeRemainingPattern by patternGroup.pattern(
"timeremaining",
"§7Remaining: §e(?:(?<min>\\d+)m )?(?<sec>\\d+)s"
)
- private val ownerPattern by group.pattern(
+ private val ownerPattern by patternGroup.pattern(
"owner",
"§7Owner: §e(?<owner>.+)"
)
@@ -56,7 +56,7 @@ class TotemOfCorruption {
}
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!event.repeatSeconds(2)) return
if (!isOverlayEnabled()) return
@@ -148,7 +148,7 @@ class TotemOfCorruption {
private fun isEffectiveAreaEnabled() = LorenzUtils.inSkyBlock && config.outlineType != OutlineType.NONE
}
-class Totem(
+private class Totem(
val location: LorenzVec,
val timeRemaining: Duration,
val ownerName: String,
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/AtmosphericFilterDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/AtmosphericFilterDisplay.kt
index e4f81bf2e..dfd5c6533 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/AtmosphericFilterDisplay.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/AtmosphericFilterDisplay.kt
@@ -3,7 +3,7 @@ package at.hannibal2.skyhanni.features.garden
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.enums.OutsideSbFeature
import at.hannibal2.skyhanni.events.GuiRenderEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.RenderUtils.renderString
import at.hannibal2.skyhanni.utils.Season
@@ -16,10 +16,9 @@ class AtmosphericFilterDisplay {
private var display = ""
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!isEnabled()) return
if (!GardenAPI.inGarden() && !config.outsideGarden) return
- if (!event.repeatSeconds(1)) return
display = drawDisplay(Season.getCurrentSeason() ?: return)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt
index 3df7a8bbf..cf826429d 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt
@@ -15,7 +15,7 @@ import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.CollectionUtils.nextAfter
import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
-import at.hannibal2.skyhanni.utils.LorenzUtils
+import at.hannibal2.skyhanni.utils.LorenzUtils.round
import at.hannibal2.skyhanni.utils.NEUInternalName
import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators
import at.hannibal2.skyhanni.utils.RenderUtils.renderRenderables
@@ -159,7 +159,7 @@ object FarmingFortuneDisplay {
list.add(Renderable.string(
"§6Farming Fortune§7: §e" + if (!recentlySwitchedTool && farmingFortune != -1.0) {
- LorenzUtils.formatDouble(farmingFortune, 0)
+ farmingFortune.round(0).addSeparators()
} else "§7" + (displayCrop.getLatestTrueFarmingFortune()?.addSeparators() ?: "?")
))
add(Renderable.horizontalContainer(list))
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt
index 055b79a02..6be8da28f 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt
@@ -10,7 +10,7 @@ import at.hannibal2.skyhanni.events.DebugDataCollectEvent
import at.hannibal2.skyhanni.events.GuiRenderEvent
import at.hannibal2.skyhanni.events.InventoryCloseEvent
import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent
-import at.hannibal2.skyhanni.events.LorenzTickEvent
+import at.hannibal2.skyhanni.events.SecondPassedEvent
import at.hannibal2.skyhanni.events.TabListUpdateEvent
import at.hannibal2.skyhanni.features.garden.GardenAPI.addCropIcon
import at.hannibal2.skyhanni.test.command.ErrorManager
@@ -74,8 +74,9 @@ object GardenNextJacobContest {
"§(e○|6☘) §7(?<crop>.*)"
)
- private val closeToNewYear = "§7Close to new SB year!"
- private const val maxContestsPerYear = 124
+ private const val CLOSE_TO_NEW_YEAR_TEXT = "§7Close to new SB year!"
+ private const val MAX_CONTESTS_PER_YEAR = 124
+
private val contestDuration = 20.minutes
private var lastWarningTime = SimpleTimeMark.farPast()
@@ -146,7 +147,7 @@ object GardenNextJacobContest {
}
if (isCloseToNewYear()) {
- newList.add(closeToNewYear)
+ newList.add(CLOSE_TO_NEW_YEAR_TEXT)
} else {
newList.add("§cOpen calendar for")
newList.add("§cmore exact data!")
@@ -166,9 +167,8 @@ object GardenNextJacobContest {
}
@SubscribeEvent
- fun onTick(event: LorenzTickEvent) {
+ fun onSecondPassed(event: SecondPassedEvent) {
if (!isEnabled()) return
- if (!event.repeatSeconds(2)) return
if (inCalendar) return
update()
@@ -221,7 +221,7 @@ object GardenNextJacobContest {
}
// Skip if contests are already loaded for this year
- if (contests.size == maxContestsPerYear) return
+ if (contests.size == MAX_CONTESTS_PER_YEAR) return
// Manually loading contests
for (item in items) {
@@ -241,7 +241,7 @@ object GardenNextJacobContest {
}
// If contests were just fully saved
- if (contests.size == maxContestsPerYear) {
+ if (contests.size == MAX_CONTESTS_PER_YEAR) {
nextContestsAvailableAt = SkyBlockTime(SkyBlockTime.now().year + 1, 1, 2).toMillis()
if (isSendEnabled()) {
@@ -302,7 +302,7 @@ object GardenNextJacobContest {
}
return
}
- if (contests.size == maxContestsPerYear) {
+ if (contests.size == MAX_CONTESTS_PER_YEAR) {
sendContests()
}
if (!SkyHanniMod.feature.storage.contestSendingAsked && config.shareAutomatically == ShareContestsEntry.ASK) {
@@ -338,7 +338,7 @@ object GardenNextJacobContest {
if (inCalendar) {
val size = contests.size
- val percentage = size.toDouble() / maxContestsPerYear
+ val percentage = size.toDouble() / MAX_CONTESTS_PER_YEAR
val formatted = LorenzUtils.formatPercentage(percentage)
list.add("§eDetected $formatted of farming contests this year")
@@ -347,7 +347,7 @@ object GardenNextJacobContest {
if (contests.isEmpty()) {
if (isCloseToNewYear()) {
- list.add(closeToNewYear)
+ list.add(CLOSE_TO_NEW_YEAR_TEXT)
} else {
list.add("§cOpen calendar to read Jacob contest times!")
}
@@ -361,7 +361,7 @@ object GardenNextJacobContest {
if (nextContest != null) return drawNextContest(nextContest, list)
if (isCloseToNewYear()) {
- list.add(closeToNewYear)
+ list.add(CLOSE_TO_NEW_YEAR_TEXT)
} else {
list.add("§cOpen calendar to read Jacob contest times!")
}
@@ -378,7 +378,7 @@ object GardenNextJacobContest {
): MutableList<Any> {
var duration = nextContest.endTime.timeUntil()
if (duration > 4.days) {
- list.add(closeToNewYear)
+ list.add(CLOSE_TO_NEW_YEAR_TEXT)
return list
}
@@ -524,7 +524,7 @@ object GardenNextJacobContest {
config.shareAutomatically == ShareContestsEntry.ASK // (Only call if isSendEnabled())
private fun fetchContestsIfAble() {
- if (isFetchingContests || contests.size == maxContestsPerYear || !isFetchEnabled()) return
+ if (isFetchingContests || contests.size == MAX_CONTESTS_PER_YEAR || !isFetchEnabled()) return
// Allows retries every 10 minutes when it's after 1 day into the new year
val currentMills = System.currentTimeMillis()
if (lastFetchAttempted + 600_000 > currentMills || currentMills < nextContestsAvailableAt) return
@@ -565,7 +565,7 @@ object GardenNextJacobContest {
ChatUtils.clickableChat("Click here to open your calendar!", "calendar")
}
- if (newContests.count() == maxContestsPerYear) {
+ if (newContests.count() == MAX_CONTESTS_PER_YEAR) {
ChatUtils.chat("Successfully loaded this year's contests from elitebot.dev automatically!")
contests = newContests
@@ -585,7 +585,7 @@ object GardenNextJacobContest {
}
private fun sendContests() {
- if (isSendingContests || contests.size != maxContestsPerYear || isCloseToNewYear()) return
+ if (isSendingContests || contests.size != MAX_CONTESTS_PER_YEAR || isCloseToNewYear()) return
isSendingContests = true
@@ -614,7 +614,7 @@ object GardenNextJacobContest {
} else {
ErrorManager.logErrorStateWithData(
"Something went wrong submitting upcoming contests!",
- "submitContestsToElite not sucessful"
+ "submitContestsToElite not successful"
)
}
} catch (e: Exception) {
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/GardenComposterInventoryFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/GardenComposterInventoryFeatures.kt
index c8eebc10a..bffd6ac17 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/GardenComposterInventoryFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/GardenComposterInventoryFeatures.kt
@@ -4,14 +4,14 @@ import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator
import at.hannibal2.skyhanni.events.GuiContainerEvent
import at.hannibal2.skyhanni.events.LorenzToolTipEvent
import at.hannibal2.skyhanni.features.garden.GardenAPI
-import at.hannibal2.skyhanni.utils.ChatUtils
+impor