australia/biome_timor_sea.lua

663 lines
15 KiB
Lua
Executable File

-- mods/australia/biome_timor_sea.lua
minetest.register_biome({
name = "timor_sea",
--node_dust = "",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 2,
--node_stone = "",
--node_water_top = "",
--depth_water_top = ,
--node_water = "",
--node_river_water = "",
y_min = -64,
y_max = 3,
heat_point = 80,
humidity_point = 90,
})
--
-- Register ores
--
-- All mapgens except singlenode
-- Blob ore first to avoid other ores inside blobs
minetest.register_ore({
ore_type = "scatter",
ore = "australia:submarine",
wherein = "default:sand",
clust_scarcity = 80*80*80,
clust_num_ores = 1,
clust_size = 12,
biomes = {"timor_sea"},
y_min = -64,
y_max = -8,
})
--
-- Decorations
--
local function register_grass_decoration(offset, scale, length)
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = offset,
scale = scale,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"timor_sea"},
y_min = 3,
y_max = 3,
decoration = "default:grass_"..length,
})
end
-- Grasses
register_grass_decoration(-0.03, 0.09, 5)
register_grass_decoration(-0.015, 0.075, 4)
register_grass_decoration(0, 0.06, 3)
register_grass_decoration(0.015, 0.045, 2)
register_grass_decoration(0.03, 0.03, 1)
-- Narrowleaf Seagrass
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 80,
fill_ratio = 0.02,
biomes = {"timor_sea"},
y_min = -10,
y_max = -2,
decoration = "australia:sea_grass",
flags = "force_placement",
})
--
-- ABM'S
--
local function place_submarine(pos)
minetest.add_node(pos, {name = "default:dirt"})
pos.y = pos.y + 1
pos.x = pos.x - 15
for a = 1, 31 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 1
pos.x = pos.x + 1
for a = 1, 31 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 1
pos.x = pos.x +1
for a = 1, 27 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 3
pos.x = pos.x + 1
for a = 1, 27 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 1
pos.x = pos.x + 2
for a = 1, 21 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 5
pos.x = pos.x + 1
for a = 1, 21 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.y = pos.y + 1
pos.z = pos.z + 1
pos.x = pos.x - 1
for a = 1, 21 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 7
pos.x = pos.x + 1
for a = 1, 21 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 1
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 24
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 5
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 22
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z - 1
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 29
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z - 3
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 28
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 1
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 32
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 32
minetest.add_node(pos, {name = "default:copperblock"})
pos.y = pos.y + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 32
minetest.add_node(pos, {name = "default:steelblock"})
pos.z = pos.z - 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x - 32
minetest.add_node(pos, {name = "default:steelblock"})
pos.z = pos.z - 1
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 28
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.z = pos.z + 3
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x - 28
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.z = pos.z + 1
pos.x = pos.x + 2
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 22
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.z = pos.z + 1
pos.x = pos.x - 2
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
for a = 1, 9 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.z = pos.z - 6
pos.x = pos.x - 3
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 22
minetest.add_node(pos, {name = "default:steelblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
pos.z = pos.z - 1
pos.x = pos.x - 2
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:obsidian_glass"})
for a = 1, 9 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.y = pos.y + 1
pos.z = pos.z + 7
pos.x = pos.x - 1
for a = 1, 21 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 7
pos.x = pos.x + 1
for a = 1, 21 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 1
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 24
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 5
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 22
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z - 1
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 29
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z - 3
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 28
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 1
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 32
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 32
minetest.add_node(pos, {name = "default:copperblock"})
pos.y = pos.y + 1
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 28
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 28
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z - 1
pos.x = pos.x + 2
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 22
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 3
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 22
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
pos.z = pos.z + 1
pos.x = pos.x + 2
for a = 1, 21 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 5
pos.x = pos.x + 1
for a = 1, 21 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.y = pos.y + 1
pos.z = pos.z + 2
pos.x = pos.x - 4
for a = 1, 3 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.x = pos.x + 21
for a = 1, 3 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 1
pos.x = pos.x + 1
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.x = pos.x - 21
for a = 1, 3 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 2
pos.x = pos.x + 3
for a = 1, 4 do
pos.z = pos.z - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 1
pos.x = pos.x + 1
for a = 1, 4 do
pos.z = pos.z + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.x = pos.x + 6
for a = 1, 13 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z - 3
pos.x = pos.x + 1
for a = 1, 13 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:copperblock"})
end
pos.z = pos.z + 1
pos.x = pos.x - 1
for a = 1, 13 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:bronzeblock"})
end
pos.z = pos.z + 1
pos.x = pos.x + 1
for a = 1, 13 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:bronzeblock"})
end
pos.z = pos.z - 3
for a = 1, 6 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.z = pos.z + 5
pos.x = pos.x - 1
for a = 1, 6 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.y = pos.y + 1
for a = 1, 4 do
pos.z = pos.z - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 5
pos.z = pos.z - 1
for a = 1, 4 do
pos.z = pos.z + 1
minetest.add_node(pos, {name = "default:steelblock"})
end
for a = 1, 4 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x + 1
pos.z = pos.z - 3
for a = 1, 4 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.y = pos.y + 1
pos.x = pos.x - 1
pos.z = pos.z - 1
for a = 1, 4 do
pos.z = pos.z + 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x + 5
pos.z = pos.z + 1
for a = 1, 4 do
pos.z = pos.z - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
for a = 1, 4 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
pos.z = pos.z + 3
for a = 1, 4 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.y = pos.y + 1
pos.x = pos.x - 1
pos.z = pos.z - 1
for a = 1, 2 do
pos.x = pos.x - 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.x = pos.x - 1
pos.z = pos.z - 1
for a = 1, 2 do
pos.x = pos.x + 1
minetest.add_node(pos, {name = "default:steelblock"})
end
pos.y = pos.y - 7
pos.x = pos.x +16
pos.z = pos.z +3
minetest.add_node(pos, {name = "australia:submarinechest"})
end
minetest.register_abm({
nodenames = {"australia:submarine"},
interval = 1,
chance = 1,
action = function(pos, node)
local yp = {x = pos.x, y = pos.y + 8, z = pos.z}
if node.name == "australia:submarine"
and (
minetest.get_node(yp).name == "default:water_source"
or minetest.get_node(yp).name == "australia:water_source"
) then
place_submarine(pos)
end
end
})