Fix item entity force-out bias to positive dir

This commit is contained in:
Wuzzy 2019-08-27 13:08:54 +02:00
parent f67c302c3d
commit 1cbee9de18

View file

@ -543,8 +543,8 @@ core.register_entity(":__builtin:item", {
-- Push item out when stuck inside solid opaque node
if def and def.walkable and def.groups and def.groups.opaque == 1 then
local shootdir
local cx = p.x % 1
local cz = p.z % 1
local cx = (p.x % 1) - 0.5
local cz = (p.z % 1) - 0.5
local order = {}
-- First prepare the order in which the 4 sides are to be checked.
@ -552,7 +552,7 @@ core.register_entity(":__builtin:item", {
-- 2nd: other direction
-- 3rd and 4th: other axis
local cxcz = function(o, cw, one, zero)
if cw > 0 then
if cw < 0 then
table.insert(o, { [one]=1, y=0, [zero]=0 })
table.insert(o, { [one]=-1, y=0, [zero]=0 })
else
@ -561,7 +561,7 @@ core.register_entity(":__builtin:item", {
end
return o
end
if math.abs(cx) > math.abs(cz) then
if math.abs(cx) < math.abs(cz) then
order = cxcz(order, cx, "x", "z")
order = cxcz(order, cz, "z", "x")
else