mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-17 00:21:07 +01:00
Add support for biome specific sky- and fogcolor
_mcl_skycolor and _mcl_fogcolor in biomedef
This commit is contained in:
parent
d4b1e30b61
commit
6c127eb170
1 changed files with 28 additions and 7 deletions
|
@ -1,17 +1,30 @@
|
||||||
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)
|
local mg_name = minetest.get_mapgen_setting("mg_name")
|
||||||
player:set_sky({
|
|
||||||
type = "regular",
|
function mcl_weather.set_sky_box_clear(player,sky,fog)
|
||||||
sky_color = {
|
local sc = {
|
||||||
day_sky = "#92B9FF",
|
day_sky = "#92B9FF",
|
||||||
day_horizon = "#B4D0FF",
|
day_horizon = "#C0D8FF",
|
||||||
dawn_sky = "#B4BAFA",
|
dawn_sky = "#B4BAFA",
|
||||||
dawn_horizon = "#BAC1F0",
|
dawn_horizon = "#BAC1F0",
|
||||||
night_sky = "#006AFF",
|
night_sky = "#006AFF",
|
||||||
night_horizon = "#4090FF",
|
night_horizon = "#4090FF",
|
||||||
},
|
}
|
||||||
|
if sky then
|
||||||
|
sc.day_sky = sky
|
||||||
|
sc.dawn_sky = sky
|
||||||
|
sc.night_sky = sky
|
||||||
|
end
|
||||||
|
if fog then
|
||||||
|
sc.day_horizon = fog
|
||||||
|
sc.dawn_horizon = fog
|
||||||
|
sc.night_horizon = fog
|
||||||
|
end
|
||||||
|
player:set_sky({
|
||||||
|
type = "regular",
|
||||||
|
sky_color = sc,
|
||||||
clouds = true,
|
clouds = true,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
@ -97,9 +110,17 @@ mcl_weather.skycolor = {
|
||||||
local dim = mcl_worlds.pos_to_dimension(pos)
|
local dim = mcl_worlds.pos_to_dimension(pos)
|
||||||
local has_weather = (mcl_worlds.has_weather(pos) and (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))
|
local has_weather = (mcl_worlds.has_weather(pos) and (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
|
||||||
|
local biomesky
|
||||||
|
local biomefog
|
||||||
|
if mg_name ~= "v6" and mg_name ~= "singlenode" then
|
||||||
|
local biome = minetest.get_biome_name(minetest.get_biome_data(player:get_pos()).biome)
|
||||||
|
biomesky = minetest.registered_biomes[biome]._mcl_skycolor
|
||||||
|
biomefog = minetest.registered_biomes[biome]._mcl_fogcolor
|
||||||
|
end
|
||||||
|
|
||||||
if (mcl_weather.state == "none") then
|
if (mcl_weather.state == "none") then
|
||||||
-- Clear weather
|
-- Clear weather
|
||||||
mcl_weather.set_sky_box_clear(player)
|
mcl_weather.set_sky_box_clear(player,biomesky,biomefog)
|
||||||
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})
|
||||||
|
|
Loading…
Reference in a new issue