Difference between revisions of "minetest.spawn tree"

From Minetest Developer Wiki
Jump to navigation Jump to search
(note about plants_lib)
m (Add sort key)
(8 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
Spawns an L-system tree at position <code>pos</code>, using the tree definition <code>tree</code>.
 
Spawns an L-system tree at position <code>pos</code>, using the tree definition <code>tree</code>.
  
See [[treegen]] for a description of L-system trees.
+
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 [http://wiki.minetest.net/Subgames/Minetest%20Game 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:
 +
 
 +
[[File:Apple Tree.png|420px]]
  
 
== Notes ==
 
== Notes ==
  
VanessaE's [https://forum.minetest.net/viewtopic.php?id=3898 plants_lib] mod
+
* For examples, go to [[L-system tree examples]]
([https://github.com/VanessaE/plantlife/blob/master/plants_lib/ github])
+
* VanessaE's [https://forum.minetest.net/viewtopic.php?id=3898 plants_lib] mod ([https://github.com/VanessaE/plantlife/blob/master/plants_lib/ 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.
provides functions to register L-system trees to be spawned during map generation,
+
* [https://forum.minetest.net/viewtopic.php?f=11&t=9458 L-System Tree Utility] is a mod which helps to create L-system trees in-game
and finds places for them to spawn based on the map seed and biome.
 
  
{{MissingExample}}
 
  
[[Category:Methods]]
+
[[Category:Methods|s]]

Revision as of 16:56, 3 March 2019

Syntax

minetest.spawn_tree(pos, tree)

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:

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,
})

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