diff --git a/init.lua b/init.lua index d785c2e..6525aee 100644 --- a/init.lua +++ b/init.lua @@ -126,14 +126,15 @@ minetest.register_entity(":__builtin:item", { local vec = get_flowing_dir(self) if vec then + local v = self.object:getvelocity() if vec and vec.x-p.x > 0 then - self.object:setvelocity({x=0.5,y=0,z=0}) + self.object:setvelocity({x=0.5,y=v.y,z=0}) elseif vec and vec.x-p.x < 0 then - self.object:setvelocity({x=-0.5,y=0,z=0}) + self.object:setvelocity({x=-0.5,y=v.y,z=0}) elseif vec and vec.z-p.z > 0 then - self.object:setvelocity({x=0,y=0,z=0.5}) + self.object:setvelocity({x=0,y=v.y,z=0.5}) elseif vec and vec.z-p.z < 0 then - self.object:setvelocity({x=0,y=0,z=-0.5}) + self.object:setvelocity({x=0,y=v.y,z=-0.5}) end self.object:setacceleration({x=0, y=-10, z=0}) self.physical_state = true