local function send_items(items, pos, node)
for _, item in pairs(items) do
- local tube_item = pipeworks.tube_item(vector.new(pos), item)
- tube_item:get_luaentity().start_pos = vector.new(pos)
- tube_item:setvelocity(vector.new(0, 1, 0))
- tube_item:setacceleration({x=0, y=0, z=0})
+ pipeworks.tube_item(pos, pos, vector.new(0, 1, 0), item)
end
end
if stack then
local item0=stack:to_table()
if item0 then
- item0["count"]="1"
- local item1=pipeworks.tube_item({x=pos.x,y=pos.y,z=pos.z},item0)
- item1:get_luaentity().start_pos = {x=pos.x,y=pos.y,z=pos.z}
- item1:setvelocity({x=0, y=-1, z=0})
- item1:setacceleration({x=0, y=0, z=0})
- stack:take_item(1);
+ item0["count"] = "1"
+ pipeworks.tube_item(pos, pos, vector.new(0, -1, 0), item0)
+ stack:take_item(1)
inv:set_stack("main", i, stack)
return
end
if stack then
local item0=stack:to_table()
if item0 then
- local item1=pipeworks.tube_item({x=pos.x,y=pos.y,z=pos.z},item0)
- item1:get_luaentity().start_pos = {x=pos.x,y=pos.y,z=pos.z}
- item1:setvelocity({x=0, y=-1, z=0})
- item1:setacceleration({x=0, y=0, z=0})
+ pipeworks.tube_item(pos, pos, vector.new(0, -1, 0), item0)
stack:clear()
inv:set_stack("main", i, stack)
return
local item0 = stack:to_table()
if item0 then
item0["count"] = "1"
- local item1 = pipeworks.tube_item({x=pos.x, y=pos.y, z=pos.z}, item0)
- item1:get_luaentity().start_pos = {x=pos.x, y=pos.y, z=pos.z}
- item1:setvelocity({x=x_velocity, y=0, z=z_velocity})
- item1:setacceleration({x=0, y=0, z=0})
+ pipeworks.tube_item(pos, pos, vector.new(x_velocity, 0, z_velocity), item0)
stack:take_item(1)
inv:set_stack(output_name, i, stack)
return