Difference between revisions of "L-system tree examples"

From Minetest Developer Wiki
Jump to navigation Jump to search
(add wikilink to intro page)
(Removed stone tree (its just the apple tree with different nodes))
Line 66: Line 66:
 
}
 
}
 
</pre>
 
</pre>
 
== Stone tree ==
 
=== Profile ===
 
* '''Subgame used''': Minetest Game
 
* '''Additional mods''': ''None''
 
 
=== Definition ===
 
<pre>
 
treedef={
 
axiom="FFFFFAFFBF",
 
rules_a="[&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF]",
 
rules_b="[&&&++FFFFF&&FFFF][&&&--FFFFF&&FFFF][&&&------FFFFF&&FFFF]",
 
trunk="default:mese",
 
leaves="default:stone",
 
angle=30,
 
iterations=2,
 
random_level=20,
 
trunk_type="single",
 
thin_branches=true,
 
fruit_chance=10,
 
fruit="default:wood"
 
}
 
</pre>
 
 
  
 
[[Category:Modding API]]
 
[[Category:Modding API]]

Revision as of 18:45, 30 November 2016

This wiki page is a collection of example L-system trees. The intention is to help newbies better understand L-system trees, but also to provide usable tree definitions which could be used in mods.

If you wish to add a tree, please use the template at /Template and insert the filled-out template into this wiki page. Don't forget to upload a screenshot as well.

Apple tree

Profile

  • Subgame used: Minetest Game
  • Additional mods used: None

Definition

treedef = {
	axiom="FFFFFAFFBF",
	rules_a="[&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF]",
	rules_b="[&&&++FFFFF&&FFFF][&&&--FFFFF&&FFFF][&&&------FFFFF&&FFFF]",
	trunk="default:tree",
	leaves="default:leaves",
	angle=30,
	iterations=2,
	random_level=0,
	trunk_type="single",
	thin_branches=true,
	fruit_chance=10,
	fruit="default:apple"
}

Screenshot

Apple Tree.png

Acacia

Profile

  • Subgame used: Minetest Game
  • Additional mods: None

Definition

treedef={
   axiom="FFFFFFccccA",
   rules_a = "[B]//[B]//[B]//[B]",
   rules_b = "&TTTT&TT^^G&&----GGGGGG++GGG++"   -- line up with the "canvas" edge
         .."fffffffGG++G++"               -- first layer, drawn in a zig-zag raster pattern
         .."Gffffffff--G--"
         .."ffffffffG++G++"
         .."fffffffff--G--"
         .."fffffffff++G++"
         .."fffffffff--G--"
         .."ffffffffG++G++"
         .."Gffffffff--G--"
         .."fffffffGG"
         .."^^G&&----GGGGGGG++GGGGGG++"      -- re-align to second layer canvas edge
         .."ffffGGG++G++"               -- second layer
         .."GGfffff--G--"
         .."ffffffG++G++"
         .."fffffff--G--"
         .."ffffffG++G++"
         .."GGfffff--G--"
         .."ffffGGG",
   rules_c = "/",
   trunk="default:acacia_tree",
   leaves="default:acacia_leaves",
   angle=45,
   iterations=3,
   random_level=0,
   trunk_type="single",
   thin_branches=true,
}