diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_woodland_outpost.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_woodland_outpost.mts index 18cb43393..dac927b66 100644 Binary files a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_woodland_outpost.mts and b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_woodland_outpost.mts differ diff --git a/mods/MAPGEN/mcl_structures/woodland_mansion.lua b/mods/MAPGEN/mcl_structures/woodland_mansion.lua index 35e934a68..6a4cfebe0 100644 --- a/mods/MAPGEN/mcl_structures/woodland_mansion.lua +++ b/mods/MAPGEN/mcl_structures/woodland_mansion.lua @@ -18,16 +18,21 @@ mcl_structures.register_structure("woodland_cabin",{ modpath.."/schematics/mcl_structures_woodland_outpost.mts", }, after_place = function(p,def,pr) - local spawnon = {"mcl_deepslate:deepslate","mcl_wool:white_carpet","mcl_wool:white_carpet"} - for i=1,5 do - local vindicator = minetest.find_node_near(p,25,spawnon) - if vindicator then - minetest.add_entity(vindicator,"mobs_mc:vindicator") + local spawnon = {"mcl_deepslate:deepslate","mcl_core:birchwood","mcl_wool:red_carpet","mcl_wool:brown_carpet"} + local p1=vector.offset(p,-def.sidelen,-1,-def.sidelen) + local p2=vector.offset(p,def.sidelen,def.sidelen,def.sidelen) + local sp = minetest.find_nodes_in_area_under_air(p1,p2,spawnon) + if sp and #sp > 0 then + for i=1,5 do + local pos = sp[pr:next(1,#sp)] + if pos then + minetest.add_entity(pos,"mobs_mc:vindicator") + end + end + local pos = sp[pr:next(1,#sp)] + if pos then + minetest.add_entity(pos,"mobs_mc:evoker") end - end - local evoker = minetest.find_node_near(p,25,spawnon) - if evoker then - minetest.add_entity(evoker,"mobs_mc:evoker") end local parrot = minetest.find_node_near(p,25,{"mcl_heads:wither_skeleton"}) if parrot then