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

Lava / water / powder snow bucket desync when using it while rapidly turning

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Fixed
    • Affects Version/s: Minecraft 1.5, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 1.7.4, Minecraft 14w27b, Minecraft 1.8, Minecraft 1.8.1-pre3, Minecraft 1.8.8, Minecraft 15w31c, Minecraft 15w35e, Minecraft 15w43a, Minecraft 15w46a, Minecraft 1.10.2, Minecraft 16w42a, Minecraft 1.12, Minecraft 1.12.1 Pre-Release 1, Minecraft 1.12.1, Minecraft 1.12.2, Minecraft 18w03b, Minecraft 18w10d, Minecraft 18w20c, Minecraft 1.13-pre2, Minecraft 1.13-pre3, Minecraft 1.13-pre8, Minecraft 1.13-pre9, Minecraft 1.13-pre10, Minecraft 1.13, Minecraft 18w30b, Minecraft 18w31a, Minecraft 18w32a, Minecraft 18w33a, Minecraft 1.13.1-pre1, Minecraft 1.13.1, Minecraft 1.13.2-pre1, Minecraft 1.13.2-pre2, Minecraft 1.13.2, Minecraft 18w43b, Minecraft 18w45a, Minecraft 18w46a, Minecraft 18w49a, Minecraft 19w02a, Minecraft 19w03a, Minecraft 19w05a, Minecraft 19w06a, Minecraft 19w07a, Minecraft 19w08a, Minecraft 19w09a, Minecraft 19w11a, Minecraft 19w11b, Minecraft 19w12b, Minecraft 19w13a, Minecraft 19w13b, Minecraft 19w14a, Minecraft 19w14b, Minecraft 1.14 Pre-Release 1, Minecraft 1.14 Pre-Release 2, Minecraft 1.14 Pre-Release 3, Minecraft 1.14 Pre-Release 4, Minecraft 1.14 Pre-Release 5, Minecraft 1.14, Minecraft 1.14.1, Minecraft 1.14.2 Pre-Release 1, Minecraft 1.14.2 Pre-Release 2, Minecraft 1.14.2, Minecraft 1.14.3 Pre-Release 2, Minecraft 1.14.3, Minecraft 1.14.4 Pre-Release 1, Minecraft 1.14.4 Pre-Release 3, Minecraft 1.14.4 Pre-Release 4, Minecraft 1.14.4 Pre-Release 5, Minecraft 1.14.4 Pre-Release 6, 1.14.4, 19w34a, 19w35a, 19w36a, 19w37a, 19w38b, 19w39a, 19w40a, 19w41a, 19w42a, 19w45b, 19w46b, 1.15 Pre-release 1, 1.15 Pre-Release 2, 1.15 Pre-release 3, 1.15 Pre-release 4, 1.15 Pre-release 5, 1.15 Pre-release 6, 1.15 Pre-release 7, 1.15, 1.15.1, 1.15.1 Pre-release 1, 1.15.2 Pre-Release 1, 1.15.2 Pre-release 2, 1.15.2, 20w06a, 20w07a, 20w08a, 20w09a, 20w10a, 20w11a, 20w12a, 20w13a, 20w13b, 20w14a, 20w15a, 20w17a, 20w18a, 20w19a, 20w20a, 20w20b, 20w21a, 20w22a, 1.16 Pre-release 1, 1.16 Pre-release 2, 1.16 Pre-release 3, 1.16 Pre-release 5, 1.16 Pre-release 6, 1.16 Pre-release 7, 1.16 Pre-release 8, 1.16 Release Candidate 1, 1.16, 1.16.1, 20w28a, 20w30a, 1.16.2 Pre-release 1, 1.16.2 Release Candidate 1, 1.16.2 Release Candidate 2, 1.16.2, 1.16.3 Release Candidate 1, 1.16.3, 1.16.4 Pre-release 1, 1.16.4 Pre-release 2, 1.16.4 Release Candidate 1, 1.16.4, 20w45a, 20w46a, 20w48a, 20w49a, 20w51a, 21w03a, 1.16.5, 21w05a, 21w05b, 21w06a, 21w07a, 21w08b, 21w10a
    • Fix Version/s: Minecraft 14w30c, 21w11a
    • Confirmation Status:
      Confirmed
    • Game Mode:
      Survival
    • Category:
      Block states, Networking
    • Mojang Priority:
      Important

      Description

      The bug

      A desync can happen when rapidly turning and trying to use a lava, water, or powder snow bucket. The bucket might appear full but you placed lava / water / powder snow; or the bucket might appear empty but you did not place lava / water / powder snow.

      How to reproduce

      1. Give yourself a lava bucket
      2. Spin around (move mouse) standing on a flat plain and repeatedly try to put down and pick up the lava in the bucket
        About 1 in 10 times, the client and server desync (e.g. I see the lava on the ground, and also in my bucket, until I use the bucket again or move it in my inventory; or I see no lava on the ground and my inventory displays the bucket as empty, but I actually still have lava and can place it).

      Code analysis

      Based on 1.12.2 decompiled using MCP 9.40

      Using a bucket calls server-side net.minecraft.item.ItemBucket.onItemRightClick(World, EntityPlayer, EnumHand) which calculates the position itself and therefore can cause a desync. Ideally the position for picking up liquids and placing them should be calculated client-side only and then the server should only validate it and use that position.

      Examples

        Attachments

        1. 2018-08-31_11.56.14.png
          2018-08-31_11.56.14.png
          640 kB
        2. 2018-08-31_11.56.24.png
          2018-08-31_11.56.24.png
          676 kB
        3. 2020-06-18_17.23.47.png
          2020-06-18_17.23.47.png
          601 kB
        4. 2020-12-07_09.48.56.png
          2020-12-07_09.48.56.png
          1.20 MB
        5. 2021-06-12_13.18.47.png
          2021-06-12_13.18.47.png
          593 kB
        6. CEa9-rIWoAAT7YU.jpg
          CEa9-rIWoAAT7YU.jpg
          90 kB
        7. Disappearance of water.mp4
          1.50 MB
        8. lava block desync.mp4
          9.00 MB
        9. LiquidDesync.mp4
          721 kB
        10. MC-12363 not fixed..mp4
          8.20 MB
        11. Minecraft_bug.mp4
          7.48 MB
        12. powder snow 20w48a.mp4
          8.70 MB
        13. PowderSnowBug.mp4
          7.73 MB
        14. powder snow entity 20w48a.mp4
          8.89 MB
        15. water desync.mp4
          9.15 MB
        16. water place item desync.mp4
          5.35 MB
        17. Water source pre8.gif
          Water source pre8.gif
          8.85 MB

          Issue Links

            Activity

              People

              Assignee:
              panda4994 [Mojang] Panda
              Reporter:
              Avoma Avoma
              Votes:
              138 Vote for this issue
              Watchers:
              59 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                CHK: