Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Clock JE3 BE3.gif
此条目需要更新。

理由:条目信息可能落后了几个大版本。部分信息可以参照英文版更新及拆分,但英文版亦缺失了最近一个大版本(1.17)的更新。
相关资料:Misode整理的Minecraft JSON文件格式(包含中文语料)

翻译者从英文条目翻译下文中的内容时感觉其艰涩难懂。

翻译者希望更有能力的用户能够帮助改善本条目的行文,所以请先慎重对待本条目内容。
如果可能,请帮助我们完善此条目的内容。

Information icon.svg
此特性为Java版独有。

自定义世界生成(Custom world generation)允许数据包改变世界的生成方式,与自定义世界搭配使用时尤其有用。

噪声设置[]

噪声设置(Noise settings)用于生成地形,其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/noise_settings目录下,用于dimension目录中的minecraft:noise生成器。默认世界生成设置包括minecraft:overworld用于一般的主世界生成,minecraft:amplified放大化主世界生成,minecraft:nether用于常规的下界生成,minecraft:caves用于洞穴类型的维度(类似于下界,但又使用主世界的地形特征)生成,minecraft:end用于常规的末路之地生成,minecraft:floating_islands用于浮岛类型的维度(类似于只包括外岛的末地)生成。

JSON格式[]

  • 根标签
    •  sea_level:此维度的海平面高度。
    •  disable_mob_generation:是否禁止被动型生物随地形一起生成。
    •  noise_caves_enabled:是否生成不同的噪声洞穴
    •  noodle_caves_enabled:是否生成面条洞穴
    •  ore_veins_enabled:是否生成大型矿脉
    •  aquifers_enabled:是否生成含水层和含熔岩层。
    •  legacy_random_source:是否使用1.19之前的旧的随机数生成器来生成世界。
    •  default_block:该维度的近地表方块的命名空间ID;参见Java版数据值§方块
      •  Name:方块的命名空间ID。
      •  Properties:方块状态
        •  state(字符串):一个方块状态的键值对。
    •  default_fluid:用于生成海洋和湖的流体的命名空间ID;详见Java版数据值§流体
      •  Name(字符串):方块的命名空间ID。
      •  Properties:方块状态
        •  state(字符串):一个方块状态的键值对。
    •  structures:结构设置
      •  stronghold:如何生成要塞的设定。在同级的structures标签下的要塞设定值都是占位符。每个带命名空间的结构都有一个自己的值,这些值才是真正控制要塞生成的值。
        •  distance:控制要塞之间的距离。
        •  count:要生成多少要塞。
        •  spread
      •  structures:该维度中使用的结构列表
        •  <命名空间ID>:该字段的键是结构的命名空间ID,具体可参考Java版数据值§结构
          •  spacing(数字):两个试图生成的结构位置间的平均距离[注 1]
          •  separation(数字):以区块为单位,两个该种类的结构之间的最小距离;必须比spacing小。
          •  salt(整数):帮助随机生成的数字;参阅盐 (密码学)
    •  noise:世界生成参数。
      •  min_y(整数):地形开始生成的最低高度。数值从-2032到2031之间可用,且必须是16的整数倍。注意如果使用了-2048,底部的基岩地板可能会有光照异常。[1]
      •  height(整数):地形生成的总高度。必须是16的整数倍。1.17之前,会挤压整个世界,比如如果height=128,则地面设为Y=32。min_y + height不能超过2032,所以最大值为4964或4080。
      •  size_horizontal(整数):改变陆块(landmass)在X和Z轴上的比例。生物群系不会因此改变。例如,增加山地地形之间的距离。此参数的最高值在4到8之间。
      •  size_vertical(整数):改变陆块在Y轴上的比例。1至1.5之间的值可以逐渐增加山丘高度,大于2.0的值将会使得所有陆地高于通常的海平面63,比3.2更高的值会使得通常的陆地高度到达100+。
      •  island_noise_override(布尔值;可选):使世界像末地一样在世界中心生成一个大型岛屿,在周围生成小型岛屿。
      •  amplified(布尔值;可选):在放大化和正常地形生成之间切换。
      •  large_biomes可选。在巨型生物群系和正常生物群系生成之间切换。
      •  sampling:指定噪声的采样方式。
        •  xz_scale(双精度浮点数):缩放噪声的X轴和Z轴。值越大,水平形状会更加复杂。作用类似于旧版自定义中的“平面比例”(coordinate scale)选项。
        •  xz_factor(双精度浮点数):平滑水平方向上的噪声。作用类似于旧版自定义世界中的main noise scale。
        •  y_scale(双精度浮点数):缩放噪声的Y轴。值越大,垂直形状会更加复杂。作用类似于旧版自定义中的“高度比例”(height scale)选项。
        •  y_factor(双精度浮点数):平滑垂直方向上的噪声。值在0.0011000.0之间,作用类似于旧版自定义世界中的main noise scale Y。
      •  top_slide:世界顶部曲线的设置。
        •  target(整数):曲线的值。负值会使受影响区域内的山丘更加圆润,正值会使其更加陡峭(类似于屋顶)。绝对值越大效果越明显。
        •  size(整数):定义以世界顶部为中心的影响区域大小。计算公式为size = <方块高> * 0.25 / size_vertical
        •  offset(整数):从世界顶部移动受影响区域。offset使用和size相同的公式,也就是offset = <方块高> * 0.25 / size_vertical。对于top_slide,正值会使区域向下移动,负值使之向上移动。
      •  bottom_slide:世界底部曲线的设置。
        •  target(整数):曲线的值。负值会移除基岩地板并使浮岛的底部更加圆润,正值会生成一个基岩地板。绝对值越大效果越明显。
        •  size(整数):定义以世界底部为中心的影响区域大小。和top_slide中使用的公式相同。
        •  offset(整数):从世界底部移动受影响区域。和在top_slide中使用的公式相同。对于bottom_slide,正值使区域向上移动,负值使之向下移动。
      •  terrain_shaper:
        •  offset:确定地形偏移的地形样条。对应旧的 density_offset字段,但是现在可以根据维度噪声进行配置。
        •  factor:确定地形因子的地形样条。对应旧的 density_factor字段,但是现在可以根据维度噪声进行配置。
        •  jaggedness:确定地形“锯齿状”程度的地形样条。
    •  surface_rule:地形的表面规则配置。取代了旧的表面构建器系统。


默认设置[]

以下是minecraft:noise生成器可用的6个预设中的设置。

结构默认值[]

以下是所有命名空间化的结构的默认值。所有预设对于这些结构都使用相同的值,除了minecraft:ruined_portal

表头为文件中的键名,仅给出暂译。

  1. 占位值,无实际效果。
  2. 2.0 2.1 盐不是为了这些结构而准备的;改变这些结构的盐值不会有任何效果。

生物群系[]

生物群系(Biome)以JSON文件的形式存储在数据包data/<命名空间>/worldgen/biome目录下。

JSON格式[]

  • 根标签
    •  precipitation: 生物群系的降雨量,可以是 "none"(不下雨)、"rain"(下雨)或"snow"(下雪)。
    •  category:[需要测试] 可以是"none""taiga""extreme_hills""jungle""mesa""plains""savanna""icy""the_end""beach""forest""ocean""desert""river""swamp""mushroom""nether"
    •  depth:[需要测试]用于产生地形噪声。深度为正的生物群系被认为是陆地,深度为负的生物群系被视为海洋。
    •  scale:[需要测试]用于产生地形噪声。竖直方向上拉伸地形。值越小,地形越平整。
    •  temperature:[需要测试]用于控制某些游戏功能,例如草和树叶的颜色,以及雪傀儡是否受到伤害。
    •  temperature_modifier:[需要测试] 可为nonefrozen
    •  downfall:[需要测试]控制草和树叶的颜色,大于0.85的值还可以使火焰更快地燃烧。
    •  effects: 该生物群系的环境效果。
      •  sky_color:此生物群系中用于天空的十六进制转十进制RGB颜色值。
      •  fog_color:用于迷雾的十六进制转十进制RGB颜色值。
      •  foliage_color: 用于树叶和藤蔓的十六进制转十进制RGB颜色值。若不写,颜色将由湿度(humidity)和温度(temperature)决定。
      •  grass_color: 用于草方块、草、高草丛、蕨、大型蕨和甘蔗的十六进制转十进制RGB颜色值。若不写,颜色将由湿度(humidity)和温度(temperature)决定。
      •  water_color:用于水的十六进制转十进制RGB颜色值。
      •  water_fog_color:用于水下迷雾的十六进制转十进制RGB颜色值。
      •  particle(可选):在整个生物群系中使用的粒子。
        •  probability:[需要测试]控制粒子产生的频率。
        •  options:控制要使用的粒子。
          •  type:粒子类型的命名空间ID。
          • 如果typeblockfalling_dust
            •  Name: 所要使用的方块的命名空间ID。
            •  Properties: 方块状态。
              •  state: 一个方块状态的键值对。
          • 如果typedust
            •  r: dust颜色的红色分量,在0到1之间。
            •  g: dust颜色的绿色分量,在0到1之间。
            •  b: dust颜色的蓝色分量,在0到1之间。
            •  scale: 控制dust粒子的大小。
          • 如果typeitem
            •  id: 所要使用的物品的命名空间ID。
            •  Count: 物品的数量。
            •  tag: 物品的NBT数据。
      •  ambient_sound(可选):[需要测试] 用于环境音效的声音事件。
      •  mood_sound(可选):[需要测试] 氛围音效所使用的设置。
        •  sound: 要使用的声音事件。
        •  tick_delay:[需要测试]
        •  block_search_extent:[需要测试]决定了氛围音效播放位置的正方体范围的大小。此正方体范围以玩家为中心,棱长为2 * block_search_extent + 1
        •  offset:[需要测试]
      •  additions_sound(可选):[需要测试] 附加音效所使用的设置。
        •  sound:要使用的声音事件。
        •  tick_chance:[需要测试]
      •  music(可选):[需要测试]应在生物群系中播放的特定音乐。
    •  surface_builder: 所使用的配置好的地表生成器的命名空间ID。
    •  carvers: 要使用的地形雕刻器。
      •  air: 列表内的地形雕刻器将填充空气。
        • : 所使用的配置好的地形雕刻器的命名空间ID。
      •  liquid: 列表内的地形雕刻器将填充液体。
        • : 所使用的配置好的地形雕刻器的命名空间ID。
    •  features:[需要测试] 一个由10项地物组成的列表。这10项各自对应一个不同种类的地物;但是,此处需要更多测试来确定该列表的顺序(即这个列表的顺序是否正确)是否对世界生成的运作有影响。地物所在的列表的下标也被用来生成地物种子的一部分,所以将地物移动到另一个列表中无疑将对生成产生影响。每个列表中的每个元素都是一个配置好的地物的命名空间ID。可以是一个空列表。
      • : 内部地物类型RAW_GENERATION(原始生成)。默认不用于任何地物。
      • : 内部地物类型LAKES(湖)。默认用于普通的湖和熔岩湖。
      • : 内部地物类型LOCAL_MODIFICATIONS(局部修改)。默认用于针叶林生成的苔石和冰山。
      • : 内部地物类型UNDERGROUND_STRUCTURES(地下结构)。默认用于主世界的地牢和化石。
      • : 内部地物类型SURFACE_STRUCTURES(地表结构)。默认用于沙漠的水井和蓝冰堆。
      • : 内部地物类型STRONGHOLDS(要塞)。默认不用于任何地物。
      • : 内部地物类型UNDERGROUND_ORES(地下矿石)。默认用于主世界的矿脉、主世界的泥土/沙砾/石头变种的堆(Patch),以及湖中生成的沙子/沙砾/黏土的圆盘状结构(Disk)。
      • : 内部地物类型UNDERGROUND_DECORATION(地下装饰)。默认用于被虫蚀的方块的矿脉、下界的沙砾矿脉、下界的黑石矿脉,以及其他所有的下界矿脉。
      • : 内部地物类型VEGETAL_DECORATION(植被装饰)。默认用于树、竹子、仙人掌、海带,以及其他的地表/海底植被和熔岩/水的喷泉。
      • : 内部地物类型TOP_LAYER_MODIFICATION(顶层修改)。默认用于地表的冰冻现象。
    •  starts:[需要测试] 该生物群系所生成的结构。
      • 所使用的配置好的结构特征的命名空间ID。
    •  spawners: 实体生成设置。
      •  <生物种类>: 合法的生物种类有monstercreatureambientwater_creaturewater_ambientmisc
        • 一个刷怪数据的复合标签的列表,列表的每一项都对应一种应该在该生物群系生成的生物。
          • 单个生物的刷怪数据。
            •  type: 该生物的命名空间ID。
            •  weight:[需要测试] 该生物的生成权重,更高的值使该生物更多地取代其他生物的生成。
            •  minCount:生物在生成时的最低数量。
            •  maxCount:生物在生成时的最高数量。
    •  player_spawn_friendly:定义该生物群系是否对新玩家友好。对于平原、森林等常规环境为true,在海洋、沙漠及雪山等恶劣环境下被设置为false。该值被用于防止世界重生点被放置到一个过于困难而使新玩家无法起步的环境中。
    •  creature_spawn_probability: 生物的基础生成成功率。减少该值将按比例直接降低生物的生成几率。必须在0到1之间。
    •  parent(可选):[需要测试] 该生物群系的父生物群系的命名空间ID。
    •  spawn_costs:[需要测试] 生成代价,实体ID列表。以一套类似于模拟真空中的点电荷系统的机制控制该生物群系内生成生物的数量与密度。
      •  <实体ID>:生成的实体。[需要测试]
        •  energy_budget:电势预算。生成此实体时能损失得起的最大电势差。在宏观意义上看,此值越小生成的越少。[需要测试]
        •  charge:此次生成放置的点电荷的电荷量。每次生成都在之前放置的点电荷的基础上试图将一个点电荷从无穷远处移动到目标点,计算电势差并比较以决定是否生成。在宏观意义上看,此值越大生成的越少。[需要测试]

生物群系分类[]

生物群系分类被用于以下几个游戏机制:[需要测试]

  • 所有在ocean的生物群系会被游戏认为是海洋温度分类的一部分;其他温度分类被其生物群系的温度值所控制。这意味着在ocean分类下的生物群系通常应当放在一起。
  • 若玩家位于oceanriver分类下的生物群系,他们在水下听到的是水下音乐而非一般的音乐。
  • 僵尸围城灾厄巡逻队不会在mushroom分类下的生物群系内生成。
  • 生成于desert分类下的生物群系的兔子的纹理总是沙漠样式的,除非该生物群系的precipitation设定为snow
  • 生物在water_ambient分类下的生物群系生成的频率比在river分类下的要低很多。
  • 海底神殿不会生成于不在oceanriver分类下的生物群系。

地形雕刻器[]

地形雕刻器(Carver)用于添加雕刻出的生物群系的范围,这个范围会被空气或液体代替。其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/configured_carver目录下。

JSON格式[]

根标签

    •  type: 使用的洞穴类型,必须是以下中的一种: "cave"(洞穴), "nether_cave"(下界洞穴), "canyon"(峡谷), "underwater_canyon"(水下峡谷), 或"underwater_cave"(水下洞穴)。
    •  config: 该地形雕刻器所使用的配置。
      •  probability:[需要测试]每个区块尝试使用该地表雕刻器的概率,必须在0到1之间。

