diff options
author | paramat <mat.gregory@virginmedia.com> | 2015-07-13 01:17:54 +0100 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2015-07-13 19:41:26 +0100 |
commit | 66ea356e688879e898dc81a435d76294ac2a1098 (patch) | |
tree | 028fc8ffa877ed72502a0593370753b909e9938d /src/treegen.cpp | |
parent | c3dead719ae737a2e61f7e0e81cfc1b614790edd (diff) | |
download | minetest-66ea356e688879e898dc81a435d76294ac2a1098.tar.gz minetest-66ea356e688879e898dc81a435d76294ac2a1098.tar.bz2 minetest-66ea356e688879e898dc81a435d76294ac2a1098.zip |
Mgv6/treegen: (Re)Add fallback nodes for compatibility with subgames
Diffstat (limited to 'src/treegen.cpp')
-rw-r--r-- | src/treegen.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/treegen.cpp b/src/treegen.cpp index a85d88815..39cb1ca06 100644 --- a/src/treegen.cpp +++ b/src/treegen.cpp @@ -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 replaced yet */ - MapNode treenode(ndef->getId("mapgen_jungletree")); - MapNode leavesnode(ndef->getId("mapgen_jungleleaves")); + content_t c_tree = ndef->getId("mapgen_jungletree"); + 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); 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 replaced yet */ - MapNode treenode(ndef->getId("mapgen_pinetree")); - MapNode leavesnode(ndef->getId("mapgen_pine_needles")); - MapNode snownode(ndef->getId("mapgen_snow")); + content_t c_tree = ndef->getId("mapgen_pinetree"); + content_t c_leaves = ndef->getId("mapgen_pine_needles"); + 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); s16 trunk_h = pr.range(9, 13); |