Rabbit Pathfinding Fixed (Unofficial Forge Port)
No reviews yet
Fixes rabbit pathfinding / MC-150224. An unofficial Forge ecosystem port from the Fabric version
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Disclaimer
This is a fork of the Rabbit Pathfinding Fixed. I do not claim ownership of the original code, assets nor changing any of the code logic. All credit goes to the litetex. I just made a port for Forge ecosystem.
Rabbit Pathfinding Fixed
Fixes rabbit pathfinding efficiently.
As of 1.21.1 there are multiple problems with rabbit pathfinding:
Basic pathfinding
- The calculation of the jump height/velocity is incorrect and poorly implemented.
This results in too small jumps for climbing over a block. - Rabbits "stall" (no horizontal movement) during jumps - due to this they just jump upwards in the same place when trying to climb a block.
This behavior is caused byRabbitMoveControlwhich only sets the (horizontal) speed correctly during movement but not while jumping. - Rabbits are stuck / try to wander around forever.
- The root cause is that
EntityNavigationsets its timeouts based on movement speed.
If the movement speed is 0 (this is the case when a rabbit/mob is "stuck"), the timeout is also 0... and if the timeout is 0 it's ignored and therefore it's executed forever (or until interrupted by something external like another goal). - Rabbits only have a single goal when idle:
WanderAround(Far). Most other entities also useLookAroundGoal.
Thus the above mentioned infinite navigation is never stopped in favor of executing another goal like in most other mobs. RabbitMoveControl#tickconstantly updates the rabbits speed (RabbitEntity#setSpeed).
While doing this it also indirectly executesmoveControl#moveTothus the rabbit always tries to reach it's last target even when it shouldn't do that.
- The root cause is that
As of
1.21.4/24w46aMC-150224 was fixed, correcting the jump height (1) and fixing the stall (2).
However all other parts - including optimizations and sanity checks in above mentioned fixes - are still missing.
Eating carrot crops
- Rabbits can't reach the crops and always stop one block short of them.
This is due to selecting the incorrect distance from the crop block (it's1but should be0). - Rabbits eat the crop instantly even while still jumping and being in the air.
- The goal/behavior is immediately aborted (after a few ticks - when a target crop block was selected) due to incorrect implementation of
shouldContinueandisTargetPosmethods.
Detailed video comparisons are also available.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers