Random Lua tweaks/fixes

This commit is contained in:
Perttu Ahola 2011-11-21 14:56:03 +02:00
parent cebc8c78a4
commit 0bf3a15886
2 changed files with 9 additions and 6 deletions

@ -715,12 +715,12 @@ function register_falling_node(nodename, texture)
-- Set gravity -- Set gravity
self.object:setacceleration({x=0, y=-10, z=0}) self.object:setacceleration({x=0, y=-10, z=0})
-- Turn to actual sand when collides to ground or just move -- Turn to actual sand when collides to ground or just move
pos = self.object:getpos() local pos = self.object:getpos()
bcp = {x=pos.x, y=pos.y-0.6, z=pos.z} -- Position of bottom center point local bcp = {x=pos.x, y=pos.y-0.7, z=pos.z} -- Position of bottom center point
bcn = minetest.env:get_node(bcp) local bcn = minetest.env:get_node(bcp)
if bcn.name ~= "air" then if bcn.name ~= "air" then
-- Turn to a sand node -- 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}) minetest.env:add_node(np, {name=nodename})
self.object:remove() self.object:remove()
else else

@ -154,14 +154,17 @@ static void pushpos(lua_State *L, v3s16 p)
static v3s16 readpos(lua_State *L, int index) 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"); lua_getfield(L, index, "x");
p.X = lua_tonumber(L, -1); p.X = lua_tonumber(L, -1);
lua_getfield(L, index, "y"); lua_getfield(L, index, "y");
p.Y = lua_tonumber(L, -1); p.Y = lua_tonumber(L, -1);
lua_getfield(L, index, "z"); lua_getfield(L, index, "z");
p.Z = lua_tonumber(L, -1); p.Z = lua_tonumber(L, -1);
return p; return p;*/
} }
static void pushnode(lua_State *L, const MapNode &n, INodeDefManager *ndef) static void pushnode(lua_State *L, const MapNode &n, INodeDefManager *ndef)