summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2012-03-27 00:37:31 +0300
committerPerttu Ahola <celeron55@gmail.com>2012-03-27 00:37:31 +0300
commit37b64ff616df3475e228d6beb3727de2afd2b6c2 (patch)
treedcdb6f5b14213dd5dfdb015c51046a0837e53c57
parenta2fd8d1db10bc5b018d40d9b9ffd8595c7543112 (diff)
downloadminetest-37b64ff616df3475e228d6beb3727de2afd2b6c2.tar.gz
minetest-37b64ff616df3475e228d6beb3727de2afd2b6c2.tar.bz2
minetest-37b64ff616df3475e228d6beb3727de2afd2b6c2.zip
Add minetest.after(time, func)
-rw-r--r--builtin/builtin.lua24
-rw-r--r--doc/lua_api.txt13
-rw-r--r--games/minimal/mods/experimental/init.lua26
3 files changed, 35 insertions, 28 deletions
diff --git a/builtin/builtin.lua b/builtin/builtin.lua
index 9b2bed33f..4c74b1c5f 100644
--- a/builtin/builtin.lua
+++ b/builtin/builtin.lua
@@ -796,6 +796,30 @@ minetest.registered_on_dieplayers, minetest.register_on_dieplayer = make_registr
minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make_registration()
--
+-- Misc. API functions
+--
+
+minetest.timers_to_add = {}
+minetest.timers = {}
+minetest.register_globalstep(function(dtime)
+ for indes, timer in ipairs(minetest.timers_to_add) do
+ table.insert(minetest.timers, timer)
+ end
+ minetest.timers_to_add = {}
+ for index, timer in ipairs(minetest.timers) do
+ timer.time = timer.time - dtime
+ if timer.time <= 0 then
+ timer.func()
+ minetest.timers[index] = nil
+ end
+ end
+end)
+
+function minetest.after(time, func)
+ table.insert(minetest.timers_to_add, {time=time, func=func})
+end
+
+--
-- Set random seed
--
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 6d0071144..bfde0a870 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -425,6 +425,12 @@ minetest.get_modpath(modname) -> eg. "/home/user/.minetest/usermods/modname"
minetest.get_worldpath(modname) -> eg. "/home/user/.minetest/world"
^ Useful for storing custom data
+minetest.debug(line)
+^ Goes to dstream
+minetest.log(line)
+minetest.log(loglevel, line)
+^ loglevel one of "error", "action", "info", "verbose"
+
minetest.register_entity(name, prototype table)
minetest.register_abm(abm definition)
minetest.register_node(name, node definition)
@@ -461,11 +467,8 @@ minetest.sound_play(spec, parameters) -> handle
^ parameters = sound parameter table
minetest.sound_stop(handle)
-minetest.debug(line)
-^ Goes to dstream
-minetest.log(line)
-minetest.log(loglevel, line)
-^ loglevel one of "error", "action", "info", "verbose"
+minetest.after(time, func)
+^ Call function after time seconds
Global objects:
minetest.env - environment reference
diff --git a/games/minimal/mods/experimental/init.lua b/games/minimal/mods/experimental/init.lua
index e11086274..5dab41354 100644
--- a/games/minimal/mods/experimental/init.lua
+++ b/games/minimal/mods/experimental/init.lua
@@ -6,38 +6,18 @@
experimental = {}
-timers_to_add = {}
-timers = {}
-minetest.register_globalstep(function(dtime)
- for indes, timer in ipairs(timers_to_add) do
- table.insert(timers, timer)
- end
- timers_to_add = {}
- for index, timer in ipairs(timers) do
- timer.time = timer.time - dtime
- if timer.time <= 0 then
- timer.func()
- timers[index] = nil
- end
- end
-end)
-
-after = function(time, func)
- table.insert(timers_to_add, {time=time, func=func})
-end
-
--[[
stepsound = -1
function test_sound()
print("test_sound")
stepsound = minetest.sound_play("default_grass_footstep", {gain=1.0})
- after(2.0, test_sound)
- --after(0.1, test_sound_stop)
+ minetest.after(2.0, test_sound)
+ --minetest.after(0.1, test_sound_stop)
end
function test_sound_stop()
print("test_sound_stop")
minetest.sound_stop(stepsound)
- after(2.0, test_sound)
+ minetest.after(2.0, test_sound)
end
test_sound()
--]]