Skip to content

feat(auto-fish): add offhand fishing rod support - #6653

Open
Big-Iron-Cheems wants to merge 5 commits into
MeteorDevelopment:masterfrom
Big-Iron-Cheems:feat/auto-fish-offhand
Open

feat(auto-fish): add offhand fishing rod support#6653
Big-Iron-Cheems wants to merge 5 commits into
MeteorDevelopment:masterfrom
Big-Iron-Cheems:feat/auto-fish-offhand

Conversation

@Big-Iron-Cheems

Copy link
Copy Markdown
Collaborator

Type of change

  • Bug fix
  • New feature

Description

Refactors AutoFish to use an explicit state machine for managing the fishing lifecycle.

The previous implementation tracked the fishing lifecycle through wasHooked and several conditional checks.
This change introduces explicit IDLE, WAITING_FOR_BITE, and WAITING_TO_REEL states, making the module's behavior easier to follow and maintain.

Adds support for fishing rods in the offhand and resolves which hand currently contains a usable rod when casting or reeling.
This also handles moving the rod between the main hand and offhand while fishing.

The existing fishing behavior is preserved, including cast/catch delays, anti-break handling, automatic rod switching, and automatic recasting.

Related issues

N/A

How Has This Been Tested?

Tested in-game to verify that:

  • Fishing rods in the offhand are used correctly.
  • Hotbar rod selection and auto-switching continue to work.
  • Casting and reeling use the hand that currently contains a usable fishing rod.
  • Moving the fishing rod between the main hand and offhand while fishing works correctly.
  • Bite detection and catch delays continue to work as expected.
  • Anti-break behavior remains unchanged.
  • Automatic recasting continues to work.

Checklist:

  • My code follows the style guidelines of this project.
  • I have added comments to my code in more complex areas.
  • I have tested the code in both development and production environments.

@Eccys

Eccys commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

i wonder if it's possible to do double fishing by using both offhand and main hand at the same time and intelligently switch.

it won't work; it'll just reel in the first rod.

@Big-Iron-Cheems

Copy link
Copy Markdown
Collaborator Author

Reminder: preserve the existing auto-switch behavior while adding offhand support.

Currently getRodHand() short-circuits findBestRod() whenever either hand contains a usable rod.
This means a player holding a worse rod will no longer switch to a better rod in the hotbar.

The intended behavior should remain that findBestRod() has priority when auto-switch is enabled:
select the best usable hotbar rod, while still allowing an already-held/offhand rod to be used when appropriate.

Also, findBestRod() should also calculate the score of the offhand rod if present.

Select the highest-scoring usable rod from the hotbar and offhand when casting or reeling.

Preserve selected-hotbar-first tie-breaking and respect auto-switch and anti-break behavior.
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