Add maidroid.register_egg API

This commit is contained in:
tacigar 2016-12-17 10:18:44 +09:00
parent 7e29b9372d
commit 91e2242e06
1 changed files with 28 additions and 13 deletions

View File

@ -22,6 +22,10 @@ maidroid.registered_maidroids = {}
-- definitions of core registered by maidroid.register_core. -- definitions of core registered by maidroid.register_core.
maidroid.registered_cores = {} maidroid.registered_cores = {}
-- maidroid.registered_eggs represents a table that contains
-- definition of egg registered by maidroid.register_egg.
maidroid.registered_eggs = {}
-- maidroid.is_core reports whether a item is a core item by the name. -- maidroid.is_core reports whether a item is a core item by the name.
function maidroid.is_core(item_name) function maidroid.is_core(item_name)
if maidroid.registered_cores[item_name] then if maidroid.registered_cores[item_name] then
@ -271,6 +275,25 @@ function maidroid.register_core(core_name, def)
}) })
end end
-- maidroid.register_egg registers a definition of a new egg.
function maidroid.register_egg(egg_name, def)
maidroid.register_eggs[egg_name] = def
minetest.register_craftitem(egg_name, {
description = def.description,
inventory_image = def.inventory_image,
stack_max = 1,
on_use = function(item_stack, user, pointed_thing)
if pointed_thing.above ~= nil then
minetest.add_entity(pointed_thing.above, def.product_name)
return itemstack
end
return nil
end,
})
end
-- maidroid.register_maidroid registers a definition of a new maidroid. -- maidroid.register_maidroid registers a definition of a new maidroid.
function maidroid.register_maidroid(product_name, def) function maidroid.register_maidroid(product_name, def)
maidroid.registered_maidroids[product_name] = def maidroid.registered_maidroids[product_name] = def
@ -524,17 +547,9 @@ function maidroid.register_maidroid(product_name, def)
}) })
-- register maidroid egg. -- register maidroid egg.
minetest.register_craftitem(product_name .. "_egg", { maidroid.register_egg(production_name .. "_egg", {
description = production_name .. " egg", description = production_name .. " egg",
inventory_image = def.egg_image, inventory_image = def.egg_image,
stack_max = 1, product_name = product_name,
on_use = function(item_stack, user, pointed_thing)
if pointed_thing.above ~= nil then
minetest.add_entity(pointed_thing.above, product_name)
return itemstack
end
return nil
end,
}) })
end end