mojira.dev
MCPE-135043

Underwater dirt turns to grass in low light levels

If underwater dirt is in contact with a grass block, it will grow grass at light level 3 or less, and the revert to dirt at light level 4 or higher.

The attached world demonstrates this. The randomtickspeed is set to 500 in this world. It contains a 21 x 21-block (interior measurement) box holding water 2 blocks deep above grass and/or dirt. The front and back of the box are glass blocks to let daylight in. There is a single grass block to seed the dirt to convert into grass. Controls provide for inserting or removing the water, and for inserting or removing sea lanterns at Y=13. The only other control you might need to use is setting the time to noon or midnight.

 Steps to Reproduce:

  1. Open the attached world "Underwater grass.mcworld".

  2. Observe that the floor of the box consists of dirt near the windows and grass in the middle.

  3. Remove the water and observe that the dirt changes to grass as expected.

  4. Restore the water.

Expected results:
The grass changes back to dirt.

Observed results:
The grass within 6 blocks of the windows changes to dirt. The grass in the middle is unchanged, even though it's at an even lower light level.

5. Insert the sea lanterns at Y=13.

Expected results:
Either nothing happens (either because the dirt is under water or because the light is too far away to change dirt to grass) or the dirt changes to grass.

Observed results:
The grass changes to dirt, the opposite of what makes sense when you add light.

6. Remove the sea lanterns.
7. Use the command /time set midnight.

Expected results:
Nothing changes.

Observed results:
All the dirt changes to grass, which makes no sense at all.

8. Use the command /time set noon.

Expected results:
The grass reverts to all dirt, since you undid the change that made it turn to grass.

Observed results:
Only the grass within 6 blocks of the windows reverts to dirt, bringing us full circle back to the pattern of the original world as it was uploaded.

Linked issues

Attachments

Comments 2

Confirmed. The light levels originally stated in the description (7 to 8) were incorrect because water reduces light level by 2/block. The actual threshold is light level 3 to 4. Grass turns to dirt underwater at light level 4 or higher, and dirt turns to grass at light level 3 or lower.

Light level 3 to 4 is the same threshold I found when testing MCPE-116758, but it's reversed underwater. In air under chests grass stays grass and spreads when the light level is >= 4, but turns to dirt when the light level is <= 3.

It seems worth mentioning that grass spreading to dirt does not require any light at all when there is air above the grass.

The inversion of light effects underwater here is also similar to the issue in MCPE-112028 where thunderstorms cause the block light passing through water or slabs to function differently.

The behavior described here has changed, probably in 1.19.20 based on a duplicate report from 1.19.10. As of 1.19.22 Hotfix grass now spreads correctly/intuitively, but still does not revert to dirt correctly.

Fixed:

  • Grass no longer spreads underwater.

  • Grass only spreads (changes dirt to grass) under air where the light level is > 7.

Still bugged:

  • Grass does not change to dirt underwater where the light level is < 4.

  • Grass changes to dirt underwater where the light level is > 3

Auldrick

(Unassigned)

559373

Confirmed

Windows

1.19.0.30 Beta, 1.17.11 Hotfix, 1.17.10, 1.17.41 Hotfix, 1.18.2 Hotfix, 1.19.10, 1.19.22 Hotfix, 1.19.31 Hotfix, 1.21.2 Hotfix

Retrieved