added limited support for big freaking dig - especially the trees

master
Sokomine 2014-09-04 22:21:32 +02:00
parent bc2097b542
commit 5dad00f788
3 changed files with 35 additions and 5 deletions

View File

@ -10,3 +10,4 @@ cavestuff?
moresnow?
ethereal?
darkage?
deco?

View File

@ -509,10 +509,10 @@ mg_villages.village_area_fill_with_plants = function( village_area, villages, mi
local pos = {x=x, y=h+1, z=z};
-- a normal tree; sometimes comes with apples
if( plant_id == cid.c_sapling ) then
if( plant_id == cid.c_sapling and default.grow_tree ) then
default.grow_tree( data, a, pos, math.random(1, 4) == 1, math.random(1,100000))
-- a normal jungletree
elseif( plant_id == cid.c_jsapling ) then
elseif( plant_id == cid.c_jsapling and default.grow_jungletree ) then
default.grow_jungletree( data, a, pos, math.random(1,100000))
-- a savannatree from the mg mod
elseif( plant_id == cid.c_savannasapling and add_savannatree) then

View File

@ -37,6 +37,15 @@ mg_villages.replace_materials = function( replacements, pr, original_materials,
end
end
end
if( wood_found and minetest.get_modpath('deco')) then
local bfd_treelist = {'birch', 'cherry', 'evergreen', 'oak' };
for _,v in ipairs( bfd_treelist ) do
if( minetest.registered_nodes[ "deco:"..v.."_plank"] ) then
table.insert( known_materials, "deco:"..v.."_plank" );
end
end
end
if( wood_found and mg_villages.ethereal_trees ) then
for _,v in ipairs( mg_villages.ethereal_trees ) do
@ -83,6 +92,15 @@ mg_villages.replace_tree_trunk = function( replacements, wood_type )
end
end
elseif( wood_type == 'deco:birch_plank' ) then
table.insert( replacements, {'default:tree', "mapgen:birch_log"});
elseif( wood_type == 'deco:cherry_plank' ) then
table.insert( replacements, {'default:tree', "mapgen:cherry_log"});
elseif( wood_type == 'deco:evergreen_plank' ) then
table.insert( replacements, {'default:tree', "mapgen:evergreen_log"});
elseif( wood_type == 'deco:oak_plank' ) then
table.insert( replacements, {'default:tree', "mapgen:oak_log"});
elseif( wood_type == 'ethereal:frost_wood' ) then
table.insert( replacements, {'default:tree', "ethereal:frost_tree"});
@ -123,6 +141,15 @@ mg_villages.replace_saplings = function( replacements, wood_type )
table.insert( replacements, {'default:sapling', "moretrees:"..v.."_tree_sapling"});
end
end
elseif( wood_type == 'deco:birch_plank' ) then
table.insert( replacements, {'default:sapling', "mapgen:birch_sapling"});
elseif( wood_type == 'deco:cherry_plank' ) then
table.insert( replacements, {'default:sapling', "mapgen:cherry_sapling"});
elseif( wood_type == 'deco:evergreen_plank' ) then
table.insert( replacements, {'default:sapling', "mapgen:evergreen_sapling"});
elseif( wood_type == 'deco:oak_plank' ) then
table.insert( replacements, {'default:sapling', "mapgen:oak_sapling"});
end
end
@ -154,7 +181,8 @@ mg_villages.get_replacement_list = function( housetype, pr )
'darkage:adobe', 'darkage:basalt', 'darkage:basalt_cobble', 'darkage:chalk',
'darkage:gneiss', 'darkage:gneiss_cobble', 'darkage:marble', 'darkage:marble_tile',
'darkage:mud', 'darkage:ors', 'darkage:ors_cobble',
'darkage:schist', 'darkage:serpentine', 'darkage:shale', 'darkage:silt', 'darkage:slate'},
'darkage:schist', 'darkage:serpentine', 'darkage:shale', 'darkage:silt', 'darkage:slate',
'mapgen:mese_stone', 'mapgen:soap_stone'},
'default:wood');
-- tree trunks are seldom used in these houses; let's change them anyway
mg_villages.replace_tree_trunk( replacements, wood_type );
@ -403,7 +431,8 @@ mg_villages.get_replacement_list = function( housetype, pr )
'darkage:mud', 'darkage:ors', 'darkage:ors_cobble', 'darkage:reinforced_chalk',
'darkage:reinforced_wood', 'darkage:reinforced_wood_left', 'darkage:reinforced_wood_right',
'darkage:schist', 'darkage:serpentine', 'darkage:shale', 'darkage:silt', 'darkage:slate',
'darkage:slate_cobble', 'darkage:slate_tile', 'darkage:stone_brick' };
'darkage:slate_cobble', 'darkage:slate_tile', 'darkage:stone_brick',
'mapgen:mese_stone', 'mapgen:soap_stone'};
-- what is sandstone (the floor) may be turned into something else
local mfs = mg_villages.replace_materials( replacements, pr,
@ -468,7 +497,7 @@ mg_villages.get_replacement_list = function( housetype, pr )
if( mcs ~= 'mossycobble' and mcs ~= 'cobble') then
-- if no slab exists, use sandstone slabs
if( not( minetest.registered_nodes[ 'stairs:slab_'..mcs ])) then
if( not( mcs ) or not( minetest.registered_nodes[ 'stairs:slab_'..mcs ])) then
mcs = 'sandstone';
end
table.insert( replacements, {'stairs:slab_cobble', 'stairs:slab_'..mcs});