aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/mods/default/init.lua8
-rw-r--r--src/scriptapi.cpp7
2 files changed, 9 insertions, 6 deletions
diff --git a/data/mods/default/init.lua b/data/mods/default/init.lua
index 4f825626d..b15315e24 100644
--- a/data/mods/default/init.lua
+++ b/data/mods/default/init.lua
@@ -715,12 +715,12 @@ function register_falling_node(nodename, texture)
-- 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
diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp
index 02db2ce02..459719632 100644
--- a/src/scriptapi.cpp
+++ b/src/scriptapi.cpp
@@ -154,14 +154,17 @@ static void pushpos(lua_State *L, v3s16 p)
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)