diff options
| -rw-r--r-- | api.lua | 10 | ||||
| -rw-r--r-- | api.txt | 3 | 
2 files changed, 9 insertions, 4 deletions
| @@ -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 @@ -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: | 
