Skip to content

feat(birdhouse): teleport savings, southern rowboat, seaweed chaining#446

Merged
chsami merged 1 commit into
chsami:developmentfrom
runsonmypc:feat/birdhouse-chain-seaweed
May 22, 2026
Merged

feat(birdhouse): teleport savings, southern rowboat, seaweed chaining#446
chsami merged 1 commit into
chsami:developmentfrom
runsonmypc:feat/birdhouse-chain-seaweed

Conversation

@runsonmypc
Copy link
Copy Markdown
Contributor

@runsonmypc runsonmypc commented May 20, 2026

Summary

  • Disable teleports on Fossil Island: Sets Rs2Walker.disableTeleports=true once the player arrives on Fossil Island, so the digsite pendant is only consumed once (for the initial teleport). Mushroom tree transports remain available.
  • Force southern rowboat for banking: Walks to the southern rowboat (3724, 3807) before heading to the wreck bank, avoiding the longer northern route the pathfinder was choosing.
  • Chain Giant Seaweed plugin: New "Start Giant Seaweed after run" config option launches GiantSeaweedFarmerPlugin when the birdhouse run finishes.
  • Fix seed withdrawal warning: Use real stack quantity (Rs2ItemModel.getQuantity()) instead of Rs2Inventory.count() (which returns slot count, always 1 for stackable items). Fail fast if <40 seeds withdrawn.
  • Debug section: New collapsed config section with override start state toggle for testing.
  • Version bump to 1.1.2.

Test plan

  • Full birdhouse run: verify pendant consumed only once
  • Verify mushroom tree transports still work between birdhouse areas
  • Verify banking uses southern rowboat
  • Toggle "Start Giant Seaweed after run" and confirm seaweed plugin starts on completion
  • Test override start state (set to FINISHING) to skip directly to end-of-run
  • Verify seed withdrawal logs correct quantity (no false warning)

…owboat, chain seaweed plugin

- Set Rs2Walker.disableTeleports=true once on Fossil Island so the
  digsite pendant is only consumed once (for the initial teleport)
- Walk to southern rowboat before banking to avoid the longer northern route
- Wire up "Start Giant Seaweed after run" config to launch
  GiantSeaweedFarmerPlugin on birdhouse run completion
- Fix withdrawSeeds false warning: use real stack quantity instead of
  Rs2Inventory.count() slot count, and fail fast if <40 seeds
