mojira.dev
MCPE-179969

Models lag in following entities

When placing an entity and observing its movement, there is a noticeable delay between the movement of the entity and its corresponding model. This delay affects the visual representation of the entity, causing the model to detach from the entity itself during movement or teleportation. This issue is particularly evident when using commands such as /tp to teleport entities. Additionally, the model may lag behind or detach from the entity during its movement, leading to a desynchronization between the entity and its visual representation.

Steps to Reproduce:

  1. Place an entity

  2. Use debug features or particles to track the entity.

  3. Make the entity move or use /tp command to teleport it.

  4. Notice the delay between the movement of the entity and its model.

  5. Observe any detachment or desynchronization between the entity and its model during movement.

Expected Results:
The model of the entity should move synchronously and smoothly with the entity itself, ensuring accurate representation of its movement in the game world without any detachment or delay.

Observed Results:
The model of the entity lags behind or detaches from the entity during its movement, resulting in a noticeable delay and desynchronization between the entity and its visual representation.

Note:
This issue also applies to endermen, where detachment between the entity and its model occurs during teleportation

"The video I attached shows that I used particles to track the entity every second, demonstrating the delay that occurs."

Linked issues

Attachments

Comments 12

I have previously described this issue as the underlying cause of MCPE-138060, and part of the cause of MCPE-123321, MCPE-151881, MCPE-166739 and perhaps some other issues.

Essentially, client-side entity positions are several ticks or about 1/4 second delayed from server-side positions. Somehow, various animations such as the death animation and entity-generated particles (e.g. slime and magma cube particles) occur at exactly the right time. It is only position that lags.

Would you be able to provide a copy of the add-on / pack that you're using to show the entity model please? That would help the team to further debug the issue that you're reporting here.

The addon is not necessary to confirm this report. You can use the following particle command in a repeat, unconditional, always active command block with 0 delay:
/execute at @e[type = !player] run particle minecraft:villager_happy ~~~

This command creates a particle at each entity's server-side position. Record any entity moving and watch the recording slowly or study it frame by frame. The reports linked as "related" give various specific examples.

When an entity changes position server-side, both both Java Edition and Bedrock Edition animate the position change client-side so that it appears more like a continuous movement. Both editions begin the animation immediately, so there is no delay in the start time of the position-change animation. However, there are significant differences between Java and Bedrock:

  • Bedrock's animation takes much longer (900 ms) than Java's (200 ms).

  • Bedrock's animation is continuously eased. That is, movement velocity starts slow and speeds up at the beginning, adjusts smoothly to changes in speed or direction, and slows down at the end.

You can see these differences in these two videos of a pig teleported 2 blocks to the left, and then 2 ticks later teleported 2 blocks to the right. Particles above the pigs track their server-side positions. These clips should be compared in slow motion or frame-by-frame.

[media][media]

The Bedrock’s easing gives players a less accurate visual representation of where entities actually are, and it makes movement appear to be delayed or "laggy". Entities that are continuously moving server-side (for example, walking or falling) appear farther away their server-side position than on Java. Compare the following clips of a pig falling from 50 blocks up. Again, particles above the pigs track their server-side positions, and the clips should be compared slow motion or frame-by-frame.

[media][media]

In Bedrock Edition mobs that move quickly typically appear on-screen near the position they had occupied server-side 4 ticks prior. This can be quite dangerous and disorienting. For example, baby zombies running toward a target appear to have double their melee attack reach:

[media]

This makes the game more harder, the mob attack could be fixed by adding “horizontal_reach” with a certain value for the mobs that use “melee_box_attack” which could be adjusted to match their hitboxes.

2 more comments

Affects 1.21.131 as well.

I am migrating here from the issue of horses and other mounts being clunky and unridable on bedrock. If this is the root cause of the various issues reported recently with the mounts, and this issue has been open for a while, well before the mount issues came about, then why did the mounts only become unridable in this latest Mounts of Mayhem update? They were not like this before.

Nighthunter2269: mounted horses and boats became unplayable because of the change described in Mega_Spuds resolution comment on that report. They used to have special handling that overrode the issue reported here, and it was removed to make new features possible.

Any hope on this issue being fixed due to the pushback from MCPE-231719?

At some point, I started to feel like it was harder to hit mobs with a bow,
but is it reasonable to assume that this bug is the reason?

Flizer

(Unassigned)

1239506, 1189936

Confirmed

Multiple

1.21.62 Hotfix, 1.20.71 Hotfix, 1.20.81 Hotfix, 1.21.0, 1.21.2 Hotfix, ..., 1.21.40, 1.21.44 Hotfix, 1.21.60.24 Preview, 1.21.101 Hotfix, 1.21.131 Hotfix

Retrieved