mirror of
https://codeberg.org/tenplus1/mobs_redo.git
synced 2024-12-25 02:00:21 +01:00
added on_spawn function
This commit is contained in:
parent
d2806eccf2
commit
e3e00b24a0
10
api.lua
10
api.lua
@ -1,5 +1,5 @@
|
||||
|
||||
-- Mobs Api (8th October 2016)
|
||||
-- Mobs Api (9th October 2016)
|
||||
|
||||
mobs = {}
|
||||
mobs.mod = "redo"
|
||||
@ -2411,7 +2411,7 @@ end -- END mobs:register_mob function
|
||||
-- global functions
|
||||
|
||||
function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
|
||||
interval, chance, aoc, min_height, max_height, day_toggle)
|
||||
interval, chance, aoc, min_height, max_height, day_toggle, on_spawn)
|
||||
|
||||
-- chance override in minetest.conf for registered mob
|
||||
local new_chance = tonumber(minetest.setting_get(name .. "_chance"))
|
||||
@ -2526,6 +2526,9 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light,
|
||||
-- print ("[mobs] Spawned " .. name .. " at "
|
||||
-- .. minetest.pos_to_string(pos) .. " on "
|
||||
-- .. node.name .. " near " .. neighbors[1])
|
||||
if on_spawn and not on_spawn(mob, pos) then
|
||||
return
|
||||
end
|
||||
else
|
||||
print (S("[mobs] @1 failed to spawn at @2",
|
||||
name, minetest.pos_to_string(pos)))
|
||||
@ -2556,9 +2559,10 @@ function mobs:spawn(def)
|
||||
local min_height = def.min_height or -31000
|
||||
local max_height = def.max_height or 31000
|
||||
local day_toggle = def.day_toggle or nil
|
||||
local on_spawn = def.on_spawn
|
||||
|
||||
mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval,
|
||||
chance, active_object_count, min_height, max_height, day_toggle)
|
||||
chance, active_object_count, min_height, max_height, day_toggle, on_spawn)
|
||||
end
|
||||
|
||||
-- set content id's
|
||||
|
3
api.txt
3
api.txt
@ -139,7 +139,7 @@ The mob api also has some preset variables and functions that it will remember f
|
||||
|
||||
mobs:register_spawn(name, nodes, max_light, min_light, chance, active_object_count, max_height, day_toggle)
|
||||
|
||||
mobs:spawn_specfic(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height, day_toggle)
|
||||
mobs:spawn_specfic(name, nodes, neighbors, min_light, max_light, interval, chance, active_object_count, min_height, max_height, day_toggle, on_spawn)
|
||||
|
||||
These functions register a spawn algorithm for the mob. Without this function the call the mobs won't spawn.
|
||||
|
||||
@ -154,6 +154,7 @@ These functions register a spawn algorithm for the mob. Without this function th
|
||||
'min_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
|
||||
'on_spawn' is a custom function which runs after mob has spawned and gives self and pos values.
|
||||
|
||||
... 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:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user