From 8efa1de8356630f2943e3d74e7287b5e976e8706 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sat, 27 Jul 2019 20:55:38 +0200 Subject: Check for 'action' field in ABMs & LBMs --- src/script/cpp_api/s_env.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/script') 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); -- cgit v1.2.3