Compare commits
5 Commits
f45ee3d493
...
90592ccfe6
Author | SHA1 | Date |
---|---|---|
Michiel | 90592ccfe6 | |
Michiel | c8440f4f1c | |
Michiel | e6e903caba | |
Michiel | ef91a73302 | |
Michiel | c65923f2dc |
|
@ -4,3 +4,5 @@ Depends default
|
|||
Licenses: code WTFPL
|
||||
|
||||
For use with mapgens V6 or indev, adds pools to floatlands.
|
||||
More or less works with valleys, I don't think it works with v7.
|
||||
Not tested on Carpathian.
|
||||
|
|
80
init.lua
80
init.lua
|
@ -5,7 +5,7 @@
|
|||
|
||||
-- Parameters
|
||||
|
||||
local YMAX = 170 -- Maximum altitude for pools
|
||||
local YMAX = 195 -- Maximum altitude for pools
|
||||
local FLOW = 256
|
||||
|
||||
-- Stuff
|
||||
|
@ -16,35 +16,33 @@ highlandpools = {}
|
|||
|
||||
function highlandpools_remtree(x, y, z, area, data)
|
||||
local c_tree = minetest.get_content_id("default:tree")
|
||||
local c_ethbirch = minetest.get_content_id("ethereal.birchtree")
|
||||
local c_apple = minetest.get_content_id("default:apple")
|
||||
local c_leaves = minetest.get_content_id("default:leaves")
|
||||
local c_air = minetest.get_content_id("air")
|
||||
for j = 1, 7 do
|
||||
for i = -2, 2 do
|
||||
for k = -2, 2 do
|
||||
local vi = area:index(x+i, y+j, z+k)
|
||||
if data[vi] == c_tree
|
||||
or data[vi] == c_apple
|
||||
or data[vi] == c_ethbirch
|
||||
or data[vi] == c_leaves then
|
||||
data[vi] = c_air
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
for j = 1, 7 do
|
||||
for i = -2, 2 do
|
||||
for k = -2, 2 do
|
||||
local vi = area:index(x+i, y-j, z+k)
|
||||
if data[vi] == c_tree
|
||||
or data[vi] == c_apple
|
||||
or data[vi] == c_leaves then
|
||||
data[vi] = c_air
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- for j = 1, 7 do
|
||||
-- for i = -2, 2 do
|
||||
-- for k = -2, 2 do
|
||||
-- local vi = area:index(x+i, y+j, z+k)
|
||||
-- if data[vi] == c_tree
|
||||
-- or data[vi] == c_apple
|
||||
-- or data[vi] == c_leaves then
|
||||
-- data[vi] = c_air
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- for j = 1, 7 do
|
||||
-- for i = -2, 2 do
|
||||
-- for k = -2, 2 do
|
||||
-- local vi = area:index(x+i, y-j, z+k)
|
||||
-- if data[vi] == c_tree
|
||||
-- or data[vi] == c_apple
|
||||
-- or data[vi] == c_leaves then
|
||||
-- data[vi] = c_air
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
end
|
||||
|
||||
-- On generated function
|
||||
|
@ -72,6 +70,10 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
local c_ignore = minetest.get_content_id("ignore")
|
||||
local c_watsour = minetest.get_content_id("default:river_water_source")
|
||||
local c_grass = minetest.get_content_id("default:dirt_with_grass")
|
||||
local c_grass2 = minetest.get_content_id("aotearoa:restiad_peat")
|
||||
local c_grass3 = minetest.get_content_id("default:dirt_with_coniferous_litter")
|
||||
local c_grass4 = minetest.get_content_id("aotearoa:forest_peat")
|
||||
local c_grass5 = minetest.get_content_id("aotearoa:dirt_with_dark_litter")
|
||||
local c_tree = minetest.get_content_id("default:tree")
|
||||
local c_apple = minetest.get_content_id("default:apple")
|
||||
local c_leaves = minetest.get_content_id("default:leaves")
|
||||
|
@ -90,6 +92,18 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
elseif c_node == c_grass then
|
||||
yasurf = y + 1
|
||||
break
|
||||
elseif c_node == c_grass2 then
|
||||
yasurf = y + 1
|
||||
break
|
||||
elseif c_node == c_grass3 then
|
||||
yasurf = y + 1
|
||||
break
|
||||
elseif c_node == c_grass4 then
|
||||
yasurf = y + 1
|
||||
break
|
||||
elseif c_node == c_grass5 then
|
||||
yasurf = y + 1
|
||||
break
|
||||
end
|
||||
end
|
||||
if yasurf then
|
||||
|
@ -163,7 +177,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
local vin = area:index(x, yasurf, z + 1)
|
||||
local vis = area:index(x, yasurf, z - 1)
|
||||
if data[vie] == c_tree then
|
||||
highlandpools_remtree(x + 1, yasurf, z, area, data)
|
||||
--highlandpools_remtree(x + 1, yasurf, z, area, data)
|
||||
data[vie] = c_watsour
|
||||
elseif data[vie] == c_air
|
||||
or data[vie] == c_apple
|
||||
|
@ -171,7 +185,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
data[vie] = c_watsour
|
||||
end
|
||||
if data[viw] == c_tree then
|
||||
highlandpools_remtree(x - 1, yasurf, z, area, data)
|
||||
--highlandpools_remtree(x - 1, yasurf, z, area, data)
|
||||
data[viw] = c_watsour
|
||||
elseif data[viw] == c_air
|
||||
or data[viw] == c_apple
|
||||
|
@ -179,7 +193,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
data[viw] = c_watsour
|
||||
end
|
||||
if data[vin] == c_tree then
|
||||
highlandpools_remtree(x, yasurf, z + 1, area, data)
|
||||
--highlandpools_remtree(x, yasurf, z + 1, area, data)
|
||||
data[vin] = c_watsour
|
||||
elseif data[vin] == c_air
|
||||
or data[vin] == c_apple
|
||||
|
@ -187,7 +201,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
data[vin] = c_watsour
|
||||
end
|
||||
if data[vis] == c_tree then
|
||||
highlandpools_remtree(x, yasurf, z - 1, area, data)
|
||||
--highlandpools_remtree(x, yasurf, z - 1, area, data)
|
||||
data[vis] = c_watsour
|
||||
elseif data[vis] == c_air
|
||||
or data[vis] == c_apple
|
||||
|
@ -243,7 +257,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||
vm:calc_lighting()
|
||||
vm:write_to_map(data)
|
||||
|
||||
local chugent = math.ceil((os.clock() - t1) * 1000)
|
||||
--local chugent = math.ceil((os.clock() - t1) * 1000)
|
||||
--print ("[highlandpools] time "..chugent.." ms")
|
||||
end)
|
||||
|
||||
|
@ -252,7 +266,7 @@ local function dissolve(pos_dissolve, pos_liquid)
|
|||
local name = node.name
|
||||
local nodedef = minetest.registered_nodes[name]
|
||||
if nodedef and nodedef.liquidtype ~= "none" then
|
||||
minetest.remove_node(pos_dissolve)
|
||||
minetest.set_node(pos_dissolve, {name="air"})
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue