aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_env.cpp
Commit message (Collapse)AuthorAge
* [CSM] Add core.get_timeofday & core.get_day_count env calls (#5401)Loïc Blot2017-03-17
| | | | | | * [CSM] Add core.get_timeofday & core.get_day_count env calls * [CSM] Add core.get_node_level, core.get_node_max_level, core.find_node_near
* Add `get_wielded_item`red-0012017-03-13
|
* [CSM] Client side moddingLoic Blot2017-03-13
| | | | | | | | | | * rename GameScripting to ServerScripting * Make getBuiltinLuaPath static serverside * Add on_shutdown callback * Add on_receiving_chat_message & on_sending_chat_message callbacks * ScriptApiBase: use IGameDef instead of Server This permits to share common attribute between client & server * Enable mod security in client side modding without conditions
* Add ItemStack key-value meta storagerubenwardy2017-02-04
|
* Add staticdata parameter to add_entity (#5009)Rui2017-01-09
| | | | | * Add staticdata parameter to add_entity * Add add_entity_with_staticdata to core.features
* Emergeblocks: Fix occasional crashRogier2016-10-16
| | | | | | | Modification of the emergeblocks internal state was not protected by a lock, causing a race condition. This can be reproduced by repeatedly running emergeblocks for an already-generated section of the map (with multiple emerge threads).
* Player/LocalPlayer/RemotePlayer inheritance cleanup (part 1 on X)Loic Blot2016-10-08
| | | | | | | | | | | * LocalPlayer take ownership of maxHudId as it's the only caller * RemotePlayer take ownership of day night ratio as it's the only user * Pass getPlayerControl as const reference to prevent object copy on each call (perf improvement in ObjectRef::l_get_player_control call) * getPlayerSAO is now only RemotePlayer call * get/setHotbarItemCount is now RemotePlayer owned * Server: Use RemotePlayer instead of Player object on concerned call to properly fix the object type * PlayerSAO now uses RemotePlayer instead of Player because it's only server side * ObjectRef::getplayer also returns RemotePlayer as it's linked with PlayerSAO
* Change internal type for seeds to s32kwolekr2016-06-04
| | | | | This fixes value truncation (and therefore incompatibility) on platforms with an LP32 data model, such as VAX or MS-DOS.
* Pathfinder: Fix styleest312016-05-01
| | | | | | | | | | | * Fix naming style for methods and classes: Use camelCase for methods and PascalCase for classes as code style demands it. And use sneak_case for methods that are not member of a class. * Replace "* " with " *" for Pointers * Same for references * Put function body opening braces on new line * Other misc minor non functional style improvements
* Add consistent monotonic day counter - get_day_count()Auke Kok2016-03-09
| | | | | | | | | | | | | | | | | | | | | | | | I've written several experimental bits of code that revolve around the need for a consistent calendar, but implementing one is extremely hard in mods due to time changes and mods overriding core.get_timeofday(), which will conflict. The second part of the problem is that doing this from a mod requires constant maintenance of a settings file. An implementation in core is trivial, however, and solves all of these problems at virtually no cost: No extra branches in server steps, and a single branch when minetest.set_time_of_day(), which is entirely reasonable. We store the day_count value in env_meta.txt. The use case is obvious: This change allows mods to create an actual virtual calendar, or properly account for seasonal changes, etc.. We add a "/days" chatcommand that displays the current day count. No permissions are needed. It can only retrieve the day count, not modify it.
* Add minetest.register_lbm() to run code on block load onlyest312016-03-07
|
* Add '/clearobjects quick'Kahrl2016-02-11
|
* Add callback parameter for core.emerge_area()kwolekr2015-11-02
|
* SAPI: Move core.get_us_time() to Util modulekwolekr2015-10-26
|
* SAPI: Mark all Lua API functions requiring envlockkwolekr2015-10-25
|
* Add /emergeblocks command and core.emerge_area() Lua APIkwolekr2015-09-23
|
* Push error handler afresh each time lua_pcall is usedKahrl2015-08-27
| | | | | Fixes "double fault" / "error in error handling" messages (issue #1423) and instead shows a complete backtrace.
* SEnv: Remove static_exists from ActiveObjects in deleted blockskwolekr2015-08-16
|
* SAPI: Track last executed mod and include in error messageskwolekr2015-08-12
|
* Improve Script CPP API diagnosticskwolekr2015-08-05
|
* Add return list of individual counts to find_node_in_areaTeTpaAka2015-06-13
|
* Add core.find_nodes_with_meta() script APIkwolekr2015-05-05
|
* Use std::vector instead of std::set for Environment::getObjectsInsideRadiusLoic Blot2015-04-16
| | | | | We are only iterating sequentially, we don't need a set here Also use a vector reference instead of a copy
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Change find_surface_nodes_in_area to find_nodes_in_area_under_airCraig Robbins2015-02-27
|
* Add find_surface_nodes_in_area LUA call which permit to only get the nodes ↵Loic Blot2015-02-27
| | | | which touch air. This permit to massively improve performance for mods like plantlife
* SAO work: ActiveObject types & SAO cleanup * Replace u8 types with ↵Loic Blot2015-02-17
| | | | ActiveObjectType. * Merge content_object.h into activeobject.h * Remove DummyLoadSAO, it's now unused. * Remove ItemSAO, it's also unused
* Performance Improvement: Use a cache which caches result for getFacePositions.Loic Blot2015-02-16
| | | | | | | | | | | This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected. In the callgrind map, you will see original: * 3.3M calls to std::list for 9700 calls to getFacePositions In the modified version, you will see: * 3.3K calls to std::list for 6900 call to getFacePositions Callgrind map is here: #2321 it's a huge performance improvement to l_find_node_near
* Add ability to delete MapBlocks from mapkwolekr2015-01-15
| | | | Also add a Lua API and chatcommand for this
* LuaVoxelManip: Remove blank allocatorkwolekr2014-12-29
|
* LuaVoxelManip: Add option to allocate blank datakwolekr2014-12-27
|
* Add support for NoiseParams in minetest.get_perlin() and add docs on ↵kwolekr2014-12-12
| | | | NoiseParams to lua_api.txt
* Add flags and lacunarity as new noise parameterskwolekr2014-12-07
| | | | | | | Add 'absolute value' option to noise map functions Extend persistence modulation to 3D noise Extend 'eased' option to noise2d_perlin* functions Some noise.cpp formatting fixups
* Remove most exceptions from getNode() (and variants)Craig Robbins2014-11-14
|
* Fix object reference pushing functions when called from coroutinesShadowNinja2014-10-07
|
* Add LuaVoxelManip methods: get_node_at() and set_node_at()kwolekr2014-09-01
|
* Fix seg fault if popping from empty stack (L-system trees)Craig Robbins2014-08-23
| | | | | | | | | | | | | | | | | | See: https://github.com/minetest/minetest/issues/1525 Background Wuzzy2: If you attempt to spawn a L-system tree with minetest.spawn_tree, you can make Minetest crash if it is attempted to pop an empty stack. ShadowNinja: This shouldn't cause a segmentation fault, but it should throw a Lua error Commit Description This commit throws a Lua error instead of causing a segmentation fault. The server will still "crash" but will include a Lua backtrace. L-Systems fix randomness Unless a random seed is provided (via Lua treedef) seed the PRNG with a different seed for each tree Resolves: https://github.com/minetest/minetest/issues/1469 Fix l-system crash when treedef random_level not set by Lua
* Mod profiling supportsapier2014-08-19
| | | | | | | | | Config settings: profiling = true/false (gather statistics) detailed_profiling = true/false (break mod times to callbacks) Chat commands: save_mod_profile saves current statistics in debug.txt and shows on console (on default loglevel)
* Use "core" namespace internallyShadowNinja2014-05-08
|
* Remove liquid_finite and weatherproller2014-04-18
|
* Pass pointed_thing to on_punch and minetest.register_on_punchnode callbacksShadowNinja2014-01-23
|
* Add forceloadingNovatux2014-01-11
|
* Make line_of_sight return blocking node positionstujones112013-12-12
|
* Optimize table creationShadowNinja2013-11-30
|
* Add minetest.swap_nodeNovatux2013-11-30
|
* Fix line_of_sight (AGAIN)sapier2013-11-25
|
* Pass a errfunc to lua_pcall to get a tracebackShadowNinja2013-11-15
|
* Weather: Clean up getHeat/getHumidity somewhatkwolekr2013-09-16
|
* Add minetest.get_gametime() API function, that returns the number of seconds ↵Novatux2013-09-08
| | | | since the world was created.
* Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl2013-08-14
|