mojira.dev
MC-167047

Casting issue: TNT blocks ignited by other explosions lose precision at high coordinates

discovered while testing the fix to MC-125638.

Since the code that primes TNT from other explosions is different from the code that primes it from held items, TNT primed from other explosions is still subject to high coordinate precision loss in this case.

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

Attachments

Comments 0

No comments.

muzikbike

Erik Broes

Confirmed

Low

Entities, Networking

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