aboutsummaryrefslogtreecommitdiff
path: root/src/script/cpp_api
Commit message (Collapse)AuthorAge
* Run callback in IDropAction, refactor function argumentsSmallJoker2018-04-02
|
* Add player inventory callbacksSmallJoker2018-04-02
|
* LINT: add clang-tidy step (#6295)Loïc Blot2018-04-01
| | | | | | | | | * Implement new travis clang-tidy build step * This step enable some rules and enforce one rule as error * This permits to have some C++ quality rules based on clang & clang contributor guidelines * Fix clang-tidy reported problems on push_back -> emplace_back
* Fix a warning reported by clangLoic Blot2018-03-29
| | | | | minetest/src/script/cpp_api/s_player.h:27:1: warning: struct 'PlayerHPChangeReason' was previously declared as a class [-Wmismatched-tags] struct PlayerHPChangeReason;
* Add reasons to on_dieplayer and on_hpchangeAndrew Ward2018-03-28
|
* Add `on_auth_fail` callback (#7039)red-0012018-02-15
| | | Called when a client fails to supply the correct password for the account it's attempting to login as.
* Node definition manager refactor (#7016)Dániel Juhász2018-02-10
| | | | | | | | | * Rename IWritableNodeDefManager to NodeDefManager * Make INodeDefManager functions const * Use "const *NodeDefManager" instead of "*INodeDefManager" * Remove unused INodeDefManager class * Merge NodeDefManager and CNodeDefManager * Document NodeDefManager
* Move `setlocale` from Lua to C++.red-0012018-02-08
|
* [CSM] Don't Load the package library (#6944)red-0012018-01-22
| | | Already removed by a latter step in CSM init so this just saves on pointless work.
* Change include from "cmake_config.h" to "config.h"Wayward One2018-01-21
| | | Fixes #6894
* [CSM] Remove `on_connect` callback (#6941)red-0012018-01-21
| | | Fixes #6939
* [CSM] Don't load the IO library. (#6087)red-0012018-01-04
| | | | | | | | | * [CSM] Don't load the IO library. * Rename the function to match the Lua API function name and add a missing `const` * Add a comment to explain some strange code and fix the other issues pointed out by shadowninja.
* Fix crash on can_bypass_userlimit returning non-booleanrubenwardy2018-01-03
|
* Move files to subdirectories (#6599)Vitaliy2017-11-08
| | | | * Move files around
* Unkown nodes: Provide position on interact (#6505)SmallJoker2017-10-07
| | | | * Unkown nodes: Provide position on interact
* [CSM] Add callback on open inventory (#5793)Vincent Glize2017-10-02
|
* Implement mod communication channels (#6351)Loïc Blot2017-09-26
| | | | | | | | | | Implement network communication for channels * Implement ModChannel manager server side to route incoming messages from clients to other clients * Add signal handler switch on client & ModChannelMgr on client to handle channels * Add Lua API bindings + client packet sending + unittests * Implement server message sending * Add callback from received message handler to Lua API using registration method
* Set placer to nil instead of a non-functional one in item_OnPlace (#6449)DTA72017-09-21
| | | | | | * Set placer to nil instead of a non-functional one This requires nil checks in core.rotate_node and core.rotate_and_place.
* on_death: Fix callback number of pushed arguments (Fixes #6451)SmallJoker2017-09-21
|
* ServerEnv: Clean up object lifecycle handling (#6414)sfan52017-09-15
| | | | * ServerEnv: Clean up object lifecycle handling
* Make INodeDefManager::getIds return a vector, not a setKahrl2017-09-12
|
* Implement minetest.register_can_bypass_userlimit (#6369)Loïc Blot2017-09-04
| | | | | | | | | * Implement minetest.register_on_userlimit_check This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP Only one mod needs to permit it. Move core part for builtin privileges checks to builtin
* Remove nodeupdate completely (#6358)Rui2017-09-01
|
* Modernize source code: last part (#6285)Loïc Blot2017-08-20
| | | | | | | | | | | * Modernize source code: last par * Use empty when needed * Use emplace_back instead of push_back when needed * For range-based loops * Initializers fixes * constructors, destructors default * c++ C stl includes
* Optimize headers (part 2) (#6272)Loïc Blot2017-08-18
| | | | | | | | | | | | | | * 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
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
| | | | * Migrate cpp headers to pragma once
* Cleanup various headers to reduce compilation times (#6255)Loïc Blot2017-08-16
| | | | * Cleanup various headers to reduce compilation times
* Add LuaEntity on_death callback (#6177)Loïc Blot2017-07-27
| | | | | | Add LuaEntity on_death callback This fixes #5474
* Add 'plantlike_rooted' drawtypenumber Zero2017-07-11
| | | | | | | Useful for underwater plants. Node consists of a base cube plus a plantlike extension that can pass through liquid nodes above without creating air bubbles or interfering with liquid flow. Uses paramtype2 'leveled', param2 defines height of plantlike extension.
* Expose getPointedThing to LuaDániel Juhász2017-07-07
| | | | | | This commit introduces Raycast, a Lua user object, which can be used to perform a raycast on the map. The ray is continuable, so one can also get hidden nodes (for example to see trough glass).
* Create a filesystem abstraction layer for CSM and only allow accessing files ↵red-0012017-06-30
| | | | | | | | | | | | | | | | | | that are scanned into it. (#5965) * Load client-side mods into memory before executing them. This removes the remaining filesystem access that client-sided mods had and it will hopefully make then more secure. * Lua Virtual filesystem: don't load the files into memory just scan the filenames into memory. * Fix the issues with backtrace * fix most of the issues * fix code style. * add a comment
* C++11 cleanup on constructors (#6000)Vincent Glize2017-06-19
| | | | * C++11 cleanup on constructors dir script
* Remove threads.h and replace its definitions with their C++11 equivalents ↵ShadowNinja2017-06-11
| | | | | | (#5957) This also changes threadProc's signature, since C++11 supports arbitrary thread function signatures.
* C++11 patchset 6: forbid object copy using assigment/copy function deleters ↵Loïc Blot2017-06-10
| | | | | | | (#5945) C++11 implement function deleting, it's generally used to prevent some object copy In script API use this function removal on ScriptApiBase instead of ScriptApiClient/Server/MainMenu, this affect all ScriptApis Move DISABLE_CLASS_COPY with constructor, the deleted function permit to replace function in its original place
* Order es_DrawType exactly like enum NodeDrawType in nodedef.h (#5946)Thomas--S2017-06-10
| | | This will help to avoid some strange bugs.
* CSM: Fix documentation error for register_on_*_chat_messages (#5917)DS2017-06-09
|
* Use C++11 mutexes only (remove compat code) (#5922)Loïc Blot2017-06-06
| | | | * Fix event LINT & remove default constructor/destructors * remove compat code & modernize autolock header
* Fix CSM crash (#5779)red-0012017-05-20
| | | Caused by dc5bc6c and them made worse by 5ebf8f9
* Fix a warning pointed by GCC 7.1Loic Blot2017-05-18
| | | | lua_tonumber overflow in snprintf (12 bytes and only 10 can be written)
* Use a settings object for the main settingsShadowNinja2017-05-06
| | | | | | | This unifies the settings APIs. This also unifies the sync and async registration APIs, since the async registration API did not support adding non-functions to the API table.
* [CSM] add `on_item_use` (#5544)red-0012017-05-06
|
* [CSM] Add event on_place_node API lua (#5548)Vincent Glize2017-04-29
| | | | * [CSM] Add event on_place_node API lua
* Fix various points reported by cppcheck (#5656)Loïc Blot2017-04-25
| | | | | | | | | | | | * Fix various performance issues reported by cppcheck + code style (CI) * Make CI happy with code style on master * guiFileSelectMenu: remove useless includes * some performance fixes pointed by cppcheck * remove some useless casts * TextDest: remove unused setFormSpec function * Fix various iterator post-increment reported by cppcheck
* Pass clang-format on various cpp/header files (#5559)Loïc Blot2017-04-23
|
* Add on_flood() callback.Auke Kok2017-04-22
| | | | | | | | | | | | | | | | | | | | | This callback is called if a liquid definitely floods a non-air node on the map. The callback arguments are (pos, oldnode, newnode) and can return a `bool` value indicating whether flooding the node should be cancelled (`return true` will prevent the node from flooding). Documentation is added, the callback function was tested with a modified minetest_game. Note that `return true` will likely cause the node's `on_flood()` callback to be called every second until the node gets removed, so care must be taken to prevent many callbacks from using this return value. The current default liquid update interval is 1.0 seconds, which isn't unmanageable. The larger aim of this patch is to remove the lava cooling ABM, which is a significant cost to idle servers that have lava on their map. This callback will be much more efficient.
* Fix various copy instead of const ref reported by cppcheck (part 3) (#5616)Loïc Blot2017-04-20
| | | | * Also remove 2 non declared but defined functions * Make some functions around const ref changes const
* Plug two minor Leaks (#5603)Auke Kok2017-04-17
| | | | | | | | | | * Resource leak: CHECK_FILE_ERR returns, without freeing chunk_name. Found with static analysis. * Resource leak: leaks `page` on error path. Found with static analysis.
* Hardware coloring for itemstacksDániel Juhász2017-04-08
| | | | | | | | | | Adds the possibility to colorize item stacks based on their metadata. In the item/node definition you can specify palette (an image file) and color (fallback color if the item has no palette or metadata). Then you can add palette_index to the metadata. Dropped itemstacks with different colors do not merge.
* code style fix on src/script/cpp_api/s_client.hLoic Blot2017-04-08
|
* [CSM] Add event on_connect player API lua (#5540)Vincent Glize2017-04-08
| | | | * Add event on_connect player API lua