In Minecraft: Java Edition 26.2, using a spear enchanted with Lunge at the same moment as jumping appears to cause the player's vertical displacement to be applied an extra time for one or more ticks.
This does not appear to be caused by Lunge adding vertical velocity directly. The extra vertical displacement is independent of the Lunge enchantment level and independent of the player's pitch angle. Instead, the extra height seems to depend on the player's current vertical jump velocity.
This can be tested by changing the player's initial jump velocity with Jump Boost and Honey Blocks.
Spear enchanted with Lunge(/give @s minecraft:netherite_spear[minecraft:enchantments={"minecraft:lunge":3}] 1)
Tested on flat ground with no blocks above the player
Steps to reproduce:
Create or load a vanilla singleplayer survival world.
Stand still on a flat surface.
Record the player's starting Y coordinate.
Perform a normal jump and record the maximum Y coordinate.
Equip a spear enchanted with Lunge.
Jump and use the spear's Lunge attack at the same moment as the jump.
Record the maximum Y coordinate.
Repeat the test with different Lunge levels, pitch angles, Jump Boost levels, and on a Honey Block.
Observed result:
When Lunge is used at the same time as jumping, the player's maximum vertical displacement becomes higher than a normal jump.
On a normal block:
Normal jump:
-60.00000 -> -58.74780
Vertical displacement: 1.25220
Jump + Lunge:
-60.00000 -> -57.99455
Vertical displacement: 2.00545
Difference:
2.00545 - 1.25220 = 0.75325
This difference is almost exactly equal to the sum of the first two normal jump vertical velocity values:
v0 = 0.420000
v1 = (0.420000 - 0.08) × 0.98 = 0.333200
v0 + v1 = 0.753200
So the extra displacement appears to match v0 + v1.
On a Honey Block:
Normal jump:
-60.06250 -> -59.67865
Vertical displacement: 0.38385
Jump + Lunge:
-60.06250 -> -59.34133
Vertical displacement: 0.72117
Difference:
0.72117 - 0.38385 = 0.33732
The Honey Block jump appears to use:
v0 = 0.210000
v1 = (0.210000 - 0.08) × 0.98 = 0.127400
v0 + v1 = 0.337400
This closely matches the observed extra displacement of 0.33732.
With Jump Boost I:
Normal jump:
-60.00000 -> -58.16387
Vertical displacement: 1.83613
Jump + Lunge:
-60.00000 -> -57.64393
Vertical displacement: 2.35607
Difference:
2.35607 - 1.83613 = 0.51994
Expected initial jump velocity with Jump Boost I:
v0 = 0.42 + 0.10 = 0.52
The observed extra displacement is approximately 0.52.
With Jump Boost II:
Normal jump:
-60.00000 -> -57.48321
Vertical displacement: 2.51679
Jump + Lunge:
-60.00000 -> -56.86296
Vertical displacement: 3.13704
Difference:
3.13704 - 2.51679 = 0.62025
Expected initial jump velocity with Jump Boost II:
v0 = 0.42 + 0.20 = 0.62
The observed extra displacement is approximately 0.62.
Expected result:
Using Lunge while jumping should not increase the player's maximum vertical jump height unless Lunge is intended to apply vertical movement. Since Lunge appears to be a horizontal movement effect, the maximum jump height should remain the same as a normal jump under the same conditions.
Actual result:
Using Lunge at the same moment as jumping can increase the player's vertical displacement. Depending on the timing, the extra displacement appears to match either one tick or two ticks of the player's current vertical jump velocity.
Additional observations:
The extra vertical displacement does not appear to depend on the Lunge enchantment level.
The extra vertical displacement does not appear to depend on the player's pitch angle.
The effect can allow the player to reach heights that are normally not possible without Jump Boost or an additional block.
On a normal block, the player can reach about 2.00 blocks of vertical displacement.
This can allow climbing over a 1.5-block wall plus a slab, even reaching a 2-block-high wall, or triggering a mace smash attack from flat ground without Jump Boost or a supporting block.
Currently, it is unclear at what timing after jumping Lunge causes one tick or two ticks of vertical velocity to be applied again; in my testing, this seems to depend on the exact timing of the Lunge activation, whether this can duplicate more than two ticks of vertical displacement, whether horizontal displacement is also duplicated, or whether the same behavior can occur during other vertical movement states such as falling.
Edit:
I think the cause of the bug has been identified. When the client activates Lunge, the client has already applied the vertical displacement for the previous tick. However, during a subsequent tick, the server sends back the complete X/Y/Z velocity vector after applying the Lunge impulse—even though the impulse’s Y component is zero—and overwrites the client’s current velocity.
As a result, the client’s vertical velocity is reset to its state from one or two ticks earlier, depending on the response delay, causing additional vertical displacement. A test mod fixes the bug by preventing the Y component of this specific velocity packet from overwriting the client’s current vertical velocity.
Attachments
Comments 3
Can confirm for 26.3 Snapshot 3.
Not only does the vertical displacement get affected by the response delay of Lunge, but the X/Z displacements are also impacted. Therefore, in most cases, using Lunge will cause a sudden deceleration during acceleration. This is particularly evident when using Lunge I during flight in creative mode.
This issue has been reviewed by our team.
Please add new, relevant information if it helps us understand or reproduce the issue. To show that you’re affected, use the vote feature rather than commenting.
If a fix is implemented, it will be listed in our official changelogs.
For major outages or urgent assistance, visit the Minecraft Help Center.
Thank you for helping us improve Minecraft! We saved your files: