Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- minetest.register_on_generated(function(minp, maxp, seed)
- local t1 = os.clock()
- local sidelen = maxp.x - minp.x + 1
- local noise = minetest.get_perlin_map(
- {offset=0, scale=1, spread={x=200, y=125, z=200}, seed=5, octaves=5, persist=0.6},
- {x=sidelen, y=sidelen, z=sidelen}
- )
- local nvals = noise:get3dMap_flat({x=minp.x, y=minp.y, z=minp.z})
- local ni = 1
- for z = minp.z, maxp.z do
- for y = minp.y, maxp.y do
- for x = minp.x, maxp.x do
- local p = {x=x,y=y,z=z}
- if nvals[ni] - (y - 25) / 55 > 0.5 then
- if y < 1 then
- minetest.env:set_node(p, {name="default:dirt"})
- else
- minetest.env:set_node(p, {name="default:dirt_with_grass"})
- end
- elseif y < 1 then
- minetest.env:set_node(p, {name="default:water_source"})
- end
- ni = ni + 1
- end
- end
- end
- print(string.format("elapsed time: %.2fms", (os.clock() - t1) * 1000))
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement