summaryrefslogtreecommitdiff
path: root/pipeworks/item_transport.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-09-26 00:11:57 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-09-26 00:11:57 -0400
commit3d08b568ad1da1e3259a66cb91fd1039781c75cb (patch)
tree59c396f503f3946b8757093f5c90605fe9f91d07 /pipeworks/item_transport.lua
parent4aab7d0dbd782cf6741bdbba94440faf0c5c2e61 (diff)
downloaddreambuilder_modpack-3d08b568ad1da1e3259a66cb91fd1039781c75cb.tar
dreambuilder_modpack-3d08b568ad1da1e3259a66cb91fd1039781c75cb.tar.gz
dreambuilder_modpack-3d08b568ad1da1e3259a66cb91fd1039781c75cb.tar.bz2
dreambuilder_modpack-3d08b568ad1da1e3259a66cb91fd1039781c75cb.tar.xz
dreambuilder_modpack-3d08b568ad1da1e3259a66cb91fd1039781c75cb.zip
update castles modpack, boost_cart, homedecor, currency, farming redo,
framed glass, gloopblocks, mesecons, moreblocks, pipeworks, signs_lib, technic, unified mesecons, and worldedit created a new tag for this release (this will be standard procedure from now on)
Diffstat (limited to 'pipeworks/item_transport.lua')
-rw-r--r--pipeworks/item_transport.lua11
1 files changed, 6 insertions, 5 deletions
diff --git a/pipeworks/item_transport.lua b/pipeworks/item_transport.lua
index b2d2aa2..551db07 100644
--- a/pipeworks/item_transport.lua
+++ b/pipeworks/item_transport.lua
@@ -7,13 +7,14 @@ function pipeworks.tube_item(pos, item)
error("obsolete pipeworks.tube_item() called; change caller to use pipeworks.tube_inject_item() instead")
end
-function pipeworks.tube_inject_item(pos, start_pos, velocity, item)
+function pipeworks.tube_inject_item(pos, start_pos, velocity, item, owner)
-- Take item in any format
local stack = ItemStack(item)
local obj = luaentity.add_entity(pos, "pipeworks:tubed_item")
obj:set_item(stack:to_string())
obj.start_pos = vector.new(start_pos)
obj:setvelocity(velocity)
+ obj.owner = owner
--obj:set_color("red") -- todo: this is test-only code
return obj
end
@@ -49,7 +50,7 @@ minetest.register_globalstep(function(dtime)
end
end)
-local function go_next(pos, velocity, stack)
+local function go_next(pos, velocity, stack, owner)
local next_positions = {}
local max_priority = 0
local cnode = minetest.get_node(pos)
@@ -84,7 +85,7 @@ local function go_next(pos, velocity, stack)
local tube_priority = (tube_def and tube_def.priority) or 100
if tubedevice > 0 and tube_priority >= max_priority then
if not tube_def or not tube_def.can_insert or
- tube_def.can_insert(npos, node, stack, vect) then
+ tube_def.can_insert(npos, node, stack, vect, owner) then
if tube_priority > max_priority then
max_priority = tube_priority
next_positions = {}
@@ -260,7 +261,7 @@ luaentity.register_entity("pipeworks:tubed_item", {
if moved and minetest.get_item_group(node.name, "tubedevice_receiver") == 1 then
local leftover
if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then
- leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel)
+ leftover = minetest.registered_nodes[node.name].tube.insert_object(self.start_pos, node, stack, vel, self.owner)
else
leftover = stack
end
@@ -276,7 +277,7 @@ luaentity.register_entity("pipeworks:tubed_item", {
end
if moved then
- local found_next, new_velocity = go_next(self.start_pos, velocity, stack) -- todo: color
+ local found_next, new_velocity = go_next(self.start_pos, velocity, stack, self.owner) -- todo: color
local rev_vel = vector.multiply(velocity, -1)
local rev_dir = vector.direction(self.start_pos,vector.add(self.start_pos,rev_vel))
local rev_node = minetest.get_node(vector.round(vector.add(self.start_pos,rev_dir)))