diff options
author | TenPlus1 <kinsellaja@yahoo.com> | 2018-03-22 09:32:17 +0000 |
---|---|---|
committer | TenPlus1 <kinsellaja@yahoo.com> | 2018-03-22 09:32:17 +0000 |
commit | 1bb95d742cfd50cbb2329f344a008f13809d753c (patch) | |
tree | e75cabffa3e45037ea429e440a6ba1170f216251 | |
parent | 763fbee36d0c917c8b81f64021fa21178b1dd7c1 (diff) |
add mobs:spawn_abm_check() function
-rw-r--r-- | api.lua | 13 | ||||
-rw-r--r-- | api.txt | 11 |
2 files changed, 23 insertions, 1 deletions
@@ -3,7 +3,7 @@ mobs = {} mobs.mod = "redo" -mobs.version = "20180313" +mobs.version = "20180322" -- Intllib @@ -2983,6 +2983,12 @@ end -- global functions +function mobs:spawn_abm_check(pos, node, name) + -- global function to add additional spawn checks + -- return true to stop spawning mob +end + + function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, interval, chance, aoc, min_height, max_height, day_toggle, on_spawn) @@ -3027,6 +3033,11 @@ function mobs:spawn_specific(name, nodes, neighbors, min_light, max_light, return end + -- additional custom checks for spawning mob + if mobs:spawn_abm_check(pos, node, name) == true then + return + end + -- do not spawn if too many of same mob in area if active_object_count_wider >= max_per_block or count_mobs(pos, name) >= aoc then @@ -346,6 +346,17 @@ only use the API of this mod by disabling the spawning of the default mobs in this mod. +mobs:spawn_abm_check(pos, node, name) + +This global function can be changed to contain additional checks for mobs to +spawn e.g. mobs that spawn only in specific areas and the like. By returning +true the mob will not spawn. + + 'pos' holds the position of the spawning mob + 'node' contains the node the mob is spawning on top of + 'name' is the name of the animal/monster + + Making Arrows ------------- |