- Add debug section with override start state for testing
- Bump version to 1.1.2
@chsami chsami merged commit a4fe1aa into chsami:development May 22, 2026
1 check passed
chsami added a commit that referenced this pull request May 22, 2026
* Feat/butterfly catcher plugin (#448)

* fix(combat-hotkeys): move prayer toggles off key event thread

Prayer hotkeys were calling Rs2Prayer.toggle() directly on the key
listener thread, causing focus loss and input lag on every press.
Replaced runOnSeperateThread (silently drops calls when the shared
ClientThread future is busy) with a plugin-owned ExecutorService.
Also added a debug overlay panel toggled via config. Bump to v1.1.2.

* feat(butterfly-catcher): add Butterfly Catcher plugin v1.0.0

Automates butterfly and moth catching for Hunter XP.
Supports Ruby Harvest through Moonlight Moth (Varlamore).
Barehanded and butterfly net modes with level/equipment checks on startup.

---------

Co-authored-by: chsami <aintaro@proton.me>

* fix(combat-hotkeys): move prayer toggles off key event thread (#447)

Prayer hotkeys were calling Rs2Prayer.toggle() directly on the key
listener thread, causing focus loss and input lag on every press.
Replaced runOnSeperateThread (silently drops calls when the shared
ClientThread future is busy) with a plugin-owned ExecutorService.
Also added a debug overlay panel toggled via config. Bump to v1.1.2.

Co-authored-by: chsami <aintaro@proton.me>

* feat(birdhouse): disable teleports on Fossil Island, force southern rowboat, chain seaweed plugin (#446)

- Set Rs2Walker.disableTeleports=true once on Fossil Island so the
  digsite pendant is only consumed once (for the initial teleport)
- Walk to southern rowboat before banking to avoid the longer northern route
- Wire up "Start Giant Seaweed after run" config to launch
  GiantSeaweedFarmerPlugin on birdhouse run completion
- Fix withdrawSeeds false warning: use real stack quantity instead of
  Rs2Inventory.count() slot count, and fail fast if <40 seeds
- Add debug section with override start state for testing
- Bump version to 1.1.2

Co-authored-by: runsonmypc <runsonmypc@users.noreply.github.com>

* fix(GiantSeaweedFarmer): broken state detection, stale state, unclean shutdown (#445)

* fix(GiantSeaweedFarmer): replace broken varbit state detection with action+name approach

getSeaweedPatchState() read the varbit from the impostor composition
instead of the base object, returning garbage values that always mapped
to "Weeds" regardless of actual patch state. This caused infinite loops
after harvesting.

Replace with getPatchState() that checks the impostor's actions and name:
Pick→Harvestable, Rake→Weeds, Clear→Dead, Cure→Diseased,
"Seaweed patch" (no Rake)→Empty, "Seaweed"→Growing.

Also fixes: Harvestable case sleepUntil waited for "Empty" (varbit 3)
but post-harvest patches go to Weeds first, causing 20s timeouts every
cycle. Now waits for not-Harvestable which resolves immediately.

* fix(GiantSeaweedFarmer): reset all state on plugin restart

BankSuccess, GSF_Running, and other fields were not reset in run(),
so restarting the plugin reused stale state from the previous run
(e.g. BankSuccess=true skipped banking entirely).

* fix(GiantSeaweedFarmer): clean shutdown via Microbot.stopPlugin

shutdownSequence() now calls Microbot.stopPlugin() which toggles the
plugin off in the client UI, stops both the farmer and spore scripts,
and removes the overlay — instead of just cancelling the script future
while leaving everything else running.

Also: reset BankSuccess in shutdown(), remove dead safetyCheck() method,
remove redundant GSF_Running assignment in plugin startUp().

* fix(GiantSeaweedFarmer): fix typo and wrong description in override config

---------

Co-authored-by: runsonmypc <runsonmypc@users.noreply.github.com>

* fix(FarmTreeRun): remove isAnimating, shared leprechaun helper, withdrawal bugfix (#444)

* fix(FarmTreeRun): remove isAnimating checks, delete planning docs, bump version

- Remove all Rs2Player.isAnimating() checks from the script — they
  cause stalls and are unreliable for gating plugin logic.
- Replace animation waits in handleRakeAction/handleClearAction with
  waitForXpDrop(Skill.FARMING) which is the actual completion signal.
- Replace animation wait in bank() with sleepUntil(Rs2Bank::isOpen).
- Delete docs/superpowers/ planning artifacts accidentally committed.
- Bump plugin version to 1.2.0.

* feat(FarmTreeRun): category toggles, proper shutdown, rake fix

- Add "Run trees", "Run fruit trees", "Run hardwood trees" toggles in
  the sapling selection section to skip entire tree categories at once.
- Plugin properly disables itself via Microbot.stopPlugin() on shutdown.
- Increase rake XP drop wait to 10s and drop weeds immediately after
  raking instead of in the general drop loop.

* feat(FarmTreeRun): shared Rs2Leprechaun helper, fix duplicate-item withdrawal bug

Extract leprechaun compost withdrawal into shared Rs2Leprechaun utility
(included in every plugin JAR alongside PluginConstants). Merge duplicate
itemId entries before bank withdrawal so overlapping protection payments
(e.g. Willow + Banana both needing baskets of apples) sum correctly.

---------

Co-authored-by: runsonmypc <runsonmypc@users.noreply.github.com>

---------

Co-authored-by: stonksCode <99895926+stonksCode@users.noreply.github.com>
Co-authored-by: runsonmypc <45095641+runsonmypc@users.noreply.github.com>
Co-authored-by: runsonmypc <runsonmypc@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants