From 46a2c1f167f76b1ceb0164e9028b67eb6bf76e79 Mon Sep 17 00:00:00 2001 From: kwolekr Date: Mon, 20 Apr 2015 20:25:33 -0400 Subject: Ore: Add biomes parameter --- src/script/lua_api/l_mapgen.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/script/lua_api/l_mapgen.cpp') diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp index e90fe32c8..7057344ab 100644 --- a/src/script/lua_api/l_mapgen.cpp +++ b/src/script/lua_api/l_mapgen.cpp @@ -847,6 +847,7 @@ int ModApiMapgen::l_register_ore(lua_State *L) luaL_checktype(L, index, LUA_TTABLE); INodeDefManager *ndef = getServer(L)->getNodeDefManager(); + BiomeManager *bmgr = getServer(L)->getEmergeManager()->biomemgr; OreManager *oremgr = getServer(L)->getEmergeManager()->oremgr; enum OreType oretype = (OreType)getenumfield(L, index, @@ -866,6 +867,7 @@ int ModApiMapgen::l_register_ore(lua_State *L) ore->noise = NULL; ore->flags = 0; + //// Get y_min/y_max warn_if_field_exists(L, index, "height_min", "Deprecated: new name is \"y_min\"."); warn_if_field_exists(L, index, "height_max", @@ -888,8 +890,16 @@ int ModApiMapgen::l_register_ore(lua_State *L) return 0; } + //// Get flags getflagsfield(L, index, "flags", flagdesc_ore, &ore->flags, NULL); + //// Get biomes associated with this decoration (if any) + lua_getfield(L, index, "biomes"); + if (get_biome_list(L, -1, bmgr, &ore->biomes)) + errorstream << "register_ore: couldn't get all biomes " << std::endl; + lua_pop(L, 1); + + //// Get noise parameters if needed lua_getfield(L, index, "noise_params"); if (read_noiseparams(L, -1, &ore->np)) { ore->flags |= OREFLAG_USE_NOISE; -- cgit v1.2.3