summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTenPlus1 <kinsellaja@yahoo.com>2018-09-09 11:11:08 +0100
committerTenPlus1 <kinsellaja@yahoo.com>2018-09-09 11:11:08 +0100
commit82411330fcab88333a866fe5fd5a58ffe196f4b1 (patch)
tree7250f49ecfe735f386a69cdf5573e25520435b80
parent2106a081b91eefddb6e4b3fc1ea659f012634e1b (diff)
add custom on_punch for mob arrows
-rw-r--r--api.lua7
-rw-r--r--api.txt2
2 files changed, 7 insertions, 2 deletions
diff --git a/api.lua b/api.lua
index e920ed1..79b178d 100644
--- a/api.lua
+++ b/api.lua
@@ -6,7 +6,7 @@ local use_cmi = minetest.global_exists("cmi")
mobs = {
mod = "redo",
- version = "20180908",
+ version = "20180909",
intllib = S,
invis = minetest.global_exists("invisibility") and invisibility or {},
}
@@ -3309,7 +3309,7 @@ function mobs:register_arrow(name, def)
hit_node = def.hit_node,
hit_mob = def.hit_mob,
drop = def.drop or false, -- drops arrow as registered item when true
- collisionbox = {0, 0, 0, 0, 0, 0}, -- remove box around arrows
+ collisionbox = def.collisionbox or {0, 0, 0, 0, 0, 0},
timer = 0,
switch = 0,
owner_id = def.owner_id,
@@ -3319,6 +3319,9 @@ function mobs:register_arrow(name, def)
on_activate = def.on_activate,
+ on_punch = def.on_punch or function(self, hitter, tflp, tool_capabilities, dir)
+ end,
+
on_step = def.on_step or function(self, dtime)
self.timer = self.timer + 1
diff --git a/api.txt b/api.txt
index 17beba5..8e3fdd0 100644
--- a/api.txt
+++ b/api.txt
@@ -396,6 +396,8 @@ This function registers a arrow for mobs with the attack type shoot.
'rotate' integer value in degrees to rotate arrow
'on_step' is a custom function when arrow is active, nil for
default.
+ 'on_punch' is a custom function when arrow is punched, nil by default
+ 'collisionbox' is hitbox table for arrow, {0,0,0,0,0,0} by default.
Spawn Eggs