diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordLocationKey.kt | 137 | ||||
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordStatus.kt | 2 |
2 files changed, 86 insertions, 53 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordLocationKey.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordLocationKey.kt index bcc83842c..ef1bf0c12 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordLocationKey.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/discordrpc/DiscordLocationKey.kt @@ -1,10 +1,15 @@ package at.hannibal2.skyhanni.features.misc.discordrpc import at.hannibal2.skyhanni.data.IslandType +import at.hannibal2.skyhanni.features.dungeon.DungeonAPI import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern class DiscordLocationKey { + private val rpcGroup = RepoPattern.group("misc.discordrpc") + + // normal keys follow a distinct pattern: lowercase the skyblock location and replace spaces with - private val normalRPC = setOf( "auction-house", "bank", @@ -42,7 +47,15 @@ class DiscordLocationKey { "rift-gallery", "the-rift", "village-plaza", - "wyld-woods" + "wyld-woods", + "glacite-tunnels", + "jungle", + "mithril-deposits", + "precursor-remnants", + "goblin-holdout", + "magma-fields", + "crystal-nucleus", + "dungeon-hub" ) // list of tokens where the name can be lowercased and spaces can be replaced with dashes @@ -55,14 +68,29 @@ class DiscordLocationKey { "Catacombs Entrance" to "coal-mine", "Colosseum Arena" to "colosseum", "Museum" to "unincorporated", - "Mines of Divan" to "gold-mine", + "Personal Garden" to "garden", + + "Jerry's Workshop" to "winter-island", + "Jerry Pond" to "winter-island", + "Mount Jerry" to "winter-island", + "Gary's Shack" to "winter-island", + "Glacial Cave" to "winter-island", + "Terry's Shack" to "winter-island", + "Hot Springs" to "winter-island", + "Jerry Pond" to "winter-island", + "Reflective Pond" to "winter-island", + "Sunken Jerry Pond" to "winter-island", + "Sherry's Showroom" to "winter-island", + "Einary's Emporium" to "winter-island", "Archery Range" to "village", "Bazaar Alley" to "village", "Blacksmith" to "village", + "Builder's House" to "village", "Election Room" to "village", "Hexatorum" to "village", "Thaumaturgist" to "village", + "Weaponsmith" to "village", "Void Sepulture" to "the-end", "Void Slate" to "the-end", @@ -90,7 +118,52 @@ class DiscordLocationKey { "Melody's Plateau" to "savanna-woodland", "Viking Longhouse" to "spruce-woods", "Lonely Island" to "spruce-woods", - "Howling Cave" to "birch-park" + "Howling Cave" to "birch-park", + + "Aristocrat Passage" to "dwarven-mines", + "Barracks of Heroes" to "dwarven-mines", + "C&C Minecarts Co." to "dwarven-mines", + "Cliffside Veins" to "dwarven-mines", + "Divan's Gateway" to "dwarven-mines", + "Dwarven Tavern" to "dwarven-mines", + "Dwarven Village" to "dwarven-mines", + "Far Reserve" to "dwarven-mines", + "Forge Basin" to "dwarven-mines", + "Gates to the Mines" to "dwarven-mines", + "Goblin Burrows" to "dwarven-mines", + "Grand Library" to "dwarven-mines", + "Great Ice Wall" to "dwarven-mines", + "Hanging Court" to "dwarven-mines", + "Lava Springs" to "dwarven-mines", + "Miner's Guild" to "dwarven-mines", + "Palace Bridge" to "dwarven-mines", + "Rampart's Quarry" to "dwarven-mines", + "Royal Mines" to "dwarven-mines", + "Royal Palace" to "dwarven-mines", + "Royal Quarters" to "dwarven-mines", + "The Forge" to "dwarven-mines", + "The Lift" to "dwarven-mines", + "The Mist" to "dwarven-mines", + "Upper Mines" to "dwarven-mines", + + "Dragon's Lair" to "mithril-deposits", + "Fairy Grotto" to "crystal-nucleus", + "Goblin Queen's Den" to "goblin-holdout", + "Jungle Temple" to "jungle", + "Khazad-dûm" to "magma-fields", + "Lost Precursor City" to "precursor-remnants", + "Mines of Divan" to "mithril-deposits", + + "Diamond Reserve" to "coal-mine", + "Gunpowder Mines" to "coal-mine", + "Lapis Quarry" to "coal-mine", + "Obsidian Sanctuary" to "coal-mine", + "Pigmen's Den" to "coal-mine", + + "Dwarven Base Camp" to "glacite-tunnels", + "Fossil Research Center" to "glacite-tunnels", + "Glacite Lake" to "glacite-tunnels", + "Glacite Mineshafts" to "glacite-tunnels", ) // maps sublocations to their broader image private val specialNetherRPC = arrayOf( @@ -138,53 +211,6 @@ class DiscordLocationKey { ) // list of nether locations because there are sooo many (truncated some according to scoreboard) - private val specialMiningRPC = arrayOf( - "Diamond Reserve", - "Gunpowder Mines", - "Lapis Quarry", - "Obsidian Sanctuary", - "Pigmen's Den", - - "Aristocrat Passage", - "Barracks of Heroes", - "C&C Minecarts Co.", - "Cliffside Veins", - "Divan's Gateway", - "Dwarven Tavern", - "Dwarven Village", - "Far Reserve", - "Forge Basin", - "Gates to the Mines", - "Goblin Burrows", - "Grand Library", - "Great Ice Wall", - "Hanging Court", - "Lava Springs", - "Miner's Guild", - "Palace Bridge", - "Rampart's Quarry", - "Royal Mines", - "Royal Palace", - "Royal Quarters", - "The Forge", - "The Lift", - "The Mist", - "Upper Mines", - - "Crystal Nucleus", - "Dragon's Lair", - "Fairy Grotto", - "Goblin Holdout", - "Goblin Queen's Den", - "Jungle Temple", - "Jungle", - "Khazad-dûm", - "Lost Precursor City", - "Magma Fields", - "Mithril Deposits", - "Precursor Remnants" - ) // using coal-mine because i may as well, except for mines of divan which gets gold mine. also, slimehill actually has an image for some reason. - private val specialRiftRPC = mapOf( "Enigma's Crib" to "wyld-woods", "Broken Cage" to "wyld-woods", @@ -226,6 +252,15 @@ class DiscordLocationKey { private fun getAmbiguousKey(location: String): String { val island = LorenzUtils.skyBlockIsland + DungeonAPI.dungeonFloor?.lowercase()?.let { + if (it.startsWith("m")) { + return "master-mode" + } + if (it.startsWith("f")) { + return "dungeon" + } + } + return when (location) { "Wizard Tower" -> { when (island) { @@ -272,8 +307,6 @@ class DiscordLocationKey { specialRPC[location]!! } else if (specialNetherRPC.contains(location)) { "crimson-isle" - } else if (specialMiningRPC.contains(location)) { - "coal-mine" } else if (specialRiftRPC.containsKey(location)) { specialRiftRPC[location]!! } else { 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 77e854646..46a6f5ba4 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 @@ -58,7 +58,7 @@ enum class DiscordStatus(private val displayMessageSupplier: Supplier<String>?) NONE(null), LOCATION({ - var location = LorenzUtils.skyBlockArea ?: "invalid" + var location = LorenzUtils.skyBlockArea?.removeColor() ?: "invalid" val island = LorenzUtils.skyBlockIsland if (location == "Your Island") location = "Private Island" |