mojira.dev
MC-267655

Cornflowers, tulips etc. are grown from bone meal in dripstone caves and deep dark

Context

Cornflowers, oxeye daisies and azure bluets are only found in plains, sunflower plains, flower forests and meadows. Tulips can only be found in flower forests (and very rarely in plains and sunflower plains).

The bug

Using bone meal on a grass block in a dripstone cave or a deep dark biome has a chance of growing cornflowers, oxeye daisies, azure bluets, and even tulips! It may also grow dandelions and poppies, but these are native to most biomes anyway.

As a result, these flowers can be obtained without ever finding one of the biomes to which they are native. For example, a player could simply place a grass block in a dripstone cave underneath a desert biome, and apply bone meal until the desired flower is grown.

This behaviour is inconsistent with lush caves, where bone meal grows short grass and tall grass but no flowers.

Expected behaviour

When bone meal is used on grass blocks in dripstone caves or deep dark biomes, only grass (short and tall) should be grown, not flowers. This is the observed behaviour in lush caves.

How to reproduce

  1. Place grass blocks in a lush cave

  2. Use bone meal on the grass blocks many times
    → ✔ Short and tall grass are grown
    → ✔ No flowers are grown

  3. Place grass blocks in a dripstone cave or deep dark biome

  4. Use bone meal on the grass blocks
    → ✔ Short and tall grass are grown
    → ❌ Cornflowers, etc. are grown

Code analysis

Code analysis by @unknown can be found in this comment.

Attachments

Comments 2

huh weird, wonder why that happens

This happens because the deep dark and dripstone caves use the "flower_plain" configured feature, which is used for plains biomes as well. In Bedrock Edition, the deep dark and dripstone caves use the bedrock equivalent of the "flower_default" configured feature, which only uses poppies and dandelions. To fix this, instead of using 

DefaultBiomeFeatures.addPlainsFeatures(var3);

in dripstone caves and deep dark biomes, it should use

DefaultBiomeFeatures.addDefaultFlowers(var4);

In summary: this is due to these 2 biomes using the wrong configured feature. This is also a parity issue.

j_p_smith

(Unassigned)

Confirmed

Gameplay

Low

Parity, World generation

1.20.4, 23w51b, 24w03b, 24w04a, 24w05a, ..., 1.21.3, 1.21.5, 1.21.6, 1.21.7, 1.21.8

Retrieved