| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add to MapgenBasic for use by multiple mapgens.
Add to mgv5 and mgv7, enabled by default.
Similar to mgvalleys caverns but half the scale.
Parameters for upper y limit, distance caverns taper to full size, and
noise threshold (full cavern size).
As with mgvalleys caverns are generated first and classic caves are
disabled in any mapchunk containing a cavern, to avoid excessive
spreading volumes of liquids.
This also avoids floating blobs of liquid where a large classic cave
has overgenerated out into a neighbouring previously-generated mapchunk.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit refactors the majority of the Mapgen settings system.
- MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap,
instead of the EmergeManager.
- New Script API functions added:
core.get_mapgen_setting
core.get_mapgen_setting_noiseparams,
core.set_mapgen_setting, and
core.set_mapgen_setting_noiseparams.
- minetest.get/set_mapgen_params are deprecated by the above new functions.
- It is now possible to view and modify any arbitrary mapgen setting from a mod,
rather than the base MapgenParams structure.
- MapgenSpecificParams has been removed.
|
|
|
|
|
|
| |
- Move mapgen creation logic out of EmergeManager and into Mapgen
- Internally represent mapgen type as an enum value, instead of a string
- Remove the need for a MapgenFactory per mapgen
|
| |
|
| |
|
|
|
|
|
|
| |
This commit moves noise calculation to the functions where the noise is
actually required, increasing the separation of concerns and level of
interdependency for each mapgen method. Valleys Mapgen is left unmodified.
|
|
|
|
|
| |
This commit condenses the above methods into a single implementation used by
V7, V5, Flat, Fractal, and Valleys mapgens and introduces MapgenBasic.
|
|
|
|
|
|
|
| |
BiomeGen defines an interface that, given a set of BiomeParams, computes biomes
for a given area using the algorithm implemented by that specific BiomeGen.
This abstracts away the old system where each mapgen supplied the noises
required for biome generation.
|
|
|
|
|
|
| |
Correct parameter names mg_valleys to mgvalleys
Remove biome NoiseParams from MapgenValleysParams
Improve format of parameter code
|
|
|
|
|
|
| |
Place biome top node on tunnel entrance floor
Instead of doing nothing at node_max.Y + 1 use 1-down
overgeneration for tunnel generation and noisemaps
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid spawn search failing in new specialised mapgens
Increase spawn search range to 4000 nodes
Add getSpawnLevelAtPoint() functions to EmergeManager, class Mapgen
and all mapgens
Remove getGroundLevelAtPoint() functions from all mapgens except mgv6
(possibly to be re-added later in the correct form to return actual
ground level)
Make mgvalleys flag names consistent with other mapgens
Remove now unused 'vertical spawn range' setting
|
|
|
|
|
| |
Update copyright years in all mapgens
Add myself to copyright notices in mgv5 and mgv7
|
| |
|
| |
|
|
|
|
| |
Decorations: Remove lower limit of water level for placement
|
|
|
|
| |
-192 for mgv5 deep oceans. Improve code
|
| |
|
| |
|
|
|
|
| |
Mgv5: Add large_cave_depth constant
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Add large pseudorandom caves below -256
De-link terrain level from water_level
Cavegen: Mgv5 large cave code
|
|
|
|
|
|
|
| |
Caves check for biome nodes, only excavate stone under water level
Unease caves noises, use MT0.3 parameters
Blobgen after cavegen
Biomegen: remove 'is replaceable content' bool
|
|
|
|
| |
This fixes biome surface in tunnels
|
|
|
|
|
|
| |
Use/add stone_surface_max_y to speed-optimise/guide dungeon generation
MgV7: Don't let mountain terrain chop dungeons at mapchunk borders
Make mountain terrain update stone_surface_max_y for caves in mountains
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
|
| |
|
|
|
|
| |
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
|
| |
|
|
blobs
|