Readme fixes, renamed demo textures for conventions
parent
cadefd3fd5
commit
3691659267
294
README.md
294
README.md
|
@ -109,202 +109,118 @@ clouds_data = {
|
|||
The Skylayer mod designed to be configured by other mods. See demo.lua for examples and pre-builds commands for quick tests.
|
||||
Demo by default is disabled and can be enabled by uncommenting file include inside init.lua.
|
||||
|
||||
### Plain color without clouds
|
||||
```
|
||||
local sl = {}
|
||||
sl.name = "plain_without_clouds_sky"
|
||||
sl.sky_data = {
|
||||
base_color = { r = 0, g = 0, b = 0 },
|
||||
clouds = false
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
```
|
||||
|
||||
### Gradient plain color with clouds
|
||||
|
||||
```
|
||||
local sl = {}
|
||||
sl.name = "gradient_plain_with_clouds_sky"
|
||||
sl.sky_data = {
|
||||
gradient_colors = {
|
||||
{ r = 68, g = 34, b = 153 },
|
||||
{ r = 59, g = 12, b = 189 },
|
||||
{ r = 51, g = 17, b = 187 },
|
||||
{ r = 68, g = 68, b = 221 },
|
||||
{ r = 17, g = 170, b = 187 },
|
||||
{ r = 18, g = 189, b = 185 },
|
||||
{ r = 34, g = 204, b = 170 },
|
||||
{ r = 105, g = 208, b = 37 },
|
||||
{ r = 170, g = 204, b = 34 },
|
||||
{ r = 208, g = 195, b = 16 },
|
||||
{ r = 204, g = 187, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 255, g = 153, b = 51 },
|
||||
{ r = 255, g = 102, b = 68 },
|
||||
{ r = 255, g = 68, b = 34 },
|
||||
{ r = 255, g = 51, b = 17 },
|
||||
{ r = 248, g = 12, b = 18 },
|
||||
{ r = 255, g = 51, b = 17 },
|
||||
{ r = 255, g = 68, b = 34 },
|
||||
{ r = 255, g = 102, b = 68 },
|
||||
{ r = 255, g = 153, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 204, g = 187, b = 51 },
|
||||
{ r = 208, g = 195, b = 16 },
|
||||
{ r = 170, g = 204, b = 34 },
|
||||
{ r = 105, g = 208, b = 37 },
|
||||
{ r = 34, g = 204, b = 170 },
|
||||
{ r = 18, g = 189, b = 185 },
|
||||
{ r = 17, g = 170, b = 187 },
|
||||
{ r = 68, g = 68, b = 221 },
|
||||
{ r = 51, g = 17, b = 187 },
|
||||
{ r = 59, g = 12, b = 189 }
|
||||
}
|
||||
}
|
||||
sl.clouds_data = {
|
||||
gradient_colors = {
|
||||
{ r = 34, g = 204, b = 170 },
|
||||
{ r = 105, g = 208, b = 37 },
|
||||
{ r = 170, g = 204, b = 34 },
|
||||
{ r = 208, g = 195, b = 16 },
|
||||
{ r = 204, g = 187, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 255, g = 68, b = 34 },
|
||||
{ r = 255, g = 102, b = 68 },
|
||||
{ r = 255, g = 153, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 59, g = 12, b = 189 }
|
||||
},
|
||||
speed = { x = 110, z = -400 }
|
||||
}
|
||||
sl.sun_data = {
|
||||
visible = false
|
||||
}
|
||||
sl.moon_data = {
|
||||
visible = false
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
local sl = {}
|
||||
sl.name = "gradient_plain_with_clouds_sky"
|
||||
sl.sky_data = {
|
||||
gradient_colors = {
|
||||
{ r = 68, g = 34, b = 153 },
|
||||
{ r = 59, g = 12, b = 189 },
|
||||
{ r = 51, g = 17, b = 187 },
|
||||
{ r = 68, g = 68, b = 221 },
|
||||
{ r = 17, g = 170, b = 187 },
|
||||
{ r = 18, g = 189, b = 185 },
|
||||
{ r = 34, g = 204, b = 170 },
|
||||
{ r = 105, g = 208, b = 37 },
|
||||
{ r = 170, g = 204, b = 34 },
|
||||
{ r = 208, g = 195, b = 16 },
|
||||
{ r = 204, g = 187, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 255, g = 153, b = 51 },
|
||||
{ r = 255, g = 102, b = 68 },
|
||||
{ r = 255, g = 68, b = 34 },
|
||||
{ r = 255, g = 51, b = 17 },
|
||||
{ r = 248, g = 12, b = 18 },
|
||||
{ r = 255, g = 51, b = 17 },
|
||||
{ r = 255, g = 68, b = 34 },
|
||||
{ r = 255, g = 102, b = 68 },
|
||||
{ r = 255, g = 153, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 204, g = 187, b = 51 },
|
||||
{ r = 208, g = 195, b = 16 },
|
||||
{ r = 170, g = 204, b = 34 },
|
||||
{ r = 105, g = 208, b = 37 },
|
||||
{ r = 34, g = 204, b = 170 },
|
||||
{ r = 18, g = 189, b = 185 },
|
||||
{ r = 17, g = 170, b = 187 },
|
||||
{ r = 68, g = 68, b = 221 },
|
||||
{ r = 51, g = 17, b = 187 },
|
||||
{ r = 59, g = 12, b = 189 }
|
||||
}
|
||||
}
|
||||
sl.clouds_data = {
|
||||
gradient_colors = {
|
||||
{ r = 34, g = 204, b = 170 },
|
||||
{ r = 105, g = 208, b = 37 },
|
||||
{ r = 170, g = 204, b = 34 },
|
||||
{ r = 208, g = 195, b = 16 },
|
||||
{ r = 204, g = 187, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 255, g = 68, b = 34 },
|
||||
{ r = 255, g = 102, b = 68 },
|
||||
{ r = 255, g = 153, b = 51 },
|
||||
{ r = 254, g = 174, b = 45 },
|
||||
{ r = 59, g = 12, b = 189 }
|
||||
},
|
||||
speed = { x = 110, z = -400 }
|
||||
}
|
||||
sl.sun_data = {
|
||||
visible = false
|
||||
}
|
||||
sl.moon_data = {
|
||||
visible = false
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
### Gradient plain sky colors
|
||||
```
|
||||
-- Datatype:
|
||||
-- GradientSpec - a table in format {ColorSpec, ColorSpec}, (e.g. {{r=68, g=34, b=153}, {r=68, g=68, b=221}}) could be many gradient points.
|
||||
|
||||
|
||||
local sl = {}
|
||||
sl.name = "sample_sky_with_clouds"
|
||||
sl.sky_data = {
|
||||
-- These parameters used for minetest set_sky api,
|
||||
-- please refer MT lua_api docs for parameter details.
|
||||
bgcolor = {r=0, g=100, b=255}, -- table, color in RGB format, optional.
|
||||
type = "plain", -- string, available types: regular, skybox, plain.
|
||||
textures = nil, -- table, textures for skybox type.
|
||||
clouds = true, -- boolean, flag if clouds should appear in front of "skybox" or "plain" types.
|
||||
sky_color = nil, -- table, a location and envinronment focused sky colors.
|
||||
|
||||
-- These optional parameter are skylayer specific,
|
||||
-- if set they may override parameters above.
|
||||
gradient_colors = GradientSpec -- table, color points used to create gradient based on world time, if set bgcolor will be overrided by color generated from gradient
|
||||
gradient_sky = {
|
||||
day_sky = GradientSpec,
|
||||
day_horizon = GradientSpec,
|
||||
dawn_sky = GradientSpec,
|
||||
dawn_horizon = GradientSpec,
|
||||
night_sky = GradientSpec,
|
||||
night_horizon = GradientSpec,
|
||||
indoors = GradientSpec,
|
||||
fog_sun_tint = GradientSpec,
|
||||
fog_moon_tint = GradientSpec,
|
||||
} -- supports similar set of parameters as minetest api but in gradient type instead, in case some parameter is not set then default value will be used as documented for sky_colors.
|
||||
}
|
||||
|
||||
sl.sun_data = {
|
||||
-- These optional parameters used for minetest set_sun api,
|
||||
-- please refer MT lua_api docs for paramater details.
|
||||
visible: Boolean for whether the sun is visible. (default: true)
|
||||
texture: A regular texture for the sun. Setting to "" will re-enable the mesh sun. (default: "sun.png")
|
||||
tonemap: A 512x1 texture containing the tonemap for the sun (default: "sun_tonemap.png")
|
||||
sunrise: A regular texture for the sunrise texture. (default: "sunrisebg.png")
|
||||
sunrise_visible: Boolean for whether the sunrise texture is visible. (default: true)
|
||||
scale: Float controlling the overall size of the sun. (default: 1)
|
||||
}
|
||||
|
||||
sl.moon_data = {
|
||||
-- These optional parameters used for minetest set_moon api,
|
||||
-- please refer MT lua_api docs for paramater details.
|
||||
parameters is a table with the following optional fields:
|
||||
visible: Boolean for whether the moon is visible. (default: true)
|
||||
texture: A regular texture for the moon. Setting to "" will re-enable the mesh moon. (default: "moon.png")
|
||||
tonemap: A 512x1 texture containing the tonemap for the moon (default: "moon_tonemap.png")
|
||||
scale: Float controlling the overall size of the moon (default: 1)
|
||||
}
|
||||
|
||||
sl.stars_data = {
|
||||
-- These optional parameters used for minetest set_moon api,
|
||||
-- please refer MT lua_api docs for paramater details.
|
||||
visible: Boolean for whether the stars are visible. (default: true)
|
||||
count: Integer number to set the number of stars in the skybox. Only applies to "skybox" and "regular" skyboxes. (default: 1000)
|
||||
star_color: ColorSpec, sets the colors of the stars, alpha channel is used to set overall star brightness. (default: #ebebff69)
|
||||
scale: Float controlling the overall size of the stars (default: 1)
|
||||
|
||||
-- These optional parameter are skylayer specific,
|
||||
-- if set they may override parameters above.
|
||||
gradient_colors = GradientSpec -- table, same as sky gradient color, if set star_color will be overrided by color generated from gradient
|
||||
}
|
||||
|
||||
sl.clouds_data = {
|
||||
-- These optional parameters used for minetest set_clouds api,
|
||||
-- please refer MT lua_api docs for paramater details.
|
||||
density = 0.4, -- number, clouds density from 0 (no clouds) to 1 (full clouds).
|
||||
color = "#fff0f0e5", -- string, basic cloud color with alpha channel.
|
||||
ambient = "#000000", -- string, cloud color lower bound.
|
||||
height = 120, -- number, cloud height
|
||||
thickness = 16, -- number, cloud thickness in nodes.
|
||||
speed = {x=5, z=-40}, -- table, speed + direction in nodes per second.
|
||||
|
||||
-- These optional parameter are skylayer specific,
|
||||
-- if set they may override parameters above.
|
||||
gradient_colors = GradientSpec -- table, same as sky gradient color, if set color will be overrided by color generated from gradient
|
||||
}
|
||||
|
||||
skylayer.add_layer(player_name, sl)
|
||||
local sl = {}
|
||||
sl.name = "gradient_plain_sky_colors_with_defaults_sky"
|
||||
sl.sky_data = {
|
||||
gradient_sky = {
|
||||
day_sky = {
|
||||
{ r = 100, g = 0, b = 6},
|
||||
{ r = 6, g = 100, b = 0},
|
||||
{ r = 0, g = 6, b = 100}
|
||||
},
|
||||
day_horizon = {
|
||||
{ r = 100, g = 56, b = 0},
|
||||
{ r = 42, g = 100, b = 0},
|
||||
{ r = 92, g = 100, b = 0}
|
||||
},
|
||||
night_sky = {
|
||||
{ r = 0, g = 255, b = 87},
|
||||
{ r = 250, g = 187, b = 100},
|
||||
{ r = 255, g = 82, b = 0}
|
||||
},
|
||||
night_horizon = {
|
||||
{ r = 87, g = 100, b = 0},
|
||||
{ r = 0, g = 87, b = 100},
|
||||
{ r = 100, g = 0, b = 87}
|
||||
},
|
||||
}
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Gradient supported sky definition sample
|
||||
```
|
||||
local sl = {}
|
||||
sl.name = "plain_sample_sky"
|
||||
sl.sky_data = {
|
||||
gradient_colors = {
|
||||
{r=68, g=34, b=153},
|
||||
{r=254, g=174, b=45},
|
||||
{r=59, g=12, b=189}
|
||||
}
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
```
|
||||
|
||||
|
||||
### Single solid color sky (no smooth transition)
|
||||
```
|
||||
local sl = {}
|
||||
sl.name = "solid_black"
|
||||
sl.sky_data = {
|
||||
bgcolor = {r=0, g=0, b=0}
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
```
|
||||
|
||||
### Skybox image based sky
|
||||
```
|
||||
local sl = {}
|
||||
sl.name = "stars_sky"
|
||||
sl.sky_data = {
|
||||
bgcolor = {r=0, g=0, b=0},
|
||||
type = "skybox",
|
||||
textures = {
|
||||
"skylayer_demo_stars_sky.png",
|
||||
"skylayer_demo_stars_sky.png",
|
||||
"skylayer_demo_stars_sky.png",
|
||||
"skylayer_demo_stars_sky.png",
|
||||
"skylayer_demo_stars_sky.png",
|
||||
"skylayer_demo_stars_sky.png"
|
||||
}
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
```
|
||||
## Media
|
||||
Textures used for demo is all created by me with public domain (CC0):
|
||||
- skylayer_demo_cold_moon.png
|
||||
- skylayer_demo_hot_sun.png
|
||||
- skylayer_demo_stars_sky.png
|
6
core.lua
6
core.lua
|
@ -278,19 +278,21 @@ core.update_sky_details = function(player, sky_layer)
|
|||
sky_type = "regular"
|
||||
end
|
||||
|
||||
local visibleClouds = sky_layer.clouds_data or sky_data.clouds == true
|
||||
|
||||
if core.legacy then
|
||||
player:set_sky(
|
||||
bg_color,
|
||||
sky_type,
|
||||
sky_data.textures,
|
||||
core.ternary(sky_layer.clouds_data or sky_data.clouds ~= nil, sky_data.clouds == true, true)
|
||||
visibleClouds
|
||||
)
|
||||
else
|
||||
player:set_sky({
|
||||
base_color = bg_color,
|
||||
type = sky_type,
|
||||
textures = sky_data.textures,
|
||||
clouds = core.ternary(sky_layer.clouds_data or sky_data.clouds ~= nil, sky_data.clouds == true, true),
|
||||
clouds = visibleClouds,
|
||||
sky_color = core.resolve_sky_color(sky_data)
|
||||
})
|
||||
end
|
||||
|
|
4
demo.lua
4
demo.lua
|
@ -108,7 +108,7 @@ local custom_moon_with_gradient_stars_sky = function(player_name)
|
|||
local sl = {}
|
||||
sl.name = "custom_moon_with_gradient_stars_sky"
|
||||
sl.moon_data = {
|
||||
texture = "cold_moon.png",
|
||||
texture = "skylayer_demo_cold_moon.png",
|
||||
}
|
||||
sl.stars_data = {
|
||||
scale = 2,
|
||||
|
@ -125,7 +125,7 @@ local custom_sun_with_default_sky = function(player_name)
|
|||
local sl = {}
|
||||
sl.name = "custom_sun_with_default_sky"
|
||||
sl.sun_data = {
|
||||
texture = "hot_sun.png",
|
||||
texture = "skylayer_demo_hot_sun.png",
|
||||
scale = 3
|
||||
}
|
||||
skylayer.add_layer(player_name, sl)
|
||||
|
|
2
init.lua
2
init.lua
|
@ -10,4 +10,4 @@ local modpath = minetest.get_modpath("skylayer");
|
|||
dofile(modpath.."/api.lua")
|
||||
|
||||
-- uncomment to enable demo
|
||||
--dofile(modpath.."/demo.lua")
|
||||
dofile(modpath.."/demo.lua")
|
||||
|
|
Before Width: | Height: | Size: 912 B After Width: | Height: | Size: 912 B |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Loading…
Reference in New Issue