生物群系属性
生物群系之所以不同,是因为他们有不同的生物群系属性。生物群系属性是表征生物群系特性的数据。
生物群系的属性主要有两个方面的作用:
- 提供直观的视觉体验、听觉体验等。——客户端
- 提供生物群系生成、世界逻辑运转的依据等。——服务端
而这些属性,大部分都可以在自定义生物群系时指定。
原版生物群系属性的具体值,详见本文附录。
下面我们概述生物群系的所有属性,并详细介绍一些重要的属性。
类别
类别(Category) 描述的是某一类生物群系所拥有的共同特征。例如,当我说“恶地”的时候,浮现在你脑海里的,绝对不止一个生物群系;那具体有几个恶地、分别叫什么呢 ?可能就会难倒不少人了。但有一点毫无疑问:反正它跟恶地是一类嘛,这也就是类别的意义。
类别在许多领域都有应用,这里没法一一举例了。而它在生物群系生成中扮演的重要的角色,将在主世界生成中的相似生物群系中大显光彩。
气候
气候(Climate) 是生物群系贯穿始终的最重要的属性,是对生物群系特征的直观感受的概括。粗略分为温度和降水量两个部分。
温度、温度修饰符
温度(Temperature) 这一属性代表了这个生物群系的默认温度。默认温度常常参与的是未知空间上下文的情况的计算。而具体到每个方块上的温度,这里不妨叫当地温度。当地温度是默认温度先经过温度修饰符(TemperatureModifier) 进行修饰,再根据高度调整得到。
温度修饰符 | 生物群系 | 特点 |
---|---|---|
none | 其它生物群系 | 直接返回默认温度 |
frozen | 冻洋、封冻深海 | 根据噪声进行修饰 |
相比而言,高度占主导因素:在 y > 64 后,当地温度会逐渐减小。
降水量和降水类型
降水量(Downfall) 代表了这个生物群系的具体湿度。主要用于决定草的颜色,此外降水量大于 0.85 的生物群系的对火的蔓延有抑制作用。而与降水量定量不同,降水类型(Precipitation) 更多的是定性。
以上属性造成影响如下表所示:
当地温度 | 降水类型 | 影响 |
---|---|---|
- | snow | 雪地兔兔~ |
大于等于 0.15 | rain | 判定为下雨 |
大于等于 0.15 | - | 不会有雪、不会有冰 |
小于 0.8 | - | 雪人走过的地方会产生雪片 |
大于 1 | - | 雪人受伤 |
此外,温度和降水量还会参与到植物颜色的渲染等。
地形
地形 是生物群系生成中的重要特征,与地形的噪声密切相关。
深度(Depth) 描述的是生物群系的平均海拔。注意这是一个平均值,比如若该数值为 0,虽说理论上是和海平面齐平,但其实相当低洼,因为真正的高度会根据噪声和规模有所起伏。
规模(Scale) 描述的是生物群系的高度差值。这个数值越大,地形的高低起伏越大。放大化(Amplified) 世界类型、旧版自定义(Customize) 世界类型的“山脉狂魔”预设就是扩大了这个数值。放大化在此之外还做了一些特殊处理。
如果说最初的噪声是随机变量 ,深度是 ,规模是 ,那么最后地形高度的随机变量 即为:
世界生成设置
世界生成设置(GenerationSettings) 包含了一些与世界生成有关(主要是地形和特性方面)的内容,包含
- 地表构造器(SurfaceBuilder) 地表的大的风貌构造,例如恶地的风貌就比较特殊。
- 镂空器(Carver) 凿空方块,添加空气或者流体。
- 特性(Feature) 花草树木,矿石矿井等都是特性。
- 结构(Structure) 特别的,如村庄、要塞、废弃矿井等都属于结构。
- 花(Flower) 一格高的,可自然生成的花。
花
(双手托起头)我是一朵花
——Yaossg 早年迷惑行为
花(Flower) 种类繁多,极大的美化了 MC 的自然景观。在生物群系属性的世界生成设置中单独列出的,是一格高的,可自然生成的花。
花有两种途径获得,一种是世界生成时自带的花,另一种是使用骨粉对草方块右键得到的草丛中会有少许的花。这两种途径获得的花是一致的。
在绝大多数生物群系中,都只会生成虞美人和蒲公英(两者生成的权重为2:1),而沼泽只会生成兰花。蘑菇岛和恶地不生成花。
但是在一些特殊的生物群系中,如(普通或者向日葵)平原、繁华森林中,会根据生成坐标的当地噪声,由方块状态提供器(BlockStateProvider) 从可选的方块状态中选择一些花进行放置。由于与当地噪声直接相关,这样生成出来的花,即使在随机之中也存在一些规律。这种规律在离散的花丛之间无法观察到,我们不妨来看看如果整个屏幕都被花铺满会是什么样子。