lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional

master
paramat 2015-03-22 21:03:19 +00:00
parent 4fbcfac6cf
commit d1681872bf
2 changed files with 18 additions and 10 deletions

View File

@ -1903,10 +1903,12 @@ and `minetest.auth_reload` call the authetification handler.
* Sets the noiseparams setting of `name` to the noiseparams table specified in `noiseparams`. * Sets the noiseparams setting of `name` to the noiseparams table specified in `noiseparams`.
* `set_default` is an optional boolean (default: `true`) that specifies whether the setting * `set_default` is an optional boolean (default: `true`) that specifies whether the setting
should be applied to the default config or current active config should be applied to the default config or current active config
* `minetest.generate_ores(vm, p1, p2)` * `minetest.generate_ores(vm, pos1, pos2)`
* Generate all registered ores within the VoxelManip `vm` and in the area from p1 to p2. * Generate all registered ores within the VoxelManip `vm` and in the area from `pos1` to `pos2`.
* `minetest.generate_decorations(vm, p1, p2)` * `pos1` and `pos2` are optional and default to mapchunk minp and maxp.
* Generate all registered decorations within the VoxelManip `vm` and in the area from p1 to p2. * `minetest.generate_decorations(vm, pos1, pos2)`
* Generate all registered decorations within the VoxelManip `vm` and in the area from `pos1` to `pos2`.
* `pos1` and `pos2` are optional and default to mapchunk minp and maxp.
* `minetest.clear_objects()` * `minetest.clear_objects()`
* clear all objects in the environments * clear all objects in the environments
* `minetest.delete_area(pos1, pos2)` * `minetest.delete_area(pos1, pos2)`

View File

@ -801,10 +801,13 @@ int ModApiMapgen::l_generate_ores(lua_State *L)
mg.vm = LuaVoxelManip::checkobject(L, 1)->vm; mg.vm = LuaVoxelManip::checkobject(L, 1)->vm;
mg.ndef = getServer(L)->getNodeDefManager(); mg.ndef = getServer(L)->getNodeDefManager();
u32 blockseed = Mapgen::getBlockSeed(mg.vm->m_area.MinEdge, mg.seed); v3s16 pmin = lua_istable(L, 2) ? read_v3s16(L, 2) :
mg.vm->m_area.MinEdge + v3s16(1,1,1) * MAP_BLOCKSIZE;
v3s16 pmax = lua_istable(L, 3) ? read_v3s16(L, 3) :
mg.vm->m_area.MaxEdge - v3s16(1,1,1) * MAP_BLOCKSIZE;
sortBoxVerticies(pmin, pmax);
v3s16 pmin = read_v3s16(L, 2); u32 blockseed = Mapgen::getBlockSeed(pmin, mg.seed);
v3s16 pmax = read_v3s16(L, 3);
emerge->oremgr->placeAllOres(&mg, blockseed, pmin, pmax); emerge->oremgr->placeAllOres(&mg, blockseed, pmin, pmax);
@ -821,10 +824,13 @@ int ModApiMapgen::l_generate_decorations(lua_State *L)
mg.vm = LuaVoxelManip::checkobject(L, 1)->vm; mg.vm = LuaVoxelManip::checkobject(L, 1)->vm;
mg.ndef = getServer(L)->getNodeDefManager(); mg.ndef = getServer(L)->getNodeDefManager();
u32 blockseed = Mapgen::getBlockSeed(mg.vm->m_area.MinEdge, mg.seed); v3s16 pmin = lua_istable(L, 2) ? read_v3s16(L, 2) :
mg.vm->m_area.MinEdge + v3s16(1,1,1) * MAP_BLOCKSIZE;
v3s16 pmax = lua_istable(L, 3) ? read_v3s16(L, 3) :
mg.vm->m_area.MaxEdge - v3s16(1,1,1) * MAP_BLOCKSIZE;
sortBoxVerticies(pmin, pmax);
v3s16 pmin = read_v3s16(L, 2); u32 blockseed = Mapgen::getBlockSeed(pmin, mg.seed);
v3s16 pmax = read_v3s16(L, 3);
emerge->decomgr->placeAllDecos(&mg, blockseed, pmin, pmax); emerge->decomgr->placeAllDecos(&mg, blockseed, pmin, pmax);