aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_mapgen.cpp
AgeCommit message (Collapse)Author
2017-03-16Get biome list: Downgrade missing biome message to infostreamparamat
It is harmless for a biome listed in an ore or decoration registration to be missing. Now that we are registering certain biomes or not based on options (such as floatland biomes), the biome lists in ore and decoration registrations trigger these error messages, avoiding these error messages would need a large amount of duplication of ore and decoration registrations.
2017-03-11Light calculation: New bulk node lighting codeDániel Juhász
This commit introduces a new bulk node lighting algorithm to minimize lighting bugs during l-system tree generation, schematic placement and non-mapgen-object lua voxelmanip light calculation. If the block above the changed area is not loaded, it gets loaded to avoid lighting bugs. Light is updated as soon as write_to_map is called on a voxel manipulator, therefore update_map does nothing.
2016-12-20Mod security: Allow read-only access to all mod pathsShadowNinja
2016-12-08Simple decorations: Fix range check for deco->deco_param2Auke Kok
Allow any int value, and properly range check it before casting.
2016-12-07Simple deco: Allow setting param2 value on placementAuke Kok
Schematics can already be placed with a param2 value, but not simple 1-node plant decorations of the simple type. This adds a `param2` field to the simple deco type that is checked to be between 0 and 255, and put to the placed node at mapgen. This can be used to put a degrotate value in, or e.g. a fill value for leveltype nodes, or a place_param2 value at mapgen placement, or vary the shape of meshoptions plantlike drawtype.
2016-10-06Use more unordered_maps to improve performance in c++11 buildsLoic Blot
2016-09-14Decorations: Generalise 'spawn by' to be used by all decoration typesparamat
In lua_api.txt, make clear that 'place on' and 'spawn by' can be lists.
2016-08-10Permit usage of std::unordered_map & std::unorderered_set on c++11 compilers ↵Ner'zhul
(#4430) This fallback to std::map & std::set for older compilers Use UNORDERED_SET as an example in decoration and ore biome sets Use UNORDERED_MAP as an example in nameidmapping
2016-07-03Add MapSettingsManager and new mapgen setting script API functionskwolekr
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.
2016-06-05Biome API: Add per-biome riverbed material and depthparamat
Mgvalleys: Remove riverbed sand placement from base terrain generation Riverbed material placement moved to MapgenBasic::generateBiomes() Document fields and add note that the biome API is still unstable
2016-05-27Fix MgStoneType and BiomeType enum nameskwolekr
2016-05-27Move biome calculation to BiomeGenkwolekr
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.
2015-12-07Fix threshold typeest31
Fix the type of the threshold value for mapgen. The commit a78dd7f2b6b0e1fefdbaa1ae21b722dd4459e4f4 "Fix spelling of noise_threshold" has changed it to be read as int, but it can have non-integral values too. Thanks to @kwolekr for pointing this out.
2015-12-06Fix spelling of noise_thresholdJun Zhang
2015-11-05Schematics: Add core.place_schematic_on_vmanip APIkwolekr
Fix memory leak in minetest.place_schematic Slightly refactor Schematic code
2015-10-25SAPI: Throw runtime error instead of if l_get_mapgen_object called in ↵kwolekr
incorrect thread
2015-10-25SAPI: Mark all Lua API functions requiring envlockkwolekr
2015-10-04Allow setting chunksize in core.set_mapgen_paramskwolekr
2015-10-04Define and use limit constants for Irrlicht fixed-width typeskwolekr
2015-10-02Add get_biome_id(biome_name) callbackDuane Robertson
It returns the index used in mg->biomemap for a given biome name. The biomemap is useless without this unless you re-register all existing biomes, which could cause problems for anyone else trying to use biomemap. With this, you can quickly create a lookup table of ids and names.
2015-09-17Ore: Add puff ore typekwolekr
2015-09-13Ore: Add ore sheet column height range selectionkwolekr
Modders are now able to select the range of ore column height, and the midpoint at which they 'grow' starting from. This commit adds three new parameters for the 'sheet' ore type: column_height_min, column_height_max, and column_midpoint_factor. clust_size is now deprecated for this ore type.
2015-08-03Biome API: Make fallback biome stone and water, disable fillerparamat
2015-07-25Fix MSVC number conversion warningSmallJoker
2015-06-20Mapgen objects: Enable heatmap and humidmap for all biome api mapgensparamat
2015-05-28Make get_biome_list() error message more helpfulkwolekr
2015-05-28Add some missing getter functions to the lua APITeTpaAka
ObjectRef: get_properties get_armor_groups get_animation get_attach get_bone_position Players: get_physics_override hud_get_hotbar_itemcount hud_get_hotbar_image hud_get_hotbar_selected_image get_sky get_day_night_ratio get_local_animation get_eye_offset Global: minetest.get_gen_notify minetest.get_noiseparams
2015-05-17Fix null dereference when loading schematic from definition without a ↵kwolekr
NodeDefManager
2015-05-16Add mod securityShadowNinja
Due to compatibility concerns, this is temporarily disabled.
2015-05-13Fix compiler warning about sign comparisonest31
2015-05-09Schematics: Add per-node force placement optionkwolekr
2015-05-08Tests: Add schematic unittestskwolekr
Improve schematic file-saving interface Add ability to create temporary test files
2015-05-07Schematics: Add indent-with-space option for schematic Lua table serializationkwolekr
2015-05-07NodeResolver: Remove NodeResolveMethodkwolekr
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-04-20Ore: Add biomes parameterkwolekr
2015-04-19Biome API: Add biome-specific river waterparamat
2015-04-17Schematics: Fix core.schematic_create()kwolekr
2015-04-17Switch to check_v3s16 in l_mapgen.cpp and l_vmanip.cpp for type safetykwolekr
2015-04-16Biomes: Remove referenced biomes from Decorations on clearkwolekr
2015-04-16Schematics: Refactor NodeResolver and add NodeResolveMethodkwolekr
NodeResolver name lists now belong to the NodeResolver object instead of the associated NodeDefManager. In addition to minimizing unnecessary abstraction and overhead, this move permits NodeResolvers to look up nodes that they had previously set pending for resolution. So far, this functionality has been used in the case of schematics for serialization/deserialization.
2015-04-13Schematics: Reorganize (de)serialization and add Lua serialization APIkwolekr
2015-04-08Schematics: Prepend mod path to relative schematic filepathskwolekr
2015-04-01Move globals from main.cpp to more sane locationsCraig Robbins
Move debug streams to log.cpp|h Move GUI-related globals to clientlauncher Move g_settings and g_settings_path to settings.cpp|h Move g_menuclouds to clouds.cpp|h Move g_profiler to profiler.cpp|h
2015-03-31ObjDefManager, Mapgen SAPI: Huge refactoringkwolekr
- General code cleanup - Unified object creation and loading - Specifying objects in APIs is now orthogonal (i.e. anything can take an ID, name string, or the raw table definition (and automatically registers if present
2015-03-31GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr
Add core.clear_registered_schematics() and refactor schematics somewhat
2015-03-24lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optionalparamat
2015-03-23Add core.register_schematic() and cache schematics on usekwolekr
2015-03-20Revert "Fix issue #2441: crash on respawn, since a conversion std::list to ↵kwolekr
std::vector on Environment.cpp" This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver list clearing
2015-03-11lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorationsparamat
2015-03-05Fix issue #2441: crash on respawn, since a conversion std::list to ↵Loic Blot
std::vector on Environment.cpp * Also change some std::list to std::vector for ClientMap::renderMap * Remove disabled code in ClientMap::renderMap, disabled since a long time