diff options
| author | Walker Selby <git@walkerselby.com> | 2023-11-29 23:43:02 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-30 00:43:02 +0100 |
| commit | 247d4d324dc9ce5960d8c94719707d232a89e3ad (patch) | |
| tree | cbf6942c5875ed8fd8c24c54435aba5a514ce1b1 /src/main/java/at/hannibal2/skyhanni/features/misc | |
| parent | ed02a14a6d688ec9546d9ed06dddf412620bb246 (diff) | |
| download | skyhanni-247d4d324dc9ce5960d8c94719707d232a89e3ad.tar.gz skyhanni-247d4d324dc9ce5960d8c94719707d232a89e3ad.tar.bz2 skyhanni-247d4d324dc9ce5960d8c94719707d232a89e3ad.zip | |
Migrate Integer to Enums in Config #727
Co-authored-by: hannibal2 <24389977+hannibal002@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc')
4 files changed, 44 insertions, 10 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt index e358b3f28..96123826e 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt @@ -5,11 +5,15 @@ package at.hannibal2.skyhanni.features.misc.discordrpc import at.hannibal2.skyhanni.SkyHanniMod.Companion.consoleLog import at.hannibal2.skyhanni.SkyHanniMod.Companion.coroutineScope import at.hannibal2.skyhanni.SkyHanniMod.Companion.feature +import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator +import at.hannibal2.skyhanni.config.features.misc.DiscordRPCConfig.LineEntry +import at.hannibal2.skyhanni.config.features.misc.DiscordRPCConfig.PriorityEntry import at.hannibal2.skyhanni.events.ConfigLoadEvent import at.hannibal2.skyhanni.events.LorenzKeyPressEvent import at.hannibal2.skyhanni.events.LorenzTickEvent import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent import at.hannibal2.skyhanni.test.command.ErrorManager +import at.hannibal2.skyhanni.utils.ConfigUtils import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzUtils.onToggle import at.hannibal2.skyhanni.utils.SimpleTimeMark @@ -50,9 +54,9 @@ object DiscordRPCManager : IPCListener { return@launch } consoleLog("Starting Discord RPC...") - - firstLine = getStatusByConfigId(config.firstLine.get()) - secondLine = getStatusByConfigId(config.secondLine.get()) + // TODO, change functionality to use enum rather than ordinals + firstLine = getStatusByConfigId(config.firstLine.get().ordinal) + secondLine = getStatusByConfigId(config.secondLine.get().ordinal) startTimestamp = System.currentTimeMillis() client = IPCClient(applicationID) client?.setListener(this@DiscordRPCManager) @@ -106,9 +110,9 @@ object DiscordRPCManager : IPCListener { fun updatePresence() { val location = DiscordStatus.LOCATION.getDisplayString() val discordIconKey = DiscordLocationKey.getDiscordIconKey(location) - - secondLine = getStatusByConfigId(config.secondLine.get()) - firstLine = getStatusByConfigId(config.firstLine.get()) + // TODO, change functionality to use enum rather than ordinals + secondLine = getStatusByConfigId(config.secondLine.get().ordinal) + firstLine = getStatusByConfigId(config.firstLine.get().ordinal) val presence: RichPresence = RichPresence.Builder() .setDetails(firstLine.getDisplayString()) .setState(secondLine.getDisplayString()) @@ -207,7 +211,25 @@ object DiscordRPCManager : IPCListener { // Events that change things in DiscordStatus @SubscribeEvent fun onKeybind(event: LorenzKeyPressEvent) { - if (!isEnabled() || !feature.misc.discordRPC.autoPriority.contains(4)) return // autoPriority 4 is dynamic afk + if (!isEnabled() || !PriorityEntry.AFK.isSelected()) return // autoPriority 4 is dynamic afk beenAfkFor = SimpleTimeMark.now() } + + @SubscribeEvent + fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { + event.move(11, "misc.discordRPC.firstLine", "misc.discordRPC.firstLine") { element -> + ConfigUtils.migrateIntToEnum(element, LineEntry::class.java) + } + event.move(11, "misc.discordRPC.secondLine", "misc.discordRPC.secondLine") { element -> + ConfigUtils.migrateIntToEnum(element, LineEntry::class.java) + } + event.move(11, "misc.discordRPC.auto", "misc.discordRPC.auto") { element -> + ConfigUtils.migrateIntToEnum(element, LineEntry::class.java) + } + event.move(11, "misc.discordRPC.autoPriority", "misc.discordRPC.autoPriority") { element -> + ConfigUtils.migrateIntArrayListToEnumArrayList(element, PriorityEntry::class.java) + } + } + + private fun PriorityEntry.isSelected() = config.autoPriority.contains(this) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordStatus.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordStatus.kt index 141870585..cc2a09b9d 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordStatus.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordStatus.kt @@ -258,7 +258,8 @@ enum class DiscordStatus(private val displayMessageSupplier: Supplier<String>?) AUTO({ var autoReturn = "" for (statusID in SkyHanniMod.feature.misc.discordRPC.autoPriority) { // for every dynamic that the user wants to see... - val autoStatus = AutoStatus.entries[statusID] + // TODO, change functionality to use enum rather than ordinals + val autoStatus = AutoStatus.entries[statusID.ordinal] val result = autoStatus.correspondingDiscordStatus.getDisplayString() // get what would happen if we were to display it if (result != autoStatus.placeholderText) { // if that value is useful, display it @@ -269,7 +270,7 @@ enum class DiscordStatus(private val displayMessageSupplier: Supplier<String>?) if (autoReturn == "") { // if we didn't find any useful information, display the fallback val statusNoAuto = DiscordStatus.entries.toMutableList() statusNoAuto.remove(AUTO) - autoReturn = statusNoAuto[SkyHanniMod.feature.misc.discordRPC.auto.get()].getDisplayString() + autoReturn = statusNoAuto[SkyHanniMod.feature.misc.discordRPC.auto.get().ordinal].getDisplayString() } autoReturn }), diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt index 318d4c1f0..39c4979da 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt @@ -1,6 +1,8 @@ package at.hannibal2.skyhanni.features.misc.trevor import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.ConfigUpdaterMigrator +import at.hannibal2.skyhanni.config.features.misc.TrevorTheTrapperConfig.TrackerEntry import at.hannibal2.skyhanni.data.IslandType import at.hannibal2.skyhanni.data.ScoreboardData import at.hannibal2.skyhanni.events.CheckRenderEntityEvent @@ -14,6 +16,7 @@ import at.hannibal2.skyhanni.features.garden.farming.GardenCropSpeed import at.hannibal2.skyhanni.mixins.hooks.RenderLivingEntityHelper import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled import at.hannibal2.skyhanni.test.command.ErrorManager +import at.hannibal2.skyhanni.utils.ConfigUtils import at.hannibal2.skyhanni.utils.EntityUtils import at.hannibal2.skyhanni.utils.LocationUtils.distanceToPlayer import at.hannibal2.skyhanni.utils.LorenzColor @@ -302,4 +305,11 @@ object TrevorFeatures { fun onFarmingIsland() = IslandType.THE_FARMING_ISLANDS.isInIsland() fun inTrapperDen() = ScoreboardData.sidebarLinesFormatted.contains(" §7⏣ §bTrapper's Den") + + @SubscribeEvent + fun onConfigFix(event: ConfigUpdaterMigrator.ConfigFixEvent) { + event.move(11, "misc.trevorTheTrapper.textFormat", "misc.trevorTheTrapper.textFormat") { element -> + ConfigUtils.migrateIntArrayListToEnumArrayList(element, TrackerEntry::class.java) + } + } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorTracker.kt index 59d44b1b7..8284c0605 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorTracker.kt @@ -65,7 +65,8 @@ object TrevorTracker { private fun formatDisplay(map: List<List<Any>>): List<List<Any>> { val newList = mutableListOf<List<Any>>() for (index in config.textFormat) { - newList.add(map[index]) + // TODO, change functionality to use enum rather than ordinals + newList.add(map[index.ordinal]) } return newList } |
