| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
All terrain generation now occurs in one loop, instead of rivers being
carved afterwards in a separate loop.
Fixes the removal of nodes added by mods in 'register on generated'.
Avoids other problems and reduces the chance of future bugs.
Mapchunk generation time is reduced.
Also fixes a code mistake which resulted in river channel generation
being disabled at floatland altitudes even when floatlands were disabled.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Floatland structure is vertically-compressed 3D noise.
Uses a lacunarity of 1.618 (the golden ratio) for high quality
noise.
Floatlands appear between user-settable Y limits, with smooth
tapering at each limit.
Simple user-settable density adjustment.
Shadow propagation is disabled in and just below floatlands, no
shadows are cast on the world surface.
Can be reconfigured to create a solid upper world layer between
the Y limits, lakes/seas can be optionally added to this.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(#9284)
Unified flags handling in C++ and Lua Settings API
-> Reading only, for now. Writing can be implemented later, if needed.
API function to read the currently active flags
-> was impossible from Lua
Co-authored-by: Wuzzy <wuzzy2@mail.ru>
|
|
|
|
| |
Preserve the floatland flag of existing worlds, to be used again
when the new implementation is added.
|
|
|
| |
'large_cave_depth', 'dungeon_ymin' and 'dungeon_ymax' are duplicated across many mapgens so should have been in class MapgenBasic from the start.
|
|
|
|
|
|
|
|
|
| |
Low-disruption first step towards removing the hardcoded cave liquid
code. Since MT 5.0.0 cave liquids can be defined and located by
biome definitions instead.
In games that do not yet use biome definitions to define and locate
cave liquids (MTGame does), lava will now appear below
y = water_level - 256 instead of below 'lava depth' (usually y = -256).
Therefore no change in most mapgens if using the default 'lava depth'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
caves (#8928)
Add mapgen parameters to set the range of the random number of
randomwalk caves per mapchunk, and to set the proportion that are
flooded with liquids.
Default values are, for now, unchanged from the previous hardcoded
values.
Add parameters to allow small randomwalk caves
Disabled by default for now as they have never been present in the
non-mgv6 mapgens.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add user-settable noise parameters for dungeon density to each mapgen,
except V6 which hardcodes this noise parameter.
Move the calculation of number of dungeons generated in a mapchunk out
of dungeongen.cpp and into mapgen code, to allow mapgens to generate
any desired number of dungeons in a mapchunk, instead of being forced
to have number of dungeons determined by a density noise.
This is more flexible and allows mapgens to use dungeon generation to
create custom structures, such as occasional mega-dungeons.
|
|
|
|
|
|
| |
This id must be owned by the child mapgen and never be set to a misc value by a developer
Also use nullptr in some places
|
| |
|
|
|
|
| |
Preserve the upper limit used in mgvalleys.
|
| |
|
|
|
|
|
| |
Allows more control over shape of floatland mountain terrain.
Terrain shape is unchanged.
|
|
* Move files around
|