Hi everyone,
First I apologize if I don't post this topic in the right section. I will not consider releasing anything I suggest here by myself, so there won't be a mod nor a texture pack, but just some ideas related mainly to Extra Biomes and maybe a few textures.
As I know next to nothing about coding (yet ?), merely guessing, this will probably take me a lot of time. I’m sure I’ll need some help so I hope some of you will be interested. And if by any chance someone is interested enough to use or release anything posted here, that would be great. 😉
Apparently there is no specific topic about Extra Biomes, or at least I couldn’t find it. That’s a pity, I like this mod very much and it fits very well into Minetest Game.
I love the way biomes blend into each other in a very soft-transitioned landscape. The trees are really fine and their respective woods match well.
The negative points come mostly from the lack of compatibility with the other decoration and biome mods. Therefore, the additionnal biomes tend to look very, very, empty. Or some fine fonctionnalities won’t work. And also, well, I have to say some plant textures look just a bit dull… No offense.
Let's see if we can improve that.
Suggestions for Extra-Biomes... and a few others.
Suggestions for Extra-Biomes... and a few others.
Neither English nor computing are my native languages. Thank you for your patience. ;)
Re: Suggestions for Extra-Biomes... and a few others.
My first problem was that sheep couldn’t regrow wool in arid biomes, since dry dirt couldn’t regrow grass. A silly situation considering sheep are supposed to accept poor conditions. ^^
So I used the « Grow dry grass » mod by Silver Sandstone and adaptated it to arid and arid cool biomes :
https://content.luanti.org/packages/Sil ... wdrygrass/
Against all odds, well, it seems to work. 😊
I didn’t want dry grass to spread as well. I like the random patches of bare dry dirt, it looks very natural in a savanah. So I just allowed spreading for arid and arid cool grass.
But I thought it would be nice to make it regrow only if and where I want by placing a grass node, as it is intended in the mod. It worked fine with the ‘’original’’ dry grass, but not with ebiomes arid grass…
It’s not really important, but could someone tell me why ?
Versus :
So I used the « Grow dry grass » mod by Silver Sandstone and adaptated it to arid and arid cool biomes :
https://content.luanti.org/packages/Sil ... wdrygrass/
Against all odds, well, it seems to work. 😊
I didn’t want dry grass to spread as well. I like the random patches of bare dry dirt, it looks very natural in a savanah. So I just allowed spreading for arid and arid cool grass.
But I thought it would be nice to make it regrow only if and where I want by placing a grass node, as it is intended in the mod. It worked fine with the ‘’original’’ dry grass, but not with ebiomes arid grass…
It’s not really important, but could someone tell me why ?
Code: Select all
growdrygrass = {};
growdrygrass.SPREAD_FROM = {'default:dry_dirt_with_dry_grass'};
--- Returns true if dry grass should grow on the node at the specified position.
-- @param pos [vector] The position of the node.
-- @return [boolean] true if the node should grow dry grass.
function growdrygrass.should_grow(pos)
local pos_above = vector.add(pos, vector.new(0, 1, 0));
-- Don't spread in darkness:
local light = minetest.get_node_light(pos_above) or 0;
if light < 13 then
return false;
end;
-- Grow from grass above:
local node_above = minetest.get_node(pos_above);
if minetest.get_item_group(node_above.name, 'dry_grass') > 0 then
return true;
end;
-- Spread from nearby nodes:
if minetest.find_node_near(pos, 1, growdrygrass.SPREAD_FROM) then
return false;
end;
return false;
end;
--- The ABM action for growing dry grass.
-- @param pos [vector] The position of the node.
-- @param node [Node] The node currently at that position.
function growdrygrass.abm(pos, node)
if growdrygrass.should_grow(pos) then
minetest.swap_node(pos, {name = 'default:dry_dirt_with_dry_grass'});
end;
end;
minetest.register_abm(
{
label = 'Dry grass spread';
nodenames = {'default:dry_dirt'};
neighbors = {'air', 'group:grass', 'default:dry_dirt_with_dry_grass'};
interval = 12;
chance = 50;
catch_up = false;
action = growdrygrass.abm;
});Code: Select all
growaridgrass = {};
growaridgrass.SPREAD_FROM = {'ebiomes:dry_dirt_with_grass_arid'};
--- Returns true if arid grass should grow on the node at the specified position.
-- @param pos [vector] The position of the node.
-- @return [boolean] true if the node should grow arid grass.
function growaridgrass.should_grow(pos)
local pos_above = vector.add(pos, vector.new(0, 1, 0));
-- Don't spread in darkness:
local light = minetest.get_node_light(pos_above) or 0;
if light < 12 then
return false;
end;
-- Grow from grass above:
local node_above = minetest.get_node(pos_above);
if minetest.get_item_group(node_above.name, 'ebiomes_grass_arid') > 0 then
return true;
end;
-- Spread from nearby nodes:
if minetest.find_node_near(pos, 1, growaridgrass.SPREAD_FROM) then
return true;
end;
return false;
end;
--- The ABM action for growing arid grass.
-- @param pos [vector] The position of the node.
-- @param node [Node] The node currently at that position.
function growaridgrass.abm(pos, node)
if growaridgrass.should_grow(pos) then
minetest.swap_node(pos, {name = 'ebiomes:dry_dirt_with_grass_arid'});
end;
end;
minetest.register_abm(
{
label = 'Arid grass spread';
nodenames = {'default:dry_dirt'};
neighbors = {'air', 'group:grass', 'ebiomes:dry_dirt_with_grass_arid'};
interval = 12;
chance = 50;
catch_up = false;
action = growaridgrass.abm;
});Neither English nor computing are my native languages. Thank you for your patience. ;)
Re: Suggestions for Extra-Biomes... and a few others.
The priority for me was to add more decorations in the different extra biomes, since flowers are often sparse and their amount varies a lot from one biome to the other.
The contrast is also too abrupt between bare additional biomes and a default grass stuffed with various flowers and other plants.
I mainly used Beautiful Flowers by 1Faco, which is my favourite :
https://content.luanti.org/packages/1fa ... tiflowers/
But I wanted to select only specific flowers for each biome, with a nice harmony of colours, to distinguish them more easily from each other.
I also wanted a lesser amount of flowers when apropriate. It seems more natural that arid or cold biomes have less flowers than rich and temperate biomes.
In fact, I didn’t use Beautiflowers code directly because I could’t figure out how to do that. So I implemented every flower one by one in the globals.lua file of E-biomes, copying the method used to add some of the default flowers, and trying to keep it consistant. Like this for instance :
That makes a very looong list. And I didn't know what those "noise parameters" meant, so I let the same for everyone.
There must be some more elegant way to do that, but, well, that worked. 😊
The contrast is also too abrupt between bare additional biomes and a default grass stuffed with various flowers and other plants.
I mainly used Beautiful Flowers by 1Faco, which is my favourite :
https://content.luanti.org/packages/1fa ... tiflowers/
But I wanted to select only specific flowers for each biome, with a nice harmony of colours, to distinguish them more easily from each other.
I also wanted a lesser amount of flowers when apropriate. It seems more natural that arid or cold biomes have less flowers than rich and temperate biomes.
In fact, I didn’t use Beautiflowers code directly because I could’t figure out how to do that. So I implemented every flower one by one in the globals.lua file of E-biomes, copying the method used to add some of the default flowers, and trying to keep it consistant. Like this for instance :
Code: Select all
--flowers
minetest.register_decoration({
name = "ebiomes:dandelion",
deco_type = "simple",
place_on = {"ebiomes:dirt_with_grass_cold", "ebiomes:dirt_with_grass_med"},
sidelen = 16,
noise_params = {
offset = 0.016,
scale = 0.001,
spread = {x = 100, y = 100, z = 100},
seed = 352,
octaves = 3,
persist = 0.05
},
biomes = {"deciduous_forest_cold", "deciduous_forest_warm", "mediterranean"},
y_max = 31000,
y_min = 1,
decoration = "flowers:dandelion_yellow",
})
minetest.register_decoration({
name = "ebiomes:tulip_black",
deco_type = "simple",
place_on = {"ebiomes:dirt_with_grass_steppe_warm", "ebiomes:dirt_with_grass_steppe", "ebiomes:dirt_with_grass_steppe_cold"},
sidelen = 16,
noise_params = {
offset = 0.016,
scale = 0.001,
spread = {x = 100, y = 100, z = 100},
seed = 355,
octaves = 3,
persist = 0.05
},
biomes = {"warm_steppe", "steppe", "cold_steppe"},
y_max = 31000,
y_min = 1,
decoration = "flowers:tulip_black",
})Code: Select all
-- Beautiflowers Steppe warm, steppe, steppe cold
minetest.register_decoration({
name = "ebiomes:noelia",
deco_type = "simple",
place_on = {"ebiomes:dirt_with_grass_steppe_warm"},
sidelen = 16,
noise_params = {
offset = 0.016,
scale = 0.001,
spread = {x = 100, y = 100, z = 100},
seed = 354,
octaves = 3,
persist = 0.05
},
biomes = {"warm_steppe"},
y_max = 31000,
y_min = 1,
decoration = "beautiflowers:noelia",
})
minetest.register_decoration({
name = "ebiomes:agnes",
deco_type = "simple",
place_on = {"ebiomes:dirt_with_grass_steppe_warm"},
sidelen = 16,
noise_params = {
offset = 0.016,
scale = 0.001,
spread = {x = 100, y = 100, z = 100},
seed = 354,
octaves = 3,
persist = 0.05
},
biomes = {"warm_steppe"},
y_max = 31000,
y_min = 1,
decoration = "beautiflowers:agnes",
})There must be some more elegant way to do that, but, well, that worked. 😊
Neither English nor computing are my native languages. Thank you for your patience. ;)
Re: Suggestions for Extra-Biomes... and a few others.
My problem now is the amount of flowers. Beautiflowers gives the possibility to set a value for that, but it is not used by E-biomes. Only the number of flowers implemented in each biome has an impact, as one can see here, with 8 versus 16 or 18 :
Twelve different flowers seems a maximum to avoid indigestion, so I had, sadly, to reduce the mix of flowers for each (8 for arids, 10 for steppes and 12 for grass).
Why is that ? Which line of code, and in which mod or game, is supposed to set the number of flowers, or the distance between each ?
Moreover, I also tried Elysflowers (which is compatible with e-biomes) and Herbs (which is not).
https://content.luanti.org/packages/Clyde/herbs/
https://content.luanti.org/packages/erey23/elysflowers/
They add even more flowers (very nice ones, though), and I can’t guess what part of the code sets the amount. Even when I reduce the rate in Beautiflowers to a minimum, they are replaced by Herbs flowers, so that default grass is still stuffed with flowers :
I suppose I could also use the same method to implement a selection of Herbs flowers in each additional biome, but I don’t want them to invade every territory ! 😉
Could someone tell me how that might be done ?
Twelve different flowers seems a maximum to avoid indigestion, so I had, sadly, to reduce the mix of flowers for each (8 for arids, 10 for steppes and 12 for grass).
Why is that ? Which line of code, and in which mod or game, is supposed to set the number of flowers, or the distance between each ?
Moreover, I also tried Elysflowers (which is compatible with e-biomes) and Herbs (which is not).
https://content.luanti.org/packages/Clyde/herbs/
https://content.luanti.org/packages/erey23/elysflowers/
They add even more flowers (very nice ones, though), and I can’t guess what part of the code sets the amount. Even when I reduce the rate in Beautiflowers to a minimum, they are replaced by Herbs flowers, so that default grass is still stuffed with flowers :
I suppose I could also use the same method to implement a selection of Herbs flowers in each additional biome, but I don’t want them to invade every territory ! 😉
Could someone tell me how that might be done ?
Neither English nor computing are my native languages. Thank you for your patience. ;)
- Blockhead
- Moderator
- Posts: 2847
- Joined: Wed Jul 17, 2019 10:14
- GitHub: Montandalar
- IRC: Blockhead256
- In-game: Blockhead Blockhead256
- Location: Land Down Under
- Contact:
Re: Suggestions for Extra-Biomes... and a few others.
Sorry to have not looked at everything in depth here, but this reminds me of how dry dirt on dry grass spread was broken. Presumably the issue here was the new kinds of grass on top of the soil?
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂
Re: Suggestions for Extra-Biomes... and a few others.
Interesting. Thank you Blockhead. I thought bare dry dirt not regrowing dry grass was intended from the beginning.
Neither English nor computing are my native languages. Thank you for your patience. ;)
Who is online
Users browsing this forum: No registered users and 0 guests