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

Breeze spawns particles when floating above a non-full block

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 23w51b, 24w03a, 24w06a, 24w12a, 24w13a, 1.20.6, 24w18a, 1.21 Pre-Release 2, 1.21, 24w33a, 1.21.1, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 1.21.2 Pre-Release 3, 24w44a, 1.21.3
    • Confirmed
    • Particles
    • Low
    • 1158527
    • Expansion B

      A breeze that occupies a non-full block, such as a slab, will use the block at the position below its feet(?) to determine the spawned particles, even if the breeze is off the ground and spawning particles wouldn't make sense.

      The fix for MC-266430 only covers the situation in which the block position used for particles was wrong. This bug concerns when the block position is right (because the breeze isn't actually standing in air, but rather the slab or other non-full block) but the breeze is still positioned off of the ground.

      Visual analysis

      Based on the attached image:

      Case 1 Case 2 Case 3 Case 4
      Breeze directly on slab Breeze directly on full block Breeze above slab Breeze above full block
      Fixed by MC-266430 Always worked Not fixed Fixed by MC-266430

      Code analysis (Yarn mappings)

      Minecraft 23w51a switched the block position used from particles from the block position below the entity's block position to the block position directly below the entity's feet (or the block position of the entity if the entity is occupying non-air).

      // Before
      BlockState state = this.getWorld().getBlockState(this.getBlockPos().down());
      
      // After
      BlockState state = !this.getBlockStateAtPos().isAir() ? this.getBlockStateAtPos() : this.getSteppingBlockState();
      

      This code should presumably test against the actual shape of the block, though such a fix could possibly break the fact that breezes currently produce the particles of pressure plates they stand on (inside due to pressure plates not having collision).

            Unassigned Unassigned
            haykam haykam
            Votes:
            7 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              CHK: