Fix wrong usage of set_physics_override, use playerphysics

This commit is contained in:
cora 2024-02-16 04:24:41 +01:00
parent ad33e6bc1e
commit 97820be741
1 changed files with 12 additions and 6 deletions

View File

@ -41,14 +41,16 @@ minetest.register_globalstep(function(dtime)
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)
playerphysics.remove_physics_factor(players[i], "speed", "mcl_cozy:attached")
playerphysics.remove_physics_factor(players[i], "jump", "mcl_cozy:attached")
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)
playerphysics.remove_physics_factor(players[i], "speed", "mcl_cozy:attached")
playerphysics.remove_physics_factor(players[i], "jump", "mcl_cozy:attached")
mcl_player.player_attached[name] = false
end
end
@ -62,13 +64,15 @@ minetest.register_chatcommand("sit", {
if minetest.get_node(vector.offset(player:get_pos(),0,-1,0)).name == "air" then return end
if mcl_player.player_attached[name] then
player:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
player:set_physics_override(1, 1, 1)
playerphysics.remove_physics_factor(player, "speed", "mcl_cozy:attached")
playerphysics.remove_physics_factor(player, "jump", "mcl_cozy:attached")
mcl_player.player_attached[name] = false
mcl_player.player_set_animation(player, "stand", 30)
print_action_stand(name)
else
player:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0})
player:set_physics_override(0, 0, 0)
playerphysics.add_physics_factor(player, "speed", "mcl_cozy:attached", 0)
playerphysics.add_physics_factor(player, "jump", "mcl_cozy:attached", 0)
mcl_player.player_attached[name] = true
mcl_player.player_set_animation(player, "sit", 30)
print_action_sit(name)
@ -84,13 +88,15 @@ minetest.register_chatcommand("lay", {
if minetest.get_node(vector.offset(player:get_pos(),0,-1,0)).name == "air" then return end
if mcl_player.player_attached[name] then
player:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
player:set_physics_override(1, 1, 1)
playerphysics.remove_physics_factor(player, "speed", "mcl_cozy:attached")
playerphysics.remove_physics_factor(player, "jump", "mcl_cozy:attached")
mcl_player.player_attached[name] = false
mcl_player.player_set_animation(player, "stand", 30)
print_action_stand(name)
else
player:set_eye_offset({x=0, y=-13, z=0}, {x=0, y=0, z=0})
player:set_physics_override(0, 0, 0)
playerphysics.add_physics_factor(player, "speed", "mcl_cozy:attached", 0)
playerphysics.add_physics_factor(player, "jump", "mcl_cozy:attached", 0)
mcl_player.player_attached[name] = true
mcl_player.player_set_animation(player, "lay", 0)
print_action_lay(name)