地表生成器[]

地表生成器(Surface builder)控制地表的形状和其生成的方块。其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/configured_surface_builder目录下。

JSON格式[]

根标签

    •  type:[需要测试] 所使用的地表生成器的种类,必须是以下之一: "default"(默认), "mountain"(山地), "shattered_savanna"(破碎的热带草原), "gravelly_mountain", "giant_tree_taiga", "swamp"(沼泽), "badlands"(恶地), "wooded_badlands"(繁茂的恶地), "eroded_badlands"(被风蚀的恶地), "frozen_ocean"(冻洋), "nether"(下界), "nether_forest"(绯红、诡异森林), "soul_sand_valley"(灵魂沙峡谷), "basalt_deltas"(玄武岩三角洲)或"nope"(无)。
    •  config: 地表生成器的配置。
      •  top_material:[需要测试] 地形最高层所使用的方块。
        •  Name: 所使用的方块的命名空间ID。
        •  Properties: 方块状态
          •  state: 一个方块状态的键值对。
      •  under_material:[需要测试] 与地形最高层直接接触的下一层所使用的方块。
        •  Name: 所使用的方块的命名空间ID。
        •  Properties: 方块状态
          •  state: 一个方块状态的键值对。
      •  underwater_material:[需要测试] 水体底部所使用的方块。
        •  Name: 所使用的方块的命名空间ID。
        •  Properties: 方块状态
          •  state: 一个方块状态的键值对。

