From 7c2d4ed566246513bc438272e436627412147d62 Mon Sep 17 00:00:00 2001 From: David Cole <40234707+DavidArthurCole@users.noreply.github.com> Date: Fri, 11 Oct 2024 12:42:33 -0400 Subject: Backend: Detekt Fixes Part 6 (#2657) Co-authored-by: Cal Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../java/at/hannibal2/skyhanni/api/SkillAPI.kt | 6 +- .../skyhanni/config/ConfigUpdaterMigrator.kt | 24 ++- .../hannibal2/skyhanni/config/commands/Commands.kt | 4 +- .../data/hypixel/chat/PlayerNameFormatter.kt | 42 +++-- .../data/hypixel/chat/event/PlayerAllChatEvent.kt | 19 +- .../java/at/hannibal2/skyhanni/data/mob/Mob.kt | 17 +- .../at/hannibal2/skyhanni/data/mob/MobDetection.kt | 15 +- .../at/hannibal2/skyhanni/data/mob/MobFilter.kt | 6 +- .../at/hannibal2/skyhanni/data/repo/RepoManager.kt | 14 +- .../features/bingo/card/BingoCardDisplay.kt | 15 +- .../skyhanni/features/bingo/card/BingoCardTips.kt | 4 +- .../card/nextstephelper/BingoNextStepHelper.kt | 6 +- .../card/nextstephelper/steps/CollectionStep.kt | 4 +- .../skyhanni/features/chat/PlayerDeathMessages.kt | 3 +- .../skyhanni/features/combat/BestiaryData.kt | 41 +++-- .../damageindicator/DamageIndicatorManager.kt | 4 +- .../combat/endernodetracker/EnderNodeTracker.kt | 10 +- .../features/combat/ghostcounter/GhostCounter.kt | 2 +- .../features/commands/PartyChatCommands.kt | 4 +- .../features/dungeon/CroesusChestTracker.kt | 15 +- .../features/dungeon/DungeonArchitectFeatures.kt | 3 +- .../skyhanni/features/dungeon/DungeonHideItems.kt | 4 +- .../features/dungeon/DungeonLividFinder.kt | 2 +- .../event/carnival/CarnivalZombieShootout.kt | 10 +- .../skyhanni/features/event/diana/DianaFixChat.kt | 6 +- .../features/event/diana/SoopyGuessBurrow.kt | 3 +- .../skyhanni/features/event/hoppity/HoppityAPI.kt | 8 +- .../features/event/hoppity/HoppityEggLocator.kt | 4 +- .../features/event/hoppity/HoppityEventSummary.kt | 11 +- .../skyhanni/features/event/hoppity/HoppityNpc.kt | 3 +- .../skyhanni/features/fishing/ChumBucketHider.kt | 6 +- .../features/fishing/trophy/TrophyFishAPI.kt | 2 +- .../skyhanni/features/garden/AnitaMedalProfit.kt | 2 +- .../hannibal2/skyhanni/features/garden/CropType.kt | 4 +- .../features/garden/GardenNextJacobContest.kt | 6 +- .../skyhanni/features/garden/GardenPlotAPI.kt | 2 +- .../skyhanni/features/garden/GardenYawAndPitch.kt | 6 +- .../features/garden/composter/ComposterDisplay.kt | 3 +- .../features/garden/composter/ComposterOverlay.kt | 6 +- .../garden/contest/JacobContestTimeNeeded.kt | 23 +-- .../features/garden/farming/CropMoneyDisplay.kt | 2 +- .../features/garden/farming/CropSpeedMeter.kt | 2 +- .../garden/farming/FarmingWeightDisplay.kt | 26 ++- .../garden/farming/GardenCropMilestoneDisplay.kt | 26 +-- .../features/garden/fortuneguide/FFGuideGUI.kt | 8 +- .../features/garden/fortuneguide/FortuneStats.kt | 3 +- .../garden/fortuneguide/FortuneUpgrades.kt | 2 +- .../inventory/plots/GardenPlotMenuHighlighting.kt | 4 +- .../skyhanni/features/garden/pests/PestFinder.kt | 4 +- .../visitor/HighlightVisitorsOutsideOfGarden.kt | 3 +- .../gui/customscoreboard/ScoreboardElements.kt | 41 +++-- .../gui/customscoreboard/ScoreboardEvent.kt | 18 +- .../inventory/ItemDisplayOverlayFeatures.kt | 6 +- .../skyhanni/features/inventory/ItemStars.kt | 2 +- .../skyhanni/features/inventory/MaxPurseItems.kt | 3 +- .../skyhanni/features/inventory/ReforgeHelper.kt | 22 ++- .../skyhanni/features/inventory/SackDisplay.kt | 194 +++++++++++---------- .../inventory/SkyblockGuideHighlightFeature.kt | 4 +- .../inventory/bazaar/CraftMaterialsFromBazaar.kt | 17 +- .../chocolatefactory/ChocolateFactoryTooltip.kt | 2 +- .../features/inventory/craft/CraftableItemList.kt | 4 +- .../ExperimentationTableAPI.kt | 4 +- .../experimentationtable/SuperpairDataDisplay.kt | 20 ++- .../experimentationtable/SuperpairsClicksAlert.kt | 25 ++- .../skyhanni/features/mining/TunnelsMaps.kt | 8 +- .../mining/glacitemineshaft/CorpseTracker.kt | 10 +- .../hannibal2/skyhanni/features/minion/MinionXp.kt | 4 +- .../skyhanni/features/misc/CarryTracker.kt | 2 +- .../skyhanni/features/misc/CollectionTracker.kt | 12 +- .../skyhanni/features/misc/JoinCrystalHollows.kt | 3 +- .../features/misc/PrivateIslandNoPickaxeAbility.kt | 3 +- .../features/misc/discordrpc/DiscordLocationKey.kt | 16 +- .../features/misc/discordrpc/DiscordRPCManager.kt | 30 ++-- .../features/misc/discordrpc/DiscordStatus.kt | 2 +- .../misc/items/EstimatedItemValueCalculator.kt | 26 +-- .../features/misc/items/enchants/EnchantsJson.kt | 24 +-- .../features/misc/limbo/LimboTimeTracker.kt | 7 +- .../massconfiguration/DefaultConfigFeatures.kt | 4 +- .../massconfiguration/DefaultConfigOptionGui.kt | 20 ++- .../nether/ashfang/AshfangNextResetCooldown.kt | 3 +- .../at/hannibal2/skyhanni/features/rift/RiftAPI.kt | 2 +- .../rift/area/dreadfarm/VoltHighlighter.kt | 3 +- .../rift/area/dreadfarm/WoodenButtonsHelper.kt | 3 +- .../area/livingcave/LivingMetalSuitProgress.kt | 29 +-- .../area/stillgorechateau/RiftBloodEffigies.kt | 4 +- .../rift/everywhere/EnigmaSoulWaypoints.kt | 3 +- .../rift/everywhere/motes/ShowMotesNpcSellPrice.kt | 46 ++--- .../features/skillprogress/SkillProgress.kt | 104 ++++++----- .../features/slayer/SlayerRngMeterDisplay.kt | 3 +- .../slayer/enderman/EndermanSlayerFeatures.kt | 6 +- .../features/stranded/HighlightPlaceableNpcs.kt | 4 +- .../hannibal2/skyhanni/test/graph/GraphEditor.kt | 18 +- .../skyhanni/test/graph/GraphNodeEditor.kt | 4 +- .../at/hannibal2/skyhanni/utils/CachedItemData.kt | 1 + .../java/at/hannibal2/skyhanni/utils/ChatUtils.kt | 28 +-- .../at/hannibal2/skyhanni/utils/ClipboardUtils.kt | 6 +- .../at/hannibal2/skyhanni/utils/CollectionUtils.kt | 7 +- .../hannibal2/skyhanni/utils/ComputerTimeOffset.kt | 5 +- .../skyhanni/utils/EntityOutlineRenderer.kt | 22 ++- .../hannibal2/skyhanni/utils/EssenceItemUtils.kt | 4 +- .../at/hannibal2/skyhanni/utils/GuiRenderUtils.kt | 3 +- .../hannibal2/skyhanni/utils/ItemNameResolver.kt | 6 +- .../at/hannibal2/skyhanni/utils/KSerializable.kt | 4 +- .../at/hannibal2/skyhanni/utils/NEUInternalName.kt | 1 + .../at/hannibal2/skyhanni/utils/RenderUtils.kt | 15 +- .../at/hannibal2/skyhanni/utils/TabListData.kt | 8 +- .../at/hannibal2/skyhanni/utils/UtilsPatterns.kt | 14 +- .../java/at/hannibal2/skyhanni/utils/chat/Text.kt | 12 +- .../at/hannibal2/skyhanni/utils/guide/GuideTab.kt | 34 ++-- .../skyhanni/utils/guide/GuideTablePage.kt | 3 +- .../utils/json/FeatureTogglesByDefaultAdapter.kt | 3 +- .../skyhanni/utils/renderables/Renderable.kt | 8 +- .../utils/renderables/RenderableInventory.kt | 21 ++- .../skyhanni/utils/renderables/RenderableUtils.kt | 10 +- .../utils/tracker/BucketedItemTrackerData.kt | 16 +- .../utils/tracker/SkyHanniBucketedItemTracker.kt | 4 +- 116 files changed, 855 insertions(+), 594 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt b/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt index 0e35e602f..ba8e42d66 100644 --- a/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/api/SkillAPI.kt @@ -486,7 +486,8 @@ object SkillAPI { 1 -> listOf("levelwithxp", "xpforlevel", "goal") 2 -> if (strings[0].lowercase() == "goal") CommandBase.getListOfStringsMatchingLastWord( strings, - SkillType.entries.map { it.displayName }) + SkillType.entries.map { it.displayName } + ) else listOf() @@ -502,7 +503,8 @@ object SkillAPI { "§6/shskills goal - §bView your current goal", "§6/shskills goal - §bDefine your goal for ", "", - ).joinToString("\n"), prefix = false + ).joinToString("\n"), + prefix = false ) } diff --git a/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt b/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt index 7c41245fc..c9ae8c2c7 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt +++ b/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt @@ -120,21 +120,27 @@ object ConfigUpdaterMigrator { logger.log("Starting config transformation from $i to ${i + 1}") val storage = accumulator["storage"]?.asJsonObject val dynamicPrefix: Map> = mapOf( - "#profile" to - (storage?.get("players")?.asJsonObject?.entrySet() + "#profile" to ( + storage?.get("players")?.asJsonObject?.entrySet() ?.flatMap { player -> player.value.asJsonObject["profiles"]?.asJsonObject?.entrySet()?.map { "storage.players.${player.key}.profiles.${it.key}" } ?: listOf() } - ?: listOf()), - "#player" to - (storage?.get("players")?.asJsonObject?.entrySet()?.map { "storage.players.${it.key}" } - ?: listOf()), + ?: listOf() + ), + "#player" to ( + storage?.get("players")?.asJsonObject?.entrySet()?.map { "storage.players.${it.key}" } + ?: listOf() + ), ) - val migration = ConfigFixEvent(accumulator, JsonObject().also { - it.add("lastVersion", JsonPrimitive(i + 1)) - }, i, 0, dynamicPrefix).also { it.postAndCatch() } + val migration = ConfigFixEvent( + accumulator, + JsonObject().also { + it.add("lastVersion", JsonPrimitive(i + 1)) + }, + i, 0, dynamicPrefix + ).also { it.postAndCatch() } logger.log("Transformations scheduled: ${migration.new}") val mergesPerformed = merge(migration.old, migration.new) logger.log("Migration done with $mergesPerformed merges and ${migration.movesPerformed} moves performed") diff --git a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt index 4974c80f2..44565aa95 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt +++ b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt @@ -507,7 +507,9 @@ object Commands { private fun developersCodingHelp() { registerCommand("shrepopatterns", "See where regexes are loaded from") { RepoPatternGui.open() } registerCommand("shtest", "Unused test command.") { SkyHanniDebugsAndTests.testCommand(it) } - registerCommand("shtestrabbitpaths", "Tests pathfinding to rabbit eggs. Use a number 0-14.") { HoppityEggLocator.testPathfind(it) } + registerCommand("shtestrabbitpaths", "Tests pathfinding to rabbit eggs. Use a number 0-14.") { + HoppityEggLocator.testPathfind(it) + } registerCommand( "shtestitem", "test item internal name resolving", diff --git a/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/PlayerNameFormatter.kt b/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/PlayerNameFormatter.kt index edc4f65b0..35356f32f 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/PlayerNameFormatter.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/PlayerNameFormatter.kt @@ -125,32 +125,38 @@ object PlayerNameFormatter { fun onPrivateChat(event: PrivateMessageChatEvent) { if (!isEnabled()) return event.chatComponent = - StringUtils.replaceIfNeeded(event.chatComponent, Text.text("§d${event.direction}") { - appendText(" ") - appendSibling(nameFormat(event.authorComponent)) - appendText("§f: ") - appendSibling(event.messageComponent.intoComponent()) - }) ?: return + StringUtils.replaceIfNeeded( + event.chatComponent, + Text.text("§d${event.direction}") { + appendText(" ") + appendSibling(nameFormat(event.authorComponent)) + appendText("§f: ") + appendSibling(event.messageComponent.intoComponent()) + } + ) ?: return } @SubscribeEvent fun onPlayerShowItemChat(event: PlayerShowItemChatEvent) { if (!isEnabled()) return - event.chatComponent = StringUtils.replaceIfNeeded(event.chatComponent, Text.text("") { - appendSibling( - nameFormat( - event.authorComponent, - levelColor = event.levelComponent?.sampleStyleAtStart()?.color?.toString(), - level = event.levelComponent + event.chatComponent = StringUtils.replaceIfNeeded( + event.chatComponent, + Text.text("") { + appendSibling( + nameFormat( + event.authorComponent, + levelColor = event.levelComponent?.sampleStyleAtStart()?.color?.toString(), + level = event.levelComponent + ) ) - ) - appendText(" ") - appendSibling(event.action.intoComponent().changeColor(LorenzColor.GRAY)) + appendText(" ") + appendSibling(event.action.intoComponent().changeColor(LorenzColor.GRAY)) - appendText(" ") - appendSibling(event.item.intoComponent()) - }) ?: return + appendText(" ") + appendSibling(event.item.intoComponent()) + } + ) ?: return } private fun nameFormat( diff --git a/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/event/PlayerAllChatEvent.kt b/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/event/PlayerAllChatEvent.kt index 7d6d1a7ac..e33165b34 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/event/PlayerAllChatEvent.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/hypixel/chat/event/PlayerAllChatEvent.kt @@ -21,11 +21,14 @@ class PlayerAllChatEvent( val isAGuest by lazy { privateIslandGuest != null } companion object { - private val listenerList = ListenerList(AbstractChatEvent( - ComponentSpan.empty(), - ComponentSpan.empty(), - ChatComponentText(""), - "").listenerList) + private val listenerList = ListenerList( + AbstractChatEvent( + ComponentSpan.empty(), + ComponentSpan.empty(), + ChatComponentText(""), + "" + ).listenerList + ) } /** @@ -45,8 +48,10 @@ class PlayerAllChatEvent( * This method is required if [setup] is present. */ @ApiStatus.Internal - constructor() : this(null, null, null, "", - ComponentSpan.empty(), ComponentSpan.empty(), ChatComponentText("")) + constructor() : this( + null, null, null, "", + ComponentSpan.empty(), ComponentSpan.empty(), ChatComponentText("") + ) /** * This method is required if [setup] is present. diff --git a/src/main/java/at/hannibal2/skyhanni/data/mob/Mob.kt b/src/main/java/at/hannibal2/skyhanni/data/mob/Mob.kt index 7e7e9f96c..e9eb6729d 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/mob/Mob.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/mob/Mob.kt @@ -154,9 +154,11 @@ class Mob( relativeBoundingBox = if (extraEntities.isNotEmpty()) makeRelativeBoundingBox() else null // Inlined updateBoundingBox() - owner = (ownerName ?: if (mobType == Type.SLAYER) hologram2?.let { - summonOwnerPattern.matchMatcher(it.cleanName()) { this.group("name") } - } else null)?.let { MobUtils.OwnerShip(it) } + owner = ( + ownerName ?: if (mobType == Type.SLAYER) hologram2?.let { + summonOwnerPattern.matchMatcher(it.cleanName()) { this.group("name") } + } else null + )?.let { MobUtils.OwnerShip(it) } } private fun removeExtraEntitiesFromChecking() = @@ -164,15 +166,16 @@ class Mob( MobData.externRemoveOfRetryAmount += it } - fun updateBoundingBox() { + private fun updateBoundingBox() { relativeBoundingBox = if (extraEntities.isNotEmpty()) makeRelativeBoundingBox() else null } - private fun makeRelativeBoundingBox() = - (baseEntity.entityBoundingBox.union( + private fun makeRelativeBoundingBox() = ( + baseEntity.entityBoundingBox.union( extraEntities.filter { it !is EntityArmorStand } .mapNotNull { it.entityBoundingBox }, - ))?.offset(-baseEntity.posX, -baseEntity.posY, -baseEntity.posZ) + ) + )?.offset(-baseEntity.posX, -baseEntity.posY, -baseEntity.posZ) fun fullEntityList() = baseEntity.toSingletonListOrEmpty() + diff --git a/src/main/java/at/hannibal2/skyhanni/data/mob/MobDetection.kt b/src/main/java/at/hannibal2/skyhanni/data/mob/MobDetection.kt index 34f776308..014e0a846 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/mob/MobDetection.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/mob/MobDetection.kt @@ -97,8 +97,9 @@ object MobDetection { } private fun Mob.watchdogCheck(world: World): Boolean = - this.baseEntity.worldObj != world || (this.armorStand?.let { it.worldObj != world } - ?: false) || this.extraEntities.any { it.worldObj != world } + this.baseEntity.worldObj != world || ( + this.armorStand?.let { it.worldObj != world } ?: false + ) || this.extraEntities.any { it.worldObj != world } @SubscribeEvent fun onTick(event: LorenzTickEvent) { @@ -338,7 +339,7 @@ object MobDetection { private fun handleEntityUpdate(entityID: Int): Boolean { val entity = EntityUtils.getEntityByID(entityID) as? EntityLivingBase ?: return false - getRetry(entity)?.apply { this.entity = entity } + getRetry(entity)?.entity = entity MobData.currentEntityLiving.refreshReference(entity) MobData.previousEntityLiving.refreshReference(entity) // update map @@ -353,10 +354,10 @@ object MobDetection { is S0CPacketSpawnPlayer -> addEntityUpdate(packet.entityID) // is S0EPacketSpawnObject -> addEntityUpdate(packet.entityID) is S01PacketJoinGame -> // one of the first packets that is sent when switching servers inside the BungeeCord Network (please some prove this, I just found it out via Testing) - { - shouldClear.set(true) - allEntitiesViaPacketId.clear() - } + { + shouldClear.set(true) + allEntitiesViaPacketId.clear() + } } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/mob/MobFilter.kt b/src/main/java/at/hannibal2/skyhanni/data/mob/MobFilter.kt index a9f8a1453..5d6111336 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/mob/MobFilter.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/mob/MobFilter.kt @@ -243,8 +243,10 @@ object MobFilter { baseEntity, armorStand, extraEntityList, - ) else (MobFactories.basic(baseEntity, armorStand, extraEntityList) - ?: MobFactories.dojo(baseEntity, armorStand)) + ) else ( + MobFactories.basic(baseEntity, armorStand, extraEntityList) + ?: MobFactories.dojo(baseEntity, armorStand) + ) private fun noArmorStandMobs(baseEntity: EntityLivingBase): MobResult? = when { baseEntity is EntityBat -> createBat(baseEntity) diff --git a/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt b/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt index b3109c9ee..babbb2558 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt @@ -165,8 +165,8 @@ class RepoManager(private val configLocation: File) { } } - private fun reloadRepository(answerMessage: String = ""): CompletableFuture { - val comp = CompletableFuture() + private fun reloadRepository(answerMessage: String = ""): CompletableFuture { + val comp = CompletableFuture() if (!atomicShouldManuallyReload.get()) return comp ErrorManager.resetCache() DelayedRun.onThread.execute { @@ -232,8 +232,10 @@ class RepoManager(private val configLocation: File) { if (unsuccessfulConstants.isNotEmpty()) { val text = mutableListOf() text.add( - ("§c[SkyHanni-${SkyHanniMod.version}] §7Repo Issue! Some features may not work. " + - "Please report this error on the Discord!").asComponent(), + ( + "§c[SkyHanni-${SkyHanniMod.version}] §7Repo Issue! Some features may not work. " + + "Please report this error on the Discord!" + ).asComponent(), ) text.add("§7Repo Auto Update Value: §c${config.repoAutoUpdate}".asComponent()) text.add("§7If you have Repo Auto Update turned off, please try turning that on.".asComponent()) @@ -286,13 +288,13 @@ class RepoManager(private val configLocation: File) { val repoUser = config.location.user val repoName = config.location.name val repoBranch = config.location.branch - return String.format("https://api.github.com/repos/%s/%s/commits/%s", repoUser, repoName, repoBranch) + return "https://api.github.com/repos/$repoUser/$repoName/commits/$repoBranch" } private fun getDownloadUrl(commitId: String?): String { val repoUser = config.location.user val repoName = config.location.name - return String.format("https://github.com/%s/%s/archive/%s.zip", repoUser, repoName, commitId) + return "https://github.com/$repoUser/$repoName/archive/$commitId.zip" } @Throws(IOException::class) 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 94bd4f6dd..b0f883ac2 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 @@ -85,12 +85,15 @@ object BingoCardDisplay { if (BingoAPI.bingoGoals.isEmpty()) { newList.add(Renderable.string("§6Bingo Goals:")) - newList.add(Renderable.clickAndHover("§cOpen the §e/bingo §ccard.", - listOf("Click to run §e/bingo"), - onClick = { - HypixelCommands.bingo() - } - )) + newList.add( + Renderable.clickAndHover( + "§cOpen the §e/bingo §ccard.", + listOf("Click to run §e/bingo"), + onClick = { + HypixelCommands.bingo() + } + ) + ) } else { if (!config.hideCommunityGoals.get()) { newList.addCommunityGoals() diff --git a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardTips.kt b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardTips.kt index abf8bbedc..83b41d3fd 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardTips.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/BingoCardTips.kt @@ -81,9 +81,7 @@ object BingoCardTips { for (line in bingoTip.guide) { toolTip.add(index++, " $line") } - bingoTip.found?.let { - toolTip.add(index++, "§7Found by: §e$it") - } + toolTip.add(index++, "§7Found by: §e${bingoTip.found}") } @SubscribeEvent diff --git a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/BingoNextStepHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/BingoNextStepHelper.kt index 2e56a536b..69602ec70 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/BingoNextStepHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/BingoNextStepHelper.kt @@ -275,7 +275,8 @@ object BingoNextStepHelper { "Emerald", 160 * 32, mapOf("Emerald" to 1, "Enchanted Emerald" to 160) - ) requires IslandType.DWARVEN_MINES.getStep()) + ) requires IslandType.DWARVEN_MINES.getStep() + ) } if (description == "Obtain a Mathematical Hoe Blueprint.") { @@ -285,7 +286,8 @@ object BingoNextStepHelper { "Jacob's Ticket", 32, mapOf("Jacob's Ticket" to 1) - ).addItemRequirements() requires IslandType.GARDEN.getStep()) + ).addItemRequirements() requires IslandType.GARDEN.getStep() + ) } crystalPattern.matchMatcher(description) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/steps/CollectionStep.kt b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/steps/CollectionStep.kt index 7871ae28d..10c968d84 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/steps/CollectionStep.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/bingo/card/nextstephelper/steps/CollectionStep.kt @@ -6,5 +6,7 @@ import at.hannibal2.skyhanni.utils.NumberUtil.shortFormat class CollectionStep(collectionName: String, amountNeeded: Int) : ProgressionStep(amountNeeded.shortFormat() + " $collectionName Collection", amountNeeded.toLong()) { - val internalName by lazy { NEUInternalName.fromItemName(if (collectionName == "Mushroom") "Red Mushroom" else collectionName) } + val internalName by lazy { + NEUInternalName.fromItemName(if (collectionName == "Mushroom") "Red Mushroom" else collectionName) + } } 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 d256bfe63..2afc9276b 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/chat/PlayerDeathMessages.kt @@ -35,7 +35,8 @@ object PlayerDeathMessages { if (MarkedPlayerManager.config.highlightInChat && !DungeonAPI.inDungeon() && !LorenzUtils.inKuudraFight && - MarkedPlayerManager.isMarkedPlayer(name)) { + MarkedPlayerManager.isMarkedPlayer(name) + ) { val reason = event.reason val color = MarkedPlayerManager.config.chatColor.getChatColor() ChatUtils.chat(" §c☠ $color$name §7$reason", false) 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 3b2b93680..f40e437e5 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/BestiaryData.kt @@ -279,10 +279,12 @@ object BestiaryData { val isUnlocked = mob.actualRealTotalKill != 0.toLong() val isMaxed = mob.percentToMax() >= 1 if (!isUnlocked) { - newDisplay.add(buildList { - add(" §7- ") - add("${mob.name}: §cNot unlocked!") - }) + newDisplay.add( + buildList { + add(" §7- ") + add("${mob.name}: §cNot unlocked!") + } + ) continue } if (isMaxed && config.hideMaxed) continue @@ -358,7 +360,8 @@ object BestiaryData { // todo: avoid ordinal config.numberFormat = BestiaryConfig.NumberFormatEntry.entries[(config.numberFormat.ordinal + 1) % 2] update() - }) + } + ) newDisplay.addButton( prefix = "§7Display Type: ", @@ -367,7 +370,8 @@ object BestiaryData { // todo: avoid ordinal config.displayType = DisplayTypeEntry.entries[(config.displayType.ordinal + 1) % 8] update() - }) + } + ) newDisplay.addButton( prefix = "§7Number Type: ", @@ -377,6 +381,7 @@ object BestiaryData { update() } ) + newDisplay.addButton( prefix = "§7Hide Maxed: ", getName = HideMaxed.entries[if (config.hideMaxed) 1 else 0].type, @@ -391,18 +396,20 @@ object BestiaryData { if (catList.isNotEmpty()) { newDisplay.addAsSingletonList("§7Category") for (cat in catList) { - newDisplay.add(buildList { - add(" §7- ${cat.name}§7: ") - val element = when { - cat.familiesCompleted == cat.totalFamilies -> "§c§lCompleted!" - cat.familiesFound == cat.totalFamilies -> "§b${cat.familiesCompleted}§7/§b${cat.totalFamilies} §7completed" - cat.familiesFound < cat.totalFamilies -> - "§b${cat.familiesFound}§7/§b${cat.totalFamilies} §7found, §b${cat.familiesCompleted}§7/§b${cat.totalFamilies} §7completed" - - else -> continue + newDisplay.add( + buildList { + add(" §7- ${cat.name}§7: ") + val element = when { + cat.familiesCompleted == cat.totalFamilies -> "§c§lCompleted!" + cat.familiesFound == cat.totalFamilies -> "§b${cat.familiesCompleted}§7/§b${cat.totalFamilies} §7completed" + cat.familiesFound < cat.totalFamilies -> + "§b${cat.familiesFound}§7/§b${cat.totalFamilies} §7found, §b${cat.familiesCompleted}§7/§b${cat.totalFamilies} §7completed" + + else -> continue + } + add(element) } - add(element) - }) + ) } } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt index 4f0dad4b8..7f5b42e3c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt @@ -367,8 +367,8 @@ object DamageIndicatorManager { getCustomHealth(entityData, health, entity, maxHealth) ?: return null } - if (data.containsKey(entity.uniqueID)) { - val lastHealth = data[entity.uniqueID]!!.lastHealth + data[entity.uniqueID]?.let { + val lastHealth = it.lastHealth checkDamage(entityData, health, lastHealth) tickDamage(entityData.damageCounter) diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt index 0363543bf..4a0bed69c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt @@ -148,7 +148,9 @@ object EnderNodeTracker { if (!isEnabled()) return if (!ProfileStorageData.loaded) return - val change = event.sackChanges.firstOrNull { it.internalName == EnderNode.MITE_GEL.internalName && it.delta > 0 } ?: return + val change = event.sackChanges.firstOrNull { + it.internalName == EnderNode.MITE_GEL.internalName && it.delta > 0 + } ?: return tracker.modify { storage -> storage.lootCount.addOrPut(EnderNode.MITE_GEL, change.delta) @@ -268,7 +270,11 @@ object EnderNodeTracker { addSearchString("§f$c§7-§a$u§7-§9$r§7-§5$e§7-§6$l §fEnderman Pet §7(§6$profit§7)") } - private fun calculateEnderArmor(storage: Data) = storage.lootCount.filter { isEnderArmor(it.key) }.map { it.value }.sum() + private fun calculateEnderArmor(storage: Data) = storage.lootCount.filter { + isEnderArmor(it.key) + }.map { + it.value + }.sum() private fun formatDisplay(map: List): List { if (!ProfileStorageData.loaded) return emptyList() diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt index 14abcfad6..2ef652e4a 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt @@ -385,7 +385,7 @@ object GhostCounter { } percent = 100f.coerceAtMost(percent) if (!parse) { - sb.append(" (").append(String.format("%.2f", percent)).append("%)") + sb.append(" (").append(String.format(Locale.US, "%.2f", percent)).append("%)") } else { sb.append(" (").append(nf.format(currentSkillXp)) if (totalSkillXp != 0) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt index b6bcff3bd..4651570e4 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt @@ -200,8 +200,8 @@ object PartyChatCommands { var message = "Ignored player list:" if (blacklist.size > 15) { message += "\n§e" - blacklist.forEachIndexed { i, it -> - message += it + blacklist.forEachIndexed { i, blacklistedMessage -> + message += blacklistedMessage if (i < blacklist.size - 1) { message += ", " } 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 8b2d60069..377d7bfd4 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt @@ -138,9 +138,11 @@ object CroesusChestTracker { val lore = item.getLore() if (run.floor == null) run.floor = - (if (masterPattern.matches(item.name)) "M" else "F") + (lore.firstNotNullOfOrNull { - floorPattern.matchMatcher(it) { group("floor").romanToDecimal() } - } ?: "0") + (if (masterPattern.matches(item.name)) "M" else "F") + ( + lore.firstNotNullOfOrNull { + floorPattern.matchMatcher(it) { group("floor").romanToDecimal() } + } ?: "0" + ) run.openState = when { keyUsedPattern.anyMatches(lore) -> OpenedState.KEY_USED openedPattern.anyMatches(lore) -> OpenedState.OPENED @@ -274,11 +276,12 @@ object CroesusChestTracker { fun generateMaxChestAsList(): List = generateMaxChest().toList() private fun generateMaxChest(): Sequence = generateSequence { DungeonRunInfo() }.take(MAX_CHESTS) - fun getLastActiveChest(includeDungeonKey: Boolean = false): Int = - (croesusChests?.indexOfLast { + private fun getLastActiveChest(includeDungeonKey: Boolean = false): Int = ( + croesusChests?.indexOfLast { it.floor != null && (it.openState == OpenedState.UNOPENED || (includeDungeonKey && it.openState == OpenedState.OPENED)) - } ?: -1) + 1 + } ?: -1 + ) + 1 enum class OpenedState { UNOPENED, diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonArchitectFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonArchitectFeatures.kt index 662c36604..284f8424f 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonArchitectFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonArchitectFeatures.kt @@ -49,7 +49,8 @@ object DungeonArchitectFeatures { if (architectItemAmount <= 0) return GetFromSackAPI.getFromChatMessageSackItems( - architectsFirstDraft, "§c§lPUZZLE FAILED! §r§b$name §r§efailed a puzzle. \n" + + architectsFirstDraft, + "§c§lPUZZLE FAILED! §r§b$name §r§efailed a puzzle. \n" + "§eClick here to get §5Architect's First Draft §7(§e${architectItemAmount}x left§7)" ) diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonHideItems.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonHideItems.kt index a5237aeb6..4f29aca52 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonHideItems.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonHideItems.kt @@ -202,7 +202,9 @@ object DungeonHideItems { } private fun shouldColorMovingSkull(entity: Entity) = - SkyHanniMod.feature.dungeon.highlightSkeletonSkull && movingSkeletonSkulls[entity]?.let { it + 200 > System.currentTimeMillis() } ?: false + SkyHanniMod.feature.dungeon.highlightSkeletonSkull && movingSkeletonSkulls[entity]?.let { + it + 200 > System.currentTimeMillis() + } ?: false @SubscribeEvent fun onWorldChange(event: LorenzWorldChangeEvent) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt index 474e8367f..9cc4b8a10 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonLividFinder.kt @@ -63,7 +63,7 @@ object DungeonLividFinder { if (event.isMod(20)) { if (lividArmorStand == null) { - val amountArmorStands = EntityUtils.getEntities().filter { it.name.contains("Livid") }.count() + val amountArmorStands = EntityUtils.getEntities().count { it.name.contains("Livid") } if (amountArmorStands >= 8) { ErrorManager.logErrorStateWithData( "Could not find livid", diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/carnival/CarnivalZombieShootout.kt b/src/main/java/at/hannibal2/skyhanni/features/event/carnival/CarnivalZombieShootout.kt index 9edf05b7b..8a0d4296f 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/carnival/CarnivalZombieShootout.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/carnival/CarnivalZombieShootout.kt @@ -86,9 +86,13 @@ object CarnivalZombieShootout { zombie to type }.toMap() - drawZombies = - if (config.highestOnly) nearbyZombies.filterValues { zombieType -> zombieType == nearbyZombies.values.maxByOrNull { it.points } } - else nearbyZombies + drawZombies = if (config.highestOnly) + nearbyZombies.filterValues { zombieType -> + zombieType == nearbyZombies.values.maxByOrNull { + it.points + } + } + else nearbyZombies lastUpdate.zombie = SimpleTimeMark.now() } diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaFixChat.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaFixChat.kt index 20cf553b8..2f3d19c24 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaFixChat.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/DianaFixChat.kt @@ -73,7 +73,8 @@ object DianaFixChat { HypixelCommands.particleQuality("high") errorCounter = 0 ChatUtils.chat("Now try again!") - }) + } + ) } } else { if (!hasSetToggleMusic) { @@ -87,7 +88,8 @@ object DianaFixChat { HypixelCommands.toggleMusic() errorCounter = 0 ChatUtils.chat("Now try again, please!") - }) + } + ) } } else { ErrorManager.logErrorStateWithData( diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt index 0bb5e3dc1..35016eda3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/SoopyGuessBurrow.kt @@ -175,7 +175,8 @@ object SoopyGuessBurrow { } val (a, b, c) = solveEquationThing( - LorenzVec(slopeThing.size - 5, slopeThing.size - 3, slopeThing.size - 1), LorenzVec( + LorenzVec(slopeThing.size - 5, slopeThing.size - 3, slopeThing.size - 1), + LorenzVec( slopeThing[slopeThing.size - 5], slopeThing[slopeThing.size - 3], slopeThing[slopeThing.size - 1] diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt index 0a144aa2f..593326c67 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityAPI.kt @@ -58,7 +58,9 @@ object HoppityAPI { fun getLastRabbit(): String = this.lastNameCache fun isHoppityEvent() = (SkyblockSeason.currentSeason == SkyblockSeason.SPRING || SkyHanniMod.feature.dev.debug.alwaysHoppitys) - fun rarityByRabbit(rabbit: String): LorenzRarity? = hoppityRarities.firstOrNull { it.chatColorCode == rabbit.substring(0, 2) } + fun rarityByRabbit(rabbit: String): LorenzRarity? = hoppityRarities.firstOrNull { + it.chatColorCode == rabbit.substring(0, 2) + } /** * REGEX-TEST: §f1st Chocolate Milestone @@ -111,14 +113,14 @@ object HoppityAPI { EggFoundEvent(STRAY, it.slotNumber).post() lastName = "§9Fish the Rabbit" lastMeal = STRAY - duplicate = it.stack.getLore().any { line -> duplicatePseudoStrayPattern.matches(line)} + duplicate = it.stack.getLore().any { line -> duplicatePseudoStrayPattern.matches(line) } attemptFireRabbitFound() } "El Dorado" -> { EggFoundEvent(STRAY, it.slotNumber).post() lastName = "§6El Dorado" lastMeal = STRAY - duplicate = it.stack.getLore().any { line -> duplicateDoradoStrayPattern.matches(line)} + duplicate = it.stack.getLore().any { line -> duplicateDoradoStrayPattern.matches(line) } attemptFireRabbitFound() } else -> return@matchMatcher diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggLocator.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggLocator.kt index 7a5e726d2..e5425af34 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggLocator.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggLocator.kt @@ -283,7 +283,9 @@ object HoppityEggLocator { IslandGraphs.pathFind(location, "Hoppity Egg", color, condition = { config.showPathFinder }) } - fun isValidEggLocation(location: LorenzVec): Boolean = HoppityEggLocations.islandLocations.any { it.distance(location) < 5.0 } + fun isValidEggLocation(location: LorenzVec): Boolean = HoppityEggLocations.islandLocations.any { + it.distance(location) < 5.0 + } private fun ReceiveParticleEvent.isVillagerParticle() = type == EnumParticleTypes.VILLAGER_HAPPY && speed == 0.0f && count == 1 diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEventSummary.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEventSummary.kt index b2f806c80..4a536465c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEventSummary.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEventSummary.kt @@ -98,8 +98,8 @@ object HoppityEventSummary { if (year < currentYear || (year == currentYear && !isSpring) && config.eventSummary.enabled) { sendStatsMessage(stats, year) - (ProfileStorageData.profileSpecific?.hoppityEventStats?.get(year)?.also { it.summarized = true } - ?: ErrorManager.skyHanniError("Could not save summarization state in Hoppity Event Summarization.")) + ProfileStorageData.profileSpecific?.hoppityEventStats?.get(year)?.also { it.summarized = true } + ?: ErrorManager.skyHanniError("Could not save summarization state in Hoppity Event Summarization.") } } @@ -131,6 +131,10 @@ object HoppityEventSummary { ) } + private fun HoppityEventStats.getMilestoneCount(): Int = + (mealsFound[HoppityEggType.CHOCOLATE_FACTORY_MILESTONE] ?: 0) + + (mealsFound[HoppityEggType.CHOCOLATE_SHOP_MILESTONE] ?: 0) + private val summaryOperationList by lazy { buildMap Unit> { put(HoppityStat.MEAL_EGGS_FOUND) { sb, stats, year -> @@ -155,8 +159,7 @@ object HoppityEventSummary { } put(HoppityStat.MILESTONE_RABBITS) { sb, stats, _ -> - ((stats.mealsFound[HoppityEggType.CHOCOLATE_FACTORY_MILESTONE] ?: 0) + - (stats.mealsFound[HoppityEggType.CHOCOLATE_SHOP_MILESTONE] ?: 0)).takeIf { it > 0 }?.let { + stats.getMilestoneCount().takeIf { it > 0 }?.let { sb.appendHeadedLine("§7You claimed §b$it §6§lMilestone §r§6${StringUtils.pluralize(it, "Rabbit")}§7.") } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityNpc.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityNpc.kt index 0546e5ff9..bf324a8f6 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityNpc.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityNpc.kt @@ -68,7 +68,8 @@ object HoppityNpc { IslandGraphs.pathFind( LorenzVec(6.4, 70.0, 7.4), "§aHoppity's Shop", - condition = { config.hoppityShopReminder }) + condition = { config.hoppityShopReminder } + ) } }, ) diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/ChumBucketHider.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/ChumBucketHider.kt index 5f64aba8c..3eac15fc6 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fishing/ChumBucketHider.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/ChumBucketHider.kt @@ -64,7 +64,11 @@ object ChumBucketHider { } // Chum Bucket - if (config.hideBucket.get() && entity.inventory.any { it != null && (it.name == "§fEmpty Chum Bucket" || it.name == "§aEmpty Chumcap Bucket") }) { + if (config.hideBucket.get() && + entity.inventory.any { + it != null && (it.name == "§fEmpty Chum Bucket" || it.name == "§aEmpty Chumcap Bucket") + } + ) { val entityLocation = entity.getLorenzVec() for (title in titleEntity.toSet()) { if (entityLocation.equalsIgnoreY(title.getLorenzVec())) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishAPI.kt index fec662f39..3a6333a9c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishAPI.kt @@ -21,7 +21,7 @@ object TrophyFishAPI { |${TrophyRarity.BRONZE.formattedString}: ${formatCount(counts, TrophyRarity.BRONZE)} | |§7Total: ${bestFishObtained.formatCode}${counts.values.sum().addSeparators()} - """.trimMargin() + """.trimMargin() } private fun formatCount(counts: Map, rarity: TrophyRarity): String { diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/AnitaMedalProfit.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/AnitaMedalProfit.kt index 6cbda5b04..760df6432 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/AnitaMedalProfit.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/AnitaMedalProfit.kt @@ -76,7 +76,7 @@ object AnitaMedalProfit { } private fun readItem(slot: Int, item: ItemStack, table: MutableList) { - val itemName = getItemName(item) ?: return + val itemName = getItemName(item) if (itemName == " ") return if (itemName == "§cClose") return if (itemName == "§eUnique Gold Medals") return diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/CropType.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/CropType.kt index 3a661161e..290c5427b 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/CropType.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/CropType.kt @@ -74,7 +74,9 @@ enum class CropType( fun getByNameOrNull(itemName: String): CropType? { if (itemName == "Red Mushroom" || itemName == "Brown Mushroom") return MUSHROOM if (itemName == "Seeds") return WHEAT - return entries.firstOrNull { it.cropName.equals(itemName, ignoreCase = true) || it.simpleName.equals(itemName, ignoreCase = true) } + return entries.firstOrNull { + it.cropName.equals(itemName, ignoreCase = true) || it.simpleName.equals(itemName, ignoreCase = true) + } } fun getByName(name: String) = getByNameOrNull(name) ?: error("No valid crop type '$name'") 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 c79bbb461..d0a386272 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt @@ -515,8 +515,10 @@ object GardenNextJacobContest { } private fun isEnabled() = - config.display && ((LorenzUtils.inSkyBlock && (GardenAPI.inGarden() || config.showOutsideGarden)) || - (OutsideSbFeature.NEXT_JACOB_CONTEST.isSelected() && !LorenzUtils.inSkyBlock)) + config.display && ( + (LorenzUtils.inSkyBlock && (GardenAPI.inGarden() || config.showOutsideGarden)) || + (OutsideSbFeature.NEXT_JACOB_CONTEST.isSelected() && !LorenzUtils.inSkyBlock) + ) private fun isFetchEnabled() = isEnabled() && config.fetchAutomatically private fun isSendEnabled() = diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenPlotAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenPlotAPI.kt index 8ad8d21da..373eadfe9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenPlotAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenPlotAPI.kt @@ -191,7 +191,7 @@ object GardenPlotAPI { } fun Plot.markExpiredSprayAsNotified() { - getData()?.apply { sprayHasNotified = true } + getData()?.sprayHasNotified = true } private fun Plot.setSpray(spray: SprayType, duration: Duration) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenYawAndPitch.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenYawAndPitch.kt index 171df87e7..ef1aaa1bd 100755 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenYawAndPitch.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenYawAndPitch.kt @@ -60,8 +60,10 @@ object GardenYawAndPitch { } private fun isEnabled() = - config.enabled && ((OutsideSbFeature.YAW_AND_PITCH.isSelected() && !LorenzUtils.inSkyBlock) || - (LorenzUtils.inSkyBlock && (GardenAPI.inGarden() || config.showOutsideGarden))) + config.enabled && ( + (OutsideSbFeature.YAW_AND_PITCH.isSelected() && !LorenzUtils.inSkyBlock) || + (LorenzUtils.inSkyBlock && (GardenAPI.inGarden() || config.showOutsideGarden)) + ) @SubscribeEvent fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt index 058ae1590..ffc77934b 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt @@ -49,7 +49,7 @@ object ComposterDisplay { val pattern by lazy { rawPattern.toPattern() } fun addToList(map: Map): List { - return listOf(displayItem, map[this]!!) + return map[this]?.let { listOf(displayItem, it) } ?: emptyList() } } @@ -72,7 +72,6 @@ object ComposterDisplay { val newDisplay = mutableListOf>() newDisplay.addAsSingletonList("§bComposter") - newDisplay.add(DataType.TIME_LEFT.addToList(tabListData)) val list = mutableListOf() diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt index d7452725f..6059eded9 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt @@ -344,7 +344,7 @@ object ComposterOverlay { newList.addAsSingletonList(" §7$compostPerTitle: §e${multiplier.roundTo(2)}$compostPerTitlePreview") val organicMatterPrice = getPrice(organicMatterItem) - val organicMatterFactor = organicMatterFactors[organicMatterItem]!! + val organicMatterFactor = organicMatterFactors[organicMatterItem] ?: 1.0 val organicMatterRequired = ComposterAPI.organicMatterRequiredPer(null) val organicMatterRequiredPreview = ComposterAPI.organicMatterRequiredPer(upgrade) @@ -353,7 +353,7 @@ object ComposterOverlay { val organicMatterPricePerPreview = organicMatterPrice * (organicMatterRequiredPreview / organicMatterFactor) val fuelPrice = getPrice(fuelItem) - val fuelFactor = fuelFactors[fuelItem]!! + val fuelFactor = fuelFactors[fuelItem] ?: 1.0 val fuelRequired = ComposterAPI.fuelRequiredPer(null) val fuelRequiredPreview = ComposterAPI.fuelRequiredPer(upgrade) @@ -427,7 +427,7 @@ object ComposterOverlay { i++ if (i < testOffset) continue if (first == null) first = internalName - val factor = factors[internalName]!! + val factor = factors[internalName] ?: 1.0 val item = internalName.getItemStack() val price = getPrice(internalName) diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/contest/JacobContestTimeNeeded.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/contest/JacobContestTimeNeeded.kt index bb9f9ea21..399c4cfad 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/contest/JacobContestTimeNeeded.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/contest/JacobContestTimeNeeded.kt @@ -168,16 +168,19 @@ object JacobContestTimeNeeded { showLine = line } } - map[crop] = Renderable.hoverTips(showLine, buildList { - add("§7Time Needed for §9${crop.cropName} Medals§7:") - addAll(brackets) - add("") - val latestFF = crop.getLatestTrueFarmingFortune() ?: 0.0 - add("§7Latest FF: §e${(latestFF).addSeparators()}") - val bps = crop.getBps()?.roundTo(1) ?: 0 - add("§7${addBpsTitle()}§e${bps.addSeparators()}") - addAll(lowBPSWarning) - }) + map[crop] = Renderable.hoverTips( + showLine, + buildList { + add("§7Time Needed for §9${crop.cropName} Medals§7:") + addAll(brackets) + add("") + val latestFF = crop.getLatestTrueFarmingFortune() ?: 0.0 + add("§7Latest FF: §e${(latestFF).addSeparators()}") + val bps = crop.getBps()?.roundTo(1) ?: 0 + add("§7${addBpsTitle()}§e${bps.addSeparators()}") + addAll(lowBPSWarning) + } + ) } private fun addBpsTitle() = if (config.jacobContestCustomBps) "Custom Blocks/Second: " else "Your Blocks/Second: " diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropMoneyDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropMoneyDisplay.kt index 217da9735..87306744e 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropMoneyDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropMoneyDisplay.kt @@ -229,7 +229,7 @@ object CropMoneyDisplay { } val coinsColor = if (isCurrent && config.compact) "§e" else "§6" - val moneyArray = moneyPerHourData[internalName]!! + val moneyArray = moneyPerHourData[internalName] ?: emptyArray() for (price in moneyArray) { val finalPrice = price + extraMushroomCowPerkCoins + extraDicerCoins + extraArmorCoins diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropSpeedMeter.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropSpeedMeter.kt index 74c59674f..9a47acaa1 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropSpeedMeter.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/CropSpeedMeter.kt @@ -89,7 +89,7 @@ object CropSpeedMeter { snapshot = emptyList() } else { currentCrop?.let { - val crops = it.getCounter() - startCrops[it]!! + val crops = it.getCounter() - (startCrops[it] ?: 0L) val blocks = currentBlocks val cropsPerBlocks = (crops.toDouble() / blocks.toDouble()).roundTo(3) diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingWeightDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingWeightDisplay.kt index 24edf8d43..3da9945b5 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingWeightDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/FarmingWeightDisplay.kt @@ -123,12 +123,6 @@ object FarmingWeightDisplay { private var nextPlayers = mutableListOf() private val nextPlayer get() = nextPlayers.firstOrNull() - private val recalculate by lazy { - ({ - resetData() - }) - } - private val eliteWeightApiGson by lazy { BaseGsonBuilder.gson() .registerTypeAdapter(CropType::class.java, SkyHanniTypeAdapters.CROP_TYPE.nullSafe()) @@ -141,22 +135,22 @@ object FarmingWeightDisplay { Renderable.clickAndHover( "§cFarming Weight error: Cannot load", listOf("§eClick here to reload the data right now!"), - onClick = recalculate, + onClick = ::resetData, ), Renderable.clickAndHover( "§cdata from Elite Farmers!", listOf("§eClick here to reload the data right now!"), - onClick = recalculate, + onClick = ::resetData, ), Renderable.clickAndHover( "§eRejoin the garden or", listOf("§eClick here to reload the data right now!"), - onClick = recalculate, + onClick = ::resetData, ), Renderable.clickAndHover( "§eclick here to fix it.", listOf("§eClick here to reload the data right now!"), - onClick = recalculate, + onClick = ::resetData, ), ) } @@ -268,7 +262,7 @@ object FarmingWeightDisplay { val nextPlayer = nextPlayer ?: return Renderable.clickAndHover( "§cWaiting for leaderboard update...", listOf("§eClick here to load new data right now!"), - onClick = recalculate, + onClick = ::resetData, ) val showRankGoal = leaderboardPosition == -1 || leaderboardPosition > rankGoal var nextName = @@ -304,7 +298,7 @@ object FarmingWeightDisplay { return Renderable.clickAndHover( "§cRejoin the garden to show ETA!", listOf("Click here to calculate the data right now!"), - onClick = recalculate, + onClick = ::resetData, ) } @@ -366,8 +360,12 @@ object FarmingWeightDisplay { ) } - private fun isEnabled() = ((OutsideSbFeature.FARMING_WEIGHT.isSelected() && !LorenzUtils.inSkyBlock) || - (LorenzUtils.inSkyBlock && (GardenAPI.inGarden() || config.showOutsideGarden))) && config.display + private fun isEnabled() = ( + config.display && ( + OutsideSbFeature.FARMING_WEIGHT.isSelected() && !LorenzUtils.inSkyBlock + ) || + (LorenzUtils.inSkyBlock && (GardenAPI.inGarden() || config.showOutsideGarden)) + ) private fun isEtaEnabled() = config.overtakeETA diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/GardenCropMilestoneDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/GardenCropMilestoneDisplay.kt index 7189199a9..aca1751b0 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/GardenCropMilestoneDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/GardenCropMilestoneDisplay.kt @@ -156,14 +156,16 @@ object GardenCropMileston