Do not update everytime

This commit is contained in:
SmallJoker 2014-10-26 12:04:05 +01:00
parent a59864dd74
commit b6f476db37

@ -119,6 +119,7 @@ end
function boost_cart.cart:on_step(dtime) function boost_cart.cart:on_step(dtime)
local vel = self.object:getvelocity() local vel = self.object:getvelocity()
local is_realpunch = self.punch
if self.punch then if self.punch then
vel = vector.add(vel, self.velocity) vel = vector.add(vel, self.velocity)
self.velocity = {x=0, y=0, z=0} self.velocity = {x=0, y=0, z=0}
@ -246,6 +247,10 @@ function boost_cart.cart:on_step(dtime)
end end
end end
if not self.punch then
return
end
local yaw = 0 local yaw = 0
if dir.x < 0 then if dir.x < 0 then
yaw = 0.5 yaw = 0.5
@ -255,7 +260,7 @@ function boost_cart.cart:on_step(dtime)
yaw = 1 yaw = 1
end end
self.object:setyaw(yaw * math.pi) self.object:setyaw(yaw * math.pi)
local anim = {x=0, y=0} local anim = {x=0, y=0}
if dir.y == -1 then if dir.y == -1 then
anim = {x=1, y=1} anim = {x=1, y=1}
@ -264,10 +269,10 @@ function boost_cart.cart:on_step(dtime)
end end
self.object:set_animation(anim, 1, 0) self.object:set_animation(anim, 1, 0)
if self.punch then self.object:setvelocity(vel)
self.object:setvelocity(vel) self.object:setpos(pos)
self.object:setpos(pos)
if is_realpunch then
for _,obj_ in ipairs(minetest.get_objects_inside_radius(pos, 1)) do for _,obj_ in ipairs(minetest.get_objects_inside_radius(pos, 1)) do
if not obj_:is_player() and if not obj_:is_player() and
obj_:get_luaentity() and obj_:get_luaentity() and