summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/misc
diff options
context:
space:
mode:
authorWalker Selby <git@walkerselby.com>2023-11-29 23:43:02 +0000
committerGitHub <noreply@github.com>2023-11-30 00:43:02 +0100
commit247d4d324dc9ce5960d8c94719707d232a89e3ad (patch)
treecbf6942c5875ed8fd8c24c54435aba5a514ce1b1 /src/main/java/at/hannibal2/skyhanni/features/misc
parented02a14a6d688ec9546d9ed06dddf412620bb246 (diff)
downloadskyhanni-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')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordRPCManager.kt36
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordStatus.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorTracker.kt3
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
}