aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen/mg_biome.cpp
AgeCommit message (Collapse)Author
2022-04-08Spacing fixesShadowNinja
2021-03-23Fix broken `BiomeGen` abstraction (#11107)sfan5
2020-05-05Fix thread safety of PcgRandom use in BiomeGensfan5
2020-05-05Fix remaining issues with mapgen scriptapisfan5
2020-05-05Give the Mapgen on each EmergeThread its own Biome/Ore/Deco/SchemManager copysfan5
2020-05-05Allow ObjDefManager instances to be clonedsfan5
2019-05-18Allow multiple cave liquids in a biome definition (#8481)Paramat
This allows games to specify biome cave liquids and avoid the old hardcoded behaviour, but preserves the ability to have multiple cave liquids in one biome, such as lava and water. When multiple cave liquids are defined by the biome definition, make each entire cave use a randomly chosen liquid, instead of every small cave segment using a randomly chosen liquid. Plus an optimisation: Don't place nodes if cave liquid is defined as 'air'
2018-06-21Biome API: Fix absent water decorations and dust, in deep water (#7470)Paramat
Previously, the biomemap was 'BIOME_NONE' for a mapchunk column if a stone surface was not found in it, causing water surface decorations and water surface dust to fail. Store the biome ID of the biome calculated at a water surface and add it to the biomemap if the biomemap is 'BIOME_NONE' for the mapchunk column. The biome calculated at a stone surface still has priority for the biomemap entry, as it should. Edit an incorrect comment.
2018-06-08Mapgen flags: Add 'biomes' global mapgen flag (#7355)Paramat
Previously the only way to disable biomes was to 'clear' the registered biomes in a mod, but this method causes large amounts of unnecessary processing: 1. Calculation of 4 2D noises. 2. Looping through all nodes of a mapchunk replacing nodes with identical nodes. The new flag disables those operations.
2018-05-14Vertical biome blend: Tune PRNG seed for finer detail (#7329)Paramat
2018-04-20Node resolver: Make error on fallback optional, disable for mapgen aliasesParamat
2018-04-07Biome API / dungeons: Add biome-defined dungeon nodesParamat
Add new biome fields 'node_dungeon', 'node_dungeon_alt', 'node_dungeon_stair'. If 'node_dungeon' is not defined dungeons fall back to classic behaviour. Remove messy and imprecise dungeon material code from 'generateBiomes()'. Code deciding dungeon materials is now in 'generateDungeons()' and uses the biome at mapchunk centre for more precision. Remove hardcoded 'MG_STONE' types as long intended.
2018-04-05Biome API / cavegen: Add definable cave liquid for a biome (#7192)Paramat
Add 'node_cave_liquid' as a new field in biome registration. If field is absent cave liquids fall back to classic behaviour.
2018-03-16Biomes: Fix vertical biome blendparamat
2018-03-11Biome API: Add 'get_biome_name(biome_id)' APIparamat
Change name of default biome to a more suitable lowercase 'default'.
2018-03-09Biomes: Add 'min_pos'/'max_pos' xyz biome limitsparamat
'y_min' and 'y_max' are still accepted for compatibility.
2018-02-20Vertical biome blend: Tune blend patternsparamat
2018-01-16Biomes: Add 'get heat', 'get humidity', 'get biome data' APIsparamat
'get biome data' returns biome id, heat and humidity. Clean up nearby lines in lua_api.txt.
2018-01-15Mapgen folder: Update and improve copyright information of filesparamat
2018-01-05Biomes: Add vertical biome blend (#6853)Paramat
Add 'vertical blend' parameter to biome registration that defines how many nodes above the biome's 'y max' limit the blend will extend.
2017-11-08Move files to subdirectories (#6599)Vitaliy
* Move files around