Check the node below on globalstep, and if it's air just unmount (fixes #1)

cora, thanks again ^^
This commit is contained in:
Mikita Wiśniewski 2022-05-16 21:22:48 +07:00
parent 78ad6f1e6c
commit fbf247d92e
1 changed files with 13 additions and 7 deletions

View File

@ -34,16 +34,22 @@ minetest.register_globalstep(function(dtime)
for i=1, #players do
local name = players[i]:get_player_name()
if mcl_player.player_attached[name] and not players[i]:get_attach() and
(players[i]:get_player_control().up == true or
players[i]:get_player_control().down == true or
players[i]:get_player_control().left == true or
players[i]:get_player_control().right == true or
players[i]:get_player_control().jump == true or
players[i]:get_player_control().sneak == true) then
(players[i]:get_player_control().up == true or
players[i]:get_player_control().down == true or
players[i]:get_player_control().left == true or
players[i]:get_player_control().right == true or
players[i]:get_player_control().jump == true or
players[i]:get_player_control().sneak == true) then
players[i]:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
players[i]:set_physics_override(1, 1, 1)
mcl_player.player_attached[name] = false
mcl_player.player_set_animation(players[i], "stand", 30)
end
-- check the node below player (and if it's air, just unmount)
if minetest.get_node(vector.offset(players[i]:get_pos(),0,-1,0)).name == "air" then
players[i]:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
players[i]:set_physics_override(1, 1, 1)
mcl_player.player_attached[name] = false
mcl_player.player_set_animation(players[i], "stand", 30)
end
end
end)