From 2678347d0c44d0cd24c29aca48055c036350a8d1 Mon Sep 17 00:00:00 2001 From: sariya melody Date: Fri, 4 Apr 2025 16:38:51 -0700 Subject: [PATCH] feat(notifications): use native runelite notifications allows notifying while the game window is focused, or setting different notification sounds per-action, or etc --- .../easygiantsfoundry/EasyGiantsFoundryConfig.java | 13 +++++++------ .../easygiantsfoundry/EasyGiantsFoundryPlugin.java | 12 ++++++------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java index 2c85d84..8f57f5a 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java @@ -6,6 +6,7 @@ import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; import net.runelite.client.config.ConfigSection; import net.runelite.client.config.Range; +import net.runelite.client.config.Notification; import net.runelite.client.ui.ColorScheme; @ConfigGroup(EasyGiantsFoundryConfig.GROUP) @@ -29,9 +30,9 @@ public interface EasyGiantsFoundryConfig extends Config position = 0, section = notificationList ) - default boolean showGiantsFoundryStageNotifications() + default Notification stageNotification() { - return true; + return Notification.ON; } @ConfigItem( @@ -41,9 +42,9 @@ public interface EasyGiantsFoundryConfig extends Config position = 1, section = notificationList ) - default boolean showGiantsFoundryHeatNotifications() + default Notification heatNotification() { - return true; + return Notification.ON; } @ConfigItem( @@ -77,9 +78,9 @@ public interface EasyGiantsFoundryConfig extends Config position = 4, section = notificationList ) - default boolean bonusNotification() + default Notification bonusNotification() { - return false; + return Notification.OFF; } @ConfigItem( diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java index 3dcf978..3075755 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryPlugin.java @@ -217,17 +217,17 @@ public class EasyGiantsFoundryPlugin extends Plugin return; } - if (config.showGiantsFoundryStageNotifications() && + if (config.stageNotification().isEnabled() && state.getActionsLeftInStage() == config.StageNotificationsThreshold() && (oldStage == null || oldStage != state.getCurrentStage())) { - notifier.notify("About to finish the current stage!"); + notifier.notify(config.stageNotification(), "About to finish the current stage!"); oldStage = state.getCurrentStage(); } - else if (config.showGiantsFoundryHeatNotifications() && + else if (config.heatNotification().isEnabled() && state.getActionsForHeatLevel() == config.HeatNotificationsThreshold()) { - notifier.notify("About to run out of heat!"); + notifier.notify(config.heatNotification(), "About to run out of heat!"); } } @@ -458,9 +458,9 @@ public class EasyGiantsFoundryPlugin extends Plugin state.addBonusActionReceived(); - if (config.bonusNotification()) + if (config.bonusNotification().isEnabled()) { - notifier.notify("Bonus - Click tool"); + notifier.notify(config.bonusNotification(), "Bonus - Click tool"); } if (config.bonusSoundNotify()) {