Expose mapgen chunksize in on_mapgen_init callbacks

master
kwolekr 2014-12-14 18:46:19 -05:00
parent df0ca45ee2
commit 8fe1d3fc2e
1 changed files with 10 additions and 7 deletions

View File

@ -61,7 +61,7 @@ void ScriptApiEnv::environment_Step(float dtime)
void ScriptApiEnv::player_event(ServerActiveObject* player, std::string type)
{
SCRIPTAPI_PRECHECKHEADER
if (player == NULL)
return;
@ -82,28 +82,31 @@ void ScriptApiEnv::player_event(ServerActiveObject* player, std::string type)
void ScriptApiEnv::environment_OnMapgenInit(MapgenParams *mgparams)
{
SCRIPTAPI_PRECHECKHEADER
// Get core.registered_on_mapgen_inits
lua_getglobal(L, "core");
lua_getfield(L, -1, "registered_on_mapgen_inits");
// Call callbacks
lua_newtable(L);
lua_pushstring(L, mgparams->mg_name.c_str());
lua_setfield(L, -2, "mgname");
lua_pushinteger(L, mgparams->seed);
lua_setfield(L, -2, "seed");
lua_pushinteger(L, mgparams->water_level);
lua_setfield(L, -2, "water_level");
lua_pushinteger(L, mgparams->chunksize);
lua_setfield(L, -2, "chunksize");
std::string flagstr = writeFlagString(mgparams->flags,
flagdesc_mapgen, (u32)-1);
lua_pushstring(L, flagstr.c_str());
lua_setfield(L, -2, "flags");
script_run_callbacks(L, 1, RUN_CALLBACKS_MODE_FIRST);
}