minetest.spawn_tree

From Minetest Developer Wiki
Jump to navigation Jump to search

Syntax

<source>minetest.spawn_tree(pos, tree)</source>

Description

Spawns an L-system tree at position pos, using the tree definition tree.

See Introduction to L-system trees for a description of L-system trees.

Example

This code adds the chat command "/spawn_tree" to spawn an apple tree with its origin at the current position of the player, assuming that Minetest Game is used: <source> local 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" }

core.register_chatcommand("spawn_tree", { params = "", description = "Spawns tree at player position", func = function(name, param) local pos = minetest.get_player_by_name(name):getpos() minetest.chat_send_player(name, "Spawning tree at " .. minetest.pos_to_string(pos) .. ", please wait") minetest.spawn_tree(pos, treedef) return true, "successfully spawned" end, }) </source>

The resulting tree may look like this:

Apple Tree.png

Notes

  • For examples, go to L-system tree examples
  • VanessaE's plants_lib mod (github) provides functions to register L-system trees to be spawned during map generation, and finds places for them to spawn based on the map seed and biome.
  • L-System Tree Utility is a mod which helps to create L-system trees in-game