Skip to content

Commit

Permalink
Adapted to new mapgen thread feature
Browse files Browse the repository at this point in the history
  • Loading branch information
gaelysam authored and kromka-chleba committed Jan 28, 2025
1 parent f2995c1 commit 199378f
Showing 1 changed file with 20 additions and 26 deletions.
46 changes: 20 additions & 26 deletions src/script/lua_api/l_mapgen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1568,10 +1568,9 @@ int ModApiMapgen::l_generate_ores(lua_State *L)
mg.vm = checkObject<LuaVoxelManip>(L, 1)->vm;
mg.ndef = emerge->ndef;

Mapgen *mg_current = emerge->getCurrentMapgen();
if (mg_current && mg_current->biomegen &&
mg_current->biomegen->getType() == BIOMEGEN_ORIGINAL)
mg.biomemap = mg_current->biomegen->biomemap;
auto *bgen = getBiomeGen(L);
if (bgen)
mg.biomemap = bgen->biomemap;

v3s16 pmin = lua_istable(L, 2) ? check_v3s16(L, 2) :
mg.vm->m_area.MinEdge + v3s16(1,1,1) * MAP_BLOCKSIZE;
Expand Down Expand Up @@ -1608,10 +1607,9 @@ int ModApiMapgen::l_generate_decorations(lua_State *L)
mg.vm = checkObject<LuaVoxelManip>(L, 1)->vm;
mg.ndef = emerge->ndef;

Mapgen *mg_current = emerge->getCurrentMapgen();
if (mg_current && mg_current->biomegen &&
mg_current->biomegen->getType() == BIOMEGEN_ORIGINAL)
mg.biomemap = mg_current->biomegen->biomemap;
auto *bgen = getBiomeGen(L);
if (bgen && bgen->getType() == BIOMEGEN_ORIGINAL)
mg.biomemap = bgen->biomemap;

v3s16 pmin = lua_istable(L, 2) ? check_v3s16(L, 2) :
mg.vm->m_area.MinEdge + v3s16(1,1,1) * MAP_BLOCKSIZE;
Expand All @@ -1632,16 +1630,13 @@ int ModApiMapgen::l_generate_biomes(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;

EmergeManager *emerge = getServer(L)->getEmergeManager();
if (!emerge)
auto *mg_current = getMapgen(L);
auto *bgen = getBiomeGen(L);
if (!mg_current || !bgen ||
bgen->getType() != BIOMEGEN_ORIGINAL)
return 0;

Mapgen *mg_current = emerge->getCurrentMapgen();
if (!mg_current || !mg_current->biomegen ||
mg_current->biomegen->getType() != BIOMEGEN_ORIGINAL)
return 0;

const NodeDefManager *ndef = getServer(L)->getNodeDefManager();
const NodeDefManager *ndef = mg_current->ndef;

MapgenBasic mg;

Expand All @@ -1652,7 +1647,7 @@ int ModApiMapgen::l_generate_biomes(lua_State *L)
mg.vm = checkObject<LuaVoxelManip>(L, 1)->vm;
mg.ndef = ndef;
mg.biomegen = mg_current->biomegen;
mg.biomemap = mg_current->biomegen->biomemap;
mg.biomemap = bgen->biomemap;
mg.water_level = mg_current->water_level;

v3s16 pmin = lua_istable(L, 2) ? check_v3s16(L, 2) :
Expand Down Expand Up @@ -1694,24 +1689,21 @@ int ModApiMapgen::l_generate_biome_dust(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;

EmergeManager *emerge = getServer(L)->getEmergeManager();
if (!emerge)
return 0;

Mapgen *mg_current = emerge->getCurrentMapgen();
if (!mg_current || !mg_current->biomegen ||
mg_current->biomegen->getType() != BIOMEGEN_ORIGINAL)
auto *mg_current = getMapgen(L);
auto *bgen = getBiomeGen(L);
if (!mg_current || !bgen ||
bgen->getType() != BIOMEGEN_ORIGINAL)
return 0;

const NodeDefManager *ndef = getServer(L)->getNodeDefManager();
const NodeDefManager *ndef = mg_current->ndef;

MapgenBasic mg;

mg.vm = checkObject<LuaVoxelManip>(L, 1)->vm;
mg.m_bmgr = mg_current->m_emerge->biomemgr;
mg.ndef = ndef;
mg.biomegen = mg_current->biomegen;
mg.biomemap = mg_current->biomegen->biomemap;
mg.biomemap = bgen->biomemap;
mg.water_level = mg_current->water_level;

v3s16 pmin = lua_istable(L, 2) ? check_v3s16(L, 2) :
Expand Down Expand Up @@ -2194,6 +2186,8 @@ void ModApiMapgen::InitializeEmerge(lua_State *L, int top)

API_FCT(generate_ores);
API_FCT(generate_decorations);
API_FCT(generate_biomes);
API_FCT(generate_biome_dust);
API_FCT(place_schematic_on_vmanip);
API_FCT(spawn_tree_on_vmanip);
API_FCT(serialize_schematic);
Expand Down

0 comments on commit 199378f

Please sign in to comment.