diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 628e1a8235..1115ad29f6 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -346,6 +346,11 @@ public enum Varbits KINGDOM_COFFER(74), THRONE_OF_MISCELLANIA_QUEST(359), + /** + * The Hand in the Sand quest status + */ + QUEST_THE_HAND_IN_THE_SAND(1527), + /** * Daily Tasks (Collection availability) */ @@ -353,6 +358,7 @@ public enum Varbits DAILY_STAVES_COLLECTED(4539), DAILY_ESSENCE_COLLECTED(4547), DAILY_RUNES_COLLECTED(4540), + DAILY_SAND_COLLECTED(4549), /** * Fairy Ring diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksConfig.java index 9ead9f8744..62401854ec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksConfig.java @@ -76,4 +76,15 @@ public interface DailyTasksConfig extends Config { return true; } + + @ConfigItem( + position = 5, + keyName = "showSand", + name = "Show Claimable Sand", + description = "Show a message when you can collect your daily sand from Bert." + ) + default boolean showSand() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java index 710f00a07c..ddbf8dc1ae 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java @@ -64,6 +64,9 @@ public class DailyTasksPlugin extends Plugin private static final String RUNES_MESSAGE = "You have random runes waiting to be collected from Lundail."; + private static final String SAND_MESSAGE = "You have sand waiting to be collected from Bert."; + private static final int SAND_QUEST_COMPLETE = 160; + private static final String RELOG_MESSAGE = " (Requires relog)"; @Inject @@ -133,6 +136,11 @@ public class DailyTasksPlugin extends Plugin { checkRunes(dailyReset); } + + if (config.showSand()) + { + checkSand(dailyReset); + } } } @@ -197,6 +205,21 @@ public class DailyTasksPlugin extends Plugin } } + private void checkSand(boolean dailyReset) + { + if (client.getVar(Varbits.QUEST_THE_HAND_IN_THE_SAND) >= SAND_QUEST_COMPLETE) + { + if (client.getVar(Varbits.DAILY_SAND_COLLECTED) == 0) + { + sendChatMessage(SAND_MESSAGE); + } + else if (dailyReset) + { + sendChatMessage(SAND_MESSAGE + RELOG_MESSAGE); + } + } + } + private void sendChatMessage(String chatMessage) { final String message = new ChatMessageBuilder()