summaryrefslogtreecommitdiff
path: root/biome_lib
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2018-12-17 02:20:30 -0500
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2018-12-17 02:20:30 -0500
commitec25fd83415d0ecb49f41295af3dc30f14850b2f (patch)
tree59fe699656e75a52e6665b385907b86cc0b89c16 /biome_lib
parent856b86858ebfa4af2c352b022188f82dcff7ed92 (diff)
downloaddreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar.gz
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar.bz2
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.tar.xz
dreambuilder_modpack-ec25fd83415d0ecb49f41295af3dc30f14850b2f.zip
update biome_lib, digilines, hotbar, mesecons, pipeworks,
ropes, technic, unified inventory, unified dyes, vines, and worldedit
Diffstat (limited to 'biome_lib')
-rw-r--r--biome_lib/API.txt21
-rw-r--r--biome_lib/init.lua20
2 files changed, 33 insertions, 8 deletions
diff --git a/biome_lib/API.txt b/biome_lib/API.txt
index 6aab582..0dd15c3 100644
--- a/biome_lib/API.txt
+++ b/biome_lib/API.txt
@@ -72,6 +72,7 @@ biome = {
---- most likely want to use at least some of these to limit how and
---- where your objects are spawned.
+ label = string, -- set this to identify the ABM for Minetest's profiler
avoid_nodes = {table}, -- same meaning as savoid, above
avoid_radius = num, -- same as sradius
seed_diff = num, -- The Perlin seed difference value passed to the
@@ -238,7 +239,7 @@ biome = {
---- Everything else is optional, but you'll definitely want to use
---- some of these other fields to limit where and under what
---- conditions the objects are spawned.
-
+
below_nodes = {table}, -- List of nodes that must be below the target
-- node. Useful in snow biomes to keep objects from
-- spawning in snow that's on the wrong surface for
@@ -342,14 +343,18 @@ into something else over time. This function has no return value, and accepts
a biome definition table as the only parameter. These are defined like so:
options = {
- grow_plant = "string", -- Name of the node to be grown into something
- -- else. This value is passed to the ABM as the
- -- "nodenames" parameter, so it is the plants
- -- themselves that are the ABM trigger, rather than
+ label = string, -- set this to identify the ABM for Minetest's
+ -- profiler. If not set, biome_lib will set it to
+ -- "biome_lib grow_plants(): " appended with the node
+ -- in grow_plant (or the first item if it's a table)
+ grow_plant = "string" or {table}, -- Name(s) of the node(s) to be grown
+ -- into something else. This value is passed to the
+ -- ABM as the "nodenames" parameter, so the plants
+ -- themselves are the ABM trigger, rather than
-- the ground they spawned on. A plant will only grow
- -- if the node above it is air. Can also be a table,
- -- but note that all nodes referenced therein will be
- -- grown into the same object.
+ -- if the node above it is air. If you use a table,
+ -- note that all nodes referenced therein will be
+ -- grown into the same final object.
grow_delay = num, -- Passed as the ABM "interval" parameter, as with
-- spawning.
grow_chance = num, -- Passed as the ABM "chance" parameter.
diff --git a/biome_lib/init.lua b/biome_lib/init.lua
index 818011f..f79c1d7 100644
--- a/biome_lib/init.lua
+++ b/biome_lib/init.lua
@@ -501,11 +501,20 @@ function biome_lib:spawn_on_surfaces(sd,sp,sr,sc,ss,sa)
biome_lib:set_defaults(biome)
biome.spawn_plants_count = #(biome.spawn_plants)
+ local n
+ if type(biome.spawn_plants) == "table" then
+ n = "random: "..biome.spawn_plants[1]..", ..."
+ else
+ n = biome.spawn_plants
+ end
+ biome.label = biome.label or "biome_lib spawn_on_surfaces(): "..n
+
minetest.register_abm({
nodenames = biome.spawn_surfaces,
interval = biome.interval,
chance = biome.spawn_chance,
neighbors = biome.neighbors,
+ label = biome.label,
action = function(pos, node, active_object_count, active_object_count_wider)
local p_top = { x = pos.x, y = pos.y + 1, z = pos.z }
local n_top = minetest.get_node(p_top)
@@ -583,6 +592,16 @@ function biome_lib:grow_plants(opts)
options.grow_nodes = options.grow_nodes or { "default:dirt_with_grass" }
options.seed_diff = options.seed_diff or 0
+ local n
+
+ if type(options.grow_plant) == "table" then
+ n = "multi: "..options.grow_plant[1]..", ..."
+ else
+ n = options.grow_plant
+ end
+
+ options.label = options.label or "biome_lib grow_plants(): "..n
+
if options.grow_delay*time_scale >= 1 then
options.interval = options.grow_delay*time_scale
else
@@ -593,6 +612,7 @@ function biome_lib:grow_plants(opts)
nodenames = { options.grow_plant },
interval = options.interval,
chance = options.grow_chance,
+ label = options.label,
action = function(pos, node, active_object_count, active_object_count_wider)
local p_top = {x=pos.x, y=pos.y+1, z=pos.z}
local p_bot = {x=pos.x, y=pos.y-1, z=pos.z}