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
Place grass blocks in a lush cave
Use bone meal on the grass blocks many times
→ ✔ Short and tall grass are grown
→ ✔ No flowers are grownPlace grass blocks in a dripstone cave or deep dark biome
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
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.
huh weird, wonder why that happens