ServerScripting::ServerScripting(Server* server): ScriptApiBase(ScriptingType::Server) { setGameDef(server); // setEnv(env) is called by ScriptApiEnv::initializeEnvironment() // once the environment has been created SCRIPTAPI_PRECHECKHEADER if (g_settings->getBool("secure.enable_security")) { initializeSecurity(); } lua_getglobal(L, "core"); int top = lua_gettop(L); lua_newtable(L); lua_setfield(L, -2, "object_refs"); lua_newtable(L); lua_setfield(L, -2, "luaentities"); // Initialize our lua_api modules InitializeModApi(L, top); lua_pop(L, 1); // Push builtin initialization type lua_pushstring(L, "game"); lua_setglobal(L, "INIT"); infostream << "SCRIPTAPI: Initialized game modules" << std::endl; }
ClientScripting::ClientScripting(Client *client): ScriptApiBase(ScriptingType::Client) { setGameDef(client); SCRIPTAPI_PRECHECKHEADER // Security is mandatory client side initializeSecurityClient(); lua_getglobal(L, "core"); int top = lua_gettop(L); lua_newtable(L); lua_setfield(L, -2, "ui"); 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"); infostream << "SCRIPTAPI: Initialized client game modules" << std::endl; }