local p = self.object:getpos()
p.y = p.y - 0.3
local nn = minetest.env:get_node(p).name
- -- If node is not registered or node is walkably solid
- if not minetest.registered_nodes[nn] or minetest.registered_nodes[nn].walkable then
+ -- If node is not registered or node is walkably solid and resting on nodebox
+ local v = self.object:getvelocity()
+ if not minetest.registered_nodes[nn] or minetest.registered_nodes[nn].walkable and v.y == 0 then
if self.physical_state then
self.object:setvelocity({x=0,y=0,z=0})
self.object:setacceleration({x=0, y=0, z=0})