diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/config')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt | 5 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/dev/DebugConfig.java | 5 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/event/EventConfig.java | 1 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java (renamed from src/main/java/at/hannibal2/skyhanni/config/features/event/HoppityEggsConfig.java) | 8 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEventSummaryConfig.java | 73 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java | 36 |
6 files changed, 127 insertions, 1 deletions
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 89d7bb9bb..50accf32c 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt +++ b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt @@ -30,6 +30,7 @@ import at.hannibal2.skyhanni.features.event.diana.InquisitorWaypointShare import at.hannibal2.skyhanni.features.event.diana.MythologicalCreatureTracker import at.hannibal2.skyhanni.features.event.hoppity.HoppityCollectionStats import at.hannibal2.skyhanni.features.event.hoppity.HoppityEggLocations +import at.hannibal2.skyhanni.features.event.hoppity.HoppityEventSummary import at.hannibal2.skyhanni.features.event.jerry.frozentreasure.FrozenTreasureTracker import at.hannibal2.skyhanni.features.fishing.tracker.FishingProfitTracker import at.hannibal2.skyhanni.features.fishing.tracker.SeaCreatureTracker @@ -337,6 +338,10 @@ object Commands { "shtpinfested", "Teleports you to the nearest infested plot", ) { PestFinder.teleportNearestInfestedPlot() } + registerCommand( + "shhoppitystats", + "Look up stats for a Hoppity's Event (by SkyBlock year).\nRun standalone for a list of years that have stats." + ) { HoppityEventSummary.sendStatsMessage(it) } } private fun usersBugFix() { diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/dev/DebugConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/dev/DebugConfig.java index d6a0eb064..56a17dfb9 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/dev/DebugConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/dev/DebugConfig.java @@ -157,6 +157,11 @@ public class DebugConfig { @ConfigEditorBoolean public boolean neverFunnyTime = false; + @Expose + @ConfigOption(name = "Always Hoppity's", desc = "Always act as if Hoppity's Hunt is active.") + @ConfigEditorBoolean + public boolean alwaysHoppitys = false; + // Does not have a config element! @Expose public Position trackSoundPosition = new Position(0, 0); diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/event/EventConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/event/EventConfig.java index 251ce51ba..57d3e0699 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/event/EventConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/event/EventConfig.java @@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.config.features.event; import at.hannibal2.skyhanni.config.features.event.bingo.BingoConfig; import at.hannibal2.skyhanni.config.features.event.diana.DianaConfig; +import at.hannibal2.skyhanni.config.features.event.hoppity.HoppityEggsConfig; import at.hannibal2.skyhanni.config.features.event.waypoints.LobbyWaypointsConfig; import at.hannibal2.skyhanni.config.features.event.winter.WinterConfig; import com.google.gson.annotations.Expose; diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/event/HoppityEggsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java index 386aa7021..50a5731a5 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/event/HoppityEggsConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEggsConfig.java @@ -1,8 +1,9 @@ -package at.hannibal2.skyhanni.config.features.event; +package at.hannibal2.skyhanni.config.features.event.hoppity; import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; +import io.github.notenoughupdates.moulconfig.annotations.Accordion; import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean; import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorColour; import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorDropdown; @@ -14,6 +15,11 @@ import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; public class HoppityEggsConfig { @Expose + @ConfigOption(name = "Event Summary", desc = "") + @Accordion + public HoppityEventSummaryConfig eventSummary = new HoppityEventSummaryConfig(); + + @Expose @ConfigOption(name = "Hoppity Waypoints", desc = "Toggle guess waypoints for Hoppity's Hunt.") @ConfigEditorBoolean @FeatureToggle diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEventSummaryConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEventSummaryConfig.java new file mode 100644 index 000000000..618b15f7f --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/event/hoppity/HoppityEventSummaryConfig.java @@ -0,0 +1,73 @@ +package at.hannibal2.skyhanni.config.features.event.hoppity; + +import at.hannibal2.skyhanni.config.FeatureToggle; +import com.google.gson.annotations.Expose; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorDraggableList; +import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorInfoText; +import io.github.notenoughupdates.moulconfig.annotations.ConfigOption; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class HoppityEventSummaryConfig { + + @Expose + @ConfigOption(name = "Enabled", desc = "Show a summary of your Hoppity Hunt stats when the event is over.") + @ConfigEditorBoolean + @FeatureToggle + public boolean enabled = true; + + @Expose + @ConfigOption( + name = "Viewing Stats", + desc = "View current and past event stats at any time using §b/shhoppitystats§7." + ) + @ConfigEditorInfoText + public String commandInfo; + + @Expose + @ConfigOption( + name = "Stats List", + desc = "Drag text to change what displays in the summary card." + ) + @ConfigEditorDraggableList + public List<HoppityStat> statDisplayList = new ArrayList<>(Arrays.asList( + HoppityStat.MEAL_EGGS_FOUND, + HoppityStat.HOPPITY_RABBITS_BOUGHT, + HoppityStat.SIDE_DISH_EGGS, + HoppityStat.MILESTONE_RABBITS, + HoppityStat.EMPTY_1, + HoppityStat.NEW_RABBITS, + HoppityStat.EMPTY_2, + HoppityStat.DUPLICATE_RABBITS + )); + + public enum HoppityStat { + MEAL_EGGS_FOUND("§7You found §b45§7/§a47 §6Chocolate Meal Eggs§7."), + HOPPITY_RABBITS_BOUGHT("§7You bought §b7 §fRabbits §7from §aHoppity§7."), + SIDE_DISH_EGGS("§7You found §b4 §6§lSide Dish §r§6Eggs §7in the §6Chocolate Factory§7."), + MILESTONE_RABBITS("§7You claimed §b2 §6§lMilestone Rabbits§7."), + EMPTY_1(""), + NEW_RABBITS("§7Unique Rabbits: §b7\n §f1 §7- §a1 §7- §91 §7- §51 §7- §61 §7- §d1 §7- §b1"), + EMPTY_2(""), + DUPLICATE_RABBITS("§7Duplicate Rabbits: §c10\n §f4 §7- §a3 §7- §92 §7- §51 §7- §60 §7- §d0 §7- §b0\n §6+250,000,000 Chocolate"), + EMPTY_3(""), + STRAY_RABBITS("§7Stray Rabbits: §f20\n §f10 §7- §a6 §7- §93 §7- §51 §7- §60 §7- §d0 §7- §b0\n §6+8,000,000 Chocolate\n §c* §c§oRequires Stray Tracker being enabled to work."), + EMPTY_4(""), + TIME_IN_CF("§7You spent §b4h 36m §7in the §6Chocolate Factory§7."), + ; + + private final String display; + + HoppityStat(String display) { + this.display = display; + } + + @Override + public String toString() { + return display; + } + } +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java index 39ce4402b..51be4daf1 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java +++ b/src/main/java/at/hannibal2/skyhanni/config/storage/ProfileSpecificStorage.java @@ -13,6 +13,7 @@ import at.hannibal2.skyhanni.features.dungeon.DungeonFloor; import at.hannibal2.skyhanni.features.event.diana.DianaProfitTracker; import at.hannibal2.skyhanni.features.event.diana.MythologicalCreatureTracker; import at.hannibal2.skyhanni.features.event.hoppity.HoppityCollectionStats; +import at.hannibal2.skyhanni.features.event.hoppity.HoppityEggType; import at.hannibal2.skyhanni.features.event.jerry.frozentreasure.FrozenTreasureTracker; import at.hannibal2.skyhanni.features.fame.UpgradeReminder; import at.hannibal2.skyhanni.features.fishing.tracker.FishingProfitTracker; @@ -39,6 +40,7 @@ import at.hannibal2.skyhanni.features.rift.area.westvillage.kloon.KloonTerminal; import at.hannibal2.skyhanni.features.skillprogress.SkillType; import at.hannibal2.skyhanni.features.slayer.SlayerProfitTracker; import at.hannibal2.skyhanni.utils.GenericWrapper; +import at.hannibal2.skyhanni.utils.LorenzRarity; import at.hannibal2.skyhanni.utils.LorenzVec; import at.hannibal2.skyhanni.utils.NEUInternalName; import at.hannibal2.skyhanni.utils.SimpleTimeMark; @@ -666,4 +668,38 @@ public class ProfileSpecificStorage { @Expose public UpgradeReminder.CommunityShopUpgrade communityShopProfileUpgrade = null; + + @Expose + public Map<Integer, HoppityEventStats> hoppityEventStats = new HashMap<>(); + + public static class HoppityEventStats { + @Expose + public Map<HoppityEggType, Integer> mealsFound = new HashMap<>(); + + @Expose + public Map<LorenzRarity, RabbitData> rabbitsFound = new HashMap<>(); + + public static class RabbitData { + @Expose + public int uniques = 0; + + @Expose + public int dupes = 0; + + @Expose + public int strays = 0; + } + + @Expose + public long dupeChocolateGained = 0; + + @Expose + public long strayChocolateGained = 0; + + @Expose + public long millisInCf = 0; + + @Expose + public boolean summarized = false; + } } |