summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api.lua9
-rw-r--r--api.txt3
2 files changed, 11 insertions, 1 deletions
diff --git a/api.lua b/api.lua
index 6e50900..36fa6a1 100644
--- a/api.lua
+++ b/api.lua
@@ -2449,6 +2449,13 @@ local mob_activate = function(self, staticdata, def, dtime)
update_tag(self)
set_animation(self, "stand")
+ -- run on_spawn function if found
+ if self.on_spawn and not self.on_spawn_run then
+ if self.on_spawn(self) then
+ self.on_spawn_run = true -- if true, set flag to run once only
+ end
+ end
+
if use_cmi then
self._cmi_components = cmi.activate_components(self.serialized_cmi_components)
cmi.notify_activate(self.object, dtime)
@@ -2687,6 +2694,8 @@ minetest.register_entity(name, {
facing_fence = false,
_cmi_is_mob = true,
+ on_spawn = def.on_spawn,
+
on_blast = def.on_blast or do_tnt,
on_step = mob_step,
diff --git a/api.txt b/api.txt
index 90a5966..5fbcbfe 100644
--- a/api.txt
+++ b/api.txt
@@ -1,5 +1,5 @@
-MOB API (13th July 2017)
+MOB API (1st September 2017)
The mob api is a function that can be called on by other mods to add new animals or monsters into minetest.
@@ -94,6 +94,7 @@ This functions registers a new mob as a Minetest entity.
'shoot_interval' the minimum shoot interval
'shoot_offset' +/- value to position arrow/fireball when fired
'reach' how far a reach this mob has, default is 3
+ 'on_spawn' is a custom function that runs on mob spawn with 'self' as variable, return true at end of function to run onyl once.
'sounds' this is a table with sounds of the mob
'random' random sounds during gameplay
'war_cry' sound when starting to attack player