summaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_mapgen.cpp
Commit message (Collapse)AuthorAge
* read_schematic_replacements: ensure fields are strings (#5726)Loïc Blot2017-05-08
| | | | | | | | * read_schematic_replacements: ensure fields are strings add a type check before reading strings on read_schematic_replacements deserializer * throw LuaError instead of asserting the whole client
* Get biome list: Downgrade missing biome message to infostreamparamat2017-03-16
| | | | | | | | | | 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.
* Light calculation: New bulk node lighting codeDániel Juhász2017-03-11
| | | | | | | | | | | 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.
* Mod security: Allow read-only access to all mod pathsShadowNinja2016-12-20
|
* Simple decorations: Fix range check for deco->deco_param2Auke Kok2016-12-08
| | | | Allow any int value, and properly range check it before casting.
* Simple deco: Allow setting param2 value on placementAuke Kok2016-12-07
| | | | | | | | | | | | | 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.
* Use more unordered_maps to improve performance in c++11 buildsLoic Blot2016-10-06
|
* Decorations: Generalise 'spawn by' to be used by all decoration typesparamat2016-09-14
| | | | In lua_api.txt, make clear that 'place on' and 'spawn by' can be lists.
* Permit usage of std::unordered_map & std::unorderered_set on c++11 compilers ↵Ner'zhul2016-08-10
| | | | | | | | | (#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
* Add MapSettingsManager and new mapgen setting script API functionskwolekr2016-07-03
| | | | | | | | | | | | | | | 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.
* Biome API: Add per-biome riverbed material and depthparamat2016-06-05
| | | | | | 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
* Fix MgStoneType and BiomeType enum nameskwolekr2016-05-27
|
* Move biome calculation to BiomeGenkwolekr2016-05-27
| | | | | | | 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.
* Fix threshold typeest312015-12-07
| | | | | | | | | | | 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.
* Fix spelling of noise_thresholdJun Zhang2015-12-06
|
* Schematics: Add core.place_schematic_on_vmanip APIkwolekr2015-11-05
| | | | | Fix memory leak in minetest.place_schematic Slightly refactor Schematic code
* SAPI: Throw runtime error instead of if l_get_mapgen_object called in ↵kwolekr2015-10-25
| | | | incorrect thread
* SAPI: Mark all Lua API functions requiring envlockkwolekr2015-10-25
|
* Allow setting chunksize in core.set_mapgen_paramskwolekr2015-10-04
|
* Define and use limit constants for Irrlicht fixed-width typeskwolekr2015-10-04
|
* Add get_biome_id(biome_name) callbackDuane Robertson2015-10-02
| | | | | | | 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.
* Ore: Add puff ore typekwolekr2015-09-17
|
* Ore: Add ore sheet column height range selectionkwolekr2015-09-13
| | | | | | | | 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.
* Biome API: Make fallback biome stone and water, disable fillerparamat2015-08-03
|
* Fix MSVC number conversion warningSmallJoker2015-07-25
|
* Mapgen objects: Enable heatmap and humidmap for all biome api mapgensparamat2015-06-20
|
* Make get_biome_list() error message more helpfulkwolekr2015-05-28
|
* Add some missing getter functions to the lua APITeTpaAka2015-05-28
| | | | | | | | | | | | | | | | | | | | | | | 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
* Fix null dereference when loading schematic from definition without a ↵kwolekr2015-05-17
| | | | NodeDefManager
* Add mod securityShadowNinja2015-05-16
| | | | Due to compatibility concerns, this is temporarily disabled.
* Fix compiler warning about sign comparisonest312015-05-13
|
* Schematics: Add per-node force placement optionkwolekr2015-05-09
|
* Tests: Add schematic unittestskwolekr2015-05-08
| | | | | Improve schematic file-saving interface Add ability to create temporary test files
* Schematics: Add indent-with-space option for schematic Lua table serializationkwolekr2015-05-07
|
* NodeResolver: Remove NodeResolveMethodkwolekr2015-05-07
| | | | This simplifies NodeResolver logic and makes some interfaces cleaner.
* Ore: Add biomes parameterkwolekr2015-04-20
|
* Biome API: Add biome-specific river waterparamat2015-04-19
|
* Schematics: Fix core.schematic_create()kwolekr2015-04-17
|
* Switch to check_v3s16 in l_mapgen.cpp and l_vmanip.cpp for type safetykwolekr2015-04-17
|
* Biomes: Remove referenced biomes from Decorations on clearkwolekr2015-04-16
|
* Schematics: Refactor NodeResolver and add NodeResolveMethodkwolekr2015-04-16
| | | | | | | | | 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.
* Schematics: Reorganize (de)serialization and add Lua serialization APIkwolekr2015-04-13
|
* Schematics: Prepend mod path to relative schematic filepathskwolekr2015-04-08
|
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | 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
* ObjDefManager, Mapgen SAPI: Huge refactoringkwolekr2015-03-31
| | | | | | | - 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
* GenElementManager: Pass opaque handles to Lua and rename to ObjDefManagerkwolekr2015-03-31
| | | | Add core.clear_registered_schematics() and refactor schematics somewhat
* lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optionalparamat2015-03-24
|
* Add core.register_schematic() and cache schematics on usekwolekr2015-03-23
|
* Revert "Fix issue #2441: crash on respawn, since a conversion std::list to ↵kwolekr2015-03-20
| | | | | | | std::vector on Environment.cpp" This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver list clearing
* lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorationsparamat2015-03-11
|