summaryrefslogtreecommitdiff
path: root/src/script/lua_api
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2013-06-27 22:33:31 -0400
committerkwolekr <kwolekr@minetest.net>2013-06-27 22:35:35 -0400
commit9e100bc42b5275299020ea8619e64f2e4aa76192 (patch)
tree0fddf53b5665ec41181f52548a7676efa10e2e83 /src/script/lua_api
parent6b3169e4d0ebd82661d7cca9e3a381124a897f1a (diff)
downloadminetest-9e100bc42b5275299020ea8619e64f2e4aa76192.tar.gz
minetest-9e100bc42b5275299020ea8619e64f2e4aa76192.tar.bz2
minetest-9e100bc42b5275299020ea8619e64f2e4aa76192.zip
Apply various fixes to several things
Diffstat (limited to 'src/script/lua_api')
-rw-r--r--src/script/lua_api/l_env.cpp7
-rw-r--r--src/script/lua_api/l_vmanip.cpp8
2 files changed, 12 insertions, 3 deletions
diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp
index 02cafc0d5..89ba9798a 100644
--- a/src/script/lua_api/l_env.cpp
+++ b/src/script/lua_api/l_env.cpp
@@ -579,6 +579,8 @@ int ModApiEnvMod::l_get_mapgen_object(lua_State *L)
EmergeManager *emerge = getServer(L)->getEmergeManager();
Mapgen *mg = emerge->getCurrentMapgen();
+ if (!mg)
+ return 0;
size_t maplen = mg->csize.X * mg->csize.Z;
@@ -614,7 +616,7 @@ int ModApiEnvMod::l_get_mapgen_object(lua_State *L)
}
break; }
case MGOBJ_BIOMEMAP: {
- if (!mg->heightmap)
+ if (!mg->biomemap)
return 0;
lua_newtable(L);
@@ -625,6 +627,9 @@ int ModApiEnvMod::l_get_mapgen_object(lua_State *L)
break; }
case MGOBJ_HEATMAP: { // Mapgen V7 specific objects
case MGOBJ_HUMIDMAP:
+ if (strcmp(emerge->params->mg_name.c_str(), "v7"))
+ return 0;
+
MapgenV7 *mgv7 = (MapgenV7 *)mg;
float *arr = (mgobj == MGOBJ_HEATMAP) ?
diff --git a/src/script/lua_api/l_vmanip.cpp b/src/script/lua_api/l_vmanip.cpp
index f753f5f27..8bf65a555 100644
--- a/src/script/lua_api/l_vmanip.cpp
+++ b/src/script/lua_api/l_vmanip.cpp
@@ -88,7 +88,7 @@ int LuaVoxelManip::l_set_data(lua_State *L)
int volume = vm->m_area.getVolume();
for (int i = 0; i != volume; i++) {
lua_rawgeti(L, 2, i + 1);
- content_t c = lua_tonumber(L, -1);
+ content_t c = lua_tointeger(L, -1);
vm->m_data[i].setContent(c);
@@ -224,7 +224,11 @@ int LuaVoxelManip::create_object(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- Map *map = &(get_scriptapi(L)->getEnv()->getMap());
+ Environment *env = get_scriptapi(L)->getEnv();
+ if (!env)
+ return 0;
+
+ Map *map = &(env->getMap());
LuaVoxelManip *o = new LuaVoxelManip(map);
*(void **)(lua_newuserdata(L, sizeof(void *))) = o;