1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-11-16 14:25:19 -05:00

Fix detection of sneaking node

This fixes bug 1551
This commit is contained in:
gregorycu 2015-02-01 14:40:50 +11:00 committed by kwolekr
parent 8560ece02e
commit 5c3c965c1a

View File

@ -230,7 +230,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
player is sneaking from, if any. If the node from under player is sneaking from, if any. If the node from under
the player has been removed, the player falls. the player has been removed, the player falls.
*/ */
v3s16 current_node = floatToInt(position - v3f(0,BS/2,0), BS); v3s16 current_node = floatToInt(position - v3f(0, 0.05 * BS, 0), BS);
if(m_sneak_node_exists && if(m_sneak_node_exists &&
nodemgr->get(map->getNodeNoEx(m_old_node_below)).name == "air" && nodemgr->get(map->getNodeNoEx(m_old_node_below)).name == "air" &&
m_old_node_below_type != "air") m_old_node_below_type != "air")
@ -248,7 +248,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
} }
if(m_need_to_get_new_sneak_node && physics_override_sneak) if(m_need_to_get_new_sneak_node && physics_override_sneak)
{ {
v3s16 pos_i_bottom = floatToInt(position - v3f(0,BS/2,0), BS); v3s16 pos_i_bottom = floatToInt(position - v3f(0, 0.05 * BS ,0), BS);
v2f player_p2df(position.X, position.Z); v2f player_p2df(position.X, position.Z);
f32 min_distance_f = 100000.0*BS; f32 min_distance_f = 100000.0*BS;
// If already seeking from some node, compare to it. // If already seeking from some node, compare to it.