Add tree growing functions to game_api.txt

master
PilzAdam 2014-12-07 15:25:39 +01:00 committed by Novatux
parent c654c9fd11
commit d1e715ebac
2 changed files with 22 additions and 11 deletions

View File

@ -23,7 +23,7 @@ The bucket API allows registering new types of buckets for non-default liquids.
"bucket_lava.png", -- Bucket texture (for wielditem and inventory_image) "bucket_lava.png", -- Bucket texture (for wielditem and inventory_image)
"Lava Bucket" -- Bucket description "Lava Bucket" -- Bucket description
) )
Doors API Doors API
--------- ---------
The doors mod allows modders to register custom doors. The doors mod allows modders to register custom doors.
@ -31,7 +31,7 @@ The doors mod allows modders to register custom doors.
doors.register_door(name, def) doors.register_door(name, def)
^ name: "Door name" ^ name: "Door name"
^ def: See [#Door definition] ^ def: See [#Door definition]
#Door definition #Door definition
---------------- ----------------
{ {
@ -58,7 +58,7 @@ The farming API allows you to easily register plants and hoes.
farming.register_hoe(name, hoe definition) farming.register_hoe(name, hoe definition)
-> Register a new hoe, see [#hoe definition] -> Register a new hoe, see [#hoe definition]
farming.register_plant(name, Plant definition) farming.register_plant(name, Plant definition)
-> Register a new growing plant, see [#Plant definition] -> Register a new growing plant, see [#Plant definition]
@ -99,7 +99,7 @@ stairs.register_stair(subname, recipeitem, groups, images, description, sounds)
-> images: see [Tile definition] -> images: see [Tile definition]
-> description: used for the description field in the stair's definition -> description: used for the description field in the stair's definition
-> sounds: see [#Default sounds] -> sounds: see [#Default sounds]
stairs.register_slab(subname, recipeitem, groups, images, description, sounds) stairs.register_slab(subname, recipeitem, groups, images, description, sounds)
-> Registers a slabs -> Registers a slabs
-> subname: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_subname" -> subname: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_subname"
@ -108,13 +108,13 @@ stairs.register_slab(subname, recipeitem, groups, images, description, sounds)
-> images: see [Tile definition] -> images: see [Tile definition]
-> description: used for the description field in the stair's definition -> description: used for the description field in the stair's definition
-> sounds: see [#Default sounds] -> sounds: see [#Default sounds]
stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds) stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds)
-> A wrapper for stairs.register_stair and stairs.register_slab -> A wrapper for stairs.register_stair and stairs.register_slab
-> Uses almost the same arguments as stairs.register_stair -> Uses almost the same arguments as stairs.register_stair
-> desc_stair: Description for stair node -> desc_stair: Description for stair node
-> desc_slab: Description for slab node -> desc_slab: Description for slab node
Xpanes API Xpanes API
---------- ----------
Creates panes that automatically connect to each other Creates panes that automatically connect to each other
@ -280,3 +280,14 @@ dye.basecolors
dye.excolors dye.excolors
^ Array containing the names of the available extended colors ^ Array containing the names of the available extended colors
Trees
-----
default.grow_tree(pos, is_apple_tree)
^ Grows a tree or apple tree at pos
default.grow_jungle_tree(pos)
^ Grows a jungletree at pos
default.grow_pine_tree(pos)
^ Grows a pinetree at pos

View File

@ -45,7 +45,7 @@ minetest.register_abm({
minetest.log("action", "A jungle sapling grows into a tree at ".. minetest.log("action", "A jungle sapling grows into a tree at "..
minetest.pos_to_string(pos)) minetest.pos_to_string(pos))
default.grow_jungletree(pos) default.grow_jungle_tree(pos)
end end
}) })
@ -60,7 +60,7 @@ minetest.register_abm({
minetest.log("action", "A pine sapling grows into a tree at ".. minetest.log("action", "A pine sapling grows into a tree at "..
minetest.pos_to_string(pos)) minetest.pos_to_string(pos))
default.grow_pinetree(pos) default.grow_pine_tree(pos)
end end
}) })
@ -157,14 +157,14 @@ end
-- Jungletree -- Jungletree
function default.grow_jungletree(pos, bad) function default.grow_jungle_tree(pos, bad)
--[[ --[[
NOTE: Jungletree-placing code is currently duplicated in the engine NOTE: Jungletree-placing code is currently duplicated in the engine
and in games that have saplings; both are deprecated but not and in games that have saplings; both are deprecated but not
replaced yet replaced yet
--]] --]]
if bad then if bad then
error("Deprecated use of default.grow_jungletree") error("Deprecated use of default.grow_jungle_tree")
end end
local x, y, z = pos.x, pos.y, pos.z local x, y, z = pos.x, pos.y, pos.z
@ -220,7 +220,7 @@ local function add_snow(data, vi, c_air, c_ignore, c_snow)
end end
end end
function default.grow_pinetree(pos) function default.grow_pine_tree(pos)
local x, y, z = pos.x, pos.y, pos.z local x, y, z = pos.x, pos.y, pos.z
local maxy = y + random(9, 13) -- Trunk top local maxy = y + random(9, 13) -- Trunk top