From: Novatux Date: Mon, 21 Oct 2013 09:34:10 +0000 (+0200) Subject: Fix crossing tube and one way tube. X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=12eb772d18a4fef809e025751d813a6a514f8821;p=zefram%2Fminetest%2Fpipeworks.git Fix crossing tube and one way tube. --- diff --git a/item_transport.lua b/item_transport.lua index 721aa19..3e7ff0a 100644 --- a/item_transport.lua +++ b/item_transport.lua @@ -394,7 +394,7 @@ minetest.register_entity("pipeworks:tubed_item", { local moved=false local speed=math.abs(velocity.x+velocity.y+velocity.z) - local vel={x=velocity.x/speed,y=velocity.y/speed,z=velocity.z/speed} + local vel={x=velocity.x/speed,y=velocity.y/speed,z=velocity.z/speed, speed=speed} if math.abs(vel.x)==1 then local next_node=math.abs(pos.x-self.start_pos.x) diff --git a/tubes.lua b/tubes.lua index 7056c4b..7ac950e 100644 --- a/tubes.lua +++ b/tubes.lua @@ -477,7 +477,7 @@ if enable_crossing_tube then register_tube("pipeworks:crossing_tube","Crossing tube segment",accelerator_plain_textures, accelerator_noctr_textures,accelerator_end_textures,accelerator_short_texture,accelerator_inv_texture, {tube={can_go=function(pos,node,velocity,stack) - return velocity + return {velocity} end} }) end @@ -640,7 +640,7 @@ if enable_one_way_tube then insert_object = function(pos,node,stack,direction) item1=tube_item(pos,stack) item1:get_luaentity().start_pos = pos - item1:setvelocity(direction) + item1:setvelocity({x=direction.x*direction.speed, y=direction.y*direction.speed, z=direction.z*direction.speed}) item1:setacceleration({x=0, y=0, z=0}) return ItemStack("") end,