• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

Terra/群系选取

来自Minecraft插件百科
Qsefthuopq留言 | 贡献2020年11月18日 (三) 07:14的版本 →‎用例
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

本页面概述了Terra如何根据配置包的群系网格和群系区为某个地点选取群系。

群系网格

群系网格定义了一个世界的群系分布。它们是群系的2D表格(因此被称为 "网格")。以下是一个简单的群系网格示例,你可以用在你的世界里。

0 1 2 3
0 PLAINS|平原 PLAINS|平原 OAK_FOREST|橡木森林 OAK_FOREST|橡木森林
1 PLAINS|平原 PLAINS|平原 BIRCH_FOREST|桦木森林 BIRCH_FOREST|桦木森林
2 DESERT|沙漠 DESERT|沙漠 SAVANNA|热带高原 SAVANNA|热带高原
3 DESERT|沙漠 DESERT|沙漠 SAVANNA|热带高原 SAVANNA|热带高原

2个连续的噪声函数决定一个地点的群系。这意味着网格内相邻的群系会在世界内相连。例如,如果世界上的一对坐标,噪声函数X的值为3,噪声函数Z的值为2,则该处的群系将是SAVANNA|热带高原。如果Z移到1,生物群落将变为BIRCH_FOREST|桦木森林。

一般来说,X轴和Z轴是“尺度”。例如,在上面的例子中,X轴可以是植被尺度,因为X值越高的群系植被越多,Z可以是温度尺度,因为Z值越高的群系越温暖。这可以让你将相似的群系分在同一组内。

群系区

群系区定义了世界上的群系“网格”分布。本质上,它通过“堆叠”几个群系网格来增加群系选取的第三个维度。第三个连续噪声函数从区域配置中提取群系网格。例如,以下是pack.yml页面的例子中的群系区配置。

grids:
  - OCEAN
  - LAND
  - MOUNTAIN

在上方的配置中,群系区的噪声值为0,因为Terra使用2个群系网格噪声函数来从OCEAN|海洋网格中选取群系。 如果噪声值变为1,则从LAND群系网格中选取群系。

由于群系区和群系网格一样使用了连续的噪声函数,所以在区域配置中相邻的网格会在世界中相连。

噪声

用于选取群系的噪声函数与pack.yml中定义的函数相同。

用例

一般来说,群系网格定义“相似地形”的群系,而群系区定义不同类型的地形。例如,上面的示例中,有OCEANLANDMOUNTAIN作为网格。这是因为在大多数情况下,所有属于海洋类别的群系的地形都非常相似,陆地和山地群系也是如此。

因为群系区定义了中最大的群系差异,所以其中的群系通常分布率最高(pack.yml中的最高频率)。

如上所述,群系网格的每个轴通常都有一个比例尺,如温度或植被。将其扩展到第三维度的群系区,则提供了许多可能性。在所有网格上使用“相同尺度”可以确保类似的群系在世界中相连。例如,如果在LAND网格中,在栏位(0,0)中有一个TUNDRA群系,那么,在OCEAN网格中,最好将FROZEN_OCEAN群系放在同一栏位,这样,冻原群系就会总是与冻洋相邻。