mojira.dev
MC-167042

Casting issue: Campfire embers are generated at a point that loses precision at high coordinates

found while testing the new floating point precision loss fixes.

Basically, this affects only the embers thrown out by the campfire. At high coordinates, they can come from points even outside of the campfire, but usually come from the corners.

This is best tested when greater than 16,777,216 blocks out on both axes, so being 20 million blocks out should suffice. This issue is without a doubt due to incorrectly casting to a 32-bit float from an integer or double, resulting in numerical precision being lost. This can be fixed by simply not casting to a float, which eliminates any chance of losing any precision.

Related tickets: MC-182789

Linked issues

Attachments

Comments 1

Confirmed bug. Went from 0,0 to +29million x & z. https://youtu.be/iZrUQJD3R9U

muzikbike

Erik Broes

Confirmed

Networking, Particles, Rendering

precision-loss

1.14.4, 1.15 Pre-release 4, 1.15 Pre-release 5, 1.15 Pre-release 6, 1.15 Pre-release 7, ..., 20w18a, 20w19a, 20w20a, 20w21a, 20w22a

1.16 Pre-release 1

Retrieved