forked from VoxeLibre/VoxeLibre
Correct conditions for water-air transition forced skycolor update
This commit is contained in:
parent
cb097d9bcd
commit
0e1a2cbc1e
|
@ -407,13 +407,30 @@ minetest.register_globalstep(function(dtime)
|
||||||
set_bone_pos(player,"Body_Control", nil, vector.new(0, -player_vel_yaw + yaw, 0))
|
set_bone_pos(player,"Body_Control", nil, vector.new(0, -player_vel_yaw + yaw, 0))
|
||||||
end
|
end
|
||||||
|
|
||||||
local underwater
|
local playerinfo = mcl_playerinfo[name] or {}
|
||||||
if get_item_group(mcl_playerinfo[name].node_head, "water") ~= 0 and underwater ~= true then
|
local plusinfo = playerinfo.mcl_playerplus
|
||||||
|
if not plusinfo then
|
||||||
|
plusinfo = {}
|
||||||
|
playerinfo.mcl_playerplus = plusinfo
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Only process if node_head changed
|
||||||
|
if plusinfo.old_node_head ~= playerinfo.node_head then
|
||||||
|
local node_head = playerinfo.node_head or ""
|
||||||
|
local old_node_head = plusinfo.old_node_head or ""
|
||||||
|
plusinfo.old_node_head = playerinfo.node_head
|
||||||
|
|
||||||
|
minetest.log(dump({
|
||||||
|
node_head = node_head,
|
||||||
|
old_node_head = old_node_head,
|
||||||
|
new_group = get_item_group(node_head, "water"),
|
||||||
|
old_group = get_item_group(old_node_head, "water"),
|
||||||
|
}))
|
||||||
|
|
||||||
|
-- Update skycolor if moving in or out of water
|
||||||
|
if (get_item_group(node_head, "water") == 0) ~= (get_item_group(old_node_head, "water") == 0) then
|
||||||
mcl_weather.skycolor.update_sky_color()
|
mcl_weather.skycolor.update_sky_color()
|
||||||
local underwater = true
|
end
|
||||||
elseif get_item_group(mcl_playerinfo[name].node_head, "water") == 0 and underwater == true then
|
|
||||||
mcl_weather.skycolor.update_sky_color()
|
|
||||||
local underwater = false
|
|
||||||
end
|
end
|
||||||
|
|
||||||
elytra.last_yaw = player:get_look_horizontal()
|
elytra.last_yaw = player:get_look_horizontal()
|
||||||
|
|
Loading…
Reference in New Issue