Skip to content

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

Merged
chsami merged 3 commits into
chsami:developmentfrom
runsonmypc:fix/tree-runner-cleanup
May 22, 2026
Merged

fix(FarmTreeRun): remove isAnimating, shared leprechaun helper, withdrawal bugfix#444
chsami merged 3 commits into
chsami:developmentfrom
runsonmypc:fix/tree-runner-cleanup

Conversation

@runsonmypc
Copy link
Copy Markdown
Contributor

@runsonmypc runsonmypc commented May 20, 2026

Summary

Follow-up to #442. Fixes issues missed in the initial PR:

  • Remove all Rs2Player.isAnimating() checks — unreliable for gating plugin logic; caused stalls in walkToLocation, dropCrap, handleRakeAction, handleClearAction, handleNotingFruit, and bank()
  • Replace animation waits with proper signalshandleRakeAction and handleClearAction now use waitForXpDrop(Skill.FARMING) instead of animation polling; bank() uses sleepUntil(Rs2Bank::isOpen)
  • Bump plugin version from 1.1.2 to 1.2.0
  • Tree category toggles — "Run trees" / "Run fruit trees" / "Run hardwood trees" checkboxes to skip entire categories without deselecting individual patches
  • Proper plugin shutdown — uses Microbot.stopPlugin() to toggle off in the UI on completion
  • Bank on finish — deposits all items before shutting down
  • Rake XP wait increase + weed drop — longer timeout for rake XP drop, drops weeds after raking
  • Shared Rs2Leprechaun utility — leprechaun compost withdrawal extracted to a shared helper (included in every plugin JAR) so other farming plugins can reuse it
  • Fix duplicate-item withdrawal bug — when two tree types share the same protection payment item (e.g. Willow + Banana both needing baskets of apples), quantities are now merged before withdrawal instead of under-counting

Test plan

  • Verify raking patches completes without stalling
  • Verify clearing dead trees completes without stalling
  • Verify walking between patches is not blocked
  • Verify junk items drop while running
  • Verify bank opens reliably at start of run
  • Verify correct protection item count when two tree types share a payment item
  • Verify leprechaun compost withdrawal still works for non-reusable compost
  • Verify category toggles disable/enable entire tree types
  • Verify plugin turns off in UI after completion

…mp 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.
@runsonmypc runsonmypc marked this pull request as draft May 20, 2026 15:11
- 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.
@runsonmypc runsonmypc marked this pull request as ready for review May 20, 2026 19:59
…thdrawal 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.
@runsonmypc runsonmypc changed the title fix(FarmTreeRun): remove isAnimating, delete planning docs, bump version fix(FarmTreeRun): remove isAnimating, shared leprechaun helper, withdrawal bugfix May 21, 2026
@chsami chsami merged commit d7e70e4 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