diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni')
10 files changed, 361 insertions, 215 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt index 2195efb99..5e236c4c5 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt @@ -23,11 +23,11 @@ object GardenCropMilestones { private val patternGroup = RepoPattern.group("data.garden.milestone") private val cropPattern by patternGroup.pattern( "crop", - "§7Harvest §f(?<name>.*) §7on .*" + "§7Harvest §f(?<name>.*) §7on .*", ) val totalPattern by patternGroup.pattern( "total", - "§7Total: §a(?<name>.*)" + "§7Total: §a(?<name>.*)", ) private val config get() = GardenAPI.config.cropMilestones @@ -67,9 +67,10 @@ object GardenCropMilestones { add(" §r§7§8+§d2 SkyHanni User Luck") } + val cropName = crop.cropName val messages = listOf( "§r§3§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬§r", - " §r§b§lGARDEN MILESTONE §3${crop.cropName} §8$oldLevel➜§3$newLevel§r", + " §r§b§lGARDEN MILESTONE §3$cropName §8$oldLevel➜§3$newLevel§r", if (goalReached) listOf( "", @@ -80,13 +81,16 @@ object GardenCropMilestones { "", " §r§a§lREWARDS§r", rewards.joinToString("\n"), - "§r§3§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬§r" + "§r§3§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬§r", ) chat(messages.joinToString("\n"), false) - if (goalReached) - chat("§e§lYou have reached your milestone goal of §b§l${customGoalLevel} §e§lin the §b§l${crop.cropName} §e§lcrop!", false) + val message = "§e§lYou have reached your milestone goal of §b§l$customGoalLevel " + + "§e§lin the §b§l$cropName §e§lcrop!" + if (goalReached) { + chat(message, false) + } SoundUtils.createSound("random.levelup", 1f, 1f).playSound() } diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt index cd6523f26..691a3c8e2 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt @@ -30,7 +30,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent object GardenCropMilestonesCommunityFix { private val amountPattern by RepoPattern.pattern( "data.garden.milestonefix.amount", - ".*§e(?<having>.*)§6/§e(?<max>.*)" + ".*§e(?<having>.*)§6/§e(?<max>.*)", ) private var showWrongData = false @@ -67,7 +67,7 @@ object GardenCropMilestonesCommunityFix { ChatUtils.chat( "Found §c${data.size} §ewrong crop milestone steps in the menu! " + "Correct data got put into clipboard. " + - "Please share it on the §bSkyHanni Discord §ein the channel §b#share-data§e." + "Please share it on the §bSkyHanni Discord §ein the channel §b#share-data§e.", ) OSUtils.copyToClipboard("```${data.joinToString("\n")}```") } else { @@ -93,8 +93,8 @@ object GardenCropMilestonesCommunityFix { // debug("crop: $crop") // debug("realTier: $realTier") - val guessNextMax = GardenCropMilestones.getCropsForTier(realTier + 1, crop) - GardenCropMilestones.getCropsForTier(realTier, crop) -// debug("guessNextMax: ${guessNextMax.addSeparators()}") + val guessNextMax = nextMax(realTier, crop) + // debug("guessNextMax: ${guessNextMax.addSeparators()}") val nextMax = amountPattern.matchMatcher(next) { group("max").formatLong() } ?: return @@ -114,7 +114,7 @@ object GardenCropMilestonesCommunityFix { // debug("$crop total offf by: ${totalOffBy.addSeparators()}") } -// fun debug(message: String) { + // fun debug(message: String) { // if (SkyHanniMod.feature.dev.debug.enabled) { // println(message) // } @@ -162,7 +162,7 @@ object GardenCropMilestonesCommunityFix { } private fun tryFix(crop: CropType, tier: Int, amount: Int): Boolean { - val guessNextMax = GardenCropMilestones.getCropsForTier(tier + 1, crop) - GardenCropMilestones.getCropsForTier(tier, crop) + val guessNextMax = nextMax(tier, crop) if (guessNextMax.toInt() == amount) return false GardenCropMilestones.cropMilestoneData = GardenCropMilestones.cropMilestoneData.editCopy { fix(crop, this, tier, amount) @@ -170,6 +170,9 @@ object GardenCropMilestonesCommunityFix { return true } + private fun nextMax(tier: Int, crop: CropType): Long = + GardenCropMilestones.getCropsForTier(tier + 1, crop) - GardenCropMilestones.getCropsForTier(tier, crop) + private fun fix(crop: CropType, map: MutableMap<CropType, List<Int>>, tier: Int, amount: Int) { map[crop] = map[crop]!!.editCopy { this[tier] = amount diff --git a/src/main/java/at/hannibal2/skyhanni/data/HotmData.kt b/src/main/java/at/hannibal2/skyhanni/data/HotmData.kt index c1ae1390a..8c6db7df0 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/HotmData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/HotmData.kt @@ -43,188 +43,289 @@ enum class HotmData( val rewardFun: ((Int) -> (Map<HotmReward, Double>)), ) { - MINING_SPEED("Mining Speed", + MINING_SPEED( + "Mining Speed", 50, { currentLevel -> (currentLevel + 2.0).pow(3) }, - { level -> mapOf(HotmReward.MINING_SPEED to level * 20.0) }), - MINING_FORTUNE("Mining Fortune", + { level -> mapOf(HotmReward.MINING_SPEED to level * 20.0) }, + ), + MINING_FORTUNE( + "Mining Fortune", 50, { currentLevel -> (currentLevel + 2.0).pow(3.05) }, - { level -> mapOf(HotmReward.MINING_FORTUNE to level * 5.0) }), - QUICK_FORGE("Quick Forge", + { level -> mapOf(HotmReward.MINING_FORTUNE to level * 5.0) }, + ), + QUICK_FORGE( + "Quick Forge", 20, { currentLevel -> (currentLevel + 2.0).pow(4) }, - { level -> mapOf(HotmReward.FORGE_TIME_DECREASE to 10.0 + (level * 0.5)) }), - TITANIUM_INSANIUM("Titanium Insanium", + { level -> mapOf(HotmReward.FORGE_TIME_DECREASE to 10.0 + (level * 0.5)) }, + ), + TITANIUM_INSANIUM( + "Titanium Insanium", 50, { currentLevel -> (currentLevel + 2.0).pow(3.1) }, - { level -> mapOf(HotmReward.TITANIUM_CHANCE to 2.0 + (level * 0.1)) }), - DAILY_POWDER("Daily Powder", + { level -> mapOf(HotmReward.TITANIUM_CHANCE to 2.0 + (level * 0.1)) }, + ), + DAILY_POWDER( + "Daily Powder", 100, { currentLevel -> 200.0 + (currentLevel * 18.0) }, - { level -> mapOf(HotmReward.DAILY_POWDER to (200.0 + ((level - 1.0) * 18.0)) * 2.0) }), - LUCK_OF_THE_CAVE("Luck of the Cave", + { level -> mapOf(HotmReward.DAILY_POWDER to (200.0 + ((level - 1.0) * 18.0)) * 2.0) }, + ), + LUCK_OF_THE_CAVE( + "Luck of the Cave", 45, { currentLevel -> (currentLevel + 2.0).pow(3.07) }, - { level -> mapOf(HotmReward.EXTRA_CHANCE_TRIGGER_RARE_OCCURRENCES to 5.0 + level) }), - CRYSTALLIZED("Crystallized", 30, { currentLevel -> (currentLevel + 2.0).pow(3.4) }, { level -> - mapOf( - HotmReward.MINING_SPEED to 20.0 + ((level - 1.0) * 6.0), - HotmReward.MINING_FORTUNE to 20.0 + ((level - 1.0) * 5.0) - ) - }), - EFFICIENT_MINER("Efficient Miner", + { level -> mapOf(HotmReward.EXTRA_CHANCE_TRIGGER_RARE_OCCURRENCES to 5.0 + level) }, + ), + CRYSTALLIZED( + "Crystallized", + 30, + { currentLevel -> (currentLevel + 2.0).pow(3.4) }, + { level -> + mapOf( + HotmReward.MINING_SPEED to 20.0 + ((level - 1.0) * 6.0), + HotmReward.MINING_FORTUNE to 20.0 + ((level - 1.0) * 5.0), + ) + }, + ), + EFFICIENT_MINER( + "Efficient Miner", 100, { currentLevel -> (currentLevel + 2.0).pow(2.6) }, - { level -> mapOf(HotmReward.AVERAGE_BLOCK_BREAKS to (10.0 + (level * 0.4)) * (1.0 + (level * 0.05))) }), - ORBITER("Orbiter", + { level -> mapOf(HotmReward.AVERAGE_BLOCK_BREAKS to (10.0 + (level * 0.4)) * (1.0 + (level * 0.05))) }, + ), + ORBITER( + "Orbiter", 80, { currentLevel -> (currentLevel + 1.0) * 70.0 }, - { level -> mapOf(HotmReward.CHANCE_EXTRA_XP_ORBS to 0.2 + (level * 0.01)) }), - SEASONED_MINEMAN("Seasoned Mineman", + { level -> mapOf(HotmReward.CHANCE_EXTRA_XP_ORBS to 0.2 + (level * 0.01)) }, + ), + SEASONED_MINEMAN( + "Seasoned Mineman", 100, { currentLevel -> (currentLevel + 2.0).pow(2.3) }, - { level -> mapOf(HotmReward.MINING_WISDOM to 5.0 + (level * 0.1)) }), - MOLE("Mole", + { level -> mapOf(HotmReward.MINING_WISDOM to 5.0 + (level * 0.1)) }, + ), + MOLE( + "Mole", 190, { currentLevel -> (currentLevel + 2.0).pow(2.2) }, - { level -> mapOf(HotmReward.AVERAGE_BLOCK_BREAKS to 1.0 + ((level + 9.0) * 0.05 * ((level + 8) % 20))) }), - PROFESSIONAL("Professional", + { level -> mapOf(HotmReward.AVERAGE_BLOCK_BREAKS to 1.0 + ((level + 9.0) * 0.05 * ((level + 8) % 20))) }, + ), + PROFESSIONAL( + "Professional", 140, { currentLevel -> (currentLevel + 2.0).pow(2.3) }, - { level -> mapOf(HotmReward.MINING_SPEED to 50.0 + (level * 5.0)) }), - LONESOME_MINER("Lonesome Miner", + { level -> mapOf(HotmReward.MINING_SPEED to 50.0 + (level * 5.0)) }, + ), + LONESOME_MINER( + "Lonesome Miner", 45, { currentLevel -> (currentLevel + 2.0).pow(3.07) }, - { level -> mapOf(HotmReward.COMBAT_STAT_BOOST to 5.0 + ((level - 1.0) * 0.5)) }), - GREAT_EXPLORER("Great Explorer", 20, { currentLevel -> (currentLevel + 2.0).pow(4.0) }, { level -> - mapOf( - HotmReward.CHANCE_OF_TREASURE_CHEST to (0.2 * (0.2 + 0.04 * (level - 1.0))), - HotmReward.LOCKS_OF_TREASURE_CHEST to 1 + level * 0.2 - ) - }), - FORTUNATE("Fortunate", + { level -> mapOf(HotmReward.COMBAT_STAT_BOOST to 5.0 + ((level - 1.0) * 0.5)) }, + ), + GREAT_EXPLORER( + "Great Explorer", + 20, + { currentLevel -> (currentLevel + 2.0).pow(4.0) }, + { level -> + mapOf( + HotmReward.CHANCE_OF_TREASURE_CHEST to (0.2 * (0.2 + 0.04 * (level - 1.0))), + HotmReward.LOCKS_OF_TREASURE_CHEST to 1 + level * 0.2, + ) + }, + ), + FORTUNATE( + "Fortunate", 20, { currentLevel -> (currentLevel + 1.0).pow(3.05) }, - { level -> mapOf(HotmReward.MINING_FORTUNE to 20.0 + (level * 4.0)) }), - POWDER_BUFF("Powder Buff", 50, { currentLevel -> (currentLevel + 1.0).pow(3.2) }, { level -> - mapOf( - HotmReward.MORE_MITHRIL_POWER to level.toDouble(), HotmReward.MORE_GEMSTONE_POWER to level.toDouble() - ) - }), - MINING_SPEED_II("Mining Speed II", + { level -> mapOf(HotmReward.MINING_FORTUNE to 20.0 + (level * 4.0)) }, + ), + POWDER_BUFF( + "Powder Buff", + 50, + { currentLevel -> (currentLevel + 1.0).pow(3.2) }, + { level -> + mapOf( + HotmReward.MORE_MITHRIL_POWER to level.toDouble(), + HotmReward.MORE_GEMSTONE_POWER to level.toDouble(), + ) + }, + ), + MINING_SPEED_II( + "Mining Speed II", 50, { currentLevel -> (currentLevel + 2.0).pow(3.2) }, - { level -> mapOf(HotmReward.MINING_SPEED to level * 40.0) }), - MINING_FORTUNE_II("Mining Fortune II", + { level -> mapOf(HotmReward.MINING_SPEED to level * 40.0) }, + ), + MINING_FORTUNE_II( + "Mining Fortune II", 50, { currentLevel -> (currentLevel + 2.0).pow(3.2) }, - { level -> mapOf(HotmReward.MINING_FORTUNE to level * 5.0) }), + { level -> mapOf(HotmReward.MINING_FORTUNE to level * 5.0) }, + ), // Static - MINING_MADNESS("Mining Madness", 1, { null }, { - mapOf( - HotmReward.MINING_SPEED to 50.0, HotmReward.MINING_FORTUNE to 50.0 - ) - }), + MINING_MADNESS( + "Mining Madness", + 1, + { null }, + { + mapOf( + HotmReward.MINING_SPEED to 50.0, + HotmReward.MINING_FORTUNE to 50.0, + ) + }, + ), SKY_MALL("Sky Mall", 1, { null }, { emptyMap() }), PRECISION_MINING("Precision Mining", 1, { null }, { mapOf(HotmReward.MINING_SPEED_BOOST to 30.0) }), - FRONT_LOADED("Front Loaded", 1, { null }, { - mapOf( - HotmReward.MINING_SPEED to 100.0, - HotmReward.MINING_FORTUNE to 100.0, - HotmReward.MORE_BASE_MITHRIL_POWER to 2.0, - HotmReward.MORE_BASE_GEMSTONE_POWER to 2.0 - ) - }), + FRONT_LOADED( + "Front Loaded", + 1, + { null }, + { + mapOf( + HotmReward.MINING_SPEED to 100.0, + HotmReward.MINING_FORTUNE to 100.0, + HotmReward.MORE_BASE_MITHRIL_POWER to 2.0, + HotmReward.MORE_BASE_GEMSTONE_POWER to 2.0, + ) + }, + ), STAR_POWDER("Star Powder", 1, { null }, { mapOf(HotmReward.MORE_MITHRIL_POWER to 300.0) }), GOBLIN_KILLER("Goblin Killer", 1, { null }, { emptyMap() }), // Abilities - PICKOBULUS("Pickobulus", 3, { null }, { level -> - mapOf( - HotmReward.ABILITY_RADIUS to ceil(level * 0.5) + 1.0, - HotmReward.ABILITY_COOLDOWN to 130.0 - 10.0 * level - ) - }), - MINING_SPEED_BOOST("Mining Speed Boost", 3, { null }, { level -> - mapOf( - HotmReward.ABILITY_DURATION to level + 1.0, HotmReward.ABILITY_COOLDOWN to 10.0 + 5.0 * level - ) - }), - VEIN_SEEKER("Vein Seeker", 3, { null }, { level -> - mapOf( - HotmReward.ABILITY_RADIUS to level + 1.0, - HotmReward.ABILITY_DURATION to 10.0 + 2.0 * level, - HotmReward.ABILITY_COOLDOWN to 60.0 - ) - }), - MANIAC_MINER("Maniac Miner", 3, { null }, { level -> - mapOf( - HotmReward.ABILITY_DURATION to 5.0 + level * 5.0, HotmReward.ABILITY_COOLDOWN to 60.0 - level - ) - }), + PICKOBULUS( + "Pickobulus", + 3, + { null }, + { level -> + mapOf( + HotmReward.ABILITY_RADIUS to ceil(level * 0.5) + 1.0, + HotmReward.ABILITY_COOLDOWN to 130.0 - 10.0 * level, + ) + }, + ), + MINING_SPEED_BOOST( + "Mining Speed Boost", + 3, + { null }, + { level -> + mapOf( + HotmReward.ABILITY_DURATION to level + 1.0, + HotmReward.ABILITY_COOLDOWN to 10.0 + 5.0 * level, + ) + }, + ), + VEIN_SEEKER( + "Vein Seeker", + 3, + { null }, + { level -> + mapOf( + HotmReward.ABILITY_RADIUS to level + 1.0, + HotmReward.ABILITY_DURATION to 10.0 + 2.0 * level, + HotmReward.ABILITY_COOLDOWN to 60.0, + ) + }, + ), + MANIAC_MINER( + "Maniac Miner", + 3, + { null }, + { level -> + mapOf( + HotmReward.ABILITY_DURATION to 5.0 + level * 5.0, + HotmReward.ABILITY_COOLDOWN to 60.0 - level, + ) + }, + ), PEAK_OF_THE_MOUNTAIN("Peak of the Mountain", 10, { null }, { emptyMap() }), // Mining V3 - DAILY_GRIND("Daily Grind", + DAILY_GRIND( + "Daily Grind", 100, { currentLevel -> 218.0 + (18.0 * (currentLevel - 2.0)) }, - { level -> mapOf(HotmReward.DAILY_POWDER to 50.0 * level) }), + { level -> mapOf(HotmReward.DAILY_POWDER to 50.0 * level) }, + ), DUST_COLLECTOR( "Dust Collector", 20, { currentLevel -> (currentLevel + 1.0).pow(4) }, - { level -> mapOf(HotmReward.FOSSIL_DUST to 1.0 * level) }), - WARM_HEARTED("Warm Hearted", + { level -> mapOf(HotmReward.FOSSIL_DUST to 1.0 * level) }, + ), + WARM_HEARTED( + "Warm Hearted", 50, { currentLevel -> floor((currentLevel + 1.0).pow(3.1)) }, - { level -> mapOf(HotmReward.COLD_RESISTANCE to 0.2 * level) }), + { level -> mapOf(HotmReward.COLD_RESISTANCE to 0.2 * level) }, + ), - STRONG_ARM("Strong Arm", + STRONG_ARM( + "Strong Arm", 100, { currentLevel -> floor((currentLevel + 1.0).pow(2.3)) }, - { level -> mapOf(HotmReward.MINING_SPEED to 5.0 * level) }), - NO_STONE_UNTURNED("No Stone Unturned", + { level -> mapOf(HotmReward.MINING_SPEED to 5.0 * level) }, + ), + NO_STONE_UNTURNED( + "No Stone Unturned", 50, { currentLevel -> floor((currentLevel + 1.0).pow(3.05)) }, - { level -> mapOf(HotmReward.UNKNOWN to 0.5 * level) }), + { level -> mapOf(HotmReward.UNKNOWN to 0.5 * level) }, + ), - SUB_ZERO_MINING("SubZero Mining", + SUB_ZERO_MINING( + "SubZero Mining", 100, { currentLevel -> floor((currentLevel + 1.0).pow(2.3)) }, - { level -> mapOf(HotmReward.MINING_FORTUNE to 1.0 * level) }), - SURVEYOR("Surveyor", + { level -> mapOf(HotmReward.MINING_FORTUNE to 1.0 * level) }, + ), + SURVEYOR( + "Surveyor", 20, { currentLevel -> (currentLevel + 1.0).pow(4) }, - { level -> mapOf(HotmReward.UNKNOWN to 0.75 * level) }), - EAGER_ADVENTURER("Eager Adventurer", + { level -> mapOf(HotmReward.UNKNOWN to 0.75 * level) }, + ), + EAGER_ADVENTURER( + "Eager Adventurer", 100, { currentLevel -> floor((currentLevel + 1.0).pow(2.3)) }, - { level -> mapOf(HotmReward.MINING_SPEED to 2.0 * level) }), + { level -> mapOf(HotmReward.MINING_SPEED to 2.0 * level) }, + ), - DEAD_MANS_CHEST("Dead Man's Chest", + DEAD_MANS_CHEST( + "Dead Man's Chest", 50, { currentLevel -> floor((currentLevel + 1.0).pow(3.2)) }, - { level -> mapOf(HotmReward.UNKNOWN to 1.0 * level) }), + { level -> mapOf(HotmReward.UNKNOWN to 1.0 * level) }, + ), - GIFTS_FROM_THE_DEPARTED("Gifts from the Departed", + GIFTS_FROM_THE_DEPARTED( + "Gifts from the Departed", 100, { currentLevel -> floor((currentLevel + 1.0).pow(2.45)) }, - { level -> mapOf(HotmReward.UNKNOWN to 0.2 * level) }), + { level -> mapOf(HotmReward.UNKNOWN to 0.2 * level) }, + ), EXCAVATOR( "Excavator", 50, { currentLevel -> (currentLevel + 1.0).pow(3) }, - { level -> mapOf(HotmReward.UNKNOWN to 0.5 * level) }), - RAGS_TO_RICHES("Rags to Riches", + { level -> mapOf(HotmReward.UNKNOWN to 0.5 * level) }, + ), + RAGS_TO_RICHES( + "Rags to Riches", 50, { currentLevel -> floor((currentLevel + 1.0).pow(3.05)) }, - { level -> mapOf(HotmReward.MINING_FORTUNE to 2.0 * level) }), + { level -> mapOf(HotmReward.MINING_FORTUNE to 2.0 * level) }, + ), KEEN_EYE("Keen Eye", 1, { null }, { emptyMap() }), MINESHAFT_MAYHEM("Mineshaft Mayhem", 1, { null }, { emptyMap() }), @@ -271,6 +372,7 @@ enum class HotmData( fun getReward() = rewardFun(activeLevel) + // TODO move all object functions into hotm api? @SkyHanniModule companion object { @@ -280,49 +382,62 @@ enum class HotmData( listOf(PICKOBULUS, MINING_SPEED_BOOST, VEIN_SEEKER, MANIAC_MINER, HAZARDOUS_MINER, GEMSTONE_INFUSION) private val inventoryPattern by patternGroup.pattern( - "inventory", "Heart of the Mountain" + "inventory", + "Heart of the Mountain", ) private val levelPattern by patternGroup.pattern( - "perk.level", "§(?<color>.)Level (?<level>\\d+).*" + "perk.level", + "§(?<color>.)Level (?<level>\\d+).*", ) private val notUnlockedPattern by patternGroup.pattern( - "perk.notunlocked", "(§.)*Requires.*|.*Mountain!|(§.)*Click to unlock!|" + "perk.notunlocked", + "(§.)*Requires.*|.*Mountain!|(§.)*Click to unlock!|", ) private val enabledPattern by patternGroup.pattern( - "perk.enable", "§a§lENABLED|(§.)*SELECTED" + "perk.enable", + "§a§lENABLED|(§.)*SELECTED", ) private val disabledPattern by patternGroup.pattern( - "perk.disabled", "§c§lDISABLED|§7§eClick to select!" - ) // unused for now since the assumption is when enabled isn't found it is disabled, but the value might be useful in the future or for debugging + "perk.disabled", + "§c§lDISABLED|§7§eClick to select!", + ) // unused for now since the assumption is when enabled isn't found it is disabled, + // but the value might be useful in the future or for debugging private val resetChatPattern by patternGroup.pattern( - "reset.chat", "§aReset your §r§5Heart of the Mountain§r§a! Your Perks and Abilities have been reset." + "reset.chat", + "§aReset your §r§5Heart of the Mountain§r§a! Your Perks and Abilities have been reset.", ) private val heartItemPattern by patternGroup.pattern( - "inventory.heart", "§5Heart of the Mountain" + "inventory.heart", + "§5Heart of the Mountain", ) private val resetItemPattern by patternGroup.pattern( - "inventory.reset", "§cReset Heart of the Mountain" + "inventory.reset", + "§cReset Heart of the Mountain", ) private val heartTokensPattern by patternGroup.pattern( - "inventory.heart.token", "§7Token of the Mountain: §5(?<token>\\d+)" + "inventory.heart.token", + "§7Token of the Mountain: §5(?<token>\\d+)", ) private val resetTokensPattern by patternGroup.pattern( - "inventory.reset.token", "\\s+§8- §5(?<token>\\d+) Token of the Mountain" + "inventory.reset.token", + "\\s+§8- §5(?<token>\\d+) Token of the Mountain", ) private val skymallPattern by patternGroup.pattern( - "skymall", "(?:§eNew buff§r§r§r: §r§f|§8 ■ §7)(?<perk>.*)" + "skymall", + "(?:§eNew buff§r§r§r: §r§f|§8 ■ §7)(?<perk>.*)", ) private val mayhemChatPattern by patternGroup.pattern( - "mayhem", "§b§lMAYHEM! §r§7(?<perk>.*)" + "mayhem", + "§b§lMAYHEM! §r§7(?<perk>.*)", ) var inInventory = false @@ -452,20 +567,23 @@ enum class HotmData( } private val skyMallCurrentEffect by patternGroup.pattern( - "skymall.current", "§aYour Current Effect" + "skymall.current", + "§aYour Current Effect", ) private fun handelSkyMall(lore: List<String>) { if (!SKY_MALL.enabled || !SKY_MALL.isUnlocked) HotmAPI.skymall = null else { - val index = (lore.indexOfFirstMatch(skyMallCurrentEffect) ?: run { - ErrorManager.logErrorStateWithData( - "Could not read the skymall effect from the hotm tree", - "skyMallCurrentEffect didn't match", - "lore" to lore - ) - return - }) + 1 + val index = ( + lore.indexOfFirstMatch(skyMallCurrentEffect) ?: run { + ErrorManager.logErrorStateWithData( + "Could not read the skymall effect from the hotm tree", + "skyMallCurrentEffect didn't match", + "lore" to lore, + ) + return + } + ) + 1 skymallPattern.matchMatcher(lore[index]) { val perk = group("perk") HotmAPI.skymall = SkymallPerk.entries.firstOrNull { it.itemPattern.matches(perk) } ?: run { @@ -473,7 +591,7 @@ enum class HotmData( "Could not read the skymall effect from the hotm tree", "no itemPattern matched", "lore" to lore, - "perk" to perk + "perk" to perk, ) null } @@ -531,7 +649,7 @@ enum class HotmData( "Could not read the skymall effect from chat", "no chatPattern matched", "chat" to event.message, - "perk" to perk + "perk" to perk, ) null } @@ -546,7 +664,7 @@ enum class HotmData( "Could not read the mayhem effect from chat", "no chatPattern matched", "chat" to event.message, - "perk" to perk + "perk" to perk, ) null } @@ -567,7 +685,8 @@ enum class HotmData( HotmAPI.Powder.entries.forEach { if (it.getStorage() == null) { ProfileStorageData.profileSpecific?.mining?.powder?.put( - it, ProfileSpecificStorage.MiningConfig.PowderStorage() + it, + ProfileSpecificStorage.MiningConfig.PowderStorage(), ) } } @@ -587,9 +706,11 @@ enum class HotmData( add("Mineshaft Mayhem: ${HotmAPI.mineshaftMayhem}") } event.title("HotM - Tree") - event.addIrrelevant(entries.filter { it.isUnlocked }.map { - "${if (it.enabled) "✔" else "✖"} ${it.printName}: ${it.activeLevel}" - }) + event.addIrrelevant( + entries.filter { it.isUnlocked }.map { + "${if (it.enabled) "✔" else "✖"} ${it.printName}: ${it.activeLevel}" + }, + ) } } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt index 06ed7f44f..0e2f9af32 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt @@ -39,7 +39,8 @@ class HypixelData { private val patternGroup = RepoPattern.group("data.hypixeldata") private val islandNamePattern by patternGroup.pattern( - "islandname", "(?:§.)*(Area|Dungeon): (?:§.)*(?<island>.*)" + "islandname", + "(?:§.)*(Area|Dungeon): (?:§.)*(?<island>.*)", ) private var lastLocRaw = SimpleTimeMark.farPast() @@ -47,41 +48,52 @@ class HypixelData { companion object { private val patternGroup = RepoPattern.group("data.hypixeldata") private val serverIdScoreboardPattern by patternGroup.pattern( - "serverid.scoreboard", "§7\\d+/\\d+/\\d+ §8(?<servertype>[mM])(?<serverid>\\S+).*" + "serverid.scoreboard", + "§7\\d+/\\d+/\\d+ §8(?<servertype>[mM])(?<serverid>\\S+).*", ) private val serverIdTablistPattern by patternGroup.pattern( - "serverid.tablist", " Server: §r§8(?<serverid>\\S+)" + "serverid.tablist", + " Server: §r§8(?<serverid>\\S+)", ) private val lobbyTypePattern by patternGroup.pattern( - "lobbytype", "(?<lobbyType>.*lobby)\\d+" + "lobbytype", + "(?<lobbyType>.*lobby)\\d+", ) private val playerAmountPattern by patternGroup.pattern( - "playeramount", "^\\s*(?:§.)+Players (?:§.)+\\((?<amount>\\d+)\\)\\s*$" + "playeramount", + "^\\s*(?:§.)+Players (?:§.)+\\((?<amount>\\d+)\\)\\s*$", ) private val playerAmountCoopPattern by patternGroup.pattern( - "playeramount.coop", "^\\s*(?:§.)*Coop (?:§.)*\\((?<amount>\\d+)\\)\\s*$" + "playeramount.coop", + "^\\s*(?:§.)*Coop (?:§.)*\\((?<amount>\\d+)\\)\\s*$", ) private val playerAmountGuestingPattern by patternGroup.pattern( - "playeramount.guesting", "^\\s*(?:§.)*Guests (?:§.)*\\((?<amount>\\d+)\\)\\s*$" + "playeramount.guesting", + "^\\s*(?:§.)*Guests (?:§.)*\\((?<amount>\\d+)\\)\\s*$", ) /** * REGEX-TEST: §r§b§lParty §r§f(4) */ private val dungeonPartyAmountPattern by patternGroup.pattern( - "playeramount.dungeonparty", "^\\s*(?:§.)+Party (?:§.)+\\((?<amount>\\d+)\\)\\s*$" + "playeramount.dungeonparty", + "^\\s*(?:§.)+Party (?:§.)+\\((?<amount>\\d+)\\)\\s*$", ) private val soloProfileAmountPattern by patternGroup.pattern( - "solo.profile.amount", "^\\s*(?:§.)*Island\\s*$" + "solo.profile.amount", + "^\\s*(?:§.)*Island\\s*$", ) private val scoreboardVisitingAmoutPattern by patternGroup.pattern( - "scoreboard.visiting.amount", "\\s+§.✌ §.\\(§.(?<currentamount>\\d+)§./(?<maxamount>\\d+)\\)" + "scoreboard.visiting.amount", + "\\s+§.✌ §.\\(§.(?<currentamount>\\d+)§./(?<maxamount>\\d+)\\)", ) private val guestPattern by patternGroup.pattern( - "guesting.scoreboard", "SKYBLOCK GUEST" + "guesting.scoreboard", + "SKYBLOCK GUEST", ) private val scoreboardTitlePattern by patternGroup.pattern( - "scoreboard.title", "SK[YI]BLOCK(?: CO-OP| GUEST)?" + "scoreboard.title", + "SK[YI]BLOCK(?: CO-OP| GUEST)?", ) /** @@ -89,7 +101,8 @@ class HypixelData { * REGEX-TEST: §5ф §dWizard Tower */ private val skyblockAreaPattern by patternGroup.pattern( - "skyblock.area", "\\s*§(?<symbol>7⏣|5ф) §(?<color>.)(?<area>.*)" + "skyblock.area", + "\\s*§(?<symbol>7⏣|5ф) §(?<color>.)(?<area>.*)", ) var hypixelLive = false @@ -116,7 +129,12 @@ class HypixelData { // Data from locraw var locrawData: JsonObject? = null private var locraw: MutableMap<String, String> = listOf( - "server", "gametype", "lobbyname", "lobbytype", "mode", "map" + "server", + "gametype", + "lobbyname", + "lobbytype", + "mode", + "map", ).associateWith { "" }.toMutableMap() val server get() = locraw["server"] ?: "" @@ -148,7 +166,7 @@ class HypixelData { "Could not find server id", "islandType" to LorenzUtils.skyBlockIsland, "tablist" to TabListData.getTabList(), - "scoreboard" to ScoreboardData.sidebarLinesFormatted + "scoreboard" to ScoreboardData.sidebarLinesFormatted, ) } @@ -280,8 +298,8 @@ class HypixelData { } } - @SubscribeEvent // TODO rewrite everything in here + @SubscribeEvent fun onTick(event: LorenzTickEvent) { if (!LorenzUtils.inSkyBlock) { // Modified from NEU. diff --git a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt index fbac6d716..26658eee7 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ItemAddManager.kt @@ -25,7 +25,6 @@ object ItemAddManager { enum class Source { ITEM_ADD, SACKS, - ; } private val ARCHFIEND_DICE = "ARCHFIEND_DICE".asInternalName() @@ -33,7 +32,7 @@ object ItemAddManager { private val diceRollChatPattern by RepoPattern.pattern( "data.itemmanager.diceroll", - "§eYour §r§(5|6High Class )Archfiend Dice §r§erolled a §r§.(?<number>.)§r§e! Bonus: §r§.(?<hearts>.*)❤" + "§eYour §r§(5|6High Class )Archfiend Dice §r§erolled a §r§.(?<number>.)§r§e! Bonus: §r§.(?<hearts>.*)❤", ) private var inSackInventory = false diff --git a/src/main/java/at/hannibal2/skyhanni/data/MaxwellAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/MaxwellAPI.kt index 37d384528..56e3cdf42 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/MaxwellAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/MaxwellAPI.kt @@ -62,67 +62,67 @@ object MaxwellAPI { private val patternGroup = RepoPattern.group("data.maxwell") private val chatPowerPattern by patternGroup.pattern( "chat.power", - "§eYou selected the §a(?<power>.*) §e(power )?for your §aAccessory Bag§e!" + "§eYou selected the §a(?<power>.*) §e(power )?for your §aAccessory Bag§e!", ) private val chatPowerUnlockedPattern by patternGroup.pattern( "chat.power.unlocked", - "§eYour selected power was set to (?:§r)*§a(?<power>.*)(?:§r)*§e!" + "§eYour selected power was set to (?:§r)*§a(?<power>.*)(?:§r)*§e!", ) private val inventoryPowerPattern by patternGroup.pattern( "inventory.power", - "§7Selected Power: §a(?<power>.*)" + "§7Selected Power: §a(?<power>.*)", ) private val inventoryMPPattern by patternGroup.pattern( "inventory.magicalpower", - "§7Magical Power: §6(?<mp>[\\d,]+)" + "§7Magical Power: §6(?<mp>[\\d,]+)", ) private val thaumaturgyGuiPattern by patternGroup.pattern( "gui.thaumaturgy", - "Accessory Bag Thaumaturgy" + "Accessory Bag Thaumaturgy", ) private val thaumaturgyStartPattern by patternGroup.pattern( "gui.thaumaturgy.start", - "§7Your tuning:" + "§7Your tuning:", ) private val thaumaturgyDataPattern by patternGroup.pattern( "gui.thaumaturgy.data", - "§(?<color>.)\\+(?<amount>[^ ]+)(?<icon>.) (?<name>.+)" + "§(?<color>.)\\+(?<amount>[^ ]+)(?<icon>.) (?<name>.+)", ) private val thaumaturgyMagicalPowerPattern by patternGroup.pattern( "gui.thaumaturgy.magicalpower", - "§7Total: §6(?<mp>[\\d.,]+) Magical Power" + "§7Total: §6(?<mp>[\\d.,]+) Magical Power", ) private val statsTuningGuiPattern by patternGroup.pattern( "gui.thaumaturgy.statstuning", - "Stats Tuning" + "Stats Tuning", ) private val statsTuningDataPattern by patternGroup.pattern( "thaumaturgy.statstuning", - "§7You have: .+ §7\\+ §(?<color>.)(?<amount>[^ ]+) (?<icon>.)" + "§7You have: .+ §7\\+ §(?<color>.)(?<amount>[^ ]+) (?<icon>.)", ) private val tuningAutoAssignedPattern by patternGroup.pattern( "tuningpoints.chat.autoassigned", - "§aYour §r§eTuning Points §r§awere auto-assigned as convenience!" + "§aYour §r§eTuning Points §r§awere auto-assigned as convenience!", ) private val yourBagsGuiPattern by patternGroup.pattern( "gui.yourbags", - "Your Bags" + "Your Bags", ) private val powerSelectedPattern by patternGroup.pattern( "gui.selectedpower", - "§aPower is selected!" + "§aPower is selected!", ) private val noPowerSelectedPattern by patternGroup.pattern( "gui.noselectedpower", - "(?:§.)*Visit Maxwell in the Hub to learn" + "(?:§.)*Visit Maxwell in the Hub to learn", ) private val accessoryBagStack by patternGroup.pattern( "stack.accessorybag", - "§.Accessory Bag" + "§.Accessory Bag", ) private val redstoneCollectionRequirementPattern by patternGroup.pattern( "collection.redstone.requirement", - "(?:§.)*Requires (?:§.)*Redstone Collection I+(?:§.)*\\." + "(?:§.)*Requires (?:§.)*Redstone Collection I+(?:§.)*\\.", ) fun isThaumaturgyInventory(inventoryName: String) = thaumaturgyGuiPattern.matches(inventoryName) @@ -138,7 +138,9 @@ object MaxwellAPI { if (tunings.isNullOrEmpty()) return val tuningsInScoreboard = ScoreboardElement.TUNING in CustomScoreboard.config.scoreboardEntries if (tuningsInScoreboard) { - ChatUtils.chat("Talk to Maxwell and open the Tuning Page again to update the tuning data in scoreboard.") + ChatUtils.chat( + "Talk to Maxwell and open the Tuning Page again to update the tuning data in scoreboard.", + ) } } } @@ -150,7 +152,7 @@ object MaxwellAPI { UnknownMaxwellPower("Unknown power: $power"), "Unknown power: $power", "power" to power, - "message" to message + "message" to message, ) } } @@ -186,7 +188,7 @@ object MaxwellAPI { } ?: ErrorManager.skyHanniError( "found no name in thaumaturgy", "stack name" to stack.name, - "line" to line + "line" to line, ) map.add(it) } @@ -218,7 +220,7 @@ object MaxwellAPI { "Unknown power: $displayName", "displayName" to displayName, "lore" to selectedPowerStack.getLore(), - noStackTrace = true + noStackTrace = true, ) } @@ -256,7 +258,10 @@ object MaxwellAPI { var foundMagicalPower = false for (line in stack.getLore()) { redstoneCollectionRequirementPattern.matchMatcher(line) { - ChatUtils.chat("Seems like you don't have the Requirement for the Accessory Bag yet, setting power to No Power and magical power to 0.") + ChatUtils.chat( + "Seems like you don't have the Requirement for the Accessory Bag yet, " + + "setting power to No Power and magical power to 0.", + ) currentPower = getPowerByNameOrNull("No Power") magicalPower = 0 return @@ -281,7 +286,7 @@ object MaxwellAPI { "Unknown power: ${stack.displayName}", "displayName" to stack.displayName, "lore" to stack.getLore(), - noStackTrace = true + noStackTrace = true, ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt index ebb23536d..0f9ab9157 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/MayorAPI.kt @@ -49,7 +49,7 @@ object MayorAPI { // TODO: Add Regex-test val foxyExtraEventPattern by group.pattern( "foxy.extraevent", - "Schedules an extra §.(?<event>.*) §.event during the year\\." + "Schedules an extra §.(?<event>.*) §.event during the year\\.", ) /** @@ -57,7 +57,7 @@ object MayorAPI { */ private val electionOverPattern by group.pattern( "election.over", - "§eThe election room is now closed\\. Clerk Seraphine is doing a final count of the votes\\.\\.\\." + "§eThe election room is now closed\\. Clerk Seraphine is doing a final count of the votes\\.\\.\\.", ) /** @@ -65,7 +65,7 @@ object MayorAPI { */ private val calendarGuiPattern by group.pattern( "calendar.gui", - "Calendar and Events" + "Calendar and Events", ) /** @@ -73,7 +73,7 @@ object MayorAPI { */ private val jerryHeadPattern by group.pattern( "jerry.head", - "§dMayor Jerry" + "§dMayor Jerry", ) /** @@ -81,7 +81,7 @@ object MayorAPI { */ private val perkpocalypsePerksPattern by group.pattern( "perkpocalypse", - "§9Perkpocalypse Perks:" + "§9Perkpocalypse Perks:", ) var currentMayor: Mayor? = null @@ -128,16 +128,17 @@ object MayorAPI { jerryExtraMayor = null to SimpleTimeMark.farPast() ChatUtils.clickableChat( "The Perkpocalypse Mayor has expired! Click here to update the new temporary Mayor.", - onClick = { HypixelCommands.calendar() } + onClick = { HypixelCommands.calendar() }, ) } - if (Mayor.JERRY.isActive() && jerryExtraMayor.first == null && SkyHanniMod.feature.misc.unknownPerkpocalypseMayorWarning) { + val misc = SkyHanniMod.feature.misc + if (Mayor.JERRY.isActive() && jerryExtraMayor.first == null && misc.unknownPerkpocalypseMayorWarning) { if (lastJerryExtraMayorReminder.passedSince() < 5.minutes) return if (ReminderUtils.isBusy()) return lastJerryExtraMayorReminder = SimpleTimeMark.now() ChatUtils.clickableChat( "The Perkpocalypse Mayor is not known! Click here to update the temporary Mayor.", - onClick = { HypixelCommands.calendar() } + onClick = { HypixelCommands.calendar() }, ) } } @@ -161,27 +162,25 @@ object MayorAPI { val stack: ItemStack = event.inventoryItems.values.firstOrNull { jerryHeadPattern.matches(it.displayName) } ?: return - stack.getLore().nextAfter( - { perkpocalypsePerksPattern.matches(it) } - )?.let { perk -> - // This is one Perk of the Perkpocalypse Mayor - val jerryMayor = getMayorFromPerk(getPerkFromName(perk.removeColor()) ?: return)?.addAllPerks() ?: return + val perk = stack.getLore().nextAfter({ perkpocalypsePerksPattern.matches(it) }) ?: return + // This is one Perk of the Perkpocalypse Mayor + val jerryMayor = getMayorFromPerk(getPerkFromName(perk.removeColor()) ?: return)?.addAllPerks() ?: return - val lastMayorTimestamp = nextMayorTimestamp - SKYBLOCK_YEAR_MILLIS.milliseconds + val lastMayorTimestamp = nextMayorTimestamp - SKYBLOCK_YEAR_MILLIS.milliseconds - val expireTime = (1..21).map { lastMayorTimestamp + (6.hours * it) }.first { it.isInFuture() } + val expireTime = (1..21).map { lastMayorTimestamp + (6.hours * it) }.first { it.isInFuture() } - ChatUtils.debug("Jerry Mayor found: ${jerryMayor.name} expiring at: ${expireTime.timeUntil()}") + ChatUtils.debug("Jerry Mayor found: ${jerryMayor.name} expiring at: ${expireTime.timeUntil()}") - jerryExtraMayor = jerryMayor to expireTime - } + jerryExtraMayor = jerryMayor to expireTime } private fun calculateNextMayorTime(): SimpleTimeMark { - var mayorYear = SkyBlockTime.now().year + val now = SkyBlockTime.now() + var mayorYear = now.year // Check if either the month is already over or the day after 27th in the third month - if (SkyBlockTime.now().month > ELECTION_END_MONTH || (SkyBlockTime.now().day >= ELECTION_END_DAY && SkyBlockTime.now().month == ELECTION_END_MONTH)) { + if (now.month > ELECTION_END_MONTH || (now.day >= ELECTION_END_DAY && now.month == ELECTION_END_MONTH)) { // If so, the next mayor will be in the next year mayorYear++ } diff --git a/src/main/java/at/hannibal2/skyhanni/data/bazaar/HypixelBazaarFetcher.kt b/src/main/java/at/hannibal2/skyhanni/data/bazaar/HypixelBazaarFetcher.kt index 6573cdb75..dfbb08164 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/bazaar/HypixelBazaarFetcher.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/bazaar/HypixelBazaarFetcher.kt @@ -63,7 +63,7 @@ object HypixelBazaarFetcher { private fun process(products: Map<String, BazaarProduct>) = products.mapNotNull { (key, product) -> val internalName = NEUItems.transHypixelNameToInternalName(key) val sellOfferPrice = product.buySummary.minOfOrNull { it.pricePerUnit } ?: 0.0 - val insantBuyPrice = product.sellSummary.maxOfOrNull { it.pricePerUnit } ?: 0.0 + val instantBuyPrice = product.sellSummary.maxOfOrNull { it.pricePerUnit } ?: 0.0 if (product.quickStatus.isEmpty()) { return@mapNotNull null @@ -72,11 +72,10 @@ object HypixelBazaarFetcher { if (internalName.getItemStackOrNull() == null) { // Items that exist in Hypixel's Bazaar API, but not in NEU repo (not visible in the ingame bazaar). // Should only include Enchants - if (LorenzUtils.debug) - println("Unknown bazaar product: $key/$internalName") + if (LorenzUtils.debug) println("Unknown bazaar product: $key/$internalName") return@mapNotNull null } - internalName to BazaarData(internalName.itemName, sellOfferPrice, insantBuyPrice, product) + internalName to BazaarData(internalName.itemName, sellOfferPrice, instantBuyPrice, product) }.toMap() private fun BazaarQuickStatus.isEmpty(): Boolean = with(this) { @@ -104,7 +103,7 @@ object HypixelBazaarFetcher { userMessage, "fetchType" to fetchType, "failedAttepmts" to failedAttempts, - "rawResponse" to rawResponse + "rawResponse" to rawResponse, ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/other/HypixelPlayerApiJson.kt b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/other/HypixelPlayerApiJson.kt index ee1f11bfc..70a352910 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/other/HypixelPlayerApiJson.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/other/HypixelPlayerApiJson.kt @@ -26,8 +26,7 @@ data class HypixelApiEasterEvent( ) data class HypixelApiRabbits( - @Expose @SerializedName("collected_locations") - val collectedLocations: Map<String, List<String>>, + @Expose @SerializedName("collected_locations") val collectedLocations: Map<String, List<String>>, ) data class HypixelApiTrophyFish( diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SeaCreatureJson.kt b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SeaCreatureJson.kt index e49ed4e44..c75efdac3 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SeaCreatureJson.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SeaCreatureJson.kt @@ -11,8 +11,7 @@ data class SeaCreatureJson( @Expose @SerializedName("sea_creatures") val seaCreatures: Map<String, SeaCreatureInfo>, ) { companion object { - val TYPE: Type = object : TypeToken<Map<String?, SeaCreatureJson>>() { - }.type + val TYPE: Type = object : TypeToken<Map<String?, SeaCreatureJson>>() {}.type } } |