在光影视效中,水不再只是一张蓝色纹理。水体设置文件决定了水的颜色和浑浊度、水底舞动的光纹(焦散),以及水面上的波浪。
经典的水体颜色仍然来自客户端生物群系中的 minecraft:water_appearance。这个文件只改变光影视效下的外观。
文件
RP/
water/
ruby_water.json
biomes/
ruby_grove.client_biome.json水体文件
一片清澈的湖水,带着淡淡的黄粉色调和轻柔的波浪:
{
"format_version": "1.21.120",
"minecraft:water_settings": {
"description": {
"identifier": "wiki:ruby_water"
},
"particle_concentrations": {
"chlorophyll": 0.2,
"cdom": 1.5,
"suspended_sediment": 4.0
},
"biome_water_color_contribution": 0.5,
"caustics": {
"enabled": true,
"scale": 0.6,
"power": 2,
"frame_length": 0.08
},
"waves": {
"enabled": true,
"frequency": 0.8,
"octaves": 12,
"depth": 0.8,
"speed": 1.5,
"shape": 2.0,
"pull": 0.3,
"mix": 0.4,
"frequency_scaling": 1.2,
"speed_scaling": 1.0
}
}
}identifier 需要带命名空间。每个文件只能有一个水体设置块。
水的颜色:particle_concentrations
现实中的水,颜色来自漂浮在其中的东西。你可以设置三种物质的含量,单位是毫克每升。全部为 0 时就是完全清澈的水,和原版一样。
| 字段 | 范围 | 效果 |
|---|---|---|
chlorophyll | 0 到 10 | 藻类。越多水越绿。 |
cdom | 0 到 15 | 溶解的植物质。越多水越呈黄褐色,像沼泽一样。 |
suspended_sediment | 0 到 300 | 泥沙。越多水越呈红褐色且越浑浊,像一条泥泞的河。 |
biome_water_color_contribution 会混入客户端生物群系 minecraft:water_appearance 中的 surface_color。如果你希望自己生物群系的水色在光影视效中也能体现出来,就用它。
焦散
焦散是水下物体表面上那些明亮、流动的光线纹路。
| 字段 | 范围 | 作用 |
|---|---|---|
enabled | 开或关。默认开启。 | |
scale | 0.1 到 5 | 纹路有多大。 |
power | 1 到 6 | 有多亮。 |
frame_length | 0.01 到 5 | 每一帧动画的秒数。越小越快。 |
texture | 可选。你自己的焦散纹理。不写的话使用内置纹理。 |
波浪
波浪只改变水面的绘制方式。水方块本身并不会移动,所以波浪纯粹是视觉效果。
| 字段 | 范围 | 作用 |
|---|---|---|
enabled | 开或关。原版默认关闭。 | |
frequency | 0.01 到 3 | 波浪的大小。越高波浪排列得越密。 |
octaves | 1 到 30 | 叠加多少层波浪。越多看起来越细腻。 |
depth | 0 到 3 | 波浪看起来有多高。 |
speed | 0.01 到 10 | 第一层波浪移动得多快。 |
shape | 1 到 10 | 每道波浪的形状。 |
pull | -1 到 1 | 小波浪被大波浪带动的程度。 |
mix | 0 到 1 | 每一层与下一层融合的程度。 |
frequency_scaling | 0 到 2 | 从一层到下一层,大小如何变化。 |
speed_scaling | 0 到 2 | 从一层到下一层,速度如何变化。 |
direction_increment | 0 到 360 | 每一层相对于上一层转动多少度。 |
现成搭配
热带泻湖:所有含量都接近 0,焦散 power 设为 3。沼泽:cdom 8,chlorophyll 3。泥泞的河:suspended_sediment 150。
使用它
在某个生物群系中
在客户端生物群系中使用 minecraft:water_identifier:
"minecraft:water_identifier": {
"water_identifier": "wiki:ruby_water"
}应用到所有地方
原版生物群系使用 minecraft:default_water。创建一个使用这个 identifier 的水体文件,就能一次性改变所有生物群系中的水。如果两个包使用同一个 identifier,列表中位置更高的包胜出。
水下迷雾是分开设置的
在水下能看多远,是由迷雾文件中的 water 部分决定的,而不是这个文件。