Mgv6/treegen: (Re)Add fallback nodes for compatibility with subgames

This commit is contained in:
paramat 2015-07-13 01:17:54 +01:00
parent c3dead719a
commit 66ea356e68
2 changed files with 30 additions and 5 deletions

@ -108,6 +108,14 @@ MapgenV6::MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge)
c_mossycobble = c_cobble; c_mossycobble = c_cobble;
if (c_stair_cobble == CONTENT_IGNORE) if (c_stair_cobble == CONTENT_IGNORE)
c_stair_cobble = c_cobble; c_stair_cobble = c_cobble;
if (c_dirt_with_snow == CONTENT_IGNORE)
c_dirt_with_snow = c_dirt_with_grass;
if (c_snow == CONTENT_IGNORE)
c_snow = CONTENT_AIR;
if (c_snowblock == CONTENT_IGNORE)
c_snowblock = c_dirt_with_grass;
if (c_ice == CONTENT_IGNORE)
c_ice = c_water_source;
} }

@ -656,8 +656,15 @@ void make_jungletree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, int seed
and in games that have saplings; both are deprecated but not and in games that have saplings; both are deprecated but not
replaced yet replaced yet
*/ */
MapNode treenode(ndef->getId("mapgen_jungletree")); content_t c_tree = ndef->getId("mapgen_jungletree");
MapNode leavesnode(ndef->getId("mapgen_jungleleaves")); content_t c_leaves = ndef->getId("mapgen_jungleleaves");
if (c_tree == CONTENT_IGNORE)
c_tree = ndef->getId("mapgen_tree");
if (c_leaves == CONTENT_IGNORE)
c_leaves = ndef->getId("mapgen_leaves");
MapNode treenode(c_tree);
MapNode leavesnode(c_leaves);
PseudoRandom pr(seed); PseudoRandom pr(seed);
for (s16 x= -1; x <= 1; x++) for (s16 x= -1; x <= 1; x++)
@ -748,9 +755,19 @@ void make_pine_tree(MMVManip &vmanip, v3s16 p0, INodeDefManager *ndef, int seed)
and in games that have saplings; both are deprecated but not and in games that have saplings; both are deprecated but not
replaced yet replaced yet
*/ */
MapNode treenode(ndef->getId("mapgen_pinetree")); content_t c_tree = ndef->getId("mapgen_pinetree");
MapNode leavesnode(ndef->getId("mapgen_pine_needles")); content_t c_leaves = ndef->getId("mapgen_pine_needles");
MapNode snownode(ndef->getId("mapgen_snow")); content_t c_snow = ndef->getId("mapgen_snow");
if (c_tree == CONTENT_IGNORE)
c_tree = ndef->getId("mapgen_tree");
if (c_leaves == CONTENT_IGNORE)
c_leaves = ndef->getId("mapgen_leaves");
if (c_snow == CONTENT_IGNORE)
c_snow = CONTENT_AIR;
MapNode treenode(c_tree);
MapNode leavesnode(c_leaves);
MapNode snownode(c_snow);
PseudoRandom pr(seed); PseudoRandom pr(seed);
s16 trunk_h = pr.range(9, 13); s16 trunk_h = pr.range(9, 13);