From 86ad3e7c6a37699f7f8297a387bf08af74e36629 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 22:10:20 -0400 Subject: Update all core mods --- bedrock/mapgen.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 bedrock/mapgen.lua (limited to 'bedrock/mapgen.lua') diff --git a/bedrock/mapgen.lua b/bedrock/mapgen.lua new file mode 100644 index 0000000..995bfb0 --- /dev/null +++ b/bedrock/mapgen.lua @@ -0,0 +1,33 @@ + +local bedrock_depth = tonumber(minetest.setting_get("bedrock_depth")) or -30912 +local bedrock_height = tonumber(minetest.setting_get("bedrock_height")) or 5 + +minetest.register_on_generated(function(minp, maxp) + if minp.y > bedrock_depth + bedrock_height or maxp.y < bedrock_depth then + return + end + + local vm, mine, maxe = minetest.get_mapgen_object("voxelmanip") + local area = VoxelArea:new({MinEdge=mine, MaxEdge=maxe}) + local data = vm:get_data() + + local random = math.random + + local c_bedrock = minetest.get_content_id("bedrock:bedrock") + + local highest = math.min(bedrock_depth + bedrock_height, maxe.y) + local lowest = math.max(bedrock_depth, mine.y) + + for y = lowest, highest do + for x = mine.x, maxe.x do + for z = mine.z, maxe.z do + if random(0, y - bedrock_depth) == 0 then + data[area:index(x, y, z)] = c_bedrock + end + end + end + end + vm:set_data(data) + vm:write_to_map() +end) + -- cgit v1.2.3