diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2020-05-07 22:38:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-07 22:38:41 +0200 |
commit | 454dbf83a9bf292910c1495a2aa49fd8b960c28f (patch) | |
tree | d3f53bb5914bae385198d3290863ee1c94832dfd /src/script/lua_api/l_base.h | |
parent | 650168cadac2a45277a9527ae79efb288ba7a4a4 (diff) | |
download | minetest-454dbf83a9bf292910c1495a2aa49fd8b960c28f.tar.gz minetest-454dbf83a9bf292910c1495a2aa49fd8b960c28f.tar.bz2 minetest-454dbf83a9bf292910c1495a2aa49fd8b960c28f.zip |
Server class code cleanups (#9769)
* 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.
Diffstat (limited to 'src/script/lua_api/l_base.h')
-rw-r--r-- | src/script/lua_api/l_base.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/script/lua_api/l_base.h b/src/script/lua_api/l_base.h index e32647628..65fce8481 100644 --- a/src/script/lua_api/l_base.h +++ b/src/script/lua_api/l_base.h @@ -38,12 +38,14 @@ class GUIEngine; class ScriptApiBase; class Server; class Environment; +class ServerInventoryManager; class ModApiBase : protected LuaHelper { public: static ScriptApiBase* getScriptApiBase(lua_State *L); static Server* getServer(lua_State *L); + static ServerInventoryManager *getServerInventoryMgr(lua_State *L); #ifndef SERVER static Client* getClient(lua_State *L); static GUIEngine* getGuiEngine(lua_State *L); |