summaryrefslogtreecommitdiff
path: root/doc/lua_api.txt
diff options
context:
space:
mode:
authorRealBadAngel <mk@realbadangel.pl>2012-12-29 16:20:09 +0100
committerIlya Zhuravlev <zhuravlevilya@ya.ru>2012-12-30 13:42:19 +0400
commitb40e5998664ad6f03a59b70f1ddcdf651f4560ab (patch)
tree62d41a6161dbcfa75092f39686a22f34f4ebf03f /doc/lua_api.txt
parent45029117f5d7ccef36508cf66f6659665530dabc (diff)
downloadminetest-b40e5998664ad6f03a59b70f1ddcdf651f4560ab.tar.gz
minetest-b40e5998664ad6f03a59b70f1ddcdf651f4560ab.tar.bz2
minetest-b40e5998664ad6f03a59b70f1ddcdf651f4560ab.zip
L-System treegen
Diffstat (limited to 'doc/lua_api.txt')
-rw-r--r--doc/lua_api.txt54
1 files changed, 54 insertions, 0 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index a9944935f..117d4b24e 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -1063,6 +1063,60 @@ methods:
^ Return world-specific perlin noise (int(worldseed)+seeddiff)
- clear_objects()
^ clear all objects in the environments
+- spawn_tree (pos, {treedef})
+ ^ spawns L-System tree at given pos with definition in treedef table
+ treedef={
+ axiom, - string initial tree axiom
+ rules_a, - string rules set A
+ rules_b, - string rules set B
+ rules_c, - string rules set C
+ rules_d, - string rules set D
+ trunk, - string trunk node name
+ leaves, - string leaves node name
+ angle, - num angle in deg
+ iterations, - num max # of iterations, usually 2 -5
+ random_level, - num factor to lower nr of iterations, usually 0 - 3
+ thin_trunks, - boolean true -> use thin trunks
+ fruit_tree, - boolean true -> is a fruit tree
+ fruit - string fruit node name
+ }
+
+ Key for Special L-System Symbols used in Axioms
+ G - move forward one unit with the pin down
+ F - move forward one unit with the pin up
+ A - replace with rules set A
+ B - replace with rules set B
+ C - replace with rules set C
+ D - replace with rules set D
+ a - replace with rules set A, chance 90%
+ b - replace with rules set B, chance 80%
+ c - replace with rules set C, chance 70%
+ d - replace with rules set D, chance 60%
+ + - yaw the turtle right by angle parameter
+ - - yaw the turtle left by angle parameter
+ & - pitch the turtle down by angle parameter
+ ^ - pitch the turtle up by angle parameter
+ / - roll the turtle to the right by angle parameter
+ * - roll the turtle to the left by angle parameter
+ [ - save in stack current state info
+ ] - recover from stack state info
+
+ Example usage: spawn small apple tree
+ apple_tree={
+ 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,
+ thin_trunks=true,
+ fruit_tree=true,
+ fruit="default:apple"
+ }
+ minetest.env:spawn_tree(pos,apple_tree)
+
Deprecated:
- add_rat(pos): Add C++ rat object (no-op)
- add_firefly(pos): Add C++ firefly object (no-op)