-- Set gravity
self.object:setacceleration({x=0, y=-10, z=0})
-- Turn to actual sand when collides to ground or just move
- pos = self.object:getpos()
- bcp = {x=pos.x, y=pos.y-0.6, z=pos.z} -- Position of bottom center point
- bcn = minetest.env:get_node(bcp)
+ local pos = self.object:getpos()
+ local bcp = {x=pos.x, y=pos.y-0.7, z=pos.z} -- Position of bottom center point
+ local bcn = minetest.env:get_node(bcp)
if bcn.name ~= "air" then
-- Turn to a sand node
- np = {x=bcp.x, y=bcp.y+1, z=bcp.z}
+ local np = {x=bcp.x, y=bcp.y+1, z=bcp.z}
minetest.env:add_node(np, {name=nodename})
self.object:remove()
else
static v3s16 readpos(lua_State *L, int index)
{
- v3s16 p;
+ // Correct rounding at <0
+ v3f pf = readFloatPos(L, index);
+ return floatToInt(pf, BS);
+ /*v3s16 p;
lua_getfield(L, index, "x");
p.X = lua_tonumber(L, -1);
lua_getfield(L, index, "y");
p.Y = lua_tonumber(L, -1);
lua_getfield(L, index, "z");
p.Z = lua_tonumber(L, -1);
- return p;
+ return p;*/
}
static void pushnode(lua_State *L, const MapNode &n, INodeDefManager *ndef)