mirror of
https://codeberg.org/tenplus1/mobs_redo.git
synced 2025-01-12 02:40:21 +01:00
Added MarkBu's new mob:spawn command
This commit is contained in:
parent
a470ac7cc1
commit
e944712c90
23
api.lua
23
api.lua
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
-- Mobs Api (21st July 2016)
|
-- Mobs Api (3rd August 2016)
|
||||||
|
|
||||||
mobs = {}
|
mobs = {}
|
||||||
mobs.mod = "redo"
|
mobs.mod = "redo"
|
||||||
@ -2400,7 +2400,7 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
|
|||||||
chance = chance,
|
chance = chance,
|
||||||
catch_up = true,
|
catch_up = true,
|
||||||
|
|
||||||
action = function(pos, node, aoc, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
|
|
||||||
-- do not spawn if too many active entities in area
|
-- do not spawn if too many active entities in area
|
||||||
if active_object_count_wider > active_object_count
|
if active_object_count_wider > active_object_count
|
||||||
@ -2491,6 +2491,25 @@ function mobs:register_spawn(name, nodes, max_light, min_light, chance, active_o
|
|||||||
chance, active_object_count, -31000, max_height, day_toggle)
|
chance, active_object_count, -31000, max_height, day_toggle)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- MarkBu's spawn function
|
||||||
|
function mobs:spawn(def)
|
||||||
|
|
||||||
|
local name = def.name
|
||||||
|
local nodes = def.nodes or {"group:soil", "group:stone"}
|
||||||
|
local neighbors = def.neighbors or {"air"}
|
||||||
|
local min_light = def.min_light or 0
|
||||||
|
local max_light = def.max_light or 15
|
||||||
|
local interval = def.interval or 30
|
||||||
|
local chance = def.chance or 5000
|
||||||
|
local active_object_count = def.active_object_count or 1
|
||||||
|
local min_height = def.min_height or -31000
|
||||||
|
local max_height = def.max_height or 31000
|
||||||
|
local day_toggle = def.day_toggle or nil
|
||||||
|
|
||||||
|
mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval,
|
||||||
|
chance, active_object_count, min_height, max_height, day_toggle)
|
||||||
|
end
|
||||||
|
|
||||||
-- set content id's
|
-- set content id's
|
||||||
local c_air = minetest.get_content_id("air")
|
local c_air = minetest.get_content_id("air")
|
||||||
local c_ignore = minetest.get_content_id("ignore")
|
local c_ignore = minetest.get_content_id("ignore")
|
||||||
|
7
api.txt
7
api.txt
@ -152,6 +152,13 @@ These functions register a spawn algorithm for the mob. Without this function th
|
|||||||
'max_height' is the maximum height the mob can spawn
|
'max_height' is the maximum height the mob can spawn
|
||||||
'day_toggle' true for day spawning, false for night or nil for anytime
|
'day_toggle' true for day spawning, false for night or nil for anytime
|
||||||
|
|
||||||
|
... also a simpler way to handle mob spawns has been added with the mobs:spawn(def) command which uses above names to make settings clearer:
|
||||||
|
|
||||||
|
mobs:spawn({name = "mobs_monster:tree_monster",
|
||||||
|
nodes = {"group:leaves"},
|
||||||
|
max_light = 7,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
Players can override the spawn chance for each mob registered by adding a line to their minetest.conf file with a new value, the lower the value the more each mob will spawn e.g.
|
Players can override the spawn chance for each mob registered by adding a line to their minetest.conf file with a new value, the lower the value the more each mob will spawn e.g.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user