Skip to content

Various movement fixes: Send elytra gliding states properly, send sprinting input earlier, don't allow sprinting on water#5518

Merged
onebeastchris merged 15 commits into
GeyserMC:masterfrom
onebeastchris:fireworks
May 11, 2025
Merged

Various movement fixes: Send elytra gliding states properly, send sprinting input earlier, don't allow sprinting on water#5518
onebeastchris merged 15 commits into
GeyserMC:masterfrom
onebeastchris:fireworks

Conversation

@onebeastchris
Copy link
Copy Markdown
Member

@onebeastchris onebeastchris commented May 3, 2025

To-Do's:

  • Firework boosting is client-side... need to figure out a way to cancel it -> not dealing with here.

Other changes:

Fixes #5469, Fixes #5385, Fixes #5207

@Oryxel
Copy link
Copy Markdown
Contributor

Oryxel commented May 4, 2025

  • Firework boosting is still very broken

I thought that on newer version the firework boosting is handled client-sided but Geyser still try to send a motion boost velocity which I don't think is needed anymore (https://github.com/GeyserMC/Geyser/blob/master/core/src/main/java/org/geysermc/geyser/entity/type/FireworkEntity.java)

@onebeastchris
Copy link
Copy Markdown
Member Author

Yeah, it seems that this boost isn't relevant anymore - the client boosts on its own :(

I've yet to try the MovementEffectPacket to force-stop boosting. The issue that's occurring here is that the Bedrock client can just start boosting without ever "announcing" gliding with the elytra, which is an issue as then the Java server would forcefully stop it

@Oryxel
Copy link
Copy Markdown
Contributor

Oryxel commented May 4, 2025

Yeah, it seems that this boost isn't relevant anymore - the client boosts on its own :(

I've yet to try the MovementEffectPacket to force-stop boosting. The issue that's occurring here is that the Bedrock client can just start boosting without ever "announcing" gliding with the elytra, which is an issue as then the Java server would forcefully stop it

aw sucks then :(, I never really encounter the boosting without "announcing" gliding tho, and MovementEffectPacket will still allow them to boost for 1 tick xD and will be useless if it arrives late (lol), I think your best bet is trying teleport packet or movement rewind.

To-Do's:
- Firework boosting is still very broken
- see how BDS handles this mess

Other changes:
Don't send player's onGround when riding vehicles
Support null values for data components (removal of default components)
Fix possible NPE in JavaSetEquipmentTranslator with debug mode enabled
…llow the Bedrock client to stop gliding mid-air
@onebeastchris onebeastchris changed the title WIP - attempt at better handling of Bedrock's broken elytra behavior Attempt at better handling of Bedrock's broken elytra behavior May 5, 2025
@onebeastchris onebeastchris changed the title Attempt at better handling of Bedrock's broken elytra behavior Various movement fixes: Send elytra gliding states properly, send sprinting input earlier, don't allow sprinting on water May 10, 2025
@onebeastchris onebeastchris mentioned this pull request May 10, 2025
@onebeastchris onebeastchris merged commit bcae220 into GeyserMC:master May 11, 2025
1 check passed
@onebeastchris onebeastchris deleted the fireworks branch May 19, 2025 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants