Skip to content

ClientboundPlayerPositionPacket not handled correctly #4154

@FloG99

Description

@FloG99

Describe the bug

I experienced the following problems using the ClientboundPlayerPositionPacket:

  1. When using RelativeMovement, the players momentum is lost. This should not be the case. In Java Edition, the player keeps his momentum when teleported with RelativeMovement.
  2. Setting the pitch does not work. The player will just be facing straight down. (The same problem might exist for yaw? Didn't test)

To Reproduce

Code example for both:

ClientboundPlayerPositionPacket posPacket = new ClientboundPlayerPositionPacket(0, 0, 0, 0, 45f, Set.of(
            RelativeMovement.X,
            RelativeMovement.Y,
            RelativeMovement.Z,
            RelativeMovement.Y_ROT
), Integer.MAX_VALUE);
((CraftPlayer) player).getHandle().connection.send(packet);

To reproduce 1)

  • Jump from a cliff
  • Run the code (via command, for example) while you are falling
    -> On Bedrock Edition, this will stop you mid-air for a moment (= momentum got lost)
    -> On Java Edition, you will just keep your momentum

To reproduce 2)

  • Look infront of you
  • Run the code (via command, for example)
    -> On Bedrock Edition, you will now face the ground
    -> On Java Edition, your pitch will be changed to 45f, making you look at a 45 degree angle at the ground infront of you.

Expected behaviour

You should keep your momentum

Your pitch should be changed to 45f, making you look at a 45 degree angle at the ground infront of you.

Screenshots / Videos

No response

Server Version and Plugins

Version: git-Purpur-2050 (MC: 1.20.1)
WorldEdit, Vulkan, ViaVersion, Vault, TerraformGenerator, Terra, MVC, LPC, Luckperms, and a lot of selfmade ones, which I don't think are the issue.

Geyser Dump

https://dump.geysermc.org/1VDBYkC0dPmECOsBfumMQ4rEUFIyPvvt

Geyser Version

2.2.0-SNAPSHOT (git-master-69f89ed)

Minecraft: Bedrock Edition Device/Version

1.20.31, Windows 10

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Confirmed BugThe bug reported is confirmed and able to be replicated.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions