光照文件用于设置活力视效中太阳、月亮以及柔和的环境光有多亮、是什么颜色。它还控制发光方块的外观以及阴影有多暗。
和大气效果一样,它只在开启活力视效时才会显示。
文件结构
资源包
RP/
lighting/
ruby_lighting.json
biomes/
ruby_grove.client_biome.json光照文件
下面的设置会带来温暖、偏红的太阳和柔和的粉色月亮:
RP/lighting/ruby_lighting.json
{
"format_version": "1.21.80",
"minecraft:lighting_settings": {
"description": {
"identifier": "wiki:ruby_lighting"
},
"directional_lights": {
"orbital": {
"sun": {
"illuminance": {
"0.0": 100.0,
"0.27": 1.0,
"0.3": 0.0,
"0.7": 0.0,
"0.73": 1.0,
"1.0": 100.0
},
"color": {
"0.0": "#ffe0d0",
"0.25": "#ff6a40",
"0.75": "#ff8a60",
"1.0": "#ffe0d0"
}
},
"moon": {
"illuminance": {
"0.0": 0.0,
"0.22": 0.0,
"0.25": 0.4,
"0.75": 0.4,
"0.78": 0.0,
"1.0": 0.0
},
"color": "#ffb0c8"
},
"orbital_offset_degrees": 0.0
}
},
"ambient": {
"color": "#ffd8d8",
"illuminance": 0.03
},
"emissive": {
"desaturation": 0.1
},
"sky": {
"intensity": 0.8
}
}
}identifier 需要带命名空间。每个文件只能有一个光照设置块。
数值可以是关键帧:一个对象,其中每个键是从 0.0 到 1.0 的一天中的时间。0.0 是正午,0.25 是日落,0.5 是午夜,0.75 是日出。游戏会在它们之间平滑过渡。
字段
directional_lights
| 字段 | 作用 |
|---|---|
orbital.sun.illuminance | 阳光的亮度,单位为勒克斯。原版在正午最高约为 100,夜晚降到 0。可以是关键帧或单个数字。 |
orbital.sun.color | 阳光的颜色。十六进制字符串或 0 到 255 的 [r, g, b]。可以是关键帧或单个值。 |
orbital.moon.illuminance | 月光的亮度。原版夜晚使用 0.4。 |
orbital.moon.color | 月光的颜色。 |
orbital.orbital_offset_degrees | 让太阳和月亮划过天空的轨迹倾斜,单位为度。 |
flash.illuminance、flash.color | 一种不随一天中的时间移动的光。原版在末地使用了一道紫色的光。 |
ambient
| 字段 | 作用 |
|---|---|
color | 柔和光线的颜色,这种光能照到任何地方,阴影里也不例外。 |
illuminance | 它的强度,从 0 到 5。请保持较低:原版使用 0.02。 |
emissive
| 字段 | 作用 |
|---|---|
desaturation | 0 到 1。数值越高,发光方块发出的光就越灰,受方块自身颜色的染色越少。 |
sky
| 字段 | 作用 |
|---|---|
intensity | 0.1 到 1。天空对阴影区域的照亮程度。数值越低,阴影越暗、越有氛围。 |
一小步一小步来
光照数值非常敏感。每次只改一个字段,并在游戏里观察同一个位置。太阳 100、环境光 0.02 是原版的平衡点。
使用方法
在生物群系中
在客户端生物群系中使用 minecraft:lighting_identifier:
RP/biomes/ruby_grove.client_biome.json (inside components)
"minecraft:lighting_identifier": {
"lighting_identifier": "wiki:ruby_lighting"
}应用到所有地方
大多数原版生物群系都指向 minecraft:default_lighting。制作一个使用相同标识符的光照文件,你的包里的版本就会在所有这些生物群系中替换它。如果两个包使用了相同的标识符,列表中位置更高的包胜出。
什么都没变?
光照文件要放在资源包中,位于名为 lighting 的文件夹里。检查活力视效是否已开启,以及标识符是否完全一致。