diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index a7c3b55d8e..5180688f3f 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -891,6 +891,7 @@ local perlin minetest.register_on_generated(function(minp, maxp, seed) local chunk_has_desert_well = false local chunk_has_desert_temple = false + local chunk_has_igloo = false if maxp.y >= 2 and minp.y <= 0 then -- Generate clay -- Assume X and Z lengths are equal @@ -988,6 +989,15 @@ minetest.register_on_generated(function(minp, maxp, seed) end end end + elseif not chunk_has_igloo and nn == "mcl_core:snowblock" then + if math.random(1, 4400) == 1 then + -- Check surface + local surface = minetest.find_nodes_in_area({x=p.x,y=p.y-1,z=p.z}, {x=p.x+9, y=p.y-1, z=p.z+9}, "mcl_core:snowblock") + if #surface >= 63 then + mcl_structures.call_struct(p, "igloo") + chunk_has_igloo = true + end + end end end end diff --git a/mods/MAPGEN/mcl_structures/init.lua b/mods/MAPGEN/mcl_structures/init.lua index bde539db39..2c0b3283fc 100644 --- a/mods/MAPGEN/mcl_structures/init.lua +++ b/mods/MAPGEN/mcl_structures/init.lua @@ -171,7 +171,7 @@ end mcl_structures.generate_igloo_top = function(pos) -- FIXME: This spawns bookshelf instead of furnace. Fix this! -- Furnace does ot work atm because apparently meta is not set. :-( - local newpos = {x=pos.x,y=pos.y-2,z=pos.z} + local newpos = {x=pos.x,y=pos.y-1,z=pos.z} local path = minetest.get_modpath("mcl_structures").."/build/igloo_top.mts" minetest.place_schematic(newpos, path, "random", nil, true) end