
Player Vehicle Desync Fix
Активный0.0
Установок
0
Последнее обновление
3 года назад
Клиент
Утилиты
Invoking ServerPlayerEntity.startRiding(vehicle) on server side while that vehicle is far away or even not loaded gives weird behavior such that:
- Player just teleporting to the vehicle for riding
- Player can just walk around freely in client's perspective while server still thinks player is riding a vehicle. And this makes player unable to interact with others that are far away from the vehicle since they are in unreachable distance on the server side. Also pressing dismount button makes player dismount next to the vehicle which looks like teleporting to it on client's perspective.
- If the vehicle is in the middle of teleportation in client side (teleportation on server side can be just processed immediately) and player rides to it on client side, teleportation of that vehicle effectively stops at that point and player might stuck in the middle of blocks.
And this mod solves the issue by doing two things:
- Server keep sending riding status synchronization packet when server detects desync on player's riding status. (player riding on server side while client is not)
- Client receiving that packet checks if the target vehicle is actually around the player before actually calling ClientPlayerEntity.startRiding(entity) in order to prevent the unwanted side effect.