fix getting stuck under non-opaque blocks

This commit is contained in:
SumianVoice 2022-07-18 10:09:04 +10:00
parent 0158681cf8
commit de0a78012d

View File

@ -377,10 +377,8 @@ minetest.register_globalstep(function(dtime)
set_properties_conditional(player,{collisionbox = {-0.312,0,-0.312,0.312,0.8,0.312}, eye_height = 0.5, nametag_color = { r = 225, b = 225, a = 225, g = 225 }})
-- control body bone when swimming
set_bone_position_conditional(player,"Body_Control", vector.new(0,6.3,0), vector.new(degrees(dir_to_pitch(player_velocity)) - 90,-player_vel_yaw + yaw + 180,0))
elseif (mcl_playerinfo[name].node_head_top == "air" -- make sure the collision box is not going to clip through the ceiling
or get_item_group(mcl_playerinfo[name].node_head_top, "water") ~= 0)
and (mcl_playerinfo[name].node_head == "air"
or get_item_group(mcl_playerinfo[name].node_head, "water") ~= 0) then
elseif get_item_group(mcl_playerinfo[name].node_head, "opaque") == 0
and get_item_group(mcl_playerinfo[name].node_head_top, "opaque") == 0 then
-- sets eye height, and nametag color accordingly
is_swimming = false
set_properties_conditional(player,{collisionbox = {-0.312,0,-0.312,0.312,1.8,0.312}, eye_height = 1.5, nametag_color = { r = 225, b = 225, a = 225, g = 225 }})