Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-167046

Casting issue: Lava ember particles and lava popping sounds lose precision on creation at high coordinates


    • Icon: Bug Bug
    • Resolution: Fixed
    • 1.16 Pre-release 1
    • 1.14.4, 1.15 Pre-release 4, 1.15 Pre-release 5, 1.15 Pre-release 6, 1.15 Pre-release 7, 1.15.1 Pre-release 1, 1.15.2 Pre-Release 1, 1.15.2 Pre-release 2, 20w06a, 20w07a, 20w08a, 20w09a, 20w10a, 20w11a, 20w12a, 20w13a, 20w15a, 20w18a, 20w19a, 20w20a, 20w21a, 20w22a
    • Confirmed
    • Networking, Particles, Rendering

      It turns out the flying embers emitted by lava are also subject to 32-bit floating point precision loss. A setup was created with a line of lava at x=16777277, and stacked on top of itself three times and locked in with glass panes, to confirm that the particles were being generated externally.

      The sounds played when lava generates these particles also lose precision for the same reason, although this is basically impossible to notice within vanilla bounds. Nevertheless, this should also be looked at.

      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

        1. 2019-12-03_18.11.15.png
          858 kB
        2. 2019-12-03_18.13.35.png
          863 kB
        3. 2019-12-03_18.14.08.png
          898 kB
        4. 2019-12-03_18.14.10.png
          866 kB

            grum [Mojang] Grum (Erik Broes)
            Awesoman3000 Connor Steppie
            4 Vote for this issue
            1 Start watching this issue