diff options
author | heav-4 <heavpoot@gmail.com> | 2022-02-13 03:54:59 +0000 |
---|---|---|
committer | heav-4 <heavpoot@gmail.com> | 2022-02-13 03:54:59 +0000 |
commit | 4d9bbf9eb1caa16ba67fa843a1f6242d0fad6922 (patch) | |
tree | 337c0f7d226fef28b953c4266ddd7f1d42d934b3 | |
parent | 0448b0ad249f21a0eab80765e469411512dc0b31 (diff) |
Sky colours
-rw-r--r-- | mods/vzxv_gravity/init.lua | 38 |
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 |