地物[]

地物(Feature)是世界中独特的元素,如树木矿石等。其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/configured_feature目录下。

JSON格式[]

当一项地物在设置中依赖另一项配置过的地物时,可以填写该配置过的地物的命名空间ID,或写一个复合标签,作为一个嵌套定义。

  • 根标签
    •  type: 配置过的地物的类型,必须为以下类型之一。
    •  config: 此配置过的地物的设置。 设置项由type决定。 任何不在此标签中列出的名称不含有设置项,但其定义中仍须包含一个空的config对象。

数据种类[]

上述JSON格式会反复用到以下这些复杂的数据类型,为了避免污染主JSON格式树的排版和重复添加这些内容,它们被移动到了这里。

  •  Blockstate Provider(方块状态声明):[需要测试] 此数据结构用于为生成方块状态定义一个更高级的设置。
    •  type: 所使用的声明的类型。必须是"simple_state_provider""weighted_state_provider""plain_flower_provider""forest_flower_provider""rotated_block_provider"中的一个。
    • 如果typesimple_state_providerrotated_block_provider
      •  state: 一个方块状态
        •  Name: 所使用的方块的命名空间ID。
        •  Properties: 方块状态
          •  state: 一个方块状态的键值对。
    • 如果typeweighted_state_provider
      •  entries: 可供选择的方块状态的列表。
        • 一个方块状态和对应的权重。
          •  weight: 该方块状态被选取的权重;更高的值增加被选取的频率。
          •  data: 一个方块状态
            •  Name: 所使用的方块的命名空间ID。
            •  Properties: 方块状态
              •  state: 一个方块状态的键值对。
  •  Uniform Int(均匀分布整数):[需要测试] 此数据结构代表一个在basebase + spread之间(含)的随机生成的整数,在上述区间内每个整数被抽取到的概率相同。spread必须大于等于0。额外的,不同的配置选项会在此处加上更多限制条件;这些限制条件会用minBasemaxBasemaxSpread表达。这些限制条件的边界都是取得到的。若没有声明这些限制条件,那么任意的base和非负的spread都是可接受的。或者,整个复合标签都可以被一个整型数据代替,这相当于将base设为该整数,将spread设为0,效果上等同于声明一个常量。此时,若minBasemaxBase存在,它们依然生效。
    •  base: 可生成的最小数字。
    •  spread: 生成随机数字的闭区间的大小。

地物名称[]

