aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);