Skip to content

阶段(Stage)

* 配置类型需要 biome-provider-pipeline-v2 附属才可使用

类型

不同类型的 Stage 有着不同的行为,有时还有额外的配置参数可以控制它们。

类型通过配置参数 type 决定。如果两个附属使用了同一种类型名称,你可以在类型前加上 附属名称: 区分。

可用的 Stage 如下所示:


FRACTAL_EXPANDING

增加前一阶段的精确度,同时为其添加额外的 fuzzy-ness

这个方法需要先将原本的流水线群系隔开,然后在空缺的部分填上附近的随机流水线群系。

假设这里有 2x2 的 流水线群系:

应用拓展器以后会让它变为如下的 3x3 网格:

sampler 噪声采样器 - 用于随机选择使用的流水线群系。

噪声采样器的输出应当是均匀分布在 [-1, 1] 范围内的值。通常情况下只有 WHITE_NOISE 可以直接使用它。

示例

YAML
stages:
  - type: FRACTAL_EXPAND
    sampler:
      type: WHITE_NOISE

SMOOTH

平滑流水线群系之间的粗糙边缘。

  • a=db=cx 会被随机替换为 ac
  • 否则,若只有 a=d,则 x 会被替换为 a
  • 否则,若只有 b=c,则 x 会被替换为 b
  • 其他情况下,x 不会被替换。
sampler 噪声采样器 - 用于随机选择使用的流水线群系。

噪声采样器的输出应当是均匀分布在 [-1, 1] 范围内的值。通常情况下只有 WHITE_NOISE 可以直接使用它。

示例

YAML
stages:
  - type: SMOOTH
    sampler:
      type: WHITE_NOISE

REPLACE

将带有指定标签流水线群系根据所用的噪声采样器替换为权重列表中的流水线群系。

from 标签 - 包含这些标签的群系会被替换。sampler 噪声采样器 - 用于分布群系的采样器。to 权重列表<流水线群系> - 替换带有 from 列表中标签的群系的群系名称。

示例

YAML
stages:
  # 将平原群系随机替换为森林与平原群系
  - type: REPLACE
    from: PLAINS
    to:
      - FOREST: 1
      - PLAINS: 2
    sampler:
      type: WHITE_NOISE

REPLACE_LIST

REPLACE 阶段相同,但需要将一组额外的流水线群系映射至权重列表中的流水线群系。这便于多个使用了同种噪声采样器的连续 REPLACE 阶段合并。

default-from 标签 - 被替换的群系必须包含的标签。default-to 权重列表<流水线群系> - 替换带有标签群系的流水线群系列表。sampler 噪声采样器 - 用于分布流水线群系的噪声采样器。to 映射表<流水线群系权重列表<流水线群系>> - 额外的映射表,用于将流水线群系替换为权重列表中的流水线群系。

信息

替换映射来自于流水线群系,不是标签!

示例

YAML
stages:
  # 将带有 USE_SPECIAL_BIOME 替换为 SPECIAL 群系
  # 将 FOREST 和 PLAINS 分别替换为 SPECIAL_FOREST 和 SPECIAL_PLAINS。
  - type: REPLACE_LIST
    default-from: USE_SPECIAL_BIOME
    default-to:
      - SELF: 5 # 'SELF' 流水线群系会将目标替换为自身s
      - SPECIAL: 1
    to:
      FOREST:
        - SELF: 5
        - SPECIAL_FOREST: 1
      PLAINS:
        - SELF: 5
        - SPECIAL_PLAINS: 1
    sampler:
      type: WHITE_NOISE

BORDER

将带有指定标签且贴近指定带标签群系边缘的流水线群系根据所用的噪声采样器替换为权重列表中的流水线群系。

from 标签 - 被替换的边缘流水线群系所需包含的标签。replace 标签 - 被替换的流水线群系所需包含的标签。sampler 噪声采样器 - 分布流水线群系所用的噪声采样器。to 权重列表<流水线群系>> - 替换的流水线群系列表。

BORDER_LIST

BORDER 阶段相同,但需要将一组额外的流水线群系映射至权重列表中的流水线群系。这便于多个使用了同种噪声采样器的连续 REPLACE 阶段合并。

default-replace 标签 - 被替换的群系必须包含的标签。default-to 权重列表<流水线群系> - 替换带有标签群系的流水线群系列表。from 标签 - 被替换的边缘流水线群系所需包含的标签。replace 映射表<流水线群系权重列表<流水线群系>> - 额外的映射表,用于将流水线群系替换为权重列表中的流水线群系。

信息

替换映射来自于流水线群系,不是标签!

sampler 噪声采样器 - 用于分布流水线群系的噪声采样器。

示例

YAML
stages:
  # 替换带有 LAND 标签,边缘为 OCEAN 与 BEACH 的群系
  # 对 JUNGLE 特殊处理,替换为 JUNGLE_BEACH,MUSHROOM_PLAINS 替换为 MUSHROOM_BEACH。
  - type: BORDER
    default-replace: LAND
    from: OCEAN
    default-to: BEACH # 只包含一个元素的权重列表可以像这样定义
    replace:
      JUNGLE: JUNGLE_BEACH
      MUSHROOM_PLAINS: MUSHROOM_BEACH
    sampler:
      type: CONSTANT # 因为每个映射中只有一个元素,我们可以直接使用 CONSTANT

用途

只有一个参数用到:

  • BiomeProvider 中的 PIPELINE:

    pipeline.stages 列表<阶段> - 逐渐应用的阶段列表。

贡献者

页面历史