以下为地物的所有有效名称:

  • no_op
  • chorus_plant
  • void_start_platform
  • desert_well
  • fossil
  • ice_spike
  • glowstone_blob
  • freeze_top_layer
  • vines
  • monster_room
  • blue_ice
  • end_island
  • kelp
  • coral_tree
  • coral_mushroom
  • coral_claw
  • weeping_vines
  • twisting_vines
  • bonus_chest
  • basalt_pillar
  • tree
  • flower
  • random_patch
  • block_pile
  • nether_forest_vegetation
  • spring_feature
  • emerald_ore
  • huge_red_mushroom
  • huge_brown_mushroom
  • iceberg
  • forest_rock
  • lake
  • disk
  • ice_patch
  • ore
  • no_surface_ore
  • end_spike
  • end_gateway
  • seagrass
  • bamboo
  • sea_pickle
  • simple_block
  • huge_fungus
  • basalt_columns
  • delta_feature
  • netherrack_replace_blobs
  • fill_layer
  • random_selector
  • simple_random_selector
  • random_boolean_selector
  • decorated
  • decorated_flower

装饰器[]

装饰器(Decorator)能以多种方式来改变地物的生成。

JSON格式[]

  • 根标签
    •  type:配置过的装饰器的类型。必须是以下列出的一种类型之一。
    •  config: 该装饰器的设置。设置的属性根据type的不同而不同。在此标签下方未列出的名字不含有任何设置;但是这种情况下也依然必须设置一个空的config对象。
      • typechancelava_lakewater_lake
      • typecountfireglowstonecount_multilayer
        •  count:[需要测试]
          • 均匀分布整数,其中minBase为-10,maxBase为128,maxSpread为128。
      • typecount_noise
      • typecount_noise_biased
      • typecount_extra
      • typerangerange_biasedrange_very_biased
        •  bottom_offset(可选):[需要测试]若不写,默认为0。
        •  top_offset(可选):[需要测试]若不写,默认为0。
        •  maximum(可选):[需要测试]若不写,默认为0。
      • typedepth_average
      • typecarving_mask
      • typedecorated
        •  outer:[需要测试] 外部(Outer)配置过的装饰器。
        •  inner:[需要测试] 内部(Inner)配置过的装饰器。

装饰器名称[]

以下为自定义装饰器的所有有效名称:

  • nope
  • square
  • heightmap
  • heightmap_spread_double
  • top_solid_heightmap
  • heightmap_world_surface
  • spread_32_above
  • magma
  • emerald_ore
  • end_gateway
  • dark_oak_tree
  • iceberg
  • end_island
  • chance
  • lava_lake
  • water_lake
  • count
  • fire
  • glowstone
  • count_multilayer
  • count_noise
  • count_noise_biased
  • count_extra
  • range
  • range_biased
  • range_very_biased
  • depth_average
  • carving_mask
  • decorated

结构地物[]

结构地物(Structure feature)是一种特殊的生成结构的地物,其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/configured_structure_feature目录下。目前尚不清楚普通地物和结构地物之间的区别标准。地牢沙漠水井通常被认定为结构,但此处它们不是结构地物。以及,下界化石是结构地物,但普通的化石并不是,虽然本质上它们一致。

JSON格式[]

  • 根标签
    •  type: 结构地物的类型。必须是以下列出的类型的一种。
    •  config: 该种结构地物的设定,随着type的不同而不同。未在该标签树内列出的名字无可用设定,但此时定义中依然必须包含一个空的config对象。
      • typepillager_outpostvillagebastion_remnant
        •  start_pool: (起始池)起始的结构池/模板池的命名空间ID。
        •  size:[需要测试] 必须在0到7之间(含)。
      • typemineshaft
      • typeruined_portal
        •  portal_type:[需要测试] 必须为"standard""desert""jungle""swamp""mountain""ocean""nether"
      • typeshipwreck
        •  is_beached(可选):[需要测试] 沉船是否搁浅。若不填,默认为false
      • typeocean_ruin
        •  biome_temp:[需要测试] 必须为"warm""cold"
        •  large_probability:[需要测试] 0到1之间的浮点数概率。
        •  cluster_probability:[需要测试] 0到1之间的浮点数概率。
      • typeburied_treasure
        •  probability:[需要测试] 0到1之间的浮点数概率。

结构地物名称[]

