From fcc31674e40ed044f46813c2185f8de29d974932 Mon Sep 17 00:00:00 2001 From: Obsidian <108832807+Obsidianninja11@users.noreply.github.com> Date: Sat, 22 Jun 2024 03:50:06 -0500 Subject: Improvement: Add hover descriptions to many ClickableChat messages (#1919) Co-authored-by: Cal Co-authored-by: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../at/hannibal2/skyhanni/api/GetFromSackAPI.kt | 16 +++++----- .../hannibal2/skyhanni/config/commands/Commands.kt | 5 +-- .../hannibal2/skyhanni/data/ProfileStorageData.kt | 5 +-- .../at/hannibal2/skyhanni/data/repo/RepoManager.kt | 2 ++ .../features/combat/ghostcounter/GhostCounter.kt | 3 +- .../features/commands/PartyChatCommands.kt | 8 +++-- .../event/diana/InquisitorWaypointShare.kt | 3 +- .../features/event/hoppity/HoppityEggsManager.kt | 1 + .../features/event/winter/NewYearCakeReminder.kt | 5 ++- .../skyhanni/features/fame/CityProjectFeatures.kt | 5 ++- .../features/fishing/trophy/TrophyFishManager.kt | 1 + .../features/garden/FarmingFortuneDisplay.kt | 10 +++--- .../skyhanni/features/garden/GardenLevelDisplay.kt | 5 ++- .../features/garden/GardenNextJacobContest.kt | 14 +++++---- .../features/garden/composter/ComposterDisplay.kt | 10 ++++-- .../features/garden/composter/ComposterOverlay.kt | 10 +++--- .../features/garden/farming/lane/FarmingLaneAPI.kt | 5 ++- .../skyhanni/features/garden/pests/PestSpawn.kt | 10 ++++-- .../garden/visitor/GardenVisitorDropStatistics.kt | 36 ++++++++++++---------- .../ChocolateFactoryBarnManager.kt | 17 ++++------ .../ChocolateFactoryCustomReminder.kt | 1 + .../ChocolateFactoryTimeTowerManager.kt | 17 +++++----- .../ChocolateFactoryUpgradeWarning.kt | 5 ++- .../features/inventory/tiarelay/TiaRelayHelper.kt | 2 +- .../skyhanni/features/mining/DeepCavernsGuide.kt | 1 + .../skyhanni/features/misc/JoinCrystalHollows.kt | 5 +-- .../skyhanni/features/misc/NoBitsWarning.kt | 4 +-- .../features/misc/discordrpc/DiscordRPCManager.kt | 5 ++- .../massconfiguration/DefaultConfigFeatures.kt | 10 +++--- .../skyhanni/test/SkyHanniDebugsAndTests.kt | 9 +++--- .../skyhanni/test/command/ErrorManager.kt | 5 ++- .../java/at/hannibal2/skyhanni/utils/APIUtil.kt | 5 ++- .../java/at/hannibal2/skyhanni/utils/ChatUtils.kt | 5 ++- .../at/hannibal2/skyhanni/utils/HypixelCommands.kt | 2 +- .../at/hannibal2/skyhanni/utils/TabListData.kt | 5 ++- .../skyhanni/utils/tracker/SkyHanniTracker.kt | 1 + 36 files changed, 129 insertions(+), 124 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni') diff --git a/src/main/java/at/hannibal2/skyhanni/api/GetFromSackAPI.kt b/src/main/java/at/hannibal2/skyhanni/api/GetFromSackAPI.kt index 7f69e7318..54517905a 100644 --- a/src/main/java/at/hannibal2/skyhanni/api/GetFromSackAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/api/GetFromSackAPI.kt @@ -42,11 +42,11 @@ object GetFromSackAPI { private val patternGroup = RepoPattern.group("gfs.chat") private val fromSacksChatPattern by patternGroup.pattern( "from", - "§aMoved §r§e(?\\d+) (?.+)§r§a from your Sacks to your inventory." + "§aMoved §r§e(?\\d+) (?.+)§r§a from your Sacks to your inventory.", ) private val missingChatPattern by patternGroup.pattern( "missing", - "§cYou have no (?.+) in your Sacks!" + "§cYou have no (?.+) in your Sacks!", ) fun getFromSack(item: NEUInternalName, amount: Int) = getFromSack(item.makePrimitiveStack(amount)) @@ -58,10 +58,10 @@ object GetFromSackAPI { fun getFromChatMessageSackItems( item: PrimitiveItemStack, text: String = "§lCLICK HERE§r§e to grab §ax${item.amount} §9${item.itemName}§e from sacks!", - ) = - ChatUtils.clickableChat(text, onClick = { - getFromSack(item) - }) + hover: String = "§eClick to get from sacks!", + ) = ChatUtils.clickableChat( + text, onClick = { getFromSack(item) }, hover, + ) fun getFromSlotClickedSackItems(items: List, slotIndex: Int) = addToInventory(items, slotIndex) @@ -164,7 +164,7 @@ object GetFromSackAPI { private fun bazaarMessage(item: String, amount: Int, isRemaining: Boolean = false) = ChatUtils.clickableChat( "§lCLICK §r§eto get the ${if (isRemaining) "remaining " else ""}§ax${amount} §9$item §efrom bazaar", - onClick = { HypixelCommands.bazaar(item.removeColor()) } + onClick = { HypixelCommands.bazaar(item.removeColor()) }, "§eClick to find on the bazaar!", ) private fun commandValidator(args: List): Pair { @@ -185,7 +185,7 @@ object GetFromSackAPI { ErrorManager.logErrorStateWithData( "Couldn't resolve item name", "Query failed", - "itemName" to itemString + "itemName" to itemString, ) return CommandResult.INTERNAL_ERROR to null } 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 cb85989c9..4afced89b 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt +++ b/src/main/java/at/hannibal2/skyhanni/config/commands/Commands.kt @@ -412,7 +412,7 @@ object Commands { ) { HoppityCollectionStats.clearSavedRabbits() } registerCommand( "shresetpunchcard", - "Resets the Rift Punchcard Artifact player list." + "Resets the Rift Punchcard Artifact player list.", ) { PunchcardHighlight.clearList() } } @@ -519,7 +519,7 @@ object Commands { ) { TestChatCommand.command(it) } registerCommand( "shtestrainbow", - "Sends a rainbow in chat" + "Sends a rainbow in chat", ) { ExtendedChatColor.testCommand() } registerCommand( "shcopyinternalname", @@ -625,6 +625,7 @@ object Commands { onClick = { UpdateManager.checkUpdate(true, updateStream) }, + "§eClick to confirm!", oneTimeClick = true, ) } else { diff --git a/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt b/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt index 76e86db8a..3d9bdcf78 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ProfileStorageData.kt @@ -100,12 +100,13 @@ object ProfileStorageData { "This is needed for the mod to function! And therefore this warning cannot be disabled", onClick = { HypixelCommands.widget() - } + }, + "§eClick to run /widget!", ) } else { ChatUtils.chat( "§cExtra Information from Tab list not found! " + - "Enable it: SkyBlock Menu ➜ Settings ➜ Personal ➜ User Interface ➜ Player List Info" + "Enable it: SkyBlock Menu ➜ Settings ➜ Personal ➜ User Interface ➜ Player List Info", ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt b/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt index 2080a1354..79d329f22 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/repo/RepoManager.kt @@ -192,6 +192,7 @@ class RepoManager(private val configLocation: File) { onClick = { SkyHanniMod.repo.updateRepo() }, + "§eClick to update the repo!", prefixColor = "§c", ) if (unsuccessfulConstants.isEmpty()) { @@ -333,6 +334,7 @@ class RepoManager(private val configLocation: File) { onClick = { updateRepo() }, + "§eClick to update the repo!", ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt index 89fdc89ea..29b3c06e3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/combat/ghostcounter/GhostCounter.kt @@ -321,10 +321,11 @@ object GhostCounter { notifyCTModule = false if (isUsingCTGhostCounter()) { ChatUtils.clickableChat( - "GhostCounterV3 ChatTriggers module has been detected, do you want to import saved data ? Click here to import data", + "GhostCounterV3 ChatTriggers module has been detected, do you want to import saved data? Click here to import data", onClick = { GhostUtil.importCTGhostCounterData() }, + "§eClick to import data!", prefixColor = "§6", oneTimeClick = true ) diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt index 59b652f66..05b04982d 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt @@ -97,7 +97,8 @@ object PartyChatCommands { if (config.showIgnoredReminder) ChatUtils.clickableChat( "§cIgnoring chat command from ${event.author}. " + "Unignore them using /shignore remove or click here!", - onClick = { blacklistModify(event.author) } + onClick = { blacklistModify(event.author) }, + "§eClick to ignore ${event.author}!", ) return } @@ -105,7 +106,7 @@ object PartyChatCommands { if (config.showIgnoredReminder) { ChatUtils.chat( "§cIgnoring chat command from $name. " + - "Change your party chat command settings or /friend (best) them." + "Change your party chat command settings or /friend (best) them.", ) } return @@ -170,7 +171,8 @@ object PartyChatCommands { storage.blacklistedUsers.clear() ChatUtils.chat("Cleared your ignored players list!") }, - oneTimeClick = true + "§eClick to confirm.", + oneTimeClick = true, ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt index e9e4ebd5a..a5263fc44 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/InquisitorWaypointShare.kt @@ -154,11 +154,12 @@ object InquisitorWaypointShare { sendInquisitor() } else { val keyName = KeyboardManager.getKeyName(config.keyBindShare) - val message = "§l§bYou found a Inquisitor! Press §l§chere §l§bor §c$keyName to share the location!" + val message = "§l§bYou found an Inquisitor! Click §l§chere §l§bor press §c$keyName to share the location!" ChatUtils.clickableChat( message, onClick = { sendInquisitor() }, + "§eClick to share!", oneTimeClick = true ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggsManager.kt b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggsManager.kt index 3ecfa9f81..3d13e04d8 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggsManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/hoppity/HoppityEggsManager.kt @@ -185,6 +185,7 @@ object HoppityEggsManager { ChatUtils.clickableChat( "Click here to share the location of this chocolate egg with the server!", onClick = onClick, + "§eClick to share!", expireAt = 30.seconds.fromNow(), oneTimeClick = true ) diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt b/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt index 47431f54b..f64204536 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/event/winter/NewYearCakeReminder.kt @@ -66,9 +66,8 @@ object NewYearCakeReminder { ChatUtils.clickableChat( "Reminding you to grab the free New Year Cake. Click here to open the baker menu!", - onClick = { - HypixelCommands.openBaker() - } + onClick = { HypixelCommands.openBaker() }, + "§eClick to run /openbaker!", ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt index c411951c3..f4f4fbac4 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt @@ -81,9 +81,8 @@ object CityProjectFeatures { ChatUtils.clickableChat( "Daily City Project Reminder! (Click here to disable this reminder)", - onClick = { - disable() - }, + onClick = { disable() }, + "§eClick to disable!", oneTimeClick = true ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishManager.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishManager.kt index 44893f949..8d21a7da7 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/trophy/TrophyFishManager.kt @@ -58,6 +58,7 @@ object TrophyFishManager { "Click here to load data from NEU PV!", onClick = { updateFromNeuPv(savedFishes, neuData) }, + "§eClick to load!", oneTimeClick = true ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt index 882c4daff..edc5f17ee 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt @@ -222,9 +222,8 @@ object FarmingFortuneDisplay { ChatUtils.clickableChat( "§cCan not read Farming Fortune from tab list! Open /widget, enable the Stats Widget and " + "show the Farming Fortune stat, also give the widget enough priority.", - onClick = { - HypixelCommands.widget() - } + onClick = { HypixelCommands.widget() }, + "§eClick to run /widget!", ) lastUniversalFortuneMissingError = SimpleTimeMark.now() } @@ -233,9 +232,8 @@ object FarmingFortuneDisplay { ChatUtils.clickableChat( "§cCan not read Crop Fortune from tab list! Open /widget, enable the Stats Widget and " + "show latest Crop Fortune, also give the widget enough priority.", - onClick = { - HypixelCommands.widget() - } + onClick = { HypixelCommands.widget() }, + "§eClick to run /widget!", ) lastCropFortuneMissingError = SimpleTimeMark.now() } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt index 88993d42d..5177c0a16 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenLevelDisplay.kt @@ -98,9 +98,8 @@ object GardenLevelDisplay { ChatUtils.clickableChat( " \n§b§lGARDEN LEVEL UP §8$oldLevel ➜ §b$newLevel\n" + " §8+§aRespect from Elite Farmers and SkyHanni members :)\n ", - onClick = { - HypixelCommands.gardenLevels() - }, + onClick = { HypixelCommands.gardenLevels() }, + "§eClick to view your Garden Level progress and rewards!", prefix = false ) diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt index 35af817c6..8c2dc9a95 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/GardenNextJacobContest.kt @@ -252,9 +252,8 @@ object GardenNextJacobContest { } else { ChatUtils.clickableChat( "§2Click here to submit this year's farming contests. Thank you for helping everyone out!", - onClick = { - shareContests() - }, + onClick = { shareContests() }, + "§eClick to submit!", oneTimeClick = true ) } @@ -310,6 +309,7 @@ object GardenNextJacobContest { SkyHanniMod.feature.storage.contestSendingAsked = true ChatUtils.chat("§2Enabled automatic sharing of future contests!") }, + "§eClick to enable autosharing!", oneTimeClick = true ) } @@ -564,9 +564,11 @@ object GardenNextJacobContest { } } else { ChatUtils.chat("This year's contests aren't available to fetch automatically yet, please load them from your calendar or wait 10 minutes.") - ChatUtils.clickableChat("Click here to open your calendar!", onClick = { - HypixelCommands.calendar() - }) + ChatUtils.clickableChat( + "Click here to open your calendar!", + onClick = { HypixelCommands.calendar() }, + "§eClick to run /calendar!" + ) } if (newContests.count() == MAX_CONTESTS_PER_YEAR) { diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt index a9977f809..bd4c8274c 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterDisplay.kt @@ -193,9 +193,13 @@ object ComposterDisplay { if (IslandType.GARDEN.isInIsland()) { ChatUtils.chat(warningMessage) } else { - ChatUtils.clickableChat(warningMessage, onClick = { - HypixelCommands.warp("garden") - }) + ChatUtils.clickableChat( + warningMessage, + onClick = { + HypixelCommands.warp("garden") + }, + "§eClick to warp to the garden!", + ) } LorenzUtils.sendTitle("§eComposter Warning!", 3.seconds) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt index b12b8f190..303fd7464 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/composter/ComposterOverlay.kt @@ -503,9 +503,8 @@ object ComposterOverlay { val sackType = if (isDwarvenMineable) "Mining §eor §9Dwarven" else "Enchanted Agronomy" ChatUtils.clickableChat( "Sacks could not be loaded. Click here and open your §9$sackType Sack §eto update the data!", - onClick = { - HypixelCommands.sacks() - } + onClick = { HypixelCommands.sacks() }, + "§eClick to run /sax!", ) return } @@ -528,9 +527,8 @@ object ComposterOverlay { } else { ChatUtils.clickableChat( // TODO Add this as a separate feature, and then don't send any msg if the feature is disabled "You're out of $itemName §ein your sacks! Click here to buy more on the Bazaar!", - onClick = { - HypixelCommands.bazaar(itemName.removeColor()) - } + onClick = { HypixelCommands.bazaar(itemName.removeColor()) }, + "§eClick find on the bazaar!", ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/lane/FarmingLaneAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/lane/FarmingLaneAPI.kt index 0a29c85ec..ba0eaee5d 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/farming/lane/FarmingLaneAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/farming/lane/FarmingLaneAPI.kt @@ -52,9 +52,8 @@ object FarmingLaneAPI { ChatUtils.clickableChat( "No ${crop.cropName} lane defined yet! Use §e/shlanedetection", - onClick = { - FarmingLaneCreator.commandLaneDetection() - } + onClick = { FarmingLaneCreator.commandLaneDetection() }, + "§eClick to run /shlanedetection!", ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestSpawn.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestSpawn.kt index 0dcab57f5..0b16439f3 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestSpawn.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestSpawn.kt @@ -131,9 +131,13 @@ object PestSpawn { } if (config.chatMessageFormat == PestSpawnConfig.ChatMessageFormatEntry.COMPACT) { - ChatUtils.clickableChat(message, onClick = { - HypixelCommands.teleportToPlot(plotName) - }) + ChatUtils.clickableChat( + message, + onClick = { + HypixelCommands.teleportToPlot(plotName) + }, + "§eClick to run /plottp $plotName!", + ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/GardenVisitorDropStatistics.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/GardenVisitorDropStatistics.kt index 386f3808f..6b3620c18 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/GardenVisitorDropStatistics.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/GardenVisitorDropStatistics.kt @@ -247,22 +247,26 @@ object GardenVisitorDropStatistics { fun resetCommand() { val storage = GardenAPI.storage?.visitorDrops ?: return - ChatUtils.clickableChat("Click here to reset Visitor Drops Statistics.", onClick = { - acceptedVisitors = 0 - deniedVisitors = 0 - totalVisitors = 0 - coinsSpent = 0 - storage.copper = 0 - storage.bits = 0 - storage.farmingExp = 0 - storage.gardenExp = 0 - storage.gemstonePowder = 0 - storage.mithrilPowder = 0 - storage.visitorRarities = arrayListOf(0, 0, 0, 0, 0) - storage.rewardsCount = mapOf() - ChatUtils.chat("Visitor Drop Statistics reset!") - saveAndUpdate() - }) + ChatUtils.clickableChat( + "Click here to reset Visitor Drops Statistics.", + onClick = { + acceptedVisitors = 0 + deniedVisitors = 0 + totalVisitors = 0 + coinsSpent = 0 + storage.copper = 0 + storage.bits = 0 + storage.farmingExp = 0 + storage.gardenExp = 0 + storage.gemstonePowder = 0 + storage.mithrilPowder = 0 + storage.visitorRarities = arrayListOf(0, 0, 0, 0, 0) + storage.rewardsCount = mapOf() + ChatUtils.chat("Visitor Drop Statistics reset!") + saveAndUpdate() + }, + "§eClick to reset!", + ) } @SubscribeEvent diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryBarnManager.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryBarnManager.kt index 91c55723b..8fb591ecf 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryBarnManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryBarnManager.kt @@ -93,24 +93,19 @@ object ChocolateFactoryBarnManager { if (profileStorage.maxRabbits == -1) { ChatUtils.clickableChat( "Open your chocolate factory to see your barn's capacity status!", - onClick = { - HypixelCommands.chocolateFactory() - } + onClick = { HypixelCommands.chocolateFactory() }, + "§eClick to run /cf!", ) return } if (config.rabbitCrushOnlyDuringHoppity && !ChocolateFactoryAPI.isHoppityEvent()) return + val fullLevel = if (profileStorage.currentRabbits == profileStorage.maxRabbits) "almost full" else "full" ChatUtils.clickableChat( - message = if (profileStorage.currentRabbits == profileStorage.maxRabbits) { - "§cYour barn is full! §7(${barnStatus()}). §cUpgrade it so they don't get crushed" - } else { - "§cYour barn is almost full! §7(${barnStatus()}). §cUpgrade it so they don't get crushed" - }, - onClick = { - HypixelCommands.chocolateFactory() - } + "§cYour barn is $fullLevel! §7(${barnStatus()}). §cUpgrade it so they don't get crushed", + onClick = { HypixelCommands.chocolateFactory() }, + "§eClick to run /cf!", ) SoundUtils.playBeepSound() lastBarnFullWarning = SimpleTimeMark.now() diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryCustomReminder.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryCustomReminder.kt index d903c4f0b..10c9ce24a 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryCustomReminder.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryCustomReminder.kt @@ -149,6 +149,7 @@ object ChocolateFactoryCustomReminder { onClick = { HypixelCommands.chocolateFactory() }, + "§eClick to run /cf!", ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryTimeTowerManager.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryTimeTowerManager.kt index 15af541d0..a853b4741 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryTimeTowerManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryTimeTowerManager.kt @@ -24,6 +24,8 @@ object ChocolateFactoryTimeTowerManager { private var lastTimeTowerWarning = SimpleTimeMark.farPast() private var lastTimeTowerReminder = SimpleTimeMark.farPast() + private const val HOVER_TEXT = "§eClick to run /cf!" + @SubscribeEvent fun onSecondPassed(event: SecondPassedEvent) { if (!LorenzUtils.inSkyBlock) return @@ -51,9 +53,8 @@ object ChocolateFactoryTimeTowerManager { ChatUtils.clickableChat( "Your Time Tower has another charge available §7(${timeTowerCharges()})§e, " + "Click here to use one", - onClick = { - HypixelCommands.chocolateFactory() - } + onClick = { HypixelCommands.chocolateFactory() }, + HOVER_TEXT, ) SoundUtils.playBeepSound() lastTimeTowerWarning = SimpleTimeMark.now() @@ -74,9 +75,8 @@ object ChocolateFactoryTimeTowerManager { ChatUtils.clickableChat( "§cYour Time Tower is full §7(${timeTowerCharges()})§c, " + "Use one to avoid wasting time tower usages!", - onClick = { - HypixelCommands.chocolateFactory() - } + onClick = { HypixelCommands.chocolateFactory() }, + HOVER_TEXT ) SoundUtils.playBeepSound() lastTimeTowerWarning = SimpleTimeMark.now() @@ -113,9 +113,8 @@ object ChocolateFactoryTimeTowerManager { ChatUtils.clickableChat( "§cYour Time Tower is about to end! " + "Open the Chocolate Factory to avoid wasting the multiplier!", - onClick = { - HypixelCommands.chocolateFactory() - } + onClick = { HypixelCommands.chocolateFactory() }, + HOVER_TEXT ) SoundUtils.playBeepSound() lastTimeTowerReminder = SimpleTimeMark.now() diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgradeWarning.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgradeWarning.kt index e04a882fe..5ad400050 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgradeWarning.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/chocolatefactory/ChocolateFactoryUpgradeWarning.kt @@ -46,9 +46,8 @@ object ChocolateFactoryUpgradeWarning { if (ChocolateFactoryAPI.inChocolateFactory) return ChatUtils.clickableChat( "You have a Chocolate factory upgrade available to purchase!", - onClick = { - HypixelCommands.chocolateFactory() - } + onClick = { HypixelCommands.chocolateFactory() }, + "§eClick to run /cf!" ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/tiarelay/TiaRelayHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/tiarelay/TiaRelayHelper.kt index 7ad645259..76c9384ba 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/inventory/tiarelay/TiaRelayHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/tiarelay/TiaRelayHelper.kt @@ -78,7 +78,7 @@ object TiaRelayHelper { ChatUtils.userError("Tia Relay Helper error: Too much background noise! Try turning off the music and then try again.") ChatUtils.clickableChat("Click here to run /togglemusic", onClick = { HypixelCommands.toggleMusic() - }) + }, "§eClick to run /togglemusic!") sounds.clear() return } diff --git a/src/main/java/at/hannibal2/skyhanni/features/mining/DeepCavernsGuide.kt b/src/main/java/at/hannibal2/skyhanni/features/mining/DeepCavernsGuide.kt index 6e6590c18..9600fbc20 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/mining/DeepCavernsGuide.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/mining/DeepCavernsGuide.kt @@ -112,6 +112,7 @@ object DeepCavernsGuide { onClick = { SkyHanniMod.repo.updateRepo() }, + "§eClick to update the repo!", prefixColor = "§c" ) } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/JoinCrystalHollows.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/JoinCrystalHollows.kt index ff964a8c4..f8e5fbe32 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/JoinCrystalHollows.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/JoinCrystalHollows.kt @@ -31,7 +31,8 @@ object JoinCrystalHollows { ChatUtils.clickableChat("Click here to warp to Dwarven Mines!", onClick = { HypixelCommands.warp("mines") - }) + }, "§eClick to run /warp mines!" + ) } else { ChatUtils.chat("Buy a §2Crystal Hollows Pass §efrom §5Gwendolyn") } @@ -39,7 +40,7 @@ object JoinCrystalHollows { if (message == "§e[NPC] §5Gwendolyn§f: §rGreat! Now hop on into the Minecart and I'll get you on your way!" && inTime()) { ChatUtils.clickableChat("Click here to warp to Crystal Hollows!", onClick = { HypixelCommands.warp("ch") - }) + }, "§eClick to run /warp ch!") } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/NoBitsWarning.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/NoBitsWarning.kt index 3de75461a..375a2e57b 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/NoBitsWarning.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/NoBitsWarning.kt @@ -23,10 +23,10 @@ object NoBitsWarning { if (isWarningEnabled() && event.bitsAvailable == 0) { ChatUtils.clickableChat( - "§bNo Bits Available! §eClick to run /bz booster cookie.", + "§bNo Bits Available! §eClick to buy booster cookies on the bazaar.", onClick = { HypixelCommands.bazaar("booster cookie") - } + }, "§eClick to run /bz booster cookie!" ) LorenzUtils.sendTitle("§bNo Bits Available", 5.seconds) if (config.notificationSound) SoundUtils.repeatSound(100, 10, createSound("note.pling", 0.6f)) 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 1565b7871..16843ff6d 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 @@ -90,9 +90,8 @@ object DiscordRPCManager : IPCListener { "Discord Rich Presence was unable to start! " + "This usually happens when you join SkyBlock when Discord is not started. " + "Please run /shrpcstart to retry once you have launched Discord.", - onClick = { - startCommand() - } + onClick = { startCommand() }, + "§eClick to run /shrpcstart!" ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt index ab61b400d..f87146a6f 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt @@ -38,9 +38,8 @@ object DefaultConfigFeatures { ChatUtils.clickableChat( "Looks like this is the first time you are using SkyHanni. " + "Click here to configure default options, or run /shdefaultoptions.", - onClick = { - onCommand("null", "null") - }, + onClick = { onCommand("null", "null") }, + "§eClick to run /shdefaultoptions!" ) } else if (updated) { val lastVersion = knownToggles.keys.last { it != SkyHanniMod.version } @@ -48,9 +47,8 @@ object DefaultConfigFeatures { ChatUtils.clickableChat( "Looks like you updated SkyHanni. " + "Click here to configure the newly introduced options, or run $command.", - onClick = { - onCommand(lastVersion, SkyHanniMod.version) - }, + onClick = { onCommand(lastVersion, SkyHanniMod.version) }, + "§eClick to run /shdefaultoptions!" ) } } diff --git a/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt b/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt index 4a0fb0013..f3fe16222 100644 --- a/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt +++ b/src/main/java/at/hannibal2/skyhanni/test/SkyHanniDebugsAndTests.kt @@ -198,12 +198,11 @@ object SkyHanniDebugsAndTests { fun resetConfigCommand() { ChatUtils.clickableChat( - "§cTHIS WILL RESET YOUR SkyHanni CONFIG! Click here to procceed.", - onClick = { - resetConfig() - }, + "§cTHIS WILL RESET YOUR SkyHanni CONFIG! Click here to proceed.", + onClick = { resetConfig() }, + "§eClick to confirm.", prefix = false, - oneTimeClick = true, + oneTimeClick = true ) } diff --git a/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt b/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt index 34b08b82f..fbb163caa 100644 --- a/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt @@ -150,9 +150,8 @@ object ErrorManager { ChatUtils.clickableChat( "§c[SkyHanni-${SkyHanniMod.version}]: $message§c. Click here to copy the error into the clipboard.", - onClick = { - copyError(randomId) - }, + onClick = { copyError(randomId) }, + "§eClick to copy!", prefix = false ) } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt b/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt index bf2384373..a7709e5ed 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/APIUtil.kt @@ -75,9 +75,8 @@ object APIUtil { if (showApiErrors && apiName == "Hypixel API") { ChatUtils.clickableChat( "Problems with detecting the Hypixel API. §eClick here to hide this message for now.", - onClick = { - toggleApiErrorMessages() - } + onClick = { toggleApiErrorMessages() }, + "§eClick to run /shtogglehypixelapierrors!" ) } ErrorManager.skyHanniError( diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt index 664def423..d0a3c199e 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/ChatUtils.kt @@ -245,9 +245,8 @@ object ChatUtils { fun chatAndOpenConfig(message: String, property: KMutableProperty0<*>) { clickableChat( message, - onClick = { - property.jumpToEditor() - } + onClick = { property.jumpToEditor() }, + "§eClick to find setting in the config!" ) } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/HypixelCommands.kt b/src/main/java/at/hannibal2/skyhanni/utils/HypixelCommands.kt index 156d4806b..4df630dbe 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/HypixelCommands.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/HypixelCommands.kt @@ -41,7 +41,7 @@ object HypixelCommands { } fun teleportToPlot(plotName: String) { - send("tptoplot $plotName") + send("plottp $plotName") } fun gardenLevels() { diff --git a/src/main/java/at/hannibal2/skyhanni/utils/TabListData.kt b/src/main/java/at/hannibal2/skyhanni/utils/TabListData.kt index 083772935..eb9a2fc11 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/TabListData.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/TabListData.kt @@ -57,9 +57,8 @@ object TabListData { if (debugCache != null) { ChatUtils.clickableChat( "Tab list debug is enabled!", - onClick = { - toggleDebug() - } + onClick = { toggleDebug() }, + "§eClick to disable!" ) return } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt b/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt index 2a3fd21d9..9d4d5ea38 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt @@ -55,6 +55,7 @@ open class SkyHanniTracker( onClick = { reset(DisplayMode.TOTAL, "Reset total $name!") }, + "§eClick to confirm.", oneTimeClick = true ) -- cgit