AAC Move mitigation cancelling knockback
Issue description
Tested extensively. We have a pvp plugin but I disabled it for all testing. With AAC on, vanilla knockback 2 is being mitigated about 1/3 of the time. With AAC movement checks turned off, vanilla knockback 2 gets applied just fine.
"The player ignores velocity sent by the server" id: aac_move_vel score: 53.8 count: 21 time: 2.0 rate: 10.8
Those are the status from some brief testing. I had hoped the 5.0.14 update to velocity would fix this issue, but it does not appear to do so. I was testing with two clients both 1.16.4.
Core information
Server version: 1.16.4
AAC version: 5.0.14-b1
ProtocolLib version: 4.6.0
Special environment information
ViaVersion version: 3.3.0
ViaBackwards version: 3.3.0
Configuration
Using the default AAC configuration.
Please provide a sampling of /debug during this activity.
*/aac debug
Updated with a pastebin link
Problem seems to be that there are two velocities applied nearly at the same time. @konsolas has already planned to improve such situations in a future update.
Ah I see, such as when knockback applies upward and backward movement to the player being hit. Alright I'll look forward to future updates
The problem is this:
[22Mar2021 11:19:51.370] [Render thread/INFO] [CHAT] 9544 TreizeKushrenada move: velocity 0.0000,-0.0784,0.0000
[22Mar2021 11:19:51.907] [Render thread/INFO] [CHAT] 0080 TreizeKushrenada move: velocity 1.1791,0.4000,0.2223
[22Mar2021 11:19:51.915] [Render thread/INFO] [CHAT] 0088 TreizeKushrenada move: ! (S) (3.75, 98.85) jump / 0.0968,0.4200,0.0151 actual:1.1894,0.4000,0.2222 phase
You can see that two velocities are given to the player. Next, the player is moving by the second velocity it got, but AAC was still waiting on the first velocity which just got overridden. So AAC thinks instead that the player jumped wrong.