-
Bug
-
Resolution: Unresolved
-
None
-
Minecraft 16w03a, Minecraft 1.11.2, Minecraft 1.12.2, Minecraft 18w05a, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 19w05a, Minecraft 19w06a, Minecraft 19w07a, 20w29a, 20w49a, 1.16.5, 21w05b, 21w06a, 21w07a, 21w08b, 21w11a, 1.21
-
Confirmed
-
(Unassigned)
The bug
The sword "special attack" will work, even when moving, as long as the attack meter is full.
jeb:
More MC combat shenanigans... Crit and knockback attack types are now separate, and there will be a third type if you move slowly
Code analysis
Based on 1.11.2 decompiled using MCP 9.35 rc1
The method net.minecraft.entity.player.EntityPlayer.attackTargetEntityWithCurrentItem(Entity) has besides other ones the following condition to perform a sweep attack:
this.distanceWalkedModified - this.prevDistanceWalkedModified < this.getAIMoveSpeed()
The problem seems to be that for the server most of the time this.distanceWalkedModified and this.prevDistanceWalkedModified have the same value. Maybe because the client sends packets with its position instead of its motion and therefor this method is not called when the player walks server-side.