Forests, birch forests, old growth birch forests, and dark forests generate lilies of the valley as part of the forest_flowers
feature. Despite this, using bone meal on grass blocks in these biomes only generates dandelions and poppies, and no lilies of the valley.
This makes lily of the valley very difficult to farm, despite it being a relatively common flower, as currently it can only be regrown in specific areas in flower forests, depending on the flower gradient.
How to reproduce
Generate a world with the seed
5946705697671253412
Run the command
/tp 45 64 0
It's a forest biome with a naturally generated patch of lilies of the valley
Use bone meal on the ground within the forest biome
Dandelions and poppies appear, but lilies of the valley never generate
Possible fix
If I had to guess, bone meal only generates the default dandelions and poppies because forest_flowers
also includes tall flowers. One possible fix would be removing the flower_default
feature from the forest biomes, and instead using two separate features for small forest flowers (dandelion, poppy, lily of the valley), and tall forest flowers (rose bush, peony, lilac). Bone meal would be changed so that - in forest biomes - it generates flowers using the new "small forest flowers" feature. This would allow bone meal to generate all three small forest flowers.
Note
Flower forests also generate lilies of the valley, as part of the forest_flowers
feature and the flower_flower_forest
gradient. Using bone meal in flower forests applies the gradient, meaning lily of the valley can only be regrown in areas where the gradient allows it. I'm pointing this out because I imagine this behavior - in flower forests specifically - is intended, although it looks really inconsistent on a surface level.
Splitting forest flowers into two separate features for small flowers and tall flowers would allow flower forests to generate lilies only as part of the gradient - while keeping the tall forest flower feature - resolving the inconsistency described above.
Anyway, changes to the noise used to generate the gradient also made lilies of the valley considerably rarer than before. Issues with lily of the valley in flower forests are covered in MC-241620.
Linked issues
Comments 3
Lilies of the valley being able to generate regardless of whether they were there initially wouldn't be an issue in non-flower forest biomes. I'd argue that would be the ideal behavior, the same happens for poppies and dandelions, as well as plain flowers (daisy, azure bluet, cornflower, as well as different tulip types inside tulip patches)
I haven't done (and don't know how to do) any code analysis myself, but I've heard from someone more knowledgeable that the bonemeal pattern follows the first configured feature of type
flower
defined in a biome.forest_flowers
is defined beforeflower_default
in these biomes' json files, butforest_flowers
is asimple_random_selector
feature rather than aflower
feature — seemingly because then it can then choose between patches of flowers and have a consistent type between them on world generation (as opposed to default flowers, where each flower is randomly a poppy or dandelion).I think grouping the tall flowers (already renewable in themselves) in one feature and the short flowers in another would be beneficial, though I believe the short flower feature would either need to be a gradient in its own right, or lilies of the valley would be able to generate in bonemeal applied in forests regardless of whether they were there initially.