以下为结构地物的所有有效名称:

  • mansion
  • jungle_pyramid
  • desert_pyramid
  • igloo
  • swamp_hut
  • stronghold
  • monument
  • fortress
  • endcity
  • nether_fossil
  • pillager_outpost
  • village
  • bastion_remnant
  • mineshaft
  • ruined_portal
  • shipwreck
  • ocean_ruin
  • buried_treasure

拼图池[]

拼图池(Jigsaw pool)或模板池(Template pool)使用拼图方块,用于生成结构。其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/template_pool目录下。

JSON格式[]

  • 根标签
    •  name: 该池的命名空间ID。[需要测试]
    •  fallback: 回落池,可以被设定为另一模板池。回落池会在该池的所有层的末尾,且无法进一步生成时生成。原版中,回落池用于生成村庄街道的末尾处,即结构文件中的terminators[需要测试]
    •  elements: 一个可供选择的结构列表
      •  一个元素:
        •  weight: 使用该池时,该元素被选中的频率。
        •  element: 该元素的属性。
          •  element_type: 可为minecraft:empty_pool_element以不生成任何结构;minecraft:feature_pool_element,当feature被使用时;minecaft:list_pool_element,当elements被使用时;minecraft:legacy_single_pool_elementminecraft:single_pool_element,当location被使用时。 minecraft:legacy_single_pool_elementminecraft:single_pool_element的区别在于,minecraft:legacy_single_pool_element不会用空气方块替换已生成的方块,而minecraft:single_pool_element会使用空气方块替换生成范围内的方块,结构空位不受影响。
          •  feature: 要使用的地物的命名空间ID。
          •  location: 要放置的结构的命名空间ID。
          •  projection: 可为rigidterrain_matching[需要测试]
          •  processors: 处理器的命名空间ID,如果是一个字符串。
            •  processors: 所使用的处理器的列表。
              •  一个元素:
                •  processor_type: 所使用的处理器的命名空间ID。
                •  other properties [需要测试]
          •  elements: 一个可供选择的结构列表
            •  一个元素:
              •  weight: 使用该池时,该元素被选中的频率。
              •  location: 要放置的结构的命名空间ID。
              •  projection: 可为rigidterrain_matching[需要测试]
              •  element_type: 可为minecraft:empty_pool_element以不生成任何结构;minecaft:list_pool_element,当elements被使用时;minecraft:legacy_single_pool_element,当location被使用时。 [需要测试]
              •  processors: 处理器的命名空间ID,如果是一个字符串。
                •  processors: 所使用的处理器的列表。
                  •  一个元素:
                    •  processor_type: 所使用的处理器的命名空间ID。
                    •  other properties [需要测试]


处理器列表[]

处理器列表(Processor list)是用于在结构中处理方块的处理器的列表。其以JSON文件的形式存储在数据包data/<命名空间>/worldgen/processor_list目录下。

JSON格式[]

  • 根标签
    •  processors: 处理器列表
      •  一个处理器
        •  processor_type: 可为minecraft:ruleminecraft:block_rotminecraft:block_ageminecraft:block_ignoreminecraft:blackstone_replaceminecraft:jigsaw_replacementminecraft:lava_submerged_blockminecraft:gravityminecraft:nop
        • processor_typeminecraft:block_rot:
          •  integrity: 结构的完整度,决定随机移除结构中方块的概率,0到1之间的数字。[需要测试]
        • processor_typeminecraft:rule:
          •  rules: 一个从上到下所要应用的规则的列表。[需要测试]
            •  一条规则
              •  position_predicate: 要应用到该方块的位置上的方块处理谓词(Predicate)[需要测试],可用的方块处理谓词见下
              •  input_predicate: 要应用到被放置的方块上的方块处理谓词
              •  location_predicate: 要应用到该结构生成前的该方块上的方块处理谓词[需要测试]
              •  output_state: 所有条件满足时放置的方块
                •  Name: 方块的ID
                •  Properties: 方块状态
                  •  state: 一个方块状态键值对。
        • processor_typeminecraft:block_age:
          •  mossiness: 0以下的值相当于0;1以上的值相当于1。用于决定结构中石质方块中含青苔的变种的比例。[需要测试]
        • processor_typeminecraft:block_ignore:
          •  blocks: [需要测试]
            •  一个方块
              •  Name: 所使用的方块的命名空间ID。
              •  Properties: 方块状态
                •  state: 一个方块状态的键值对。
        • processor_typeminecraft:gravity:
          •  heightmap: 必须是"WORLD_SURFACE_WG"(地表面(世界生成))、"WORLD_SURFACE"(地表面)、"OCEAN_FLOOR_WG"(海床面(世界生成))、"OCEAN_FLOOR"(海床面)、"MOTION_BLOCKING"(阻挡实体运动面)或"MOTION_BLOCKING_NO_LEAVES"(阻挡实体运动面(不含树叶))中的一个。
          •  offset: [需要测试]

