nodetest/mods/default/decorations.lua

576 lines
12 KiB
Lua

-- Decoration
-- Dirt type patches.
-- Must come before all decorations.
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 4,
noise_params = {
offset = -1.5,
scale = -1.5,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 4,
persist = 0.8
},
biomes = {"savanna"},
y_max = 31000,
y_min = 1,
decoration = "default:dry_dirt",
place_offset_y = -1,
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass"},
sidelen = 4,
noise_params = {
offset = -1,
scale = 1.5,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 4,
persist = 0.8
},
biomes = {"gs-blend"},
y_max = 31000,
y_min = 1,
decoration = "default:dry_dirt_with_dry_grass",
place_offset_y = -1,
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass"},
sidelen = 4,
noise_params = {
offset = -1,
scale = 1.5,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 4,
persist = 0.8
},
biomes = {"tc-blend"},
y_max = 31000,
y_min = 1,
decoration = "default:dirt_with_snow",
place_offset_y = -1,
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "default:dirt_with_snow"},
sidelen = 4,
noise_params = {
offset = 0,
scale = 2,
spread = {x = 250, y = 250, z = 250},
seed = 154,
octaves = 2,
persist = 2.00
},
biomes = {"conifer", "taiga", "tc-blend"},
y_max = 31000,
y_min = 1,
decoration = "default:dirt_with_coniferous_litter",
place_offset_y = -1,
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass"},
sidelen = 4,
noise_params = {
offset = 0,
scale = 1,
spread = {x = 250, y = 250, z = 250},
seed = 680,
octaves = 1,
persist = 1.00
},
biomes = {"rainforest", "deep_rainforest"},
y_max = 31000,
y_min = 1,
decoration = "default:dirt_with_rainforest_litter",
place_offset_y = -1,
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:permafrost_with_stones"},
sidelen = 4,
noise_params = {
offset = 0,
scale = 0.8,
spread = {x = 250, y = 250, z = 250},
seed = 680,
octaves = 1,
persist = 1.00
},
biomes = {"permafrost"},
y_max = 31000,
y_min = 1,
decoration = "default:permafrost_with_moss",
place_offset_y = -1,
flags = "force_placement",
})
for i = 1, 5 do
minetest.register_decoration({
name = "default:dry_grass_" .. i,
deco_type = "simple",
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = 0.01,
scale = 0.05,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"savanna", "gs-blend"},
y_max = 31000,
y_min = 1,
decoration = "default:dry_grass_" .. i,
})
end
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass", "default:dirt_with_coniferous_litter"},
sidelen = 16,
noise_params = {
offset = 0.01,
scale = 0.020,
spread = {x = 250, y = 250, z = 250},
seed = 153,
octaves = 2,
persist = 0.66
},
biomes = {"conifer", "tc-blend"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/conifer_conifertree_1.mts",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass", "default:dirt_with_coniferous_litter"},
sidelen = 16,
noise_params = {
offset = 0.01,
scale = 0.010,
spread = {x = 250, y = 250, z = 250},
seed = 154,
octaves = 2,
persist = 0.66
},
biomes = {"conifer", "tc-blend"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/conifer_conifertree_2.mts",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_grass", "default:dirt_with_coniferous_litter"},
sidelen = 16,
noise_params = {
offset = 0.01,
scale = 0.010,
spread = {x = 250, y = 250, z = 250},
seed = 155,
octaves = 2,
persist = 0.66
},
biomes = {"taiga", "tc-blend"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/pine_tree.mts",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.018,
scale = 0.030,
spread = {x = 250, y = 250, z = 250},
seed = 538,
octaves = 2,
persist = 0.66
},
biomes = {"forest", "grassland", "gs-blend"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/default_tree.mts",
rotation = "random",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.00,
scale = 0.030,
spread = {x = 250, y = 250, z = 250},
seed = 539,
octaves = 2,
persist = 0.66
},
biomes = {"forest", "grassland", "gs-blend"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/default_apple_tree.mts",
rotation = "random",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.003,
scale = 0.030,
spread = {x = 250, y = 250, z = 250},
seed = 570,
octaves = 2,
persist = 0.7
},
biomes = {"forest", "grassland"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts",
rotation = "random",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = 0.003,
scale = 0.030,
spread = {x = 250, y = 250, z = 250},
seed = 570,
octaves = 2,
persist = 0.7
},
biomes = {"savanna", "gs-blend"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/acacia_tree.mts",
rotation = "random",
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"},
sidelen = 16,
noise_params = {
offset = 0.02,
scale = 0.030,
spread = {x = 250, y = 250, z = 250},
seed = 680,
octaves = 2,
persist = 0.66
},
biomes = {"rainforest", "deep_rainforest"},
flags = "place_center_x, place_center_z",
schematic = minetest.get_modpath("default").."/schematics/default_jungletree.mts",
rotation = "random",
y_min = 1,
y_max = 32000,
})
local chunksize = tonumber(minetest.get_mapgen_setting("chunksize"))
if chunksize >= 5 then
minetest.register_decoration({
name = "default:emergent_jungle_tree",
deco_type = "schematic",
place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"},
sidelen = 80,
noise_params = {
offset = 0.0,
scale = 0.0025,
spread = {x = 250, y = 250, z = 250},
seed = 690,
octaves = 3,
persist = 0.7
},
biomes = {"deep_rainforest"},
y_max = 64,
y_min = 1,
schematic = minetest.get_modpath("default") ..
"/schematics/emergent_jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
place_offset_y = -4,
})
end
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter", "default:cactus"},
sidelen = 16,
fill_ratio = 0.15,
biomes = {"rainforest", "deep_rainforest"},
decoration = {"default:junglegrass"},
y_min = 1,
y_max = 32000,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:water_source"},
sidelen = 16,
noise_params = {
offset = -0.4,
scale = 0.7,
spread = {x = 200, y = 200, z = 200},
seed = 354,
octaves = 3,
persist = 0.7
},
y_min = 0,
y_max = 1,
biomes = {"sea_dirt", "sea_sand", "sea_gravel"},
schematic = minetest.get_modpath("default") .. "/schematics/papyrus_with_roots.mts",
spawn_by = "group:soil",
num_spawn_by = 1,
flags = "liquid_surface",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"group:soil"},
sidelen = 16,
noise_params = {
offset = -0.3,
scale = 0.7,
spread = {x = 200, y = 200, z = 200},
seed = 354,
octaves = 3,
persist = 0.7
},
y_min = 1,
y_max = 30000,
biomes = {"forest", "rainforest", "deep_rainforest", "grassland", "savanna", "gs-blend"},
decoration = "default:papyrus",
height = 3,
height_max = 5,
spawn_by = "default:water_source",
num_spawn_by = 1,
})
-- Cacti
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:desert_sand", "default:sand", "default:dry_dirt"},
sidelen = 16,
noise_params = {
offset = -0.012,
scale = 0.024,
spread = {x = 100, y = 100, z = 100},
seed = 230,
octaves = 3,
persist = 0.6
},
y_min = 1,
y_max = 300,
biomes = {"sandstone_desert", "desert", "rocky_desert", "savanna", "sea_sand", "gs-blend"},
decoration = "default:cactus",
height = 3,
height_max = 5,
})
-- Long grasses
for length = 1, 5 do
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.8
},
y_min = 1,
y_max = 300,
decoration = "default:grass_"..length,
})
end
-- Ferns
for length = 1, 3 do
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dirt_with_grass", "default:dirt_with_coniferous_litter", "default:dirt_with_rainforest_litter"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.04,
spread = {x = 100, y = 100, z = 100},
seed = 800+length,
octaves = 3,
persist = 0.65
},
y_min = 6,
y_max = 31000,
biomes = {"conifer", "forest", "rainforest", "deep_rainforest"},
decoration = "default:fern_" .. length,
})
end
-- Dry shrubs
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:desert_sand", "default:sand"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.035,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.6
},
y_min = 1,
y_max = 300,
biomes = {"sandstone_desert", "desert"},
decoration = "default:dry_shrub",
})
-- Corals
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0.5,
scale = 0.60,
spread = {x = 100, y = 100, z = 100},
seed = 7013,
octaves = 3,
persist = 0.1,
},
y_min = -64,
y_max = -2,
decoration = "default:coral_brown",
height = 1,
height_max = 2,
biomes = {"sea_sand"},
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0.5,
scale = 0.64,
spread = {x = 100, y = 100, z = 100},
seed = 7013,
octaves = 3,
persist = 0.1,
},
y_min = -64,
y_max = -2,
decoration = "default:coral_orange",
height = 1,
height_max = 2,
biomes = {"sea_sand"},
flags = "force_placement",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0.5,
scale = 0.63,
spread = {x = 100, y = 100, z = 100},
seed = 7013,
octaves = 3,
persist = 0.1,
},
y_min = -64,
y_max = -2,
decoration = "default:coral_purple",
height = 1,
height_max = 2,
biomes = {"sea_sand"},
flags = "force_placement",
})
-- Seaweed
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt"},
-- Same params as grass.
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 329,
octaves = 3,
persist = 0.8
},
y_min = -64,
y_max = -2,
biomes = {"sea_dirt"},
-- We use a schematic to replace the dirt.
schematic = {
size = {x = 1, y = 1, z = 1},
data = { {name = "default:seaweed"} },
},
flags = "force_placement",
})
minetest.register_decoration({
name = "default:marram_grass",
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 4,
noise_params = {
offset = -0.7,
scale = 4.0,
spread = {x = 16, y = 16, z = 16},
seed = 513337,
octaves = 1,
persist = 0.0,
flags = "absvalue"
},
y_min = 1,
y_max = 8,
biomes = {"sea_sand"},
decoration = {
"default:marram_grass_1",
"default:marram_grass_2",
"default:marram_grass_3",
},
})