function ctf_map.place_base(color, pos) -- Spawn base for x = pos.x - 2, pos.x + 2 do for z = pos.z - 2, pos.z + 2 do minetest.set_node({ x = x, y = pos.y - 1, z = z }, { name = ctf_map.map.base_node or "ctf_map:cobble" }) end end -- Check for trees for y = pos.y, pos.y + 3 do for x = pos.x - 3, pos.x + 3 do for z = pos.z - 3, pos.z + 3 do local pos2 = { x = x, y = y, z = z } if minetest.get_node(pos2).name == "default:tree" then minetest.set_node(pos2, { name = "air" }) end end end end -- Spawn chest local chest = { name = "ctf_map_core:chest_" .. color } local dz = 2 if pos.z < 0 then dz = -2 chest.param2 = minetest.dir_to_facedir({ x = 0, y = 0, z = -1 }) end local pos3 = { x = pos.x, y = pos.y, z = pos.z + dz } minetest.set_node(pos3, chest) local inv = minetest.get_meta(pos3):get_inventory() inv:add_item("main", ItemStack("default:cobble 99")) inv:add_item("main", ItemStack("ctf_map:reinforced_cobble 50")) inv:add_item("main", ItemStack("ctf_traps:damage_cobble 40")) inv:add_item("main", ItemStack("default:wood 99")) inv:add_item("main", ItemStack("default:stick 30")) inv:add_item("main", ItemStack("default:glass 5")) inv:add_item("main", ItemStack("default:torch 10")) inv:add_item("main", ItemStack("doors:door_steel 2")) end -- Override ctf.get_spawn to implement random spawns local old_spawn = ctf.get_spawn function ctf.get_spawn(team) local spawn = old_spawn(team) if not spawn then return end return vector.add(spawn, { x = math.random(-1, 1), y = 0, z = math.random(-1, 1) }) end