From 7fb26605fab38cc8e13ec980550338f1364b822d Mon Sep 17 00:00:00 2001 From: Alex <45095641+runsonmypc@users.noreply.github.com> Date: Sun, 24 May 2026 20:11:04 -0400 Subject: [PATCH] fix(birdhouse): invoke Rs2Walker in TELEPORTING state, hardcode mushtree transport MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TELEPORTING was a no-op that immediately advanced to DISMANTLE_HOUSE_1 without ever calling Rs2Walker, so the player never left the bank. Now calls Rs2Walker.walkTo(birdhouseLocation1) which routes via digsite pendant to Fossil Island. MUSHROOM_TELEPORT was also a no-op relying on Rs2Walker to route through the mushtree, but the walker kept detouring to the bank instead. Replaced with direct object interaction: Use mushtree → select Mushroom Meadow from the Mycelium Transportation System widget. --- .../microbot/birdhouseruns/FornBirdhouseRunsPlugin.java | 2 +- .../microbot/birdhouseruns/FornBirdhouseRunsScript.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsPlugin.java b/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsPlugin.java index 3be4a82047..795fc3e042 100644 --- a/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsPlugin.java +++ b/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsPlugin.java @@ -26,7 +26,7 @@ ) @Slf4j public class FornBirdhouseRunsPlugin extends Plugin { - final static String version = "1.1.3"; + final static String version = "1.1.4"; @Provides FornBirdhouseRunsConfig provideConfig(ConfigManager configManager) { return configManager.getConfig(FornBirdhouseRunsConfig.class); diff --git a/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsScript.java b/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsScript.java index f4986560ca..9b82c54715 100644 --- a/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsScript.java +++ b/src/main/java/net/runelite/client/plugins/microbot/birdhouseruns/FornBirdhouseRunsScript.java @@ -22,6 +22,7 @@ import net.runelite.client.plugins.microbot.util.walker.Rs2Walker; import net.runelite.client.plugins.microbot.shortestpath.Restriction; import net.runelite.client.plugins.microbot.shortestpath.ShortestPathPlugin; +import net.runelite.client.plugins.microbot.util.widget.Rs2Widget; import net.runelite.client.plugins.microbot.util.inventory.Rs2ItemModel; @@ -42,6 +43,8 @@ public class FornBirdhouseRunsScript extends Script { private static final WorldPoint birdhouseLocation3 = new WorldPoint(3677, 3882, 0); private static final WorldPoint birdhouseLocation4 = new WorldPoint(3679, 3815, 0); private static final WorldPoint SOUTH_ROWBOAT = new WorldPoint(3724, 3807, 0); + private static final WorldPoint VERDANT_MUSHTREE = new WorldPoint(3757, 3757, 0); + private static final int MUSHTREE_OBJECT_ID = 30924; // Each location maps to a BIRDHOUSE_TRANSMIT_* varp. See isEmpty/isBuilt/isSeeded // below for the canonical state decoding (matches RuneLite's BirdHouseState). private static final int VARP_HOUSE_1 = VarPlayerID.BIRDHOUSE_TRANSMIT_D; // Verdant SW @@ -176,6 +179,7 @@ public boolean run() { switch (botStatus) { case TELEPORTING: case VERDANT_TELEPORT: + Rs2Walker.walkTo(birdhouseLocation1); botStatus = states.DISMANTLE_HOUSE_1; advanced = true; break; @@ -216,6 +220,10 @@ public boolean run() { } break; case MUSHROOM_TELEPORT: + Rs2GameObject.interact(MUSHTREE_OBJECT_ID, "Use"); + sleepUntil(() -> Rs2Widget.findWidget("Mycelium Transportation System") != null, 5000); + Rs2Widget.clickWidget("Mushroom Meadow"); + sleepUntil(() -> Rs2Player.distanceTo(birdhouseLocation3) < 20, 10000); botStatus = states.DISMANTLE_HOUSE_3; advanced = true; break;