Add core.remove_detached_inventory (#7684)
[oweals/minetest.git] / src / script / scripting_client.cpp
index 24f70b8c1eea273ad7d50b2f4edd5d028150a5c4..a6511ffd57690d6ef07403f26c1f6d49855240c0 100644 (file)
@@ -23,7 +23,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "cpp_api/s_internal.h"
 #include "lua_api/l_client.h"
 #include "lua_api/l_env.h"
+#include "lua_api/l_item.h"
 #include "lua_api/l_minimap.h"
+#include "lua_api/l_modchannels.h"
+#include "lua_api/l_particles_local.h"
 #include "lua_api/l_storage.h"
 #include "lua_api/l_sound.h"
 #include "lua_api/l_util.h"
@@ -33,7 +36,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "lua_api/l_camera.h"
 
 ClientScripting::ClientScripting(Client *client):
-       ScriptApiBase()
+       ScriptApiBase(ScriptingType::Client)
 {
        setGameDef(client);
 
@@ -51,7 +54,8 @@ ClientScripting::ClientScripting(Client *client):
        InitializeModApi(L, top);
        lua_pop(L, 1);
 
-       LuaMinimap::create(L, client->getMinimap());
+       if (client->getMinimap())
+               LuaMinimap::create(L, client->getMinimap());
 
        // Push builtin initialization type
        lua_pushstring(L, "client");
@@ -68,11 +72,14 @@ void ClientScripting::InitializeModApi(lua_State *L, int top)
        NodeMetaRef::RegisterClient(L);
        LuaLocalPlayer::Register(L);
        LuaCamera::Register(L);
+       ModChannelRef::Register(L);
 
        ModApiUtil::InitializeClient(L, top);
        ModApiClient::Initialize(L, top);
        ModApiStorage::Initialize(L, top);
        ModApiEnvMod::InitializeClient(L, top);
+       ModApiChannels::Initialize(L, top);
+       ModApiParticlesLocal::Initialize(L, top);
 }
 
 void ClientScripting::on_client_ready(LocalPlayer *localplayer)