X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fscript%2Fscripting_client.cpp;h=6643a9509d93512ae939a3deba6978136827b620;hb=3a8c37181a9bf9624f3243e8e884f12ae7692609;hp=29836c47b516a8b0b0fdaa582d0a7d6405affc66;hpb=6f1c90720402415b62fb4d5e809ec7dbc1cd7f96;p=minetest.git diff --git a/src/script/scripting_client.cpp b/src/script/scripting_client.cpp index 29836c47b..6643a9509 100644 --- a/src/script/scripting_client.cpp +++ b/src/script/scripting_client.cpp @@ -19,12 +19,15 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "scripting_client.h" -#include "client.h" +#include "client/client.h" #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_itemstackmeta.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,10 +36,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "lua_api/l_localplayer.h" #include "lua_api/l_camera.h" -ClientScripting::ClientScripting(Client *client) +ClientScripting::ClientScripting(Client *client): + ScriptApiBase(ScriptingType::Client) { setGameDef(client); - setType(ScriptingType::Client); SCRIPTAPI_PRECHECKHEADER @@ -52,22 +55,18 @@ ClientScripting::ClientScripting(Client *client) InitializeModApi(L, top); lua_pop(L, 1); - if (client->getMinimap()) - LuaMinimap::create(L, client->getMinimap()); - // Push builtin initialization type lua_pushstring(L, "client"); lua_setglobal(L, "INIT"); - lua_pushstring(L, "/"); - lua_setglobal(L, "DIR_DELIM"); - infostream << "SCRIPTAPI: Initialized client game modules" << std::endl; } void ClientScripting::InitializeModApi(lua_State *L, int top) { LuaItemStack::Register(L); + ItemStackMetaRef::Register(L); + LuaRaycast::Register(L); StorageRef::Register(L); LuaMinimap::Register(L); NodeMetaRef::RegisterClient(L); @@ -80,15 +79,20 @@ void ClientScripting::InitializeModApi(lua_State *L, int top) ModApiStorage::Initialize(L, top); ModApiEnvMod::InitializeClient(L, top); ModApiChannels::Initialize(L, top); + ModApiParticlesLocal::Initialize(L, top); } void ClientScripting::on_client_ready(LocalPlayer *localplayer) { - lua_State *L = getStack(); - LuaLocalPlayer::create(L, localplayer); + LuaLocalPlayer::create(getStack(), localplayer); } void ClientScripting::on_camera_ready(Camera *camera) { LuaCamera::create(getStack(), camera); } + +void ClientScripting::on_minimap_ready(Minimap *minimap) +{ + LuaMinimap::create(getStack(), minimap); +}