Check for the presence of a throwing_entity field in item definition table

This commit is contained in:
upsilon
2017-06-20 16:39:03 +02:00
parent a45399bfea
commit 552b958dba
2 changed files with 10 additions and 0 deletions

View File

@ -27,6 +27,12 @@ local function shoot_arrow(itemstack, player)
local obj
if throwing.is_arrow(arrow) then
obj = minetest.add_entity(pos, arrow.."_entity")
elseif minetest.registered_items[arrow].throwing_entity then
if type(minetest.registered_items[arrow].throwing_entity) == "string" then
obj = minetest.add_entity(pos, minetest.registered_items[arrow].throwing_entity)
else -- Type is a function
obj = minetest.registered_items[arrow].throwing_entity(pos, player)
end
else
obj = minetest.add_entity(pos, "__builtin:item", arrow)
end