mirror of
https://github.com/t-affeldt/climate_api.git
synced 2024-12-22 08:50:37 +01:00
Enable shadow registration, improve indoor check
This commit is contained in:
parent
59bf43aa28
commit
710a1d717b
@ -55,13 +55,15 @@ end)
|
||||
|
||||
climate_api.register_influence("daylight", function(pos)
|
||||
pos = vector.add(pos, {x = 0, y = 1, z = 0})
|
||||
return minetest.get_node_light(pos, 0.5) or 0
|
||||
return minetest.get_natural_light(pos, 0.5) or 0
|
||||
end)
|
||||
|
||||
climate_api.register_influence("indoors", function(pos)
|
||||
pos = vector.add(pos, {x = 0, y = 1, z = 0})
|
||||
local daylight = minetest.get_node_light(pos, 0.5) or 0
|
||||
if daylight < 15 then return true end
|
||||
local daylight = minetest.get_natural_light(pos, 0.5) or 0
|
||||
-- max light is 15 but allow adjacent nodes to still be outdoors
|
||||
-- to reduce effect switching on and off when walking underneath single nodes
|
||||
if daylight < 14 then return true end
|
||||
|
||||
for i = 1, climate_mod.settings.ceiling_checks do
|
||||
local lpos = vector.add(pos, {x = 0, y = i, z = 0})
|
||||
|
@ -42,6 +42,10 @@ local default_sky = {
|
||||
count = 1000,
|
||||
star_color = "#ebebff69",
|
||||
scale = 1
|
||||
},
|
||||
light_data = {
|
||||
shadow_intensity = 0.33,
|
||||
saturation = 1
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,6 +74,12 @@ local function set_skybox(playername, sky)
|
||||
player:set_moon(sky.moon_data)
|
||||
player:set_sun(sky.sun_data)
|
||||
player:set_stars(sky.star_data)
|
||||
if player.set_lighting then
|
||||
player:set_lighting({
|
||||
shadows = { intensity = sky.light_data.shadow_intensity },
|
||||
saturation = sky.light_data.saturation
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function skybox.update(playername)
|
||||
|
Loading…
Reference in New Issue
Block a user