summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNovatux <nathanael.courant@laposte.net>2013-09-08 10:54:36 +0200
committerSfan5 <sfan5@live.de>2013-09-08 11:09:50 +0200
commit6291fd1cbb9c2808e336532c833e26330ff2642b (patch)
treea1cf96776a56f2154daaacee6533b2a436b7ff4c
parent4a2203413fbd4e4ff7e801172416ae8012e861d4 (diff)
downloadminetest-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.txt1
-rw-r--r--src/script/lua_api/l_env.cpp11
-rw-r--r--src/script/lua_api/l_env.h3
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);