-
Bug
-
Resolution: Fixed
-
1.19.4 Pre-release 4
-
None
-
Confirmed
-
Commands, Entities
Display entities that are summoned with custom transformation with an interpolation_duration of 0 and interpolation_start -1 to immediately set the initial transformation will interpolate from the default transformation instead once the next transformation with interpolation is applied. It also appears that as long as only transformations with interpolation_duration 0 have been applied, even minutes after summon, the first non-zero interpolation_duration will animate from the default transformation, so this appears to be an issue where a zero-duration does not update the interpolation properly until the first non-zero duration occurs.
To Reproduce (Unexpected Behavior with Zero Initial Duration)
/summon minecraft:block_display ~ ~ ~ {block_state:{Name:"stone"},transformation:{translation:[0f,1f,0f],scale:[.1f,.1f,.1f],left_rotation:[.3f,.2f,.3f,1f],right_rotation:[0f,0f,0f,1f]},interpolation_start:-1,interpolation_duration:0}
/data merge entity @e[type=block_display,sort=nearest,limit=1] {transformation:{translation:[1.0f,0.0f,1.0f]},interpolation_start:-1,interpolation_duration:20}
- Notice the display resets to the default transformation before performing the new transformation interpolation
To Reproduce (Unexpected Behavior with Delayed Zero Duration)
/summon minecraft:block_display ~ ~ ~ {block_state:{Name:"stone"}}
- Wait a few seconds
/data merge entity @e[type=block_display,sort=nearest,limit=1] {transformation:{translation:[0f,1f,0f],scale:[.1f,.1f,.1f],left_rotation:[.3f,.2f,.3f,1f],right_rotation:[0f,0f,0f,1f]},interpolation_start:-1,interpolation_duration:0}
/data merge entity @e[type=block_display,sort=nearest,limit=1] {transformation:{translation:[1.0f,0.0f,1.0f]},interpolation_start:-1,interpolation_duration:20}
- Notice the display resets to the default transformation before performing the new transformation interpolation
To Reproduce (Expected Behavior with Non-zero Initial Duration)
- Change the initial duration to 1 instead of 0
/summon minecraft:block_display ~ ~ ~ {block_state:{Name:"stone"},transformation:{translation:[0.0f,1.0f,0.0f],scale:[0.1f,0.1f,0.1f],left_rotation:[0.3f,0.2f,0.3f,1.0f],right_rotation:[0.0f,0.0f,0.0f,1.0f]},interpolation_start:-1,interpolation_duration:1}
/data merge entity @e[type=block_display,sort=nearest,limit=1] {transformation:{translation:[1.0f,0.0f,1.0f]},interpolation_start:-1,interpolation_duration:20}
- Notice the display properly animates from the initial transformation before performing the new transformation interpolation