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.
Other fixes
- The client-side rotation of Adults rabbit's head is most of the time slightly upwards - MC-306682 affects 26.1 or later
Detailed video comparisons are also available.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
1.5.0 |
26.3
|
fabric
|
Download |
|
1.4.0 |
26.2
|
fabric
|
Download |
|
1.3.0 |
26.1.2
|
fabric
|
Download |
|
1.2.0 |
26.1, 26.1.1, 26.1.2
|
fabric
|
Download |
|
1.1.0 |
1.21.11
|
fabric
|
Download |
|
1.0.8 |
1.21.10
|
fabric
|
Download |
|
1.0.6.1-legacy+1.20 |
1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6
|
fabric
|
Download |
|
1.0.7 |
1.21.10, 1.21.9
|
fabric
|
Download |
|
1.0.6-legacy+1.18 |
1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
|
fabric
|
Download |
|
1.0.5 |
1.21.6, 1.21.7, 1.21.8
|
fabric
|
Download |
|
1.0.4 |
1.21.5, 1.21.6, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a
|
fabric
|
Download |
|
1.0.3 |
1.21.4, 25w02a, 25w03a, 25w04a, 25w05a
|
fabric
|
Download |
|
1.0.2 |
1.21.3
|
fabric
|
Download |
|
1.0.1 |
1.21.2, 1.21.3
|
fabric
|
Download |
|
1.0.0 |
1.21, 1.21.1, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a
|
fabric
|
Download |