跳转至

地物

地物(Feature)是Minecraft基岩版世界生成系统中的基本装饰单元,用于在世界生成过程中向已生成的地形中放置树木、矿石、水池、植物、岩石等各类自然景观元素。

概述

世界生成分为两个主要阶段:地形生成和地物放置。在地形生成阶段,游戏根据噪声函数和生物群系信息创建基础地形轮廓。在地物放置阶段,地物系统在基础地形上按照预定义的规则添加各类装饰元素,使世界更加丰富多样。

地物定义文件以JSON格式编写,存放在行为包的features/目录中。地物通过地物规则(Feature Rule)来控制其在世界中的放置位置和条件。

地物类型

基岩版提供了多种内置的地物类型:

单方块地物

单方块地物(Single Block Feature)在世界中放置一个单独的方块,可以指定放置条件(如只在空气中放置、只在特定方块上方放置等)。

矿石地物

矿石地物(Ore Feature)用于在地下生成矿石脉。矿石地物定义了矿石方块类型、脉的大小、替换目标方块等参数。

树地物

树地物(Tree Feature)用于生成树木。树地物定义了树干和树冠的方块类型、树干高度范围、树冠形状等参数。

散植地物

散植地物(Scatter Feature)用于在一定范围内随机散布其他地物。散植地物可以指定散布的密度和范围。

聚合地物

聚合地物(Aggregate Feature)将多个地物组合为一个,按顺序或并行放置。

序列地物

序列地物(Sequence Feature)按顺序依次尝试放置多个地物,如果某个地物放置失败,则中止后续放置。

加权随机地物

加权随机地物(Weighted Random Feature)从一组候选地物中按权重随机选择一个进行放置。

搜索地物

搜索地物(Search Feature)在指定范围内搜索满足条件的位置来放置地物。

结构地物

结构地物(Structure Feature)用于在世界中放置预制的结构(如村庄建筑、废弃矿井等)。

地物规则

地物规则(Feature Rule)定义了地物在世界中的放置条件和位置。地物规则文件存放在行为包的feature_rules/目录中,以JSON格式编写。

地物规则主要包含以下信息:

  • 放置阶段(Placement Pass):指定地物在世界生成流程中的放置时机。
  • 条件(Conditions):指定地物放置所需满足的生物群系过滤器或其他条件。
  • 分布(Distribution):指定地物在区块中的散植方式,包括水平和垂直方向的坐标分布。
  • 关联地物(Places Feature):指定由该规则放置的地物标识符。

放置阶段

地物的放置按照预定义的阶段顺序执行。同一阶段内的地物同时处理,不同阶段之间严格按序执行。主要的放置阶段包括:

  1. first_pass:最早执行的放置阶段。
  2. before_underground_pass:地下装饰之前。
  3. underground_pass:地下装饰。
  4. surface_pass:地表装饰。
  5. after_surface_pass:地表装饰之后。
  6. final_pass:最后执行的放置阶段。