Fixed a bug where items were not moved after teleport tube when they went to the same direction.

This commit is contained in:
Novatux 2013-01-19 17:13:47 +01:00
parent b3fcf6734f
commit a77095ebe6

View File

@ -222,6 +222,8 @@ minetest.register_entity("pipeworks:tubed_item", {
end end
end end
local sposcopy={x=self.start_pos.x,y=self.start_pos.y,z=self.start_pos.z}
node = minetest.env:get_node(self.start_pos) node = minetest.env:get_node(self.start_pos)
if moved and minetest.get_item_group(node.name,"tubedevice_receiver")==1 then if moved and minetest.get_item_group(node.name,"tubedevice_receiver")==1 then
if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then if minetest.registered_nodes[node.name].tube and minetest.registered_nodes[node.name].tube.insert_object then
@ -254,7 +256,8 @@ minetest.register_entity("pipeworks:tubed_item", {
end end
end end
if velocity.x~=velocitycopy.x or velocity.y~=velocitycopy.y or velocity.z~=velocitycopy.z then if velocity.x~=velocitycopy.x or velocity.y~=velocitycopy.y or velocity.z~=velocitycopy.z or
self.start_pos.x~=sposcopy.x or self.start_pos.y~=sposcopy.y or self.start_pos.z~=sposcopy.z then
self.object:setpos(self.start_pos) self.object:setpos(self.start_pos)
self.object:setvelocity(velocity) self.object:setvelocity(velocity)
end end