方块处理谓词[]

Disambig gray.svg  本段落介绍的是自定义世界生成的机制。关于用于数据包中其他部分的技术性JSON文件,请见“战利品表谓词”。关于更多谓词,请见“谓词(消歧义)”。
  • 根标签
    •  predicate_type: 可为以下值:always_true以永远通过;axis_aligned_linear_pos以一个随机的概率通过,该概率基于方块到结构中心的距离[需要测试]block_match以检测一个方块;blockstate_match以检测一个特定的方块状态;random_block_match以检测方块,并以一个随机的概率通过;tag_match以检测方块是否在方块标签中。
    • predicate_typeaxis_aligned_linear_pos
      •  axis: 可以为xyz
      •  min_chance: 当方块距结构中心的距离等于min_dist时,该方块处理谓词通过的概率[需要测试]
      •  max_chance: 当方块距结构中心的距离等于max_dist时,该方块处理谓词通过的概率[需要测试]。若方块的距离在min_distmax_dist之间,则概率由min_chancemax_chance之间的值线性插值而得,即概率为( 距离 - min_dist ) / ( max_dist - min_dist ) * ( max_chance - min_chance ) + min_chance
      •  min_dist
      •  max_dist
    • predicate_typeblock_match
      •  block: 一个方块ID。
    • predicate_typeblockstate_match
      •  block_state
        •  Name: 方块的ID
        •  Properties: 方块状态
          •  state: 一个方块状态的键值对
    • predicate_typerandom_block_match
      •  block: 方块的ID
      •  probability: 若该方块存在,该方块处理谓词通过的概率(在0到1之间)。
    • predicate_typetag_match
      •  tag: 方块标签的命名空间ID

历史[]

Java版
1.16.220w28a加入了对自定义世界生成的支持。
20w29a噪声设置被移动到了worldgen下。
1.1721w06a在“噪声设置”部分加入了 noise_caves_enabled aquifers_enabled min_surface_level参数,均对于主世界默认为true
21w07a在“噪声设置”部分加入了 grimstone_enabled参数,对于主世界默认为true
加入了新的矿脉地物生成机制。
21w08a将上个快照的 grimstone_enabled参数替换为 deepslate_enabled
略微更改了新的矿脉地物生成机制。
21w15a noise_caves_enabled aquifers_enabled deepslate_enabled参数现在在主世界中也默认为false了。
在各个生物群系中禁用了新的矿脉地物生成机制。
洞穴与山崖地形生成的有关更改被整合到洞穴与山崖预览数据包中。
21w16a在“噪声设置”部分加入了 ore_veins_enabled参数,在各维度中都默认为false
21w17a在“噪声设置”部分加入了 noodle_caves_enabled参数,在各维度中都默认为false

注释[]

  1. 将它设置为一个数字并不意味着结构会生成得如同这个值一般频繁,仅仅是游戏会尝试去如此生成而已;生物群系和和地形都会阻止一些结构得以生成。两次结构生成位置的尝试之间的最大距离为2*spacing - separation

外部链接[]

原版世界生成设置(直接下载)

参考[]

Advertisement