From: Diego Martínez Date: Fri, 21 Jun 2013 03:20:20 +0000 (-0300) Subject: Deployers and constructors now able to "place" craftitems. X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=0039f38b9497e9c8be830c05b5dd59a7e1633b83;p=zefram%2Fminetest%2Ftechnic.git Deployers and constructors now able to "place" craftitems. --- diff --git a/technic/constructor.lua b/technic/constructor.lua index 58d2dad..2b031e5 100644 --- a/technic/constructor.lua +++ b/technic/constructor.lua @@ -283,6 +283,22 @@ deploy_node =function (inv, slot_name, pos1, node1, node) stack1[1]:take_item() inv:set_stack(slot_name, 1, stack1[1]) elseif def.type == "craft" then + if def.on_place then + -- print("deploy_node: item has on_place. trying...") + local ok, stk = pcall(def.on_place, stack1[1], nil, { + -- Fake pointed_thing + type = "node", + above = pos1, + under = { x=pos1.x, y=pos1.y-1, z=pos1.z }, + }) + if ok then + -- print("deploy_node: on_place succeeded!") + inv:set_stack(slot_name, 1, stk or stack1[1]) + return + -- else + -- print("deploy_node: WARNING: error while running on_place: "..tostring(stk)) + end + end minetest.item_place_object(stack1[1], nil, { -- Fake pointed_thing type = "node",