This PR adds a simple packet translator for the ClientboundMoveMinecartPacket. This packet, introduced in Minecraft 1.21.2, is used to move minecarts around when the new minecart experiment is enabled. Without this PR, minecarts using the new minecart behaviour don't move at all on Bedrock.
Since Bedrock doesn't have a similar minecart experiment and doesn't support entity interpolation steps in the way they are described in this packet, the translator simply takes the last interpolation step and sends its data to the Bedrock client. This isn't a perfect solution, and especially in turns minecarts don't move perfectly along the rails, but it seems this is the best it gets for now.
Note: I've also tried interpolating between the steps on Geyser, which didn't work much better since I was unable to interpolate between ticks, and I tried sending the step with the biggest weight instead of the last interpolation step, which also didn't work much better.
This PR adds a simple packet translator for the
ClientboundMoveMinecartPacket
. This packet, introduced in Minecraft 1.21.2, is used to move minecarts around when the new minecart experiment is enabled. Without this PR, minecarts using the new minecart behaviour don't move at all on Bedrock.Since Bedrock doesn't have a similar minecart experiment and doesn't support entity interpolation steps in the way they are described in this packet, the translator simply takes the last interpolation step and sends its data to the Bedrock client. This isn't a perfect solution, and especially in turns minecarts don't move perfectly along the rails, but it seems this is the best it gets for now.
Note: I've also tried interpolating between the steps on Geyser, which didn't work much better since I was unable to interpolate between ticks, and I tried sending the step with the biggest weight instead of the last interpolation step, which also didn't work much better.