From 1cf929a51376d7e43204747fcc8a227f4adbaa93 Mon Sep 17 00:00:00 2001 From: Pert Date: Thu, 28 Aug 2025 21:36:12 -0400 Subject: [PATCH 1/2] feat(sandminer): drop empty waterskins when humidify is disabled --- .../gabplugs/sandminer/GabulhasSandMinerScript.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java index 48eb030a10b..cd152c578f8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java @@ -83,6 +83,11 @@ private void miningLoop(GabulhasSandMinerConfig config) { sleep(100, 4000); } while (!Rs2Inventory.isFull() && super.isRunning()) { + // Drop empty waterskins if not using humidify + if (!config.useHumidify()) { + dropEmptyWaterskins(); + } + while (Rs2Player.hopIfPlayerDetected(1, 3000, 100) && super.isRunning()) { sleepUntil(() -> Microbot.getClient().getGameState() == GameState.HOPPING); sleepUntil(() -> Microbot.getClient().getGameState() == GameState.LOGGED_IN); @@ -131,6 +136,12 @@ private void humidifyIfNeeded() { } } + private void dropEmptyWaterskins() { + if (Rs2Inventory.hasItem(ItemID.WATER_SKIN0)) { + Rs2Inventory.drop(ItemID.WATER_SKIN0); + } + } + private void deposit(GabulhasSandMinerConfig config) { if (!config.turboMode()) Rs2Walker.walkTo(grinder); GameObject sandstoneRock = Rs2GameObject.findObject(26199, grinder); From ba18db47dfee9e75ecddfa7ae054569a3fe9ef26 Mon Sep 17 00:00:00 2001 From: Pert Date: Thu, 28 Aug 2025 22:08:35 -0400 Subject: [PATCH 2/2] refactor(sandminer): drop empty waterskins only when idle and drop all --- .../gabplugs/sandminer/GabulhasSandMinerScript.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java index cd152c578f8..2fde9ed3f09 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/gabplugs/sandminer/GabulhasSandMinerScript.java @@ -83,8 +83,8 @@ private void miningLoop(GabulhasSandMinerConfig config) { sleep(100, 4000); } while (!Rs2Inventory.isFull() && super.isRunning()) { - // Drop empty waterskins if not using humidify - if (!config.useHumidify()) { + // Drop empty waterskins if not using humidify (only when idle) + if (!config.useHumidify() && !Rs2Player.isAnimating()) { dropEmptyWaterskins(); } @@ -137,7 +137,7 @@ private void humidifyIfNeeded() { } private void dropEmptyWaterskins() { - if (Rs2Inventory.hasItem(ItemID.WATER_SKIN0)) { + while (Rs2Inventory.hasItem(ItemID.WATER_SKIN0)) { Rs2Inventory.drop(ItemID.WATER_SKIN0); } }