mgv7_np_terrain_alt = {
flags = eased
lacunarity = 1
octaves = 4
offset = -20
persistence = 0.3
scale = 6
seed = 5934
spread = (600,600,600)
burli wrote:What is needed that dungeons are generated with cobble stone? I made a minimal subgame and I don't get any errors, but dungeons are generated with stone.
The same issue exists in the minimal development game. Cobble node is registered, but not used for dungeons
burli wrote:How can I make ridges in mgv7 less deep? And the underground and the shores a bit more rough. Ridges look so polished
-- Aspen tree and log
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.0,
scale = -0.009,
spread = {x = 150, y = 150, z = 150},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"coniferous_forest"},
y_min = 1,
y_max = 31000,
schematic = minetest.get_modpath("default").."/schematics/aspen_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.0,
scale = -0.001,
spread = {x = 150, y = 150, z = 150},
seed = 1,
octaves = 3,
persist = 0.66
},
biomes = {"coniferous_forest"},
y_min = 1,
y_max = 31000,
schematic = {
size = {x = 3, y = 3, z = 1},
data = {
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "default:aspen_tree", param2 = 12},
{name = "default:aspen_tree", param2 = 12},
{name = "default:aspen_tree", param2 = 12, prob = 127},
{name = "flowers:mushroom_red", prob = 63},
{name = "flowers:mushroom_brown", prob = 63},
{name = "air", prob = 0},
},
},
flags = "place_center_x",
rotation = "random",
})
data = {
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "air", prob = 0},
--- {name = "default:aspen_tree", param2 = 12},
one of these?--- {name = "default:aspen_tree", param2 = 12},
--- {name = "default:aspen_tree", param2 = 12, prob = 127},
{name = "flowers:mushroom_red", prob = 63},
{name = "flowers:mushroom_brown", prob = 63},
{name = "air", prob = 0},
burli wrote:If you want a different texture you need to make a new node and use this in the schematic
burli wrote:You can clear all registered biomes with minetest.clear_registered_biomes() and define your own
{
coniferous_forest_ocean = {
node_riverbed = "default:sand",
node_top = "default:sand",
node_filler = "default:sand",
depth_top = 1,
humidity_point = 70,
y_max = 4,
y_min = -112,
heat_point = 45,
depth_riverbed = 2,
name = "coniferous_forest_ocean",
depth_filler = 3
},
tundra = {
node_riverbed = "default:gravel",
node_dust = "default:snowblock",
humidity_point = 40,
y_min = 2,
heat_point = 0,
depth_riverbed = 2,
name = "tundra",
y_max = 31000
},
underground = {
humidity_point = 50,
y_max = -113,
heat_point = 50,
name = "underground",
y_min = -31000
},
grassland = {
node_riverbed = "default:sand",
node_top = "default:dirt_with_grass",
node_filler = "default:dirt",
depth_top = 1,
humidity_point = 35,
y_max = 31000,
y_min = 6,
heat_point = 50,
depth_riverbed = 2,
name = "grassland",
depth_filler = 1
},
}
minetest.debug(dump(minetest.registered_biomes))
local replace_underground = function()
local registered_biomes_copy = {}
for old_biome_key, old_biome_def in pairs(minetest.registered_biomes) do
minetest.debug("copying biome", old_biome_key)
local copied_biome_def = {}
for biomekey, biomevalue in pairs(old_biome_def) do
copied_biome_def[biomekey] = biomevalue
end
registered_biomes_copy[old_biome_key] = copied_biome_def
end
if registered_biomes_copy.underground ~= nil then
minetest.debug("replacing underground")
registered_biomes_copy.underground = {
name = "underground",
y_min = -700,
y_max = -113,
heat_point = 50,
humidity_point = 50,
}
end
minetest.clear_registered_biomes()
for _, new_biome_def in pairs(registered_biomes_copy) do
minetest.debug("re-registering biome", new_biome_def.name)
minetest.register_biome(new_biome_def)
end
end
replace_underground()
minetest.debug(dump(minetest.registered_biomes))
local replace_underground = function()
local registered_biomes_copy = {}
for old_biome_key, old_biome_def in pairs(minetest.registered_biomes) do
registered_biomes_copy[old_biome_key] = old_biome_def
end
local registered_decorations_copy = {}
for old_decoration_key, old_decoration_def in pairs(minetest.registered_decorations) do
registered_decorations_copy[old_decoration_key] = old_decoration_def
end
if registered_biomes_copy.underground ~= nil then
registered_biomes_copy.underground = {
name = "underground",
y_min = -700,
y_max = -113,
heat_point = 50,
humidity_point = 50,
}
end
minetest.clear_registered_decorations()
minetest.clear_registered_biomes()
for biome_key, new_biome_def in pairs(registered_biomes_copy) do
minetest.register_biome(new_biome_def)
end
for decoration_key, new_decoration_def in pairs(registered_decorations_copy) do
minetest.register_decoration(new_decoration_def)
end
end
replace_underground()
burli wrote:Is it possible to use biomes to generate different stone underground? I tried it, but it didn't work. Maybe I did something wrong?
FaceDeer wrote:Second, I've discovered that the default mod adds an "underground" biome that seems to be seriously cramping my style. It stretches over the entire underground y-value range. Is there a way to override an already-registered biome so I can get it out of the way of my own underground biomes without disturbing the other biomes registered by default?
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.0,
scale = -0.0008,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"deciduous_forest"},
y_min = 1,
y_max = 31000,
schematic = {
size = {x = 3, y = 3, z = 1},
data = {
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "air", prob = 0},
{name = "default:aspen_tree", param2 = 12},
{name = "default:aspen_tree", param2 = 12},
{name = "default:aspen_tree", param2 = 12, prob = 127},
{name = "flowers:mushroom_red", prob = 63},
{name = "flowers:mushroom_brown", prob = 63},
{name = "air", prob = 0},
},
},
flags = "place_center_x",
rotation = "random",
})
minetest.register_on_mapgen_init(function()
minetest.set_mapgen_setting("mg_flags", "nodungeons")
end)
minetest.set_mapgen_setting("mg_flags", "nodungeons")
minetest.register_decoration({
deco_type = "schematic",
schematic = {
size = { x=1, y=1, z=1 },
data = {
{ name = "default:grass_5", param1=255, },
},
},
place_on = {"default:dirt_with_grass"},
sidelen = 8,
noise_params = {
offset = -0.01,
scale = 0.03,
spread = {x = 500, y = 500, z = 500},
seed = 420,
octaves = 2,
persist = 0.6,
},
y_min = 1,
y_max = 40,
flags = "",
})
minetest.register_decoration({
deco_type = "schematic",
schematic = {
size = { x=1, y=2, z=1 },
data = {
{ name = "air", prob = 0 },
{ name = "default:grass_5", param1=255, },
},
},
place_on = {"default:dirt_with_grass"},
sidelen = 8,
noise_params = {
offset = -0.01,
scale = 0.03,
spread = {x = 500, y = 500, z = 500},
seed = 420,
octaves = 2,
persist = 0.6,
},
y_min = 1,
y_max = 40,
flags = "",
})
-- Large flowers
local register_large_flower = function(name, seed, offset)
minetest.register_decoration({
deco_type = "schematic",
schematic = {
size = { x=1, y=3, z=1 },
data = {
{ name = "air", prob = 0 },
{ name = "mcl_flowers:"..name, param1=255, },
{ name = "mcl_flowers:"..name.."_top", param1=255, },
},
},
place_on = {"mcl_core:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = offset,
scale = 0.01,
spread = {x = 300, y = 300, z = 300},
seed = seed,
octaves = 5,
persist = 0.62,
},
y_min = 1,
y_max = 30,
flags = "",
})
end
register_large_flower("rose_bush", 9350, -0.008)
register_large_flower("peony", 10450, -0.008)
register_large_flower("lilac", 10600, -0.007)
register_large_flower("sunflower", 2940, -0.005)
> Why does this code not remove dungeons?:
Try:
minetest.set_mapgen_setting(name, value, [override_meta])
With true as the 3rd argument. Even in a new world map meta may need overriding.
When setting mg_flags include all arguments:
"caves,nodungeons,light,decorations"
otherwise the other flags may be set to off.
> But the mapgen generated this “half peony” in the middle, on jungle wood. Which is wrong.
Your jungletree was placed first but doesn't have root nodes in the ground, so the ground node under the peony is still dirt or grass, when the peony is placed later it simply looks at the node at ground level and therefore places a peony at that point. Because the peony is not force-placed only the top peony node appears where air is.
If your jungletree has root nodes in the ground this will stop other decorations being placed at the same position.
This is why mapgen trees in MTG have root nodes.
Ah mgv6, i guess mgv6 jungletrees do not replace the dirt or grass at ground level, that's why.
> It also happened to me that the top part of the peony spawned on fern (=jungle grass in Minetest Game) or tall grass (=grass in Minetest Game)
Order of decoration registrations determines order of placement. See default/mapgen.lua, the taller decorations are placed first to avoid them being placed 'around' smaller decorations. Register your peony before 1-node decorations like grasses.
Users browsing this forum: No registered users and 7 guests