aboutsummaryrefslogtreecommitdiff
path: root/src/script/cpp_api
diff options
context:
space:
mode:
authorSmallJoker <mk939@ymail.com>2019-07-27 20:55:38 +0200
committerSmallJoker <mk939@ymail.com>2019-07-27 21:13:47 +0200
commit8efa1de8356630f2943e3d74e7287b5e976e8706 (patch)
treec3f541a68bd8e65a5257c6d6b32520a0bb54bcc5 /src/script/cpp_api
parentfe6c666da26e08b726bd21f34d25558cf456bd1f (diff)
downloadminetest-8efa1de8356630f2943e3d74e7287b5e976e8706.tar.gz
minetest-8efa1de8356630f2943e3d74e7287b5e976e8706.tar.bz2
minetest-8efa1de8356630f2943e3d74e7287b5e976e8706.zip
Check for 'action' field in ABMs & LBMs
Diffstat (limited to 'src/script/cpp_api')
-rw-r--r--src/script/cpp_api/s_env.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/script/cpp_api/s_env.cpp b/src/script/cpp_api/s_env.cpp
index f8cef98b7..ab3b5fe46 100644
--- a/src/script/cpp_api/s_env.cpp
+++ b/src/script/cpp_api/s_env.cpp
@@ -151,6 +151,10 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
bool simple_catch_up = true;
getboolfield(L, current_abm, "catch_up", simple_catch_up);
+ lua_getfield(L, current_abm, "action");
+ luaL_checktype(L, current_abm + 1, LUA_TFUNCTION);
+ lua_pop(L, 1);
+
LuaABM *abm = new LuaABM(L, id, trigger_contents, required_neighbors,
trigger_interval, trigger_chance, simple_catch_up);
@@ -200,6 +204,10 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
bool run_at_every_load = getboolfield_default(L, current_lbm,
"run_at_every_load", false);
+ lua_getfield(L, current_lbm, "action");
+ luaL_checktype(L, current_lbm + 1, LUA_TFUNCTION);
+ lua_pop(L, 1);
+
LuaLBM *lbm = new LuaLBM(L, id, trigger_contents, name,
run_at_every_load);