forked from MineClone5/MineClone5
Separate old and new sky apis
This commit is contained in:
parent
8079d3bc9d
commit
da9fa916e8
|
@ -5,3 +5,12 @@ end
|
|||
function vector.offset(v,x,y,z)
|
||||
return vector.add(v,{x=x,y=y,z=z})
|
||||
end
|
||||
|
||||
--[[
|
||||
minetest.register_on_joinplayer(function(ObjectRef, last_login)
|
||||
if not ObjectRef.set_moon then
|
||||
function ObjectRef.set_moon()
|
||||
end
|
||||
end
|
||||
end)
|
||||
]]
|
||||
|
|
|
@ -1,6 +1,46 @@
|
|||
local mods_loaded = false
|
||||
local NIGHT_VISION_RATIO = 0.45
|
||||
|
||||
local function set_sky(player, def)
|
||||
if player.set_sun then
|
||||
-- new api
|
||||
player:set_sky(def)
|
||||
else
|
||||
-- TODO
|
||||
-- old api
|
||||
end
|
||||
end
|
||||
|
||||
local function set_sun(player, def)
|
||||
if player.set_sun then
|
||||
-- new api
|
||||
player:set_sun(def)
|
||||
else
|
||||
-- TODO
|
||||
-- old api
|
||||
end
|
||||
end
|
||||
|
||||
local function set_moon(player, def)
|
||||
if player.set_sun then
|
||||
-- new api
|
||||
player:set_moon(def)
|
||||
else
|
||||
-- TODO
|
||||
-- old api
|
||||
end
|
||||
end
|
||||
|
||||
local function set_stars(player, def)
|
||||
if player.set_sun then
|
||||
-- new api
|
||||
player:set_stars(def)
|
||||
else
|
||||
-- TODO
|
||||
-- old api
|
||||
end
|
||||
end
|
||||
|
||||
mcl_weather.skycolor = {
|
||||
-- Should be activated before do any effect.
|
||||
active = true,
|
||||
|
@ -83,7 +123,7 @@ mcl_weather.skycolor = {
|
|||
if dim == "overworld" then
|
||||
if (mcl_weather.state == "none") then
|
||||
-- Clear weather
|
||||
player:set_sky({
|
||||
set_sky(player, {
|
||||
type = "regular",
|
||||
sky_color = {
|
||||
day_sky = "#92B9FF",
|
||||
|
@ -95,16 +135,17 @@ mcl_weather.skycolor = {
|
|||
},
|
||||
clouds = true,
|
||||
})
|
||||
player:set_sun({visible = true, sunrise_visible = true})
|
||||
player:set_moon({visible = true})
|
||||
player:set_stars({visible = true})
|
||||
set_sun(player, {visible = true, sunrise_visible = true})
|
||||
set_moon(player, {visible = true})
|
||||
set_stars(player, {visible = true})
|
||||
mcl_weather.skycolor.override_day_night_ratio(player, nil)
|
||||
else
|
||||
-- Weather skies
|
||||
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 night_color = mcl_weather.skycolor.get_sky_layer_color(0)
|
||||
player:set_sky({ type = "regular",
|
||||
set_sky(player, {
|
||||
type = "regular",
|
||||
sky_color = {
|
||||
day_sky = day_color,
|
||||
day_horizon = day_color,
|
||||
|
@ -115,9 +156,9 @@ mcl_weather.skycolor = {
|
|||
},
|
||||
clouds = true,
|
||||
})
|
||||
player:set_sun({visible = false, sunrise_visible = false})
|
||||
player:set_moon({visible = false})
|
||||
player:set_stars({visible = false})
|
||||
set_sun(player, {visible = false, sunrise_visible = false})
|
||||
set_moon(player, {visible = false})
|
||||
set_stars(player, {visible = false})
|
||||
|
||||
local lf = mcl_weather.get_current_light_factor()
|
||||
if mcl_weather.skycolor.current_layer_name() == "lightning" then
|
||||
|
@ -136,32 +177,35 @@ mcl_weather.skycolor = {
|
|||
end
|
||||
elseif dim == "end" then
|
||||
local t = "mcl_playerplus_end_sky.png"
|
||||
player:set_sky({ type = "skybox",
|
||||
set_sky(player, {
|
||||
type = "skybox",
|
||||
base_color = "#000000",
|
||||
textures = {t,t,t,t,t,t},
|
||||
clouds = false,
|
||||
})
|
||||
player:set_sun({visible = false , sunrise_visible = false})
|
||||
player:set_moon({visible = false})
|
||||
player:set_stars({visible = false})
|
||||
set_sun(player, {visible = false , sunrise_visible = false})
|
||||
set_moon(player, {visible = false})
|
||||
set_stars(player, {visible = false})
|
||||
mcl_weather.skycolor.override_day_night_ratio(player, 0.5)
|
||||
elseif dim == "nether" then
|
||||
player:set_sky({ type = "plain",
|
||||
set_sky(player, {
|
||||
type = "plain",
|
||||
base_color = "#300808",
|
||||
clouds = false,
|
||||
})
|
||||
player:set_sun({visible = false , sunrise_visible = false})
|
||||
player:set_moon({visible = false})
|
||||
player:set_stars({visible = false})
|
||||
set_sun(player, {visible = false , sunrise_visible = false})
|
||||
set_moon(player, {visible = false})
|
||||
set_stars(player, {visible = false})
|
||||
mcl_weather.skycolor.override_day_night_ratio(player, nil)
|
||||
elseif dim == "void" then
|
||||
player:set_sky({ type = "plain",
|
||||
set_sky(player, {
|
||||
type = "plain",
|
||||
base_color = "#000000",
|
||||
clouds = false,
|
||||
})
|
||||
player:set_sun({visible = false, sunrise_visible = false})
|
||||
player:set_moon({visible = false})
|
||||
player:set_stars({visible = false})
|
||||
set_sun(player, {visible = false, sunrise_visible = false})
|
||||
set_moon(player, {visible = false})
|
||||
set_stars(player, {visible = false})
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
|
Loading…
Reference in New Issue