summaryrefslogtreecommitdiff
path: root/src/script/lua_api
Commit message (Collapse)AuthorAge
* Server class code cleanups (#9769)Loïc Blot2020-05-07
| | | | | | | | | | | | | | | | | | | * Server::overrideDayNightRatio doesn't require to return bool There is no sense to sending null player, the caller should send a valid object * Server::init: make private & cleanup This function is always called before start() and loads some variables which can be loaded in constructor directly. Make it private and call it directly in start * Split Server inventory responsibility to a dedicated object This splits permit to found various historical issues: * duplicate lookups on player connection * sending inventory to non related player when a player connects * non friendly lookups on detached inventories ownership This reduce the detached inventory complexity and also increased the lookup performance in a quite interesting way for servers with thousands of inventories.
* Fix remaining issues with mapgen scriptapisfan52020-05-05
|
* Give the Mapgen on each EmergeThread its own Biome/Ore/Deco/SchemManager copysfan52020-05-05
|
* Sky API: Rename *_tint to fog_*_tint for consistencySmallJoker2020-05-05
|
* Auto delete MetaData when = 0 (#8770)Lejo2020-05-02
| | | | * Auto delete MetaData when = 0
* set_fov: Add support for time-based transitions (#9705)ANAND2020-05-02
|
* Allow connection info to be missing from minetest.get_player_information() ↵sfan52020-05-01
| | | | | | (#9739) fixes #9352 This reverts commit 23c907befea02005e2c0c87fca0131b60aace18a.
* Give the online lua mainmenu also the client_list and mods (#8691)Lejo2020-05-01
|
* Forbid object:attach(obj, ...) (#9762)Loïc Blot2020-04-27
| | | Fixes #9761
* Script: Enforce type checks if not nil (#9748)SmallJoker2020-04-27
| | | | * Script: Enforce type checks if not nil
* script: Put getGuiEngine() inside a client-only #ifdefsfan52020-04-27
|
* script: Fix add_entity returning unusable ref if object deleted in on_activatesfan52020-04-27
|
* Add server side translations capability (#9733)EvidenceB Kidscode2020-04-25
| | | | * Add server side translations capability
* Fix configuration caching in log_deprecated (#9697)HybridDog2020-04-22
| | | | | | * Fix configuration caching in log_deprecated The configured variable was never set to true. I've set the variables to thread_local because the configuration should be reloaded after reentering the world from mainmenu.
* Fix alias handling of get_content_id (#9712)sfan52020-04-19
| | | fixes #9632
* script: Move SAO usability check so that it covers all functions (#9698)sfan52020-04-18
| | | see also 91eef646a59575bd9ae792e257bb6ad12fafc0b1
* Optimize get_objects_inside_radius calls (#9671)Loïc Blot2020-04-16
| | | | | | | | | * Optimize getObjectsInsideRadius calls our previous implementation calls the ActiveObjectMgr to return ids and then lookup those ids in the same map and test each object Instead now we call the global map to return the pointers directly and we ask filtering when building the list using lamba. This drop double looping over ranges of active objects (and then filtered one) and drop x lookups on the map regarding the first call results
* scriptapi: Some small optimizations to value pushing (#9669)sfan52020-04-14
|
* Formspecs: Add state-selection to style elements (#9378)Hugues Ross2020-04-11
|
* Reduce ServerEnvironment propagation (#9642)Loïc Blot2020-04-11
| | | | | | | | | | ServerEnvironment is a huge class with many accessors. In various places it's not needed Remove it to reduce the ServerEnvironment view. Idea here is to reduce size of some of our objects to transport lightweight managers and permit easier testing Pathfinder is now tied to a generic map, not a ServerMap, it can be ported to client
* Drop content_sao.{cpp,h}Loic Blot2020-04-11
| | | | | | | Move LuaEntitySAO to a new dedicated file Drop TestSAO (useless object) Drop the old static startup initialized SAO factory, which was pretty useless. This factory was using a std::map for 2 elements, now just use a simple condition owned by ServerEnvironment, which will be lightweight, that will also drop a one time useful test on each LuaEntitySAO creation. This should reduce server load on massive SAO creation
* Move PlayerSAO to dedicated filesLoic Blot2020-04-11
|
* Move serveractiveobject & unitsaoLoic Blot2020-04-11
| | | | | Move serverobject.{cpp,h} to server/serveractiveobject.{cpp,h} Move UnitSAO class to dedicated files
* Various features and fixessfan52020-04-11
|
* Implement minetest.sound_fade()sfan52020-04-11
|
* scriptapi: Sort out ServerEnvironment / Environment distinction properlysfan52020-04-11
| | | | | | The API implementation is shared between CSM and SSM. Functions should retrieve a plain env when they do not need any server-specific functions.
* Work around LuaJIT issues on aarch64 (#9614)sfan52020-04-08
| | | | - Move the text segment below the 47-bit limit, needed for script_exception_wrapper which must be lightuserdata - Replace CUSTOM_RIDX_SCRIPTAPI with full userdata
* Overall improvements to log messages (#9598)sfan52020-04-08
| | | | Hide some unnecessarily verbose ones behind --trace or disable them entirely. Remove duplicate ones. Improve their contents in some places.
* minetest.get_content_id: error if the node does not exist (#9458)HybridDog2020-03-11
| | | If a mod creator makes a typing mistake, this function now causes an error instead of returning the id of "ignore".
* minetest,get_connected_players: Return empty table at load time (#9493)sfan52020-03-10
|
* Fix star visilibity and documentation (since 946c03c6)Jordan Snelling2020-03-08
| | | | | | | Fix memory leak (unused allocation) Fix star rendering Rename sky color struct Fix stars on android Remove extraneous .data() from android star draw
* set_sky improvements, set_sun, set_moon and set_starsJordach2020-03-05
|
* Fix pathfinder bugs: returning nil frequently, broken A*, jump through solid ↵Wuzzy2020-03-05
| | | | | | | | | | | | | | nodes (#9339) * Fix pathfinder fail when startpos is over air * Note down pathfinder restrictions * Implement real A* search * Pathfinder: Implement buildPath non-recursively * Update find_path documentation * Pathfinder: Check if jump path is unobstructed * Pathfinder: Fix drop check first checking upwards * Pathfinder: Return nil if source or dest are solid * Pathfinder: Use priority queue for open list
* Fix core.get_player_by_name() returning unusable ObjectRefsfan52020-03-03
| | | | Followup to the previous commit.
* Fix core.get_connected_players() returning unusable ObjectRefssfan52020-03-03
| | | | | | | | | This bug is only exposed by 91eef646a59575bd9ae792e257bb6ad12fafc0b1 independent of the move of get_connected_players from Lua to C++. Previously, there would be a small time window where the SAO had its peer ID set to PEER_ID_INEXISTENT but the RemotePlayer was still linked to the SAO, resulting in an ObjectRef that crashed on certain function calls (#9387).
* Fix potential problem with core.get_connected_players()sfan52020-02-25
|
* Move core.get_connected_players() implementation to C++sfan52020-02-23
| | | | | Keeping the ObjectRefs around in a table isn't ideal and this allows removing the somewhat nonsensical is_player_connected() added in 86ef7147.
* Refactor Script API's log_deprecatedsfan52020-02-23
|
* Script API: Check that SAOs are still usable before attempting to use themsfan52020-02-11
|
* Improve core.sound_play with ephemeral sounds and player exclusionsfan52020-02-01
|
* Settings: Add get_flags API for mapgen flags (mg_flags, mgv6_spflags, ...) ↵SmallJoker2020-01-25
| | | | | | | | | | | (#9284) Unified flags handling in C++ and Lua Settings API -> Reading only, for now. Writing can be implemented later, if needed. API function to read the currently active flags -> was impossible from Lua Co-authored-by: Wuzzy <wuzzy2@mail.ru>
* Use appropriate LC_ locale macro for Windows (#9230)Montandalar2019-12-24
| | | | | * Wrap LC_ macro in ifdef Windows does not have LC_MESSAGES in locale.h, so use LC_ALL on that platform
* Attachments: Fix interpolation from (0,0,0) after detachSmallJoker2019-12-07
| | | | | | GenericCAO::getPosition() did not take the camera offset into account LocalPlayer attachment cleanup: Use sane getParent() function Make that getPosition() (GenericCAO and LocalPlayer) always return the absolute position
* [CSM] Fix and improve minetest.get_language()sfan52019-11-11
| | | | | Previously this method would accidentally reset the locale and break everything.
* [CSM] Implement minetest.get_csm_restrictions()sfan52019-11-11
| | | | fixes #8068
* Fix camera:get_offset() in CSMsfan52019-11-11
|
* [CSM] Expose more env functionssfan52019-11-11
|
* Refactor CSM restriction code a bitsfan52019-11-11
| | | | This also fixes find_node_near restrictions being ineffective.
* [CSM] Remove non-functional minetest.get_day_count()sfan52019-11-09
|
* Introduce get_modpath() for CSMsfan52019-11-09
|