added aspen trees which are now in minetest_game

This commit is contained in:
Sokomine 2016-03-20 00:39:44 +01:00
parent fa6dab7783
commit a719d81e51
2 changed files with 27 additions and 9 deletions

View File

@ -96,7 +96,7 @@ mg_villages.check_if_ground = function( ci )
-- pre-generate a list of no-ground-nodes for caching
if( replacements_group.node_is_ground[ minetest.get_content_id('air')]==nil) then
local no_ground_nodes = {'air','ignore','default:sandstonebrick','default:cactus','default:wood','default:junglewood',
'default:pine_wood','default:pine_tree','default:acacia_wood','default:acacia_tree',
'default:pine_wood','default:pine_tree','default:acacia_wood','default:acacia_tree', 'default:aspen_wood', 'default:aspen_tree',
'ethereal:mushroom_pore','ethereal:mushroom_trunk','ethereal:bamboo', 'ethereal:mushroom'};
-- TODO: add all those other tree and leaf nodes that might be added by mapgen
for _,name in ipairs( no_ground_nodes ) do
@ -145,6 +145,7 @@ mg_villages.lower_or_raise_terrain_at_point = function( x, z, target_height, min
local jtree = false;
local ptree = false;
local atree = false;
local asptree = false;
local old_height = maxp.y;
local y = maxp.y;
@ -188,6 +189,9 @@ mg_villages.lower_or_raise_terrain_at_point = function( x, z, target_height, min
-- acacia
elseif( ci == cid.c_atree and data[a:index( x, y-1, z)]==cid.c_atree) then
atree = true;
-- aspen
elseif( ci == cid.c_asptree and data[a:index( x, y-1, z)]==cid.c_asptree) then
asptree = true;
elseif( not( surface_node) and ci ~= cid.c_air and ci ~= cid.c_ignore and mg_villages.check_if_ground( ci ) == true) then
-- we have found a surface of some kind
surface_node = ci;
@ -281,6 +285,9 @@ mg_villages.lower_or_raise_terrain_at_point = function( x, z, target_height, min
elseif( atree and not( mg_villages.ethereal_trees ) and treepos) then
data[ a:index( x, target_height+1, z)] = cid.c_asapling
table.insert( treepos, {x=x, y=target_height+1, z=z, typ=3, snow=has_artificial_snow});
elseif( asptree and not( mg_villages.ethereal_trees ) and treepos) then
data[ a:index( x, target_height+1, z)] = cid.c_aspsapling
table.insert( treepos, {x=x, y=target_height+1, z=z, typ=3, snow=has_artificial_snow});
elseif( has_snow ) then
data[ a:index( x, target_height+1, z)] = cid.c_snow;
end
@ -726,6 +733,10 @@ mg_villages.grow_a_tree = function( pos, plant_id, minp, maxp, data, a, cid, pr,
elseif( plant_id == cid.c_asapling and minetest.registered_nodes[ 'default:acacia_tree']) then
data[ a:index( pos.x, pos.y, pos.z )] = cid.c_asapling;
return true;
-- aspen tree from newer minetest game
elseif( plant_id == cid.c_aspsapling and minetest.registered_nodes[ 'default:aspen_tree']) then
data[ a:index( pos.x, pos.y, pos.z )] = cid.c_aspsapling;
return true;
-- a savannatree from the mg mod
elseif( plant_id == cid.c_savannasapling and mg_villages.add_savannatree) then
mg_villages.add_savannatree( data, a, pos.x, pos.y, pos.z, minp, maxp, pr) -- TODO: snow
@ -896,6 +907,8 @@ mg_villages.place_villages_via_voxelmanip = function( villages, minp, maxp, vm,
cid.c_psapling = minetest.get_content_id( 'default:pine_sapling');
cid.c_atree = minetest.get_content_id( 'default:acacia_tree');
cid.c_asapling = minetest.get_content_id( 'default:acacia_sapling');
cid.c_asptree = minetest.get_content_id( 'default:aspen_tree');
cid.c_aspsapling = minetest.get_content_id( 'default:aspen_sapling');
cid.c_water = minetest.get_content_id( 'default:water_source'); -- PM ^
cid.c_stone_with_coal = minetest.get_content_id( 'default:stone_with_coal');
cid.c_sandstone = minetest.get_content_id( 'default:sandstone');
@ -1061,7 +1074,7 @@ mg_villages.place_villages_via_voxelmanip = function( villages, minp, maxp, vm,
t1 = time_elapsed( t1, 'fill_with_plants' );
if( mg_villages.CREATE_HIGHLANDPOOLS ) then
mg_villages.do_highlandpools(minp, maxp, seed, vm, a, data, village_area);
mg_villages.do_highlandpools(minp, maxp, seed, vm, a, data, village_area, cid);
end
t1 = time_elapsed( t1, 'create highlandpools' );

View File

@ -172,6 +172,8 @@ mg_villages.replace_tree_trunk = function( replacements, wood_type )
table.insert( replacements, {'default:tree', 'default:pine_tree'});
elseif( wood_type == 'default:acacia_wood' ) then
table.insert( replacements, {'default:tree', 'default:acacia_tree'});
elseif( wood_type == 'default:aspen_wood' ) then
table.insert( replacements, {'default:tree', 'default:aspen_tree'});
elseif( wood_type == 'mg:savannawood' ) then
table.insert( replacements, {'default:tree', 'mg:savannatree'});
elseif( wood_type == 'mg:pinewood' ) then
@ -272,6 +274,8 @@ mg_villages.replace_saplings = function( replacements, wood_type )
table.insert( replacements, {'default:sapling', 'default:pine_sapling'});
elseif( wood_type == 'default:acacia_wood' ) then
table.insert( replacements, {'default:sapling', 'default:acacia_sapling'});
elseif( wood_type == 'default:aspen_wood' ) then
table.insert( replacements, {'default:sapling', 'default:aspen_sapling'});
elseif( wood_type == 'mg:savannawood' ) then
table.insert( replacements, {'default:sapling', 'mg:savannasapling'});
elseif( wood_type == 'mg:pinewood' ) then
@ -309,6 +313,7 @@ mg_villages.replace_saplings = function( replacements, wood_type )
table.insert( replacements, {'default:sapling', "trees:"..v.."_sapling"});
table.insert( replacements, {'default:junglesapling', "trees:"..v.."_sapling"});
table.insert( replacements, {'default:pine_sapling', "trees:"..v.."_sapling"});
table.insert( replacements, {'default:aspen_sapling', "trees:"..v.."_sapling"});
end
end
@ -378,7 +383,7 @@ mg_villages.replacements_taoki = function( housetype, pr, replacements )
wood_type = mg_villages.replace_materials( replacements, pr,
{'default:wood'},
{''},
{'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'mg:pinewood', 'mg:savannawood',
{'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'default:aspen_wood', 'mg:pinewood', 'mg:savannawood',
'default:clay', 'default:brick', 'default:sandstone',
'default:stonebrick', 'default:desert_stonebrick','default:sandstonebrick', 'default:sandstone','default:stone','default:desert_stone',
'default:coalblock','default:steelblock','default:goldblock', 'default:bronzeblock', 'default:copperblock', 'wool:white',
@ -404,7 +409,7 @@ mg_villages.replacements_taoki = function( housetype, pr, replacements )
mg_villages.replace_materials( replacements, pr,
{'stairs:stair_wood'},
{'stairs:stair_'},
{'stonebrick', 'stone', 'sandstone', 'cobble', 'wood', 'junglewood', 'pine_wood', 'acaica_wood' },
{'stonebrick', 'stone', 'sandstone', 'cobble', 'wood', 'junglewood', 'pine_wood', 'acaica_wood', 'aspen_wood' },
'wood');
-- brick roofs are a bit odd; but then...
@ -412,7 +417,7 @@ mg_villages.replacements_taoki = function( housetype, pr, replacements )
mg_villages.replace_materials( replacements, pr,
{'stairs:stair_brick', 'stairs:slab_brick', 'default:brick'},
{'stairs:stair_', 'stairs:slab_', 'default:' },
{ 'brick', 'stone', 'cobble', 'stonebrick', 'wood', 'junglewood', 'pine_wood', 'acacia_wood', 'sandstone' },
{ 'brick', 'stone', 'cobble', 'stonebrick', 'wood', 'junglewood', 'pine_wood', 'acacia_wood', 'aspen_wood', 'sandstone' },
'brick' );
return replacements;
@ -433,7 +438,7 @@ mg_villages.replacements_nore = function( housetype, pr, replacements )
local wood_type = mg_villages.replace_materials( replacements, pr,
{'default:wood'},
{''},
{ 'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'mg:savannawood', 'mg:pinewood' },
{ 'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'default:aspen_wood', 'mg:savannawood', 'mg:pinewood' },
'default:wood');
mg_villages.replace_tree_trunk( replacements, wood_type );
mg_villages.replace_saplings( replacements, wood_type );
@ -455,7 +460,7 @@ mg_villages.replacements_lumberjack = function( housetype, pr, replacements )
local wood_type = mg_villages.replace_materials( replacements, pr,
{'default:wood'},
{''},
{ 'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'mg:savannawood', 'mg:pinewood' },
{ 'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'default:aspen_wood', 'mg:savannawood', 'mg:pinewood' },
'default:wood');
mg_villages.replace_tree_trunk( replacements, wood_type );
mg_villages.replace_saplings( replacements, wood_type );
@ -543,7 +548,7 @@ mg_villages.replacements_chateau = function( housetype, pr, replacements )
local wood_type = mg_villages.replace_materials( replacements, pr,
{'default:wood'},
{''},
{ 'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'mg:savannawood', 'mg:pinewood'}, --, 'default:brick', 'default:sandstone', 'default:desert_cobble' },
{ 'default:wood', 'default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'default:aspen_wood', 'mg:savannawood', 'mg:pinewood'}, --, 'default:brick', 'default:sandstone', 'default:desert_cobble' },
'default:wood');
mg_villages.replace_tree_trunk( replacements, wood_type );
mg_villages.replace_saplings( replacements, wood_type );
@ -717,7 +722,7 @@ mg_villages.replacements_medieval = function( housetype, pr, replacements )
-- loam and clay are mentioned multiple times because those are the most likely building materials in reality
local materials = {'cottages:loam', 'cottages:loam', 'cottages:loam', 'cottages:loam', 'cottages:loam',
'default:clay', 'default:clay', 'default:clay', 'default:clay', 'default:clay',
'default:wood','default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'default:sandstone',
'default:wood','default:junglewood', 'default:pine_wood', 'default:acacia_wood', 'default:aspen_wood', 'default:sandstone',
'default:desert_stone','default:brick','default:cobble','default:stonebrick',
'default:desert_stonebrick','default:sandstonebrick','default:stone',
'mg:savannawood', 'mg:savannawood', 'mg:savannawood', 'mg:savannawood',