diff options
author | Novatux <nathanael.courant@laposte.net> | 2013-09-08 10:54:36 +0200 |
---|---|---|
committer | Sfan5 <sfan5@live.de> | 2013-09-08 11:09:50 +0200 |
commit | 6291fd1cbb9c2808e336532c833e26330ff2642b (patch) | |
tree | a1cf96776a56f2154daaacee6533b2a436b7ff4c | |
parent | 4a2203413fbd4e4ff7e801172416ae8012e861d4 (diff) | |
download | minetest-6291fd1cbb9c2808e336532c833e26330ff2642b.tar.gz minetest-6291fd1cbb9c2808e336532c833e26330ff2642b.tar.bz2 minetest-6291fd1cbb9c2808e336532c833e26330ff2642b.zip |
Add minetest.get_gametime() API function, that returns the number of seconds since the world was created.
-rw-r--r-- | doc/lua_api.txt | 1 | ||||
-rw-r--r-- | src/script/lua_api/l_env.cpp | 11 | ||||
-rw-r--r-- | src/script/lua_api/l_env.h | 3 |
3 files changed, 15 insertions, 0 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt index e65392c17..f593b0db8 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -1226,6 +1226,7 @@ minetest.get_player_by_name(name) -- Get an ObjectRef to a player minetest.get_objects_inside_radius(pos, radius) minetest.set_timeofday(val): val: 0...1; 0 = midnight, 0.5 = midday minetest.get_timeofday() +minetest.get_gametime(): returns the time, in seconds, since the world was created minetest.find_node_near(pos, radius, nodenames) -> pos or nil ^ nodenames: eg. {"ignore", "group:tree"} or "default:dirt" minetest.find_nodes_in_area(minp, maxp, nodenames) -> list of positions diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp index dbaf6fb36..8b0d8cd6e 100644 --- a/src/script/lua_api/l_env.cpp +++ b/src/script/lua_api/l_env.cpp @@ -476,6 +476,16 @@ int ModApiEnvMod::l_get_timeofday(lua_State *L) return 1; } +// minetest.get_gametime() +int ModApiEnvMod::l_get_gametime(lua_State *L) +{ + GET_ENV_PTR; + + int game_time = env->getGameTime(); + lua_pushnumber(L, game_time); + return 1; +} + // minetest.find_node_near(pos, radius, nodenames) -> pos or nil // nodenames: eg. {"ignore", "group:tree"} or "default:dirt" @@ -793,6 +803,7 @@ void ModApiEnvMod::Initialize(lua_State *L, int top) API_FCT(get_objects_inside_radius); API_FCT(set_timeofday); API_FCT(get_timeofday); + API_FCT(get_gametime); API_FCT(find_node_near); API_FCT(find_nodes_in_area); API_FCT(get_perlin); diff --git a/src/script/lua_api/l_env.h b/src/script/lua_api/l_env.h index adb80a8a8..814d12165 100644 --- a/src/script/lua_api/l_env.h +++ b/src/script/lua_api/l_env.h @@ -104,6 +104,9 @@ private: // minetest.get_timeofday() -> 0...1 static int l_get_timeofday(lua_State *L); + // minetest.get_gametime() + static int l_get_gametime(lua_State *L); + // minetest.find_node_near(pos, radius, nodenames) -> pos or nil // nodenames: eg. {"ignore", "group:tree"} or "default:dirt" static int l_find_node_near(lua_State *L); |