feather
feather copied to clipboard
Feature: EntityAction
Feature Request
Handle the EntityAction request in feather/server/src/packet_handlers.rs
Description
This feature request is very similar to #422 but with a lot more values to track.
- [x] Start sneaking
- [x] Stop sneaking
- [ ] Leave bed
- [x] Start sprinting
- [x] Stop sprinting
- [ ] Start jump with horse
- [ ] Stop jump with horse
- [ ] Open horse inventory
- [ ] Start flying with elytra
wiki Notice how there is no StopFlyingEvent, so the server is expected to track this value. How this is kept in synch i have no idea. A reasonable first approximation is that we just don't bother with keeping it in synch, as the physics system is still missing #357. Another noteworthy thing is that the Leave bed packet is not sent by the client if night is changed to day by players sleeping. So a sleep tracking system has to trigger a BedExit event. Open horse inventory is only sent when pressing the inventory key (default: E) while on a horse — all other methods of opening a horse's inventory (involving right-clicking or shift-right-clicking it) do not use this packet.
Notice how there is no StopFlyingEvent, so the server is expected to track this value. How this is kept in synch i have no idea.
It's just canceled if they land on the ground, right? Elytras do have higher desync issues that most other things.
Hey @AL1L, just so you're aware, this is a clean-room project and we should abstain from reading decompiled code from the vanilla server. See https://github.com/feather-rs/feather/blob/main/CONTRIBUTING.md#original-code-code-from-minecraft