mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
mapgen: Resolve nodes in ctor rather than makeChunk
This commit is contained in:
parent
03f3f958ed
commit
6b4307791a
4 changed files with 62 additions and 50 deletions
|
@ -71,6 +71,7 @@ MapgenV6::MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge) {
|
|||
np_trees = &sp->np_trees;
|
||||
np_apple_trees = &sp->np_apple_trees;
|
||||
|
||||
//// Create noise objects
|
||||
noise_terrain_base = new Noise(&sp->np_terrain_base, seed, csize.X, csize.Y);
|
||||
noise_terrain_higher = new Noise(&sp->np_terrain_higher, seed, csize.X, csize.Y);
|
||||
noise_steepness = new Noise(&sp->np_steepness, seed, csize.X, csize.Y);
|
||||
|
@ -78,6 +79,36 @@ MapgenV6::MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge) {
|
|||
noise_mud = new Noise(&sp->np_mud, seed, csize.X, csize.Y);
|
||||
noise_beach = new Noise(&sp->np_beach, seed, csize.X, csize.Y);
|
||||
noise_biome = new Noise(&sp->np_biome, seed, csize.X, csize.Y);
|
||||
|
||||
//// Resolve nodes to be used
|
||||
INodeDefManager *ndef = emerge->ndef;
|
||||
|
||||
c_stone = ndef->getId("mapgen_stone");
|
||||
c_dirt = ndef->getId("mapgen_dirt");
|
||||
c_dirt_with_grass = ndef->getId("mapgen_dirt_with_grass");
|
||||
c_sand = ndef->getId("mapgen_sand");
|
||||
c_water_source = ndef->getId("mapgen_water_source");
|
||||
c_lava_source = ndef->getId("mapgen_lava_source");
|
||||
c_gravel = ndef->getId("mapgen_gravel");
|
||||
c_cobble = ndef->getId("mapgen_cobble");
|
||||
c_desert_sand = ndef->getId("mapgen_desert_sand");
|
||||
c_desert_stone = ndef->getId("mapgen_desert_stone");
|
||||
c_mossycobble = ndef->getId("mapgen_mossycobble");
|
||||
c_sandbrick = ndef->getId("mapgen_sandstonebrick");
|
||||
c_stair_cobble = ndef->getId("mapgen_stair_cobble");
|
||||
c_stair_sandstone = ndef->getId("mapgen_stair_sandstone");
|
||||
if (c_desert_sand == CONTENT_IGNORE)
|
||||
c_desert_sand = c_sand;
|
||||
if (c_desert_stone == CONTENT_IGNORE)
|
||||
c_desert_stone = c_stone;
|
||||
if (c_mossycobble == CONTENT_IGNORE)
|
||||
c_mossycobble = c_cobble;
|
||||
if (c_sandbrick == CONTENT_IGNORE)
|
||||
c_sandbrick = c_desert_stone;
|
||||
if (c_stair_cobble == CONTENT_IGNORE)
|
||||
c_stair_cobble = c_cobble;
|
||||
if (c_stair_sandstone == CONTENT_IGNORE)
|
||||
c_stair_sandstone = c_sandbrick;
|
||||
}
|
||||
|
||||
|
||||
|
@ -426,33 +457,6 @@ void MapgenV6::makeChunk(BlockMakeData *data) {
|
|||
// Make some noise
|
||||
calculateNoise();
|
||||
|
||||
c_stone = ndef->getId("mapgen_stone");
|
||||
c_dirt = ndef->getId("mapgen_dirt");
|
||||
c_dirt_with_grass = ndef->getId("mapgen_dirt_with_grass");
|
||||
c_sand = ndef->getId("mapgen_sand");
|
||||
c_water_source = ndef->getId("mapgen_water_source");
|
||||
c_lava_source = ndef->getId("mapgen_lava_source");
|
||||
c_gravel = ndef->getId("mapgen_gravel");
|
||||
c_cobble = ndef->getId("mapgen_cobble");
|
||||
c_desert_sand = ndef->getId("mapgen_desert_sand");
|
||||
c_desert_stone = ndef->getId("mapgen_desert_stone");
|
||||
c_mossycobble = ndef->getId("mapgen_mossycobble");
|
||||
c_sandbrick = ndef->getId("mapgen_sandstonebrick");
|
||||
c_stair_cobble = ndef->getId("mapgen_stair_cobble");
|
||||
c_stair_sandstone = ndef->getId("mapgen_stair_sandstone");
|
||||
if (c_desert_sand == CONTENT_IGNORE)
|
||||
c_desert_sand = c_sand;
|
||||
if (c_desert_stone == CONTENT_IGNORE)
|
||||
c_desert_stone = c_stone;
|
||||
if (c_mossycobble == CONTENT_IGNORE)
|
||||
c_mossycobble = c_cobble;
|
||||
if (c_sandbrick == CONTENT_IGNORE)
|
||||
c_sandbrick = c_desert_stone;
|
||||
if (c_stair_cobble == CONTENT_IGNORE)
|
||||
c_stair_cobble = c_cobble;
|
||||
if (c_stair_sandstone == CONTENT_IGNORE)
|
||||
c_stair_sandstone = c_sandbrick;
|
||||
|
||||
// Maximum height of the stone surface and obstacles.
|
||||
// This is used to guide the cave generation
|
||||
s16 stone_surface_max_y;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue