summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTenPlus1 <kinsellaja@yahoo.com>2017-10-18 19:56:04 +0100
committerTenPlus1 <kinsellaja@yahoo.com>2017-10-18 19:56:04 +0100
commitec4ba73bab1140c9a639df05f83921f7e47e1b94 (patch)
treed277e5011d43509c4f4a6f066a7a8075ed2a3e6d
parentf6f3b58ac643b304a4e087facc8623a23e1d9bd7 (diff)
added custom after_activate function check
-rw-r--r--api.lua11
-rw-r--r--api.txt3
-rw-r--r--api_new.txt52
3 files changed, 37 insertions, 29 deletions
diff --git a/api.lua b/api.lua
index 93e0467..b934af7 100644
--- a/api.lua
+++ b/api.lua
@@ -2099,9 +2099,9 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir)
end
-- mob health check
- if self.health <= 0 then
- return
- end
+-- if self.health <= 0 then
+-- return
+-- end
-- error checking when mod profiling is enabled
if not tool_capabilities then
@@ -2507,6 +2507,11 @@ local mob_activate = function(self, staticdata, def, dtime)
end
end
+ -- run after_activate
+ if def.after_activate then
+ def.after_activate(self, staticdata, def, dtime)
+ end
+
if use_cmi then
self._cmi_components = cmi.activate_components(self.serialized_cmi_components)
cmi.notify_activate(self.object, dtime)
diff --git a/api.txt b/api.txt
index 6a619a1..3ec6908 100644
--- a/api.txt
+++ b/api.txt
@@ -1,5 +1,5 @@
-MOB API (13th October 2017)
+MOB API (18th October 2017)
The mob api is a function that can be called on by other mods to add new animals or monsters into minetest.
@@ -110,6 +110,7 @@ Custom mob functions inside mob registry:
'on_rightclick' its same as in minetest.register_entity()
'on_blast' is called when an explosion happens near mob when using TNT functions, parameters are (object, damage) and returns (do_damage, do_knockback, drops)
'on_spawn' is a custom function that runs on mob spawn with 'self' as variable, return true at end of function to run only once.
+ 'after_activate' is a custom function that runs once mob has been activated with the paramaters (self, staticdata, def, dtime)
'on_breed' called when two similar mobs breed, paramaters are (parent1, parent2) objects, return false to stop child from being resized and owner/tamed flags and child textures being applied.
'on_grown' is called when a child mob has grown up, only paramater is (self).
'do_punch' called when mob is punched with paramaters (self, hitter, time_from_last_punch, tool_capabilities, direction), return false to stop punch damage and knockback from taking place.
diff --git a/api_new.txt b/api_new.txt
index 41a4bc8..15b87a3 100644
--- a/api_new.txt
+++ b/api_new.txt
@@ -1,5 +1,5 @@
-Mobs Redo API (last updated 13th Oct 2017)
+Mobs Redo API (last updated 18th Oct 2017)
==========================================
Welcome to the world of mobs in minetest and hopefully an easy guide to defining
@@ -228,30 +228,32 @@ Custom Definition Functions
Along with the above mob registry settings we can also use custom functions to
enhance mob functionality and have them do many interesting things:
- 'on_die' a function that is called when the mob is killed the
- parameters are (self, pos)
- 'on_rightclick' its same as in minetest.register_entity()
- 'on_blast' is called when an explosion happens near mob when using TNT
- functions, parameters are (object, damage) and returns
- (do_damage, do_knockback, drops)
- 'on_spawn' is a custom function that runs on mob spawn with 'self' as
- variable, return true at end of function to run only once.
- 'on_breed' called when two similar mobs breed, paramaters are
- (parent1, parent2) objects, return false to stop child from
- being resized and owner/tamed flags and child textures being
- applied. Function itself must spawn new child mob.
- 'on_grown' is called when a child mob has grown up, only paramater is
- (self).
- 'do_punch' called when mob is punched with paramaters (self, hitter,
- time_from_last_punch, tool_capabilities, direction), return
- false to stop punch damage and knockback from taking place.
- 'custom_attack' when set this function is called instead of the normal mob
- melee attack, parameters are (self, to_attack).
- 'on_die' a function that is called when mob is killed
- 'do_custom' a custom function that is called every tick while mob is
- active and which has access to all of the self.* variables
- e.g. (self.health for health or self.standing_in for node
- status), return with 'false' to skip remainder of mob API.
+ 'on_die' a function that is called when the mob is killed the
+ parameters are (self, pos)
+ 'on_rightclick' its same as in minetest.register_entity()
+ 'on_blast' is called when an explosion happens near mob when using TNT
+ functions, parameters are (object, damage) and returns
+ (do_damage, do_knockback, drops)
+ 'on_spawn' is a custom function that runs on mob spawn with 'self' as
+ variable, return true at end of function to run only once.
+ 'after_activate' is a custom function that runs once mob has been activated
+ with these paramaters (self, staticdata, def, dtime)
+ 'on_breed' called when two similar mobs breed, paramaters are
+ (parent1, parent2) objects, return false to stop child from
+ being resized and owner/tamed flags and child textures being
+ applied. Function itself must spawn new child mob.
+ 'on_grown' is called when a child mob has grown up, only paramater is
+ (self).
+ 'do_punch' called when mob is punched with paramaters (self, hitter,
+ time_from_last_punch, tool_capabilities, direction), return
+ false to stop punch damage and knockback from taking place.
+ 'custom_attack' when set this function is called instead of the normal mob
+ melee attack, parameters are (self, to_attack).
+ 'on_die' a function that is called when mob is killed
+ 'do_custom' a custom function that is called every tick while mob is
+ active and which has access to all of the self.* variables
+ e.g. (self.health for health or self.standing_in for node
+ status), return with 'false' to skip remainder of mob API.
Internal Variables