summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorheav-4 <heavpoot@gmail.com>2022-02-13 03:54:59 +0000
committerheav-4 <heavpoot@gmail.com>2022-02-13 03:54:59 +0000
commit4d9bbf9eb1caa16ba67fa843a1f6242d0fad6922 (patch)
tree337c0f7d226fef28b953c4266ddd7f1d42d934b3
parent0448b0ad249f21a0eab80765e469411512dc0b31 (diff)
Sky colours
-rw-r--r--mods/vzxv_gravity/init.lua38
1 files changed, 37 insertions, 1 deletions
diff --git a/mods/vzxv_gravity/init.lua b/mods/vzxv_gravity/init.lua
index 581a677..62b73a7 100644
--- a/mods/vzxv_gravity/init.lua
+++ b/mods/vzxv_gravity/init.lua
@@ -23,11 +23,47 @@ function vzxv.register_gravity(entity)
end
end
+local function color(r,g,b)
+ return ("#%02X%02X%02X"):format(r,g,b)
+end
+
minetest.register_globalstep(function()
local players = minetest.get_connected_players()
+ local brightness = math.max(0,math.min(1,3-((math.abs(-12000+minetest:get_timeofday()*24000))/3000)))
for _,player in ipairs(players) do
+ local pos = player:get_pos()
player:set_physics_override({
- gravity = gravity(player:get_pos().y)
+ gravity = gravity(pos.y)
})
+ local skycol = {0x40,0x80,0xFF}
+
+ skycol[1] = skycol[1] * brightness
+ skycol[2] = skycol[2] * brightness
+ skycol[3] = skycol[3] * brightness
+
+ local heightfac = math.max(1-(math.max(pos.y,0)/10000),0)
+
+ skycol[1] = skycol[1] * heightfac
+ skycol[2] = skycol[2] * heightfac
+ skycol[3] = skycol[3] * heightfac
+
+ local sky = color(skycol[1],skycol[2],skycol[3])
+
+ local skyparams = {
+ type="plain",
+ base_color=sky,
+ }
+ if pos.y>=3000 then
+ player:set_sun({
+ sunrise_visible = false
+ })
+ player:set_stars({
+ stars_visible = true
+ })
+ else
+ player:set_sun() -- default value?
+ player:set_stars()
+ end
+ player:set_sky(skyparams)
end
end) \ No newline at end of file