-
Bug
-
Resolution: Unresolved
-
None
-
Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 18w44a, Minecraft 18w45a, 1.14.4, 19w39a, 1.15 Pre-release 6, 1.15.2, 20w51a, 1.17, 1.21
-
Confirmed
-
Rendering
The end gateway beam stutters during its animation because it only uses integer heights.
To reproduce
With a command block:
- Place an end gateway block. The elevation does not matter.
- Place a command block next to that end gateway.
- Enter the command /data merge block ~1 ~ ~ {Age:1}.
- Change the command block to a repeating, always-active command block.
- The beam should now be visible, repeatedly oscillating at a height of about 20 blocks. Each tick, it will interpolate between the heights at age 1 and 2, and then will be reset to age 1 the next tick.
- Slow down tick rate for observation:
/tick rate 3}
- Observe that the interpolation is not smooth, but instead is always aligned with a block in height.
Previously, MC-136757 worked well for reproducing this since you have a beam that varies in height at a rate you can control. (However, it was fixed).
Without any command blocks:
- Place an end gateway block
- Fly up around 45 blocks
- Toss an item down at the end gateway
- Move back so that you have an angle to see both the gateway and the beam.
- When the beam appears, it will not smoothly move between positions.
If no beam appears, make sure that the item went in and that the gateway block was within your field of view (MC-136756).
Fix
The code to render the beam in TileEntityEndGatewayRenderer uses TileEntityBeaconRenderer.renderBeamSegment, which takes an integer height. Changing that to a double would solve the problem entirely. Note that the rest of the code does correctly interpolate (including using partialTicks); it's only this last step that's incorrect.