aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_vmanip.cpp
AgeCommit message (Collapse)Author
2022-05-02Async environment for mods to do concurrent tasks (#11131)sfan5
2022-05-02Remove some unused variable from Lua class wrapperssfan5
2022-04-07Disentangle map implementations (#12148)Jude Melton-Houghton
Fixes violation of Liskov substitution principle Fixes #12144
2021-05-30script: Replace calls to depreated luaL_openlibsfan5
2020-04-14scriptapi: Some small optimizations to value pushing (#9669)sfan5
2019-09-24Fix some reference counters (memleak) (#8981)SmallJoker
Fix some reference counters (memleak) Map::dispatchEvent: Allocation safety using references
2018-08-02LuaVoxelManip: Throw warning or error instead of silently doing nothing (#7567)HybridDog
Error on missing parameter. Warning when using a method on the incorrect type of LuaVoxelManip.
2018-06-30Modernize lua read (part 2 & 3): C++ templating assurance (#7410)Loïc Blot
* Modernize lua read (part 2 & 3): C++ templating assurance Implement the boolean reader Implement the string reader Also remove unused & unimplemented script_error_handler Add a reader with default value
2018-02-10Node definition manager refactor (#7016)Dániel Juhász
* Rename IWritableNodeDefManager to NodeDefManager * Make INodeDefManager functions const * Use "const *NodeDefManager" instead of "*INodeDefManager" * Remove unused INodeDefManager class * Merge NodeDefManager and CNodeDefManager * Document NodeDefManager
2017-11-08Move files to subdirectories (#6599)Vitaliy
* Move files around
2017-08-19Code modernization: subfolders (#6283)Loïc Blot
* Code modernization: subfolders Modernize various code on subfolders client, network, script, threading, unittests, util * empty function * default constructor/destructor * for range-based loops * use emplace_back instead of push_back * C++ STL header style * Make connection.cpp readable in a pointed place + typo
2017-08-18Optimize headers (part 2) (#6272)Loïc Blot
* Optimize headers (part 2) * less debug.h in headers * less remoteplayer.h for everybody * Cleanup (part 2) * camera.h: mesh.h * mapgen.h: mapnode.h * serverenvironment.h: mapblock.h * nodedef.h: shader.h
2017-06-20Fix 2 warnings reported by GCCLoic Blot
* ClientEnvironment::m_irr is not used anymore since a recent cleanup * l_vmanip constructor ordering
2017-06-19C++11 cleanup on constructors (#6000)Vincent Glize
* C++11 cleanup on constructors dir script
2017-04-20Light update for map blocksDániel Juhász
This is not really different from the light update of a voxel manipulator. This update does not assume that the lighting was correct before, therefore it is useful for correction. Also expose this function to the Lua API for light correction, and allow voxel manipulators not to update the light.
2017-04-08Replace luaL_reg with luaL_Reg as recent LuaJIT dropped the Lua 5.0 compat ↵Loïc Blot
(#5541) We are bundling Lua5.1 which has same macro
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-10-31Lua voxelmanip: Add optional buffer param for 'get param2 data'paramat
Update lua_api.txt.
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.
2015-12-07Mapgen: Add propagate_shadow bool to calcLightingparamat
To terminate unwanted shadows from floatlands or realms above Also add to LuaVoxelManip calc_lighting for use in mapgen mods Remove the 2 argument calcLighting, mapgens now use the 5 argument form to specify the volumes for propagateSunlight and spreadLight In mgsinglenode replace calcLighting with setLighting and clean-up use of tabs and spaces
2015-10-25SAPI: Mark all Lua API functions requiring envlockkwolekr
2015-05-17Add optional buffer param for bulk data array writes in Luakwolekr
2015-04-17Switch to check_v3s16 in l_mapgen.cpp and l_vmanip.cpp for type safetykwolekr
2015-01-05Shorten ManualMapVoxelManipulator to MMVManipkwolekr
2015-01-05Optionally specify propagateSunlight area in calcLightingkwolekr
This fixes the Mapgen V5 calcLighting segfault
2015-01-04Exclude vertical mapblock borders when setting lightkwolekr
2015-01-04LuaVoxelManip: Error when given out-of-bounds areakwolekr
2015-01-04Lighting: Fix nearly all issueskwolekr
The cause of a single light source seemingly being lit without spread was due to its creation in the +Y mapblock boundary layer during map generation, which was ignored as the overtop. This overtop explicitly needs to be omitted during sunlight propagation, however. To accomplish this, Mapgen::calcLighting() was split into separate functions taking separate parameters. Additionally, do not diminish light too early during spread. This fixes the output inconsistency between Map::updateLighting and Mapgen::calcLighting.
2014-12-29LuaVoxelManip: Remove blank allocatorkwolekr
2014-12-27LuaVoxelManip: Add option to allocate blank datakwolekr
2014-09-01Add LuaVoxelManip methods: get_node_at() and set_node_at()kwolekr
2014-09-01Update Mapgen VoxelManipulator on buffer invalidationkwolekr
2014-07-29Fix issue 1527Craig Robbins
https://github.com/minetest/minetest/issues/1527
2014-02-03Huge overhaul of the entire MapgenParams systemkwolekr
MapgenParams is no longer a polymorphic class, eliminating the need for messy and bug-prone reallocations. Separation between the common and mapgen-specific parameters is now strongly defined. Mapgen parameters objects are now properly encapsulated within the proper subsystems.
2014-01-19LuaVoxelManip: Add get_param2_data and set_param2_datakwolekr
2013-11-30LuaVoxelManip: Add area parameters back to calc_lighting and set_lighting, ↵kwolekr
made optional this time; also fixed a slight bug with night values being ignored
2013-11-30LuaVoxelManip: Add get_light_data() and set_light_data()kwolekr
2013-11-21LuaVoxelManip: Update parameter index of set_lighting()kwolekr
2013-08-14Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl
2013-07-06LuaVoxelManip: Allow liquid updates in non-mapgen VoxelManip objectskwolekr
2013-06-29LuaVoxelManip: Fix minor bug with set_lighting, remove coordinate params for ↵kwolekr
light and liquid updates
2013-06-27Apply various fixes to several thingskwolekr
2013-06-27LuaVoxelManip: Separate VoxelManip data get/set from emerging/blitting data ↵kwolekr
back to map
2013-06-27Add minetest.get_mapgen_object to APIkwolekr
2013-06-27Add LuaVoxelManipkwolekr