diff --git a/src/script/cpp_api/s_env.cpp b/src/script/cpp_api/s_env.cpp index ef3a1dddf..2c2198edf 100644 --- a/src/script/cpp_api/s_env.cpp +++ b/src/script/cpp_api/s_env.cpp @@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "environment.h" #include "mapgen.h" #include "lua_api/l_env.h" +#include "server.h" void ScriptApiEnv::environment_OnGenerated(v3s16 minp, v3s16 maxp, u32 blockseed) @@ -50,7 +51,11 @@ void ScriptApiEnv::environment_Step(float dtime) lua_getfield(L, -1, "registered_globalsteps"); // Call callbacks lua_pushnumber(L, dtime); - script_run_callbacks(L, 1, RUN_CALLBACKS_MODE_FIRST); + try { + script_run_callbacks(L, 1, RUN_CALLBACKS_MODE_FIRST); + } catch (LuaError &e) { + getServer()->setAsyncFatalError(e.what()); + } } void ScriptApiEnv::environment_OnMapgenInit(MapgenParams *mgparams)