tree_models.lua 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. moretrees.beech_model={
  2. axiom="FFFFFBFB",
  3. rules_a="[&&&GGF[++^Fd][--&Fd]//Fd[+^Fd][--&Fd]]////[&&&GGF[++^Fd][--&Fd]//Fd[+^Fd][--&Fd]]////[&&&GGF[++^Fd][--&Fd]//Fd[+^Fd][--&Fdd]]",
  4. rules_b="[&&&F[++^Fd][--&d]//d[+^d][--&d]]////[&&&F[++^Fd][--&d]//d[+^d][--&d]]////[&&&F[++^Fd][--&Fd]//d[+^d][--&d]]",
  5. rules_c="/",
  6. rules_d="F",
  7. trunk="moretrees:beech_trunk",
  8. leaves="moretrees:beech_leaves",
  9. angle=30,
  10. iterations=2,
  11. random_level=0,
  12. trunk_type="single",
  13. thin_branches=true
  14. }
  15. moretrees.apple_tree_model={
  16. axiom="FFFFFAFFBF",
  17. rules_a="[&&&FFFFF&&FFFF][&&&++++FFFFF&&FFFF][&&&----FFFFF&&FFFF]",
  18. rules_b="[&&&++FFFFF&&FFFF][&&&--FFFFF&&FFFF][&&&------FFFFF&&FFFF]",
  19. trunk="moretrees:apple_tree_trunk",
  20. leaves="moretrees:apple_tree_leaves",
  21. angle=30,
  22. iterations=2,
  23. random_level=0,
  24. trunk_type="single",
  25. thin_branches=true,
  26. fruit="default:apple",
  27. fruit_chance=15,
  28. }
  29. moretrees.oak_model={
  30. axiom="FFFFFFA",
  31. rules_a="[&FFBFA]////[&BFFFA]////[&FBFFA]",
  32. rules_b="[&FFFA]////[&FFFA]////[&FFFA]",
  33. trunk="moretrees:oak_trunk",
  34. leaves="moretrees:oak_leaves",
  35. angle=30,
  36. iterations=5,
  37. random_level=2,
  38. trunk_type="crossed",
  39. thin_branches=false,
  40. fruit="moretrees:acorn",
  41. fruit_chance=3,
  42. }
  43. moretrees.poplar_model={
  44. axiom="TTTaaBCCCCCCCCCCCcccBBB[[f]&&G++f++Gf++Gf++Gf++G--]G[[f]&&G++f++Gf++Gf++Gf++G--]Gff",
  45. rules_a="T",
  46. rules_b="[[T]&&G++f++ff++ff++ff++f--]G",
  47. rules_c="[[T]&&G++f++ff++ff++ff++f--G++[d]G[d]G++G[d]G[d]G[d]G++G[d]G[d]G[d]G++G[d]G[d]G[d]G++G[d]G]G",
  48. rules_d="f",
  49. trunk="moretrees:poplar_trunk",
  50. leaves="moretrees:poplar_leaves",
  51. angle=45,
  52. iterations=0,
  53. random_level=0,
  54. trunk_type="single",
  55. thin_branches=false,
  56. }
  57. moretrees.poplar_small_model={
  58. axiom="TT[T]BCCCCccBBff",
  59. rules_a="T",
  60. rules_b="[[f]&&G++f++Gf++Gf++Gf++G--]G",
  61. rules_c="[[T]&&G++f++[d]Gf++[d]Gf++[d]Gf++[d]G--]G",
  62. rules_d="f",
  63. trunk="moretrees:poplar_trunk",
  64. leaves="moretrees:poplar_leaves",
  65. angle=45,
  66. iterations=0,
  67. random_level=0,
  68. trunk_type="single",
  69. thin_branches=false,
  70. }
  71. moretrees.sequoia_model={
  72. axiom="FFFFFFFFFFddccA///cccFddcFA///ddFcFA/cFFddFcdBddd/A/ccdcddd/ccAddddcFBcccAccFdFcFBcccc/BFdFFcFFdcccc/B",
  73. rules_a="[&&&GGF[++^FFdd][--&Fddd]//Fdd[+^Fd][--&Fdd]]////[&&&GGF[++^FFdd][--&Fddd]//Fdd[+^Fd][--&Fdd]]////[&&&GGF[++^FFdd][--&Fddd]//Fdd[+^Fd][--&Fdd]]",
  74. rules_b="[&&&GGF[++^Fdd][--&Fdd]//dd[+^d][--&Fd]]////[&&&GGF[++^Fdd][--&Fdd]//dd[+^d][--&Fd]]////[&&&GGF[++^Fdd][--&Fdd]//dd[+^d][--&Fd]]",
  75. rules_c="/",
  76. rules_d="F",
  77. trunk="moretrees:sequoia_trunk",
  78. leaves="moretrees:sequoia_leaves",
  79. angle=30,
  80. iterations=2,
  81. random_level=0,
  82. trunk_type="crossed",
  83. thin_branches=true
  84. }
  85. moretrees.birch_model1={
  86. axiom="FFFFFdddccA/FFFFFFcA/FFFFFFcB",
  87. rules_a="[&&&dddd^^ddddddd][&&&---dddd^^ddddddd][&&&+++dddd^^ddddddd][&&&++++++dddd^^ddddddd]",
  88. rules_b="[&&&ddd^^ddddd][&&&---ddd^^ddddd][&&&+++ddd^^ddddd][&&&++++++ddd^^ddddd]",
  89. rules_c="/",
  90. rules_d="F",
  91. trunk="moretrees:birch_trunk",
  92. leaves="moretrees:birch_leaves",
  93. angle=30,
  94. iterations=2,
  95. random_level=0,
  96. trunk_type="single",
  97. thin_branches=true
  98. }
  99. moretrees.birch_model2={
  100. axiom="FFFdddccA/FFFFFccA/FFFFFccB",
  101. rules_a="[&&&dFFF^^FFFdd][&&&---dFFF^^FFFdd][&&&+++dFFF^^FFFdd][&&&++++++dFFF^^FFFdd]",
  102. rules_b="[&&&dFF^^FFFd][&&&---dFFF^^FFFd][&&&+++dFF^^FFFd][&&&++++++dFF^^FFFd]",
  103. rules_c="/",
  104. rules_d="F",
  105. trunk="moretrees:birch_trunk",
  106. leaves="moretrees:birch_leaves",
  107. angle=30,
  108. iterations=2,
  109. random_level=0,
  110. trunk_type="single",
  111. thin_branches=true
  112. }
  113. -- Coconuts can't be generated as fruit, because there is no support for the
  114. -- special fruit trunks that allow coconuts to regrow at the correct position
  115. -- in the tree.
  116. -- So, a placeholder fruit trunk is spawned. An ABM will convert it to the final
  117. -- fruit trunk, and generate the actual coconuts.
  118. moretrees.palm_model={
  119. axiom="FFcccccc&FFFFFdddRA//A//A//A//A//A",
  120. rules_a="[&fb&bbb[++f--&ffff&ff][--f++&ffff&ff]&ffff&bbbb&b]",
  121. rules_b="f",
  122. rules_c="/",
  123. rules_d="F",
  124. trunk="moretrees:palm_trunk",
  125. leaves="moretrees:palm_leaves",
  126. angle=30,
  127. iterations=2,
  128. random_level=0,
  129. trunk_type="single",
  130. thin_branches=true,
  131. fruit="moretrees:palm_fruit_trunk_gen",
  132. fruit_chance=0
  133. }
  134. -- Dates can't be generated as fruit, because there is no support for the
  135. -- special (male and female) fruit trunks that allow dates to regrow at the
  136. -- correct position in the tree.
  137. -- So, a generic fruit trunk is spawned. An ABM will convert it to a male
  138. -- or female fruit trunk, and generate the actual dates.
  139. moretrees.date_palm_model={
  140. axiom="TTTTddddddddddccccccccccRT[TGGGGT]"..
  141. "ccccc[&&a]ccccc[&&a]ccccc[&&a]ccccc[&&a]ccccc[&&a]ccccc[&&a]"..
  142. "GGccccc[&a]ccccc[&a]ccccc[&a]ccccc[&a]ccccc[&a]ccccc[&a]"..
  143. "GGccccc[a]ccccc[a]ccccc[a]ccccc[a]ccccc[a]ccccc[a]",
  144. rules_a="Gffb&bbb[++f--&ffff&ff][--f++&ffff&ff]&ff&ff&bb&bb&bb",
  145. rules_b="f",
  146. rules_c="/",
  147. rules_d="F",
  148. trunk="moretrees:date_palm_trunk",
  149. leaves="moretrees:date_palm_leaves",
  150. angle=18,
  151. iterations=1,
  152. random_level=0,
  153. trunk_type="single",
  154. thin_branches=false,
  155. fruit="moretrees:date_palm_fruit_trunk",
  156. fruit_chance=0
  157. }
  158. moretrees.spruce_model1={
  159. axiom="FFFFFAFFFFFFBFFFFFFCFFFFFFDFFFFFF[&&&F^^FF][&&&++F^^FF][&&&++++F^^FF][&&&++++++F^^FF][&&&--F^^FF][&&&----F^^FF][FFFFf]",
  160. rules_a="[&&&FFFFFF^^FFF][&&&++FFFFFF^^FFF][&&&++++FFFFFF^^FFF][&&&++++++FFFFFF^^FFF][&&&--FFFFFF^^FFF][&&&----FFFFFF^^FFF]",
  161. rules_b="[&&&FFFFF^^FFF][&&&++FFFFF^^FFF][&&&++++FFFFF^^FFF][&&&++++++FFFFF^^FFF][&&&--FFFFF^^FFF][&&&----FFFFF^^FFF]",
  162. rules_c="[&&&FFFF^^FFF][&&&++FFFF^^FFF][&&&++++FFFF^^FFF][&&&++++++FFFF^^FFF][&&&--FFFF^^FFF][&&&----FFFF^^FFF]",
  163. rules_d="[&&&FFF^^FFF][&&&++FFF^^FFF][&&&++++FFF^^FFF][&&&++++++FFF^^FFF][&&&--FFF^^FFF][&&&----FFF^^FFF]",
  164. trunk="moretrees:spruce_trunk",
  165. leaves="moretrees:spruce_leaves",
  166. angle=30,
  167. iterations=2,
  168. random_level=0,
  169. trunk_type="crossed",
  170. thin_branches=true,
  171. fruit="moretrees:spruce_cone",
  172. fruit_chance=8
  173. }
  174. moretrees.spruce_model2={
  175. axiom="FFFFFFBFFFFFFCFFFFFFDFFFFFF[&&&F^^FF][&&&++F^^FF][&&&++++F^^FF][&&&++++++F^^FF][&&&--F^^FF][&&&----F^^FF][FFFFf]",
  176. rules_b="[&&&FFFFF^^FFF][&&&++FFFFF^^FFF][&&&++++FFFFF^^FFF][&&&++++++FFFFF^^FFF][&&&--FFFFF^^FFF][&&&----FFFFF^^FFF]",
  177. rules_c="[&&&FFFF^^FFF][&&&++FFFF^^FFF][&&&++++FFFF^^FFF][&&&++++++FFFF^^FFF][&&&--FFFF^^FFF][&&&----FFFF^^FFF]",
  178. rules_d="[&&&FFF^^FFF][&&&++FFF^^FFF][&&&++++FFF^^FFF][&&&++++++FFF^^FFF][&&&--FFF^^FFF][&&&----FFF^^FFF]",
  179. trunk="moretrees:spruce_trunk",
  180. leaves="moretrees:spruce_leaves",
  181. angle=30,
  182. iterations=2,
  183. random_level=0,
  184. trunk_type="crossed",
  185. thin_branches=true,
  186. fruit="moretrees:spruce_cone",
  187. fruit_chance=8
  188. }
  189. moretrees.cedar_model={
  190. axiom="FFFFFcccdddB///cFdFB////cFdFB///cFdFB///cFdFA///cFdFA///cFdFB[FF]f",
  191. rules_a="[&&&TTTT[++^TFdd][--&TFd]//Tdd[+^Fd][--&Fdd]]",
  192. rules_b="[&&&TTT[++^Fdd][--&Fdd]//dd[+^d][--&Fd]]",
  193. rules_c="/",
  194. rules_d="F",
  195. trunk="moretrees:cedar_trunk",
  196. leaves="moretrees:cedar_leaves",
  197. angle=30,
  198. iterations=2,
  199. random_level=0,
  200. trunk_type="single",
  201. thin_branches=true,
  202. fruit="moretrees:cedar_cone",
  203. fruit_chance=8
  204. }
  205. moretrees.willow_model={
  206. axiom="FFFFFFFFccA",
  207. rules_a="[&FF&FFFF&&F&FFFFFFFdddd][**&FF&FFFF&&F&FFFFFFFdddd][//&FF&FFFF&&F&FFFFFFFdddd][////&FF&FFFF&&F&FFFFFFFdddd][//////&FF&FFFF&&F&FFFFFFFdddd][////////&FF&FFFF&&F&FFFFFFFdddd]",
  208. rules_c="/",
  209. rules_d="F",
  210. trunk="moretrees:willow_trunk",
  211. leaves="moretrees:willow_leaves",
  212. angle=30,
  213. iterations=2,
  214. random_level=0,
  215. trunk_type="crossed",
  216. thin_branches=true
  217. }
  218. moretrees.rubber_tree_model={
  219. axiom="FFFFA",
  220. rules_a="[&FFBFA]////[&BFFFA]////[&FBFFA]",
  221. rules_b="[&FFA]////[&FFA]////[&FFA]",
  222. trunk="moretrees:rubber_tree_trunk",
  223. leaves="moretrees:rubber_tree_leaves",
  224. angle=35,
  225. iterations=3,
  226. random_level=1,
  227. trunk_type="double",
  228. thin_branches=true
  229. }
  230. moretrees.jungletree_model={
  231. axiom=nil,
  232. rules_a=nil,
  233. rules_b=nil,
  234. trunk="moretrees:jungletree_trunk",
  235. leaves="default:jungleleaves",
  236. leaves2=nil,
  237. leaves2_chance=nil,
  238. angle=45,
  239. iterations=nil,
  240. random_level=2,
  241. trunk_type=nil,
  242. thin_branches=true,
  243. fruit_chance=15,
  244. fruit="vines:vine"
  245. }
  246. moretrees.fir_model={
  247. axiom="FFFAF[&&-F][&&+F][&&---F][&&+++F]Fff",
  248. rules_a=nil,
  249. rules_b=nil,
  250. trunk="moretrees:fir_trunk",
  251. leaves=nil,
  252. angle=45,
  253. iterations=7,
  254. random_level=5,
  255. trunk_type="single",
  256. thin_branches=true,
  257. fruit="moretrees:fir_cone",
  258. fruit_chance=8
  259. }