New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add L-system trees as decorations #14355
Conversation
In the documentation, I would remove the |
I removed the redundant example, but I'm unsure what should be there, since for all other fields there are proper examples in the table. However, a reference to the |
A question: Since L-system trees might have some randomness involved, how does this randomness get applied in the mapgen? Does this guarantee that equal world seeds will generate an identical map with identical L-system trees? If not, that should be fixed. Because I think all mapgen stuff (terrain, biomes, decorations, etc.) should be equal if the world seed is the same. |
The position is calculated like for any other decoration, depending on the world seed, and the L-system seed gets calculated using the position. (Or the seed will be static if defined in the tree definition.) minetest/src/mapgen/treegen.cpp Line 154 in 3cac17d
Yes. The only concern may be, that two L-system decoration, which get placed at the same position in two different worlds, will look exactly the same. However, this does not happen too often and I doubt anyone would notice. To fix this, the L-system tree seed could generally be calculated differently by taking the world seed into account (and not just the position), but this is out of scope for this PR, I think. |
Rebased. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR works what it promises. I noticed that some decorations might generate in the same place, which is ugly and needs fixing by someone in a separate PR later on.
The comments aside - looks good so far. Thank you.
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
Thanks for the reviews, SmallJoker and sfan5.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works on my machine.
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: sfan5 <sfan5@live.de>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works
Goal of the PR
Resolves #7346
How does it work
It uses the same L-system as
minetest.spawn_tree
, but it's faster since it uses the engine version ofmake_ltree
, which directly writes it into the VoxelManipulator during map generation and does not trigger a light update.Roadmap
It's listed at https://dev.minetest.net/TODO.
To do
This PR is Ready for Review.
How to test
Add some Decorations, e.g. in MTG.
(
aaa
is a good seed for v7)Also test if alias work:
default:coral_skeleton
withalias_test1
,default:permafrost_with_stones
withalias_test2