Improvement of flowing code

This commit is contained in:
PilzAdam 2012-09-25 16:44:42 +02:00
parent a0c49e7677
commit 3968be9270
1 changed files with 10 additions and 26 deletions

View File

@ -125,32 +125,16 @@ minetest.register_entity(":__builtin:item", {
end
local vec = get_flowing_dir(self)
if vec and vec.x-p.x > 0 then
self.object:setvelocity({x=1,y=0,z=0})
self.object:setacceleration({x=0, y=-10, z=0})
self.physical_state = true
self.object:set_properties({
physical = true
})
return
elseif vec and vec.x-p.x < 0 then
self.object:setvelocity({x=-1,y=0,z=0})
self.object:setacceleration({x=0, y=-10, z=0})
self.physical_state = true
self.object:set_properties({
physical = true
})
return
elseif vec and vec.z-p.z > 0 then
self.object:setvelocity({x=0,y=0,z=1})
self.object:setacceleration({x=0, y=-10, z=0})
self.physical_state = true
self.object:set_properties({
physical = true
})
return
elseif vec and vec.z-p.z < 0 then
self.object:setvelocity({x=0,y=0,z=-1})
if vec then
if vec and vec.x-p.x > 0 then
self.object:setvelocity({x=1,y=0,z=0})
elseif vec and vec.x-p.x < 0 then
self.object:setvelocity({x=-1,y=0,z=0})
elseif vec and vec.z-p.z > 0 then
self.object:setvelocity({x=0,y=0,z=1})
elseif vec and vec.z-p.z < 0 then
self.object:setvelocity({x=0,y=0,z=-1})
end
self.object:setacceleration({x=0, y=-10, z=0})
self.physical_state = true
self.object:set_properties({