Skip to content
Snippets Groups Projects
Commit b7fd3c86 authored by Perttu Ahola's avatar Perttu Ahola
Browse files

Add minetest.get_worldpath() for getting location for custom data

parent b3f4cbe1
No related branches found
No related tags found
No related merge requests found
......@@ -118,6 +118,9 @@
-- {type="node", pos={x=, y=, z=}}
-- minetest.get_current_modname() -> string
-- minetest.get_modpath(modname) -> eg. "/home/user/.minetest/usermods/modname"
-- ^ Useful for loading additional .lua modules or static data from mod
-- minetest.get_worldpath(modname) -> eg. "/home/user/.minetest/world"
-- ^ Useful for storing custom data
--
-- minetest.debug(line)
-- ^ Goes to dstream
......
......@@ -540,5 +540,6 @@ minetest.register_abm({
print("experimental modname="..dump(minetest.get_current_modname()))
print("experimental modpath="..dump(minetest.get_modpath("experimental")))
print("experimental worldpath="..dump(minetest.get_worldpath()))
-- END
......@@ -3560,6 +3560,14 @@ static int l_get_modpath(lua_State *L)
return 1;
}
// get_worldpath()
static int l_get_worldpath(lua_State *L)
{
std::string worldpath = get_server(L)->getWorldPath();
lua_pushstring(L, worldpath.c_str());
return 1;
}
static const struct luaL_Reg minetest_f [] = {
{"debug", l_debug},
{"log", l_log},
......@@ -3576,6 +3584,7 @@ static const struct luaL_Reg minetest_f [] = {
{"get_hitting_properties", l_get_hitting_properties},
{"get_current_modname", l_get_current_modname},
{"get_modpath", l_get_modpath},
{"get_worldpath", l_get_worldpath},
{NULL, NULL}
};
......
......@@ -525,6 +525,8 @@ class Server : public con::PeerHandler, public MapEventReceiver,
IWritableCraftDefManager* getWritableCraftDefManager();
const ModSpec* getModSpec(const std::string &modname);
std::string getWorldPath(){ return m_mapsavedir; }
private:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment