forked from VoxeLibre/VoxeLibre
Fix skybox in non-weather areas
This commit is contained in:
parent
4a6f98636d
commit
ee3b98c809
|
@ -177,13 +177,17 @@ function mcl_weather.rain.make_weather()
|
||||||
if mcl_weather.is_underwater(player) or not mcl_weather.has_rain(pos) then
|
if mcl_weather.is_underwater(player) or not mcl_weather.has_rain(pos) then
|
||||||
mcl_weather.rain.remove_sound(player)
|
mcl_weather.rain.remove_sound(player)
|
||||||
mcl_weather.remove_spawners_player(player)
|
mcl_weather.remove_spawners_player(player)
|
||||||
|
mcl_weather.set_sky_box_clear(player)
|
||||||
else
|
else
|
||||||
if mcl_weather.has_snow(pos) then
|
if mcl_weather.has_snow(pos) then
|
||||||
|
mcl_weather.rain.remove_sound(player)
|
||||||
mcl_weather.snow.add_player(player)
|
mcl_weather.snow.add_player(player)
|
||||||
|
mcl_weather.snow.set_sky_box()
|
||||||
else
|
else
|
||||||
mcl_weather.rain.add_player(player)
|
mcl_weather.rain.add_player(player)
|
||||||
mcl_weather.rain.add_rain_particles(player)
|
mcl_weather.rain.add_rain_particles(player)
|
||||||
mcl_weather.rain.update_sound(player)
|
mcl_weather.rain.update_sound(player)
|
||||||
|
mcl_weather.rain.set_sky_box()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,21 @@
|
||||||
local mods_loaded = false
|
local mods_loaded = false
|
||||||
local NIGHT_VISION_RATIO = 0.45
|
local NIGHT_VISION_RATIO = 0.45
|
||||||
|
|
||||||
|
function mcl_weather.set_sky_box_clear(player)
|
||||||
|
player:set_sky({
|
||||||
|
type = "regular",
|
||||||
|
sky_color = {
|
||||||
|
day_sky = "#92B9FF",
|
||||||
|
day_horizon = "#B4D0FF",
|
||||||
|
dawn_sky = "#B4BAFA",
|
||||||
|
dawn_horizon = "#BAC1F0",
|
||||||
|
night_sky = "#006AFF",
|
||||||
|
night_horizon = "#4090FF",
|
||||||
|
},
|
||||||
|
clouds = true,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
mcl_weather.skycolor = {
|
mcl_weather.skycolor = {
|
||||||
-- Should be activated before do any effect.
|
-- Should be activated before do any effect.
|
||||||
active = true,
|
active = true,
|
||||||
|
@ -9,7 +24,7 @@ mcl_weather.skycolor = {
|
||||||
force_update = true,
|
force_update = true,
|
||||||
|
|
||||||
-- Update interval.
|
-- Update interval.
|
||||||
update_interval = 15,
|
update_interval = 3,
|
||||||
|
|
||||||
-- Main sky colors: starts from midnight to midnight.
|
-- Main sky colors: starts from midnight to midnight.
|
||||||
-- Please do not set directly. Use add_layer instead.
|
-- Please do not set directly. Use add_layer instead.
|
||||||
|
@ -80,26 +95,16 @@ mcl_weather.skycolor = {
|
||||||
for _, player in ipairs(players) do
|
for _, player in ipairs(players) do
|
||||||
local pos = player:get_pos()
|
local pos = player:get_pos()
|
||||||
local dim = mcl_worlds.pos_to_dimension(pos)
|
local dim = mcl_worlds.pos_to_dimension(pos)
|
||||||
|
local has_weather = ((mcl_weather.state == "snow" or mcl_weather.state =="rain" or mcl_weather.state == "thunder") and mcl_weather.has_snow(pos)) or ((mcl_weather.state =="rain" or mcl_weather.state == "thunder") and mcl_weather.has_rain(pos))
|
||||||
if dim == "overworld" then
|
if dim == "overworld" then
|
||||||
if (mcl_weather.state == "none") then
|
if (mcl_weather.state == "none") or not has_weather then
|
||||||
-- Clear weather
|
-- Clear weather
|
||||||
player:set_sky({
|
mcl_weather.set_sky_box_clear(player)
|
||||||
type = "regular",
|
|
||||||
sky_color = {
|
|
||||||
day_sky = "#92B9FF",
|
|
||||||
day_horizon = "#B4D0FF",
|
|
||||||
dawn_sky = "#B4BAFA",
|
|
||||||
dawn_horizon = "#BAC1F0",
|
|
||||||
night_sky = "#006AFF",
|
|
||||||
night_horizon = "#4090FF",
|
|
||||||
},
|
|
||||||
clouds = true,
|
|
||||||
})
|
|
||||||
player:set_sun({visible = true, sunrise_visible = true})
|
player:set_sun({visible = true, sunrise_visible = true})
|
||||||
player:set_moon({visible = true})
|
player:set_moon({visible = true})
|
||||||
player:set_stars({visible = true})
|
player:set_stars({visible = true})
|
||||||
mcl_weather.skycolor.override_day_night_ratio(player, nil)
|
mcl_weather.skycolor.override_day_night_ratio(player, nil)
|
||||||
else
|
elseif has_weather then
|
||||||
-- Weather skies
|
-- Weather skies
|
||||||
local day_color = mcl_weather.skycolor.get_sky_layer_color(0.5)
|
local day_color = mcl_weather.skycolor.get_sky_layer_color(0.5)
|
||||||
local dawn_color = mcl_weather.skycolor.get_sky_layer_color(0.75)
|
local dawn_color = mcl_weather.skycolor.get_sky_layer_color(0.75)
|
||||||
|
|
|
@ -123,8 +123,10 @@ minetest.register_globalstep(function(dtime)
|
||||||
for _, player in pairs(get_connected_players()) do
|
for _, player in pairs(get_connected_players()) do
|
||||||
if mcl_weather.is_underwater(player) or not mcl_weather.has_snow(player:get_pos()) then
|
if mcl_weather.is_underwater(player) or not mcl_weather.has_snow(player:get_pos()) then
|
||||||
mcl_weather.remove_spawners_player(player)
|
mcl_weather.remove_spawners_player(player)
|
||||||
|
mcl_weather.set_sky_box_clear(player)
|
||||||
else
|
else
|
||||||
mcl_weather.snow.add_player(player)
|
mcl_weather.snow.add_player(player)
|
||||||
|
mcl_weather.snow.set_sky_box()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
Loading…
Reference in New Issue