X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fscript%2Fscripting_client.cpp;h=36065a9d562c3b290576ef9bb58b2aef20b77391;hb=a87805a9445f280ca71da322c4b32cf357744511;hp=b5a5085be8fe3a5211253ac7c1820876d4f3d482;hpb=de028fc056b26e03ee00324888f870f64e28c756;p=dragonfireclient.git diff --git a/src/script/scripting_client.cpp b/src/script/scripting_client.cpp index b5a5085be..36065a9d5 100644 --- a/src/script/scripting_client.cpp +++ b/src/script/scripting_client.cpp @@ -19,11 +19,16 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "scripting_client.h" -#include "client.h" +#include "client/client.h" +#include "client/game.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" @@ -31,11 +36,13 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "lua_api/l_nodemeta.h" #include "lua_api/l_localplayer.h" #include "lua_api/l_camera.h" +#include "lua_api/l_settings.h" ClientScripting::ClientScripting(Client *client): - ScriptApiBase() + ScriptApiBase(ScriptingType::Client) { setGameDef(client); + setGame(g_game); SCRIPTAPI_PRECHECKHEADER @@ -51,7 +58,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"); @@ -62,23 +70,29 @@ ClientScripting::ClientScripting(Client *client): void ClientScripting::InitializeModApi(lua_State *L, int top) { - ModApiUtil::InitializeClient(L, top); - ModApiClient::Initialize(L, top); - ModApiStorage::Initialize(L, top); - ModApiEnvMod::InitializeClient(L, top); - LuaItemStack::Register(L); + ItemStackMetaRef::Register(L); + LuaRaycast::Register(L); StorageRef::Register(L); LuaMinimap::Register(L); NodeMetaRef::RegisterClient(L); LuaLocalPlayer::Register(L); LuaCamera::Register(L); + ModChannelRef::Register(L); + LuaSettings::Register(L); + + ModApiItemMod::Initialize(L, top); + 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) { - lua_State *L = getStack(); - LuaLocalPlayer::create(L, localplayer); + LuaLocalPlayer::create(getStack(), localplayer); } void ClientScripting::on_camera_ready(Camera *camera)