Handle Lua errors in on_generate callbacks instead of throwing SIGABRT

This commit is contained in:
kwolekr 2013-12-14 01:59:16 -05:00
parent c3708b456e
commit 15c316765d
1 changed files with 3 additions and 1 deletions

View File

@ -554,9 +554,11 @@ void *EmergeThread::Thread() {
MapEditEventAreaIgnorer
ign(&m_server->m_ignore_map_edit_events_area,
VoxelArea(minp, maxp));
{ // takes about 90ms with -O1 on an e3-1230v2
try { // takes about 90ms with -O1 on an e3-1230v2
m_server->getScriptIface()->environment_OnGenerated(
minp, maxp, emerge->getBlockSeed(minp));
} catch(LuaError &e) {
m_server->setAsyncFatalError(e.what());
}
EMERGE_DBG_OUT("ended up with: " << analyze_block(block));