mirror of
https://git.minetest.land/Mineclonia/Mineclonia.git
synced 2024-11-24 13:05:12 +00:00
Merge bzoss_player feature branch
This commit is contained in:
parent
446b0e6602
commit
4eb42c3a9a
1 changed files with 18 additions and 6 deletions
|
@ -6,6 +6,13 @@ local mcl_playerplus_internal = {}
|
||||||
local def = {}
|
local def = {}
|
||||||
local time = 0
|
local time = 0
|
||||||
|
|
||||||
|
-- converts yaw to degrees
|
||||||
|
local function degrees(rad)
|
||||||
|
return rad * 180.0 / math.pi
|
||||||
|
end
|
||||||
|
|
||||||
|
local pitch, name, node_stand, node_stand_below, node_head, node_feet, pos
|
||||||
|
|
||||||
minetest.register_globalstep(function(dtime)
|
minetest.register_globalstep(function(dtime)
|
||||||
|
|
||||||
time = time + dtime
|
time = time + dtime
|
||||||
|
@ -13,18 +20,23 @@ minetest.register_globalstep(function(dtime)
|
||||||
-- Update jump status immediately since we need this info in real time.
|
-- Update jump status immediately since we need this info in real time.
|
||||||
-- WARNING: This section is HACKY as hell since it is all just based on heuristics.
|
-- WARNING: This section is HACKY as hell since it is all just based on heuristics.
|
||||||
for _,player in pairs(minetest.get_connected_players()) do
|
for _,player in pairs(minetest.get_connected_players()) do
|
||||||
local name = player:get_player_name()
|
name = player:get_player_name()
|
||||||
|
|
||||||
|
-- controls head bone
|
||||||
|
pitch = degrees(player:get_look_vertical()) * -1
|
||||||
|
player:set_bone_position("Head", vector.new(0,6.3,0), vector.new(pitch,0,0))
|
||||||
|
|
||||||
if mcl_playerplus_internal[name].jump_cooldown > 0 then
|
if mcl_playerplus_internal[name].jump_cooldown > 0 then
|
||||||
mcl_playerplus_internal[name].jump_cooldown = mcl_playerplus_internal[name].jump_cooldown - dtime
|
mcl_playerplus_internal[name].jump_cooldown = mcl_playerplus_internal[name].jump_cooldown - dtime
|
||||||
end
|
end
|
||||||
if player:get_player_control().jump and mcl_playerplus_internal[name].jump_cooldown <= 0 then
|
if player:get_player_control().jump and mcl_playerplus_internal[name].jump_cooldown <= 0 then
|
||||||
|
|
||||||
local pos = player:get_pos()
|
pos = player:get_pos()
|
||||||
|
|
||||||
local node_stand = mcl_playerinfo[name].node_stand
|
node_stand = mcl_playerinfo[name].node_stand
|
||||||
local node_stand_below = mcl_playerinfo[name].node_stand_below
|
node_stand_below = mcl_playerinfo[name].node_stand_below
|
||||||
local node_head = mcl_playerinfo[name].node_head
|
node_head = mcl_playerinfo[name].node_head
|
||||||
local node_feet = mcl_playerinfo[name].node_feet
|
node_feet = mcl_playerinfo[name].node_feet
|
||||||
if not node_stand or not node_stand_below or not node_head or not node_feet then
|
if not node_stand or not node_stand_below or not node_head or not node_feet then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue