forked from Mirrorlandia_minetest/minetest
Allow getting the path of builtin.lua using minetest.get_modpath("__builtin")
This commit is contained in:
parent
d5594e431c
commit
56ba193c77
@ -3928,8 +3928,13 @@ static int l_get_current_modname(lua_State *L)
|
||||
// get_modpath(modname)
|
||||
static int l_get_modpath(lua_State *L)
|
||||
{
|
||||
const char *modname = luaL_checkstring(L, 1);
|
||||
std::string modname = luaL_checkstring(L, 1);
|
||||
// Do it
|
||||
if(modname == "__builtin"){
|
||||
std::string path = get_server(L)->getBuiltinLuaPath();
|
||||
lua_pushstring(L, path.c_str());
|
||||
return 1;
|
||||
}
|
||||
const ModSpec *mod = get_server(L)->getModSpec(modname);
|
||||
if(!mod){
|
||||
lua_pushnil(L);
|
||||
|
@ -964,8 +964,7 @@ Server::Server(
|
||||
}
|
||||
|
||||
// Path to builtin.lua
|
||||
std::string builtinpath = porting::path_share + DIR_DELIM + "builtin"
|
||||
+ DIR_DELIM + "builtin.lua";
|
||||
std::string builtinpath = getBuiltinLuaPath() + DIR_DELIM + "builtin.lua";
|
||||
|
||||
// Create world if it doesn't exist
|
||||
if(!initializeWorld(m_path_world, m_gamespec.id))
|
||||
@ -4410,6 +4409,10 @@ const ModSpec* Server::getModSpec(const std::string &modname)
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
std::string Server::getBuiltinLuaPath()
|
||||
{
|
||||
return porting::path_share + DIR_DELIM + "builtin";
|
||||
}
|
||||
|
||||
v3f findSpawnPos(ServerMap &map)
|
||||
{
|
||||
|
@ -553,6 +553,7 @@ public:
|
||||
IWritableCraftDefManager* getWritableCraftDefManager();
|
||||
|
||||
const ModSpec* getModSpec(const std::string &modname);
|
||||
std::string getBuiltinLuaPath();
|
||||
|
||||
std::string getWorldPath(){ return m_path_world; }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user