From 8da3f862ec36c1059c6572299ad453b540660a12 Mon Sep 17 00:00:00 2001 From: runsonmypc <45095641+runsonmypc@users.noreply.github.com> Date: Fri, 29 Aug 2025 17:49:49 -0400 Subject: [PATCH 01/14] feat(sandminer): drop empty waterskins when humidify disabled (#1440) * feat(sandminer): drop empty waterskins when humidify is disabled * refactor(sandminer): drop empty waterskins only when idle and drop all --------- Co-authored-by: Pert --- .../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..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,6 +83,11 @@ private void miningLoop(GabulhasSandMinerConfig config) { sleep(100, 4000); } while (!Rs2Inventory.isFull() && super.isRunning()) { + // Drop empty waterskins if not using humidify (only when idle) + if (!config.useHumidify() && !Rs2Player.isAnimating()) { + 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() { + while (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 f66fc282a3994b93ea9a07a67286e5850633e0da Mon Sep 17 00:00:00 2001 From: g-mason0 <19415334+g-mason0@users.noreply.github.com> Date: Fri, 29 Aug 2025 17:53:42 -0400 Subject: [PATCH 02/14] Revert "feat(sandminer): drop empty waterskins when humidify disabled (#1440)" This reverts commit 8da3f862ec36c1059c6572299ad453b540660a12. --- .../gabplugs/sandminer/GabulhasSandMinerScript.java | 11 ----------- 1 file changed, 11 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 2fde9ed3f09..48eb030a10b 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,11 +83,6 @@ private void miningLoop(GabulhasSandMinerConfig config) { sleep(100, 4000); } while (!Rs2Inventory.isFull() && super.isRunning()) { - // Drop empty waterskins if not using humidify (only when idle) - if (!config.useHumidify() && !Rs2Player.isAnimating()) { - dropEmptyWaterskins(); - } - while (Rs2Player.hopIfPlayerDetected(1, 3000, 100) && super.isRunning()) { sleepUntil(() -> Microbot.getClient().getGameState() == GameState.HOPPING); sleepUntil(() -> Microbot.getClient().getGameState() == GameState.LOGGED_IN); @@ -136,12 +131,6 @@ private void humidifyIfNeeded() { } } - private void dropEmptyWaterskins() { - while (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 d78b9a80b85f7dc75a66546320b869123d1c8275 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 14:25:03 -0600 Subject: [PATCH 03/14] Check logout setting as boolean. --- .../plugins/microbot/breakhandler/BreakHandlerScript.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index 65194d235cc..014a7b9843d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -324,7 +324,9 @@ private void handleInitiatingBreakState() { PluginPauseEvent.setPaused(true); Rs2Walker.setTarget(null); // Determine next state based on break type - if (Rs2AntibanSettings.microBreakActive && (config.onlyMicroBreaks() || !shouldLogout())) { + boolean logout = shouldLogout(); + + if (!logout || (Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks())) { setBreakDuration(); transitionToState(BreakHandlerState.MICRO_BREAK_ACTIVE); } else { From ce17e9d3168d4e6c1f112240055c9de96838b0db Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 14:39:32 -0600 Subject: [PATCH 04/14] Also actually log out if logout option is enabled.. --- .../plugins/microbot/breakhandler/BreakHandlerScript.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index 014a7b9843d..bdef9596d52 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -325,7 +325,6 @@ private void handleInitiatingBreakState() { Rs2Walker.setTarget(null); // Determine next state based on break type boolean logout = shouldLogout(); - if (!logout || (Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks())) { setBreakDuration(); transitionToState(BreakHandlerState.MICRO_BREAK_ACTIVE); @@ -553,7 +552,10 @@ private boolean isSafeToBreak() { * Determines if logout should occur based on configuration and conditions. */ private boolean shouldLogout() { - return isOutsidePlaySchedule() || config.logoutAfterBreak(); + // Only attempt to logout during a normal break. When a micro break is + // active we should remain logged in regardless of the logout setting. + return !Rs2AntibanSettings.microBreakActive && + (isOutsidePlaySchedule() || config.logoutAfterBreak()); } /** From 83bbbfb461e2bcb97a550724a8640fdbd53dd1df Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 14:58:08 -0600 Subject: [PATCH 05/14] =?UTF-8?q?Added=20tracking=20for=20the=20pre-break?= =?UTF-8?q?=20world=20and=20if=20a=20logout=20occurred.=20Updated=20login?= =?UTF-8?q?=20handling=20to=20select=20a=20random=20world=20when=20?= =?UTF-8?q?=E2=80=9CUse=20RandomWorld=E2=80=9D=20is=20enabled.=20Skipped?= =?UTF-8?q?=20additional=20world=20hopping=20after=20breaks=20when=20a=20l?= =?UTF-8?q?ogout=20already=20handled=20the=20switch,=20preventing=20unnece?= =?UTF-8?q?ssary=20double=20hops.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../breakhandler/BreakHandlerScript.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index bdef9596d52..8021359d661 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -106,6 +106,10 @@ public static void setLockState(boolean state) { private String originalWindowTitle = ""; private BreakHandlerConfig config; + // Track world state across breaks + private int preBreakWorld = -1; + private boolean loggedOutDuringBreak = false; + /** * Checks if a break is currently active (any break state except waiting). */ @@ -323,8 +327,13 @@ private void handleInitiatingBreakState() { Microbot.pauseAllScripts.compareAndSet(false, true); PluginPauseEvent.setPaused(true); Rs2Walker.setTarget(null); + + // Remember the world we were in before the break + preBreakWorld = Microbot.getClient().getWorld(); + // Determine next state based on break type boolean logout = shouldLogout(); + loggedOutDuringBreak = logout && !(Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks()); if (!logout || (Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks())) { setBreakDuration(); transitionToState(BreakHandlerState.MICRO_BREAK_ACTIVE); @@ -448,9 +457,12 @@ private void handleLoginRequestedState() { try { // Use the Login utility class to handle login if (Login.activeProfile != null) { - new Login(); + int world = config.useRandomWorld() + ? Login.getRandomWorld(Rs2Player.isMember()) + : preBreakWorld; + new Login(world); } else { - // If no active profile, use default login + // If no active profile, fall back to default login new Login(); } transitionToState(BreakHandlerState.LOGGING_IN); @@ -612,7 +624,7 @@ private void resumeFromBreak() { * Handles world switching based on configuration. */ private void handleWorldSwitching() { - if (config.useRandomWorld()) { + if (config.useRandomWorld() && !loggedOutDuringBreak) { try { int randomWorld = Login.getRandomWorld(Rs2Player.isMember()); Microbot.hopToWorld(randomWorld); From f6f0dcc148130043bbf2bf67c29599b746908699 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 15:01:11 -0600 Subject: [PATCH 06/14] Fixed typo. --- .../plugins/microbot/breakhandler/BreakHandlerConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java index 4cf294a1c2c..7557b2a2fb1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java @@ -123,7 +123,7 @@ default boolean logoutAfterBreak() { @ConfigItem( keyName = "useRandomWorld", - name = "Use RandomWorld", + name = "Use Random World", description = "Change to a random world once break is finished", position = 2, section = breakBehaviorOptions From 9a40cfafc0d2009f46f8b0525aeeb126913cbe05 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 15:20:53 -0600 Subject: [PATCH 07/14] Added region filter drop-down for Random World. --- .../microbot/breakhandler/BreakHandlerConfig.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java index 7557b2a2fb1..53f089e6b1a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerConfig.java @@ -132,11 +132,22 @@ default boolean useRandomWorld() { return false; } + @ConfigItem( + keyName = "regionFilter", + name = "Region Filter", + description = "Restrict random worlds to a specific region", + position = 3, + section = breakBehaviorOptions + ) + default RegionFilter regionFilter() { + return RegionFilter.ANY; + } + @ConfigItem( keyName = "shutdownClient", name = "Shutdown Client", description = "WARNING: This will completely shutdown the entire RuneLite client during breaks.
Use with caution - you will need to manually restart the client after breaks.", - position = 3, + position = 4, section = breakBehaviorOptions ) default boolean shutdownClient() { From 436dcf86e33e409ea50c833a8504189f83b0eaa6 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 15:21:59 -0600 Subject: [PATCH 08/14] Added check for random world check and region filter. --- .../plugins/microbot/breakhandler/BreakHandlerScript.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index 8021359d661..f5a504b3b44 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -458,7 +458,7 @@ private void handleLoginRequestedState() { // Use the Login utility class to handle login if (Login.activeProfile != null) { int world = config.useRandomWorld() - ? Login.getRandomWorld(Rs2Player.isMember()) + ? Login.getRandomWorld(Rs2Player.isMember(), config.regionFilter().getRegion()) : preBreakWorld; new Login(world); } else { @@ -626,7 +626,7 @@ private void resumeFromBreak() { private void handleWorldSwitching() { if (config.useRandomWorld() && !loggedOutDuringBreak) { try { - int randomWorld = Login.getRandomWorld(Rs2Player.isMember()); + int randomWorld = Login.getRandomWorld(Rs2Player.isMember(), config.regionFilter().getRegion()); Microbot.hopToWorld(randomWorld); log.info("Switched to world {}", randomWorld); } catch (Exception ex) { From ac9c0f3ec8083297f649bb739f32d3783ae1b6aa Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 15:22:34 -0600 Subject: [PATCH 09/14] Enum for region filter selection. --- .../microbot/breakhandler/RegionFilter.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/RegionFilter.java diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/RegionFilter.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/RegionFilter.java new file mode 100644 index 00000000000..161566b395f --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/RegionFilter.java @@ -0,0 +1,27 @@ +package net.runelite.client.plugins.microbot.breakhandler; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import net.runelite.http.api.worlds.WorldRegion; + +/** + * Region options for selecting random worlds. + */ +@RequiredArgsConstructor +public enum RegionFilter { + ANY(null, "Any"), + US(WorldRegion.UNITED_STATES_OF_AMERICA, "US"), + UK(WorldRegion.UNITED_KINGDOM, "UK"), + GERMANY(WorldRegion.GERMANY, "Germany"), + AUSTRALIA(WorldRegion.AUSTRALIA, "Australia"); + + @Getter + private final WorldRegion region; + + private final String name; + + @Override + public String toString() { + return name; + } +} From 771f1d2b54ef37ea50d11b35d1641ebe1fe25b56 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 15:28:28 -0600 Subject: [PATCH 10/14] Changed version since new feature, random world filter, was added. --- .../plugins/microbot/breakhandler/BreakHandlerScript.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index f5a504b3b44..b7707ababd5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -43,7 +43,7 @@ */ @Slf4j public class BreakHandlerScript extends Script { - public static String version = "2.0.0"; + public static String version = "2.1.0"; // Constants for configuration and timing private static final int SCHEDULER_INTERVAL_MS = 1000; From 6ea73223a56f49ef627d95361c1d6b6c1de8de1b Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 16:46:05 -0600 Subject: [PATCH 11/14] Added checks for microbreak option when checking for break cases. --- .../breakhandler/BreakHandlerScript.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index b7707ababd5..3c5bb894bfe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -264,7 +264,8 @@ private void handleWaitingForBreakState() { // Check for normal break conditions boolean normalBreakTime = breakIn <= 0 && !isLockState(); - boolean microBreakTime = Rs2AntibanSettings.microBreakActive && !isLockState(); + boolean microBreakTime = Rs2AntibanSettings.takeMicroBreaks && + Rs2AntibanSettings.microBreakActive && !isLockState(); if (normalBreakTime || microBreakTime) { log.info("Break time reached - Normal: {}, Micro: {}", normalBreakTime, microBreakTime); @@ -333,8 +334,10 @@ private void handleInitiatingBreakState() { // Determine next state based on break type boolean logout = shouldLogout(); - loggedOutDuringBreak = logout && !(Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks()); - if (!logout || (Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks())) { + boolean isMicroBreak = Rs2AntibanSettings.takeMicroBreaks && + Rs2AntibanSettings.microBreakActive; + loggedOutDuringBreak = logout && !(isMicroBreak && config.onlyMicroBreaks()); + if (!logout || (isMicroBreak && config.onlyMicroBreaks())) { setBreakDuration(); transitionToState(BreakHandlerState.MICRO_BREAK_ACTIVE); } else { @@ -436,7 +439,8 @@ private void handleLoggedOutState() { */ private void handleMicroBreakActiveState() { // Check if micro break should end - if ((breakDuration <= 0 && !Rs2AntibanSettings.microBreakActive) || config.breakEndNow()) { + if ((breakDuration <= 0 && !(Rs2AntibanSettings.takeMicroBreaks && + Rs2AntibanSettings.microBreakActive)) || config.breakEndNow()) { log.info("Micro break completed"); transitionToState(BreakHandlerState.BREAK_ENDING); } @@ -566,7 +570,7 @@ private boolean isSafeToBreak() { private boolean shouldLogout() { // Only attempt to logout during a normal break. When a micro break is // active we should remain logged in regardless of the logout setting. - return !Rs2AntibanSettings.microBreakActive && + return !(Rs2AntibanSettings.takeMicroBreaks && Rs2AntibanSettings.microBreakActive) && (isOutsidePlaySchedule() || config.logoutAfterBreak()); } @@ -585,7 +589,7 @@ private void initializeNextBreakTimer() { * Sets the break duration based on configuration and break type. */ private void setBreakDuration() { - if (Rs2AntibanSettings.microBreakActive) { + if (Rs2AntibanSettings.takeMicroBreaks && Rs2AntibanSettings.microBreakActive) { // Micro break duration - use proper range and convert minutes to seconds breakDuration = Rs2Random.between( Rs2AntibanSettings.microBreakDurationLow * MINUTES_TO_SECONDS, From 04f081af27aef54b6ca3ec87e51b09fa6ed10abb Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 16:47:21 -0600 Subject: [PATCH 12/14] Ensured the Antiban now evaluates microbreak only when micro breaks are enabled and no break is active, sending requests to Break Handler appropriately. --- .../plugins/microbot/util/antiban/AntibanPlugin.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java index 138dd9b8028..f25ae4c974f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java @@ -13,6 +13,7 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.microbot.Microbot; import net.runelite.client.plugins.microbot.breakhandler.BreakHandlerPlugin; +import net.runelite.client.plugins.microbot.breakhandler.BreakHandlerScript; import net.runelite.client.plugins.microbot.util.antiban.enums.Activity; import net.runelite.client.plugins.microbot.util.antiban.enums.ActivityIntensity; import net.runelite.client.plugins.microbot.util.antiban.enums.CombatSkills; @@ -252,6 +253,12 @@ public void onGameTick(GameTick event) { Microbot.startPlugin(breakHandlerPlugin); } + if (Rs2AntibanSettings.takeMicroBreaks && + !Rs2AntibanSettings.microBreakActive && + !BreakHandlerScript.isBreakActive()) { + Rs2Antiban.takeMicroBreakByChance(); + } + if (Rs2Antiban.isMining()) { updateLastMiningAction(); } From 10eb2d874942afdbba431a0df7c1964a9706d431 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 17:14:36 -0600 Subject: [PATCH 13/14] Revert "Ensured the Antiban now evaluates microbreak only when micro breaks are enabled and no break is active, sending requests to Break Handler appropriately." This reverts commit 04f081af27aef54b6ca3ec87e51b09fa6ed10abb. --- .../plugins/microbot/util/antiban/AntibanPlugin.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java index f25ae4c974f..138dd9b8028 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/antiban/AntibanPlugin.java @@ -13,7 +13,6 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.microbot.Microbot; import net.runelite.client.plugins.microbot.breakhandler.BreakHandlerPlugin; -import net.runelite.client.plugins.microbot.breakhandler.BreakHandlerScript; import net.runelite.client.plugins.microbot.util.antiban.enums.Activity; import net.runelite.client.plugins.microbot.util.antiban.enums.ActivityIntensity; import net.runelite.client.plugins.microbot.util.antiban.enums.CombatSkills; @@ -253,12 +252,6 @@ public void onGameTick(GameTick event) { Microbot.startPlugin(breakHandlerPlugin); } - if (Rs2AntibanSettings.takeMicroBreaks && - !Rs2AntibanSettings.microBreakActive && - !BreakHandlerScript.isBreakActive()) { - Rs2Antiban.takeMicroBreakByChance(); - } - if (Rs2Antiban.isMining()) { updateLastMiningAction(); } From 481b3be9f3fa77dd5a9fa92f7e6a2c02b9cf2236 Mon Sep 17 00:00:00 2001 From: Netoxic Date: Sat, 30 Aug 2025 17:15:02 -0600 Subject: [PATCH 14/14] Revert "Added checks for microbreak option when checking for break cases." This reverts commit 6ea73223a56f49ef627d95361c1d6b6c1de8de1b. --- .../breakhandler/BreakHandlerScript.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java index 3c5bb894bfe..b7707ababd5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/BreakHandlerScript.java @@ -264,8 +264,7 @@ private void handleWaitingForBreakState() { // Check for normal break conditions boolean normalBreakTime = breakIn <= 0 && !isLockState(); - boolean microBreakTime = Rs2AntibanSettings.takeMicroBreaks && - Rs2AntibanSettings.microBreakActive && !isLockState(); + boolean microBreakTime = Rs2AntibanSettings.microBreakActive && !isLockState(); if (normalBreakTime || microBreakTime) { log.info("Break time reached - Normal: {}, Micro: {}", normalBreakTime, microBreakTime); @@ -334,10 +333,8 @@ private void handleInitiatingBreakState() { // Determine next state based on break type boolean logout = shouldLogout(); - boolean isMicroBreak = Rs2AntibanSettings.takeMicroBreaks && - Rs2AntibanSettings.microBreakActive; - loggedOutDuringBreak = logout && !(isMicroBreak && config.onlyMicroBreaks()); - if (!logout || (isMicroBreak && config.onlyMicroBreaks())) { + loggedOutDuringBreak = logout && !(Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks()); + if (!logout || (Rs2AntibanSettings.microBreakActive && config.onlyMicroBreaks())) { setBreakDuration(); transitionToState(BreakHandlerState.MICRO_BREAK_ACTIVE); } else { @@ -439,8 +436,7 @@ private void handleLoggedOutState() { */ private void handleMicroBreakActiveState() { // Check if micro break should end - if ((breakDuration <= 0 && !(Rs2AntibanSettings.takeMicroBreaks && - Rs2AntibanSettings.microBreakActive)) || config.breakEndNow()) { + if ((breakDuration <= 0 && !Rs2AntibanSettings.microBreakActive) || config.breakEndNow()) { log.info("Micro break completed"); transitionToState(BreakHandlerState.BREAK_ENDING); } @@ -570,7 +566,7 @@ private boolean isSafeToBreak() { private boolean shouldLogout() { // Only attempt to logout during a normal break. When a micro break is // active we should remain logged in regardless of the logout setting. - return !(Rs2AntibanSettings.takeMicroBreaks && Rs2AntibanSettings.microBreakActive) && + return !Rs2AntibanSettings.microBreakActive && (isOutsidePlaySchedule() || config.logoutAfterBreak()); } @@ -589,7 +585,7 @@ private void initializeNextBreakTimer() { * Sets the break duration based on configuration and break type. */ private void setBreakDuration() { - if (Rs2AntibanSettings.takeMicroBreaks && Rs2AntibanSettings.microBreakActive) { + if (Rs2AntibanSettings.microBreakActive) { // Micro break duration - use proper range and convert minutes to seconds breakDuration = Rs2Random.between( Rs2AntibanSettings.microBreakDurationLow * MINUTES_TO_SECONDS,