理由:条目信息可能落后了几个大版本。部分信息可以参照英文版更新及拆分,但英文版亦缺失了最近一个大版本(1.17)的更新。
相关资料:Misode整理的Minecraft JSON文件格式(包含中文语料)
自定义世界生成(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:此维度的海平面高度。注意:该值只影响世界生成。生物生成所使用的海平面高度目前为固定值63。
- disable_mob_generation:是否禁止普通动物随地形一起生成。
- ore_veins_enabled:是否生成矿脉。
- aquifers_enabled:是否生成含水层和含熔岩层。
- legacy_random_source:是否使用1.18之前的旧的随机数生成器来生成世界。
- default_block:该维度地形的默认的方块。
- 方块状态
- default_fluid:该维度默认的流体,用于生成海洋和湖。
- 方块状态
- spawn_target:(必选,但可以为空)一个生物群系参数区间/值的列表,用于决定玩家出生点的环境条件。会选取距离(0,0)不超过2560格的多个点,获取其环境条件噪声值(depth值和offset值恒为0),计算,其中代表该点处某种生物群系参数的值到本列表中对应值的区间的距离()。计算结果最小的位置就是最佳位置。玩家出生位置会在这个位置附近。
- :一个范围区间。
- 生物群系噪声值参数
- :一个范围区间。
- noise:世界生成参数。
- min_y:地形开始生成的最低高度。取值为-2032到2031的闭区间,必须是16的倍数()。
- height:地形生成的总高度。取值为0到4064的闭区间,必须是16的整数倍()。min_y + height不能超过2032。
- size_horizontal:取值为0到4的闭区间。
- size_vertical:取值为0到4的闭区间。
- noise_router:将密度函数应用于用于世界生成的噪声参数。以下每个字段可以填入一个密度函数ID或一个密度函数(包括常量形式和对象形式)。
- initial_density_without_jaggedness:与含水层和地表规则的生成有关。在一XZ坐标下,从世界顶部开始以size_vertical*4个方块的精度从上到下查找,初次遇到大于25/64的值的高度作为世界生成的初始地表高度。该高度通常应该低于实际的地表高度(由
final_density决定)。 - final_density:决定了一个坐标是空气(可以生成含水层)还是世界的默认方块 default_block(将会被 surface_rule填充)。
- barrier:影响是否使用方块分隔含水层和洞穴其他区域。函数值越大越有可能分隔。
- fluid_level_floodedness:影响含水层生成液体的的概率。函数值越大越有可能生成。该噪声值大于1.0的被视为1.0,小于-1.0的被视为-1.0。
- fluid_level_spread:影响某处含水层液体表面的高度。函数值越小液体表面越可能较低。
- lava:影响某处含水层是否使用熔岩代替水。阈值为0.3。
- vein_toggle:影响矿脉类型和垂直范围。这值大于0.0将是铜矿脉,小于等于0.0将是铁矿脉。
- vein_ridged:控制哪些方块会参与组成矿脉。如果小于0.0,则方块是矿脉的一部分(是否为矿石块由下方值决定)。
- vein_gap:影响矿脉中的哪些方块将是矿石块。如果大于-0.3,并且随机数小于从0.4到0.6映射到0.1到0.3的vein_toggle的绝对值,则会放置矿石块,且有2%的概率变为粗金属块。否则,将放置矿脉类型对应的石块。
- temperature:生物群系的温度噪声。这里和下方的六个值是用于生物群系放置的生物群系参数。某点处生物群系的生物群系参数向量与该点处的对应参数向量的2-范数距离是最小的。
- vegetation:即humidity,生物群系的湿度噪声。
- continents:生物群系的大陆性噪声。
- erosion:生物群系的侵蚀噪声。
- depth:生物群系的深度噪声。
- ridges:即weirdness,生物群系的奇异噪声。
- initial_density_without_jaggedness:与含水层和地表规则的生成有关。在一XZ坐标下,从世界顶部开始以size_vertical*4个方块的精度从上到下查找,初次遇到大于25/64的值的高度作为世界生成的初始地表高度。该高度通常应该低于实际的地表高度(由
- surface_rule:为地形填充方块。
- 地表规则
默认设置
以下是minecraft:noise生成器可用的6个预设中的设置。
| 属性 | minecraft:overworld
|
minecraft:amplified
|
minecraft:nether
|
minecraft:caves
|
minecraft:end
|
minecraft:floating_islands
| ||
|---|---|---|---|---|---|---|---|---|
bedrock_roof_position
|
-10 | 0 | -10 | |||||
bedrock_floor_position
|
0 | 0 | -10 | |||||
sea_level
|
63 | 32 | 0 | |||||
disable_mob_generation
|
false | false | true | false | ||||
default_block
|
minecraft:stone
|
minecraft:netherrack
|
minecraft:stone
|
minecraft:end_stone
|
minecraft:stone
| |||
default_fluid
|
minecraft:water
|
minecraft:lava
|
minecraft:water
|
minecraft:air
|
minecraft:water
| |||
structures
|
stronghold
|
distance
|
32 | 不包含 | 不包含 | |||
count
|
1 | |||||||
spread
|
3 | |||||||
structures
|
见下 | |||||||
noise
|
top_slide
|
target
|
-10 | 120 | -3000 | |||
size
|
3 | 3 | 64 | |||||
offset
|
0 | 0 | -46 | |||||
bottom_slide
|
target
|
-30 | 320 | -30 | ||||
size
|
0 | 4 | 7 | |||||
offset
|
0 | -1 | 1 | |||||
sampling
|
xz_scale
|
0.9999999814507745 | 1 | 2 | ||||
xz_factor
|
80 | 80 | 80 | |||||
y_scale
|
0.9999999814507745 | 3 | 1 | |||||
y_factor
|
160 | 60 | 160 | |||||
size_vertical
|
2 | 2 | 1 | |||||
size_horizontal
|
1 | 1 | 2 | |||||
height
|
256 | 128 | 128 | |||||
density_factor
|
1 | 0 | 0 | |||||
density_offset
|
-0.46875 | 0.019921875 | 0 | |||||
random_density_offset
|
true | false | false | |||||
simplex_surface_noise
|
true | false | true | |||||
island_noise_override
|
false | false | true | false | ||||
amplified
|
false | true | false | false | ||||
结构默认值
以下是所有命名空间化的结构的默认值。所有预设对于这些结构都使用相同的值,除了minecraft:ruined_portal。
表头为文件中的键名,仅给出暂译。
structure(结构)
|
spacing(空位)
|
separation(间隔)
|
salt(盐)
| |
|---|---|---|---|---|
village
|
32 | 8 | 10387312 | |
desert_pyramid
|
32 | 8 | 14357617 | |
igloo
|
32 | 8 | 14357618 | |
jungle_pyramid
|
32 | 8 | 14357619 | |
swamp_hut
|
32 | 8 | 14357620 | |
pillager_outpost
|
32 | 8 | 165745296 | |
stronghold[结构 1]
|
1 | 0 | 0 | |
monument
|
32 | 5 | 10387313 | |
endcity
|
20 | 11 | 10387313 | |
mansion
|
80 | 20 | 10387319 | |
buried_treasure[结构 2]
|
1 | 0 | 0 | |
mineshaft[结构 2]
|
1 | 0 | 0 | |
ruined_portal
|
nether和caves
|
25 | 10 | 34222645 |
| 其他预设 | 40 | 15 | 34222645 | |
shipwreck
|
24 | 4 | 165745295 | |
ocean_ruin
|
20 | 8 | 14357621 | |
bastion_remnant
|
27 | 4 | 30084232 | |
fortress
|
27 | 4 | 30084232 | |
nether_fossil
|
2 | 1 | 14357921 | |
生物群系
生物群系(Biome)以JSON文件的形式存储在数据包的data/<命名空间>/worldgen/biome目录下。
JSON格式
- has_precipitation:决定该生物群系是否拥有降水。
- temperature:用于草和树叶等地物的颜色,以及计算随高度调整的温度值(控制雪傀儡是否受到伤害,下雨还是下雪,以及某些地物的生成细节)。
- temperature_modifier:(可选,默认为none)可为
none或frozen。在计算随高度调整的温度值之前对初始温度值进行随机修改。如果为frozen,调高某些地方的温度值以使其足以下雨(0.2)。 - downfall:控制草和树叶的颜色,大于0.85的值还可以使火焰更快地燃烧。
- effects:该生物群系的环境效果。
- fog_color:用于迷雾的十六进制转十进制RGB颜色值。
- sky_color:此生物群系中用于天空的十六进制转十进制RGB颜色值。
- water_color:用于水的十六进制转十进制RGB颜色值。
- water_fog_color:用于水下迷雾的十六进制转十进制RGB颜色值。
- foliage_color:(可选)用于树叶和藤蔓的十六进制转十进制RGB颜色值。若不写,颜色将由 downfall和 temperature决定。
- grass_color:(可选)用于草方块、草、高草丛、蕨、大型蕨和甘蔗的十六进制转十进制RGB颜色值。若不写,颜色将由 downfall和 temperature决定。
- grass_color_modifier:(可选,默认为none)可以是
none、dark_forest或者swamp。 - particle:(可选)充斥在生物群系中的粒子。
- probability:控制粒子产生的频率。高于1的值相当于1,低于0的值相当于0。
- options:要使用的粒子。另见命令/particle。
- type:粒子类型的命名空间ID。
- 如果
type是block、block_marker或falling_dust:
- 如果
- value:粒子使用的方块状态。
- 方块状态
- 如果
type是item:
- id:所要使用的物品的命名空间ID。
- Count:物品的数量。
- tag:JSON格式的物品的NBT数据。参见NBT格式#JSON与NBT。
- 如果
type是dust:
- 如果
- color:代表颜色的红色、绿色和蓝色部分的三个浮点数,每个值的取值都是0到1的闭区间。
- scale:控制粒子的大小。
- 如果
type是dust_color_transition:
- 如果
- color:代表开始颜色的红色、绿色和蓝色部分的三个浮点数,每个值的取值都是0到1的闭区间。
- color:代表结束颜色的红色、绿色和蓝色部分的三个浮点数,每个值的取值都是0到1的闭区间。
- scale:控制粒子的大小。
- 如果
type是sculk_charge:
- 如果
- roll:粒子显示的角度,以弧度为单位。
- 如果
type是vibration:
- 如果
- destination:目标位置。
- 位置源
- arrival_in_ticks:运动时长,以游戏刻为单位。
- 如果
type是shriek:
- 如果
- delay:延迟时长,以游戏刻为单位。
- type:粒子类型的命名空间ID。
- ambient_sound:(可选)用于环境音效的声音事件的ID。
- mood_sound:(可选)氛围音效所使用的设置。
- sound:要使用的声音事件的ID。
- tick_delay:两次播放间的最小延迟。参见环境音效#氛围算法。
- block_search_extent:决定了氛围音效播放位置的正方体范围的大小。此正方体范围以玩家为中心,棱长为
2 * block_search_extent。 - offset:值越大,声源距离玩家越远。
- additions_sound:(可选)附加音效所使用的设置。
- sound:要使用的声音事件的ID。
- tick_chance:每一游戏刻中开始播放的概率。高于1的值相当于1,低于0的值相当于0。
- music:(可选)该生物群系中的音乐。
- sound:要使用的声音事件的ID。
- min_delay:两次播放间最小延迟。
- max_delay:两次播放间最大延迟。
- replace_current_music:是否立即替换正在播放的音乐。
- carvers:要使用的地形雕刻器。
- air:(可选,可以为空列表)
air雕刻器阶段使用的雕刻器。一个已配置雕刻器的ID,一个已配置雕刻器的标签,或者一个已配置雕刻器对象,或者一个已配置雕刻器ID的列表,或者一个已配置雕刻器对象的列表。 - liquid:(可选,可以为空列表)
liquid雕刻器阶段使用的雕刻器。当前不生效。一个已配置雕刻器的ID,一个已配置雕刻器的标签,或者一个已配置雕刻器对象,或者一个已配置雕刻器ID的列表,或者一个已配置雕刻器对象的列表。
- air:(可选,可以为空列表)
- features:(可以为空)由11个元素组成的列表。每个元素可以是已放置地物标签、已放置地物ID的列表、或已放置地物对象的列表。列举出的地物按步骤按顺序依次应用于每个区块。两个生物群系中同一步骤中相同已放置地物不能以不同的顺序排列。对于每个步骤,所有地物ID在不同生物群系也需要顺序一致。例如,在minecraft:plains中,UNDERGROUND_ORES步骤,ore_dirt在ore_gravel之前,所以在其他生物群系的UNDERGROUND_ORES步骤中,如果存在ore_dirt和ore_gravel,ore_dirt不能在ore_gravel之后。生成步骤也用于结构地物。
- :内部地物类型
RAW_GENERATION(原始生成)。原版中用于小型末地岛屿。 - :内部地物类型
LAKES(湖)。原版中用于熔岩湖。 - :内部地物类型
LOCAL_MODIFICATIONS(局部修改)。原版中用于紫晶洞和冰山。 - :内部地物类型
UNDERGROUND_STRUCTURES(地下结构)。原版中用于主世界的地牢和化石。 - :内部地物类型
SURFACE_STRUCTURES(地表结构)。原版中用于沙漠水井和蓝冰斑块。 - :内部地物类型
STRONGHOLDS(要塞)。原版中不用于任何地物。 - :内部地物类型
UNDERGROUND_ORES(地下矿石)。原版中用于主世界的矿物团簇、主世界的泥土/沙砾/石头变种的团簇,以及湖中生成的沙子/沙砾/黏土的圆盘。 - :内部地物类型
UNDERGROUND_DECORATION(地下装饰)。原版中用于虫蚀方块的团簇、下界的沙砾团簇、下界的黑石团簇,以及其他所有的下界矿物团簇。 - :内部地物类型
FLUID_SPRINGS(流体涌泉)。原版中用于水和熔岩的喷泉。 - :内部地物类型
VEGETAL_DECORATION(植被装饰)。原版中用于树、竹子、仙人掌、海带,以及其他的地表/海底植被。 - :内部地物类型
TOP_LAYER_MODIFICATION(顶层修改)。默认用于地表的冰冻。
- :内部地物类型
- creature_spawn_probability:值越大,世界生成时生成的动物(creature)数量越多。取值为0.0到0.9999999的闭区间。
- spawners:(必选,但可以为空。若不包含某一个生物种类,则不生成此类生物)生物生成设置。
- <生物种类>:(可以为空。若为空,则不生成此类生物)键名可以是
monster、creature、ambient、water_creature、underground_water_creature、water_ambient、misc或axolotls。一个生成数据的对象的列表,列表的每一项都对应一种应该在该生物群系生成的生物。- :单个生物的生成数据。
- type:该生物的命名空间ID。
- weight:该生物的生成权重,更高的值代表更多的生成。
- minCount:成群生成时的最低数量。
- maxCount:成群生成时的最高数量。
- :单个生物的生成数据。
- <生物种类>:(可以为空。若为空,则不生成此类生物)键名可以是
- spawn_costs:(必选,但可以为空。只有在此对象中列出的生物才使用生成势机制)生成势。以一套类似于模拟真空中的点电荷系统的机制控制该生物群系内生成生物的数量与密度。详见生成#生成势
- <实体ID>:生成的实体。
- energy_budget:电势预算。生成此实体时能消耗最大能量。在宏观意义上看,此值越小生成的越少。
- charge:此次生成放置的点电荷的电荷量。每次生成都在之前放置的点电荷的基础上试图将一个点电荷从无穷远处移动到目标点,计算电势能并比较以决定是否生成。在宏观意义上看,此值越大生成的越少。
- <实体ID>:生成的实体。
生物群系分类
生物群系分类被用于以下几个游戏机制:
- 所有在
ocean的生物群系会被游戏认为是海洋温度分类的一部分;其他温度分类被其生物群系的温度值所控制。这意味着在ocean分类下的生物群系通常应当放在一起。 - 若玩家位于
ocean和river分类下的生物群系,他们在水下听到的是水下音乐而非一般的音乐。 - 僵尸围城和灾厄巡逻队不会在
mushroom分类下的生物群系内生成。 - 生成于
desert分类下的生物群系的兔子的纹理总是沙漠样式的,除非该生物群系的precipitation设定为snow。 - 生物在
water_ambient分类下的生物群系生成的频率比在river分类下的要低很多。 - 海底神殿不会生成于不在
ocean或river分类下的生物群系。
地形雕刻器
地形雕刻器(Carver)用于添加雕刻出的生物群系的范围,这个范围会被空气或液体代替。其以JSON文件的形式存储在数据包的data/<命名空间>/worldgen/configured_carver目录下。
JSON格式
根标签
- type: 使用的洞穴类型,必须是以下中的一种:
"cave"(洞穴)、"nether_cave"(下界洞穴)、"canyon"(峡谷)、"underwater_canyon"(水下峡谷)或"underwater_cave"(水下洞穴)。 - config: 参见下方。
- type: 使用的洞穴类型,必须是以下中的一种:
所有雕刻器类型共用的:
- config:雕刻器的配置值。
- probability:每个区块尝试生成此雕刻器的概率,必须是0到1之间。
- y:高度提供器。雕刻器尝试生成在此高度。
- 高度提供器
- yScale:浮点提供器。垂直缩放被雕刻的区域。
- 浮点提供器
- lava_level:熔岩开始生成在此垂直锚点。
- 一个垂直锚点的选项
- aquifers_enabled:如果为true,则会生成含水层。
如果雕刻器类型为"cave"、"nether_cave"或"underwater_cave":
- config:雕刻器的配置值。
如果雕刻器类型为"canyon"或"underwater_canyon":
- config:雕刻器的配置值。
地表生成器
地表生成器(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: 地表生成器的配置。
- type:
地物
地物(Feature)是世界中独特的元素,如花、树木、矿石等。其以JSON文件的形式存储在数据包的data/<命名空间>/worldgen/configured_feature目录下。
JSON格式
当一项地物在设置中依赖另一项配置过的地物时,可以填写该配置过的地物的命名空间ID,或写一个复合标签,作为一个嵌套定义。
- 根标签
- type:地物类型ID。
- config:此已配置的地物的配置。配置项由
type决定。任何不在此下方列出的名称不含有配置项,但其定义中仍须包含一个空的config对象。
type是tree:- ignore_vines:(可选,默认为false)是否忽略藤蔓。
- force_dirt:(可选,默认为false)是否强制把泥土转换为 dirt_provider所指定的方块。
- trunk_provider:作为树干的方块。注意当树干放置器为
fancy_trunk_placer时,须使用含axis状态的方块,如原木。- 方块状态提供器
- foliage_provider:作为树叶的方块。
- 方块状态提供器
- dirt_provider:作为泥土的方块。
- 方块状态提供器
- minimum_size:树木的最小尺寸。
- min_clipped_height:(可选)最小剪裁高度,取值为0到80的闭区间。如果树木可生长的空间低于树干的高度,只要大于或等于此值就会生成。如果未指定,只要空间低于树干高度,树就不会生成。
- type:最小尺寸的类型,必须为
two_layers_feature_size(两层尺寸限制)或three_layers_feature_size(三层尺寸限制)。- 如果
type是two_layers_feature_size,附加的参数如下:
- 如果
- limit:(可选,默认为1)高于此高度尺寸将限制在
upper_size下,反之限制在lower_size下,取值为0到81的闭区间。 - lower_size:(可选,默认为0)低于
limit高度的尺寸限制,取值为0到16的闭区间。 - upper_size:(可选,默认为1)高于
limit高度的尺寸限制,取值为0到16的闭区间。- 如果
type是three_layers_feature_size,附加的参数如下:
- 如果
- limit:(可选,默认为1)低于此高度尺寸将限制在
lower_size下,取值为0到80的闭区间。 - upper_limit:(可选,默认为1)高于此高度尺寸将限制在
upper_size下,取值为0到80的闭区间。 - lower_size:(可选,默认为0)低于
limit高度的尺寸限制,取值为0到16的闭区间。 - middle_size:(可选,默认为1)高于
limit高度并低于upper_limit高度的尺寸限制,取值为0到16的闭区间。 - upper_size:(可选,默认为1)高于
upper_limit高度的尺寸限制,取值为0到16的闭区间。
- root_placer:(可选)控制树根的生成方式。
- type:树根放置器的类型,目前只有
mangrove_root_placer。 - root_provider:作为树根的方块。
- 方块状态提供器
- trunk_offset_y:与树干垂直方向上的偏移。
- 整数提供器
- above_root_placement:(可选)控制根上方方块的生成。
- above_root_provider:作为根上方的方块。
- 方块状态提供器
- above_root_placement_chance:生成此方块的概率,取值为0.0到1.0的闭区间。
- 如果
type是mangrove_root_placer,附加的参数如下:
- above_root_provider:作为根上方的方块。
- mangrove_root_placement:红树根放置参数。
- max_root_width:根的最大宽度,取值为1到12的闭区间。
- max_root_length:根的最大长度,取值为1到64的闭区间。
- random_skew_chance:随机偏移的概率,取值为0.0到1.0的闭区间。
- can_grow_through:一个方块ID或方块标签,或者一个方块ID的列表。根可以生长穿过的方块。
- muddy_roots_in:一个方块ID或方块标签,或者一个方块ID的列表。根在其中会变为沾泥根的方块。
- muddy_roots_provider:作为沾泥的根的方块。
- 方块状态提供器
- type:树根放置器的类型,目前只有
- trunk_placer:控制树干的生成方式。
- base_height:树干的基础高度,取值为0到32的闭区间。
- height_rand_a:树干的随机额外高度,取值为0到24的闭区间。
- height_rand_b:树干的随机额外高度,取值为0到24的闭区间。
- type:树干放置器的类型,必须为下列值之一:
straight_trunk_placer(竖直型)、giant_trunk_placer(2x2竖直型)、forking_trunk_placer(单分叉型)、fancy_trunk_placer(多分叉型)、mega_jungle_trunk_placer(大丛林木型),dark_oak_trunk_placer(深色橡木型)、bending_trunk_placer(弯曲型)或upwards_branching_trunk_placer(树枝型)。- 如果
type为bending_trunk_placer,附加的参数如下:
- 如果
- bend_length:弯曲长度,取值为1到64的闭区间。
- 整数提供器
- min_height_for_leaves:(可选,默认为1)生成树叶的最小高度,取值为正整数。
- 如果
type为upwards_branching_trunk_placer,附加的参数如下:
- 如果
- extra_branch_steps:生成额外树枝的步骤数,取值为正整数。
- 整数提供器
- extra_branch_length:生成额外树枝长度,取值为非负整数。
- 整数提供器
- place_branch_per_log_probability:每块原木产生树枝的概率,取值为0.0到1.0的闭区间。
- can_grow_through:一个方块ID或方块标签,或者是方块ID的列表。代表树干能生长穿过的方块。
- foliage_placer:控制树叶的生成方式。
- radius:树叶生成半径,取值为0到16的闭区间。
- 整数提供器
- offset:树叶顶层与树干顶层的间距,取值为0到16的闭区间。
- 整数提供器
- type:树叶放置器的类型,必须为下列值之一:
acacia_foliage_placer(金合欢型)、dark_oak_foliage_placer(深色橡木型)、blob_foliage_placer(橡木/白桦型)、bush_foliage_placer(金字塔型)、fancy_foliage_placer(球型)、jungle_foliage_placer(丛林木型)、spruce_foliage_placer(云杉型)、pine_foliage_placer(稀疏云杉型)、mega_pine_foliage_placer(双层稀疏云杉型)或random_spread_foliage_placer(随机扩散型)。- 如果
type是blob_foliage_placer、bush_foliage_placer、fancy_foliage_placer或jungle_foliage_placer,附加的参数如下:
- 如果
- height:树叶的高度,取值为0到16的闭区间。
- 如果
type是spruce_foliage_placer,附加的参数如下:
- 如果
- trunk_height:树干的高度,取值为0到24的闭区间。
- 整数提供器
- 如果
type是pine_foliage_placer,附加的参数如下:
- height:树叶的高度,取值为0到24的闭区间。
- 整数提供器
- 如果
type是mega_pine_foliage_placer,附加的参数如下:
- crown_height:树冠的高度,取值为0到24的闭区间。
- 整数提供器
- 如果
type是random_spread_foliage_placer,附加的参数如下:
- foliage_height:树叶的高度,取值为1到512的闭区间。
- 整数提供器
- leaf_placement_attempts:树叶生成尝试次数,取值为0到256的闭区间。
- radius:树叶生成半径,取值为0到16的闭区间。
- decorators:(必选,但可以为空)树木除根枝叶外额外的装饰。
- :一个装饰器。
- type:要使用的装饰器的类型。必须为下列值之一:
trunk_vine(树干藤蔓)、leave_vine(树叶藤蔓)、cocoa(可可果)、beehive(蜂巢)、alter_ground(地面方块替换)或attached_to_leaves(树叶装饰)。- 如果
type是leave_vine、cocoa或beehive,附加的参数如下:
- 如果
- probability:生成的概率,取值为0.0到1.0的闭区间。
- 如果
type是alter_ground,附加的参数如下:
- 如果
- provider:用于替换地面的方块。
- 方块状态提供器
- 如果
type是attached_to_leaves,附加的参数如下:
- probability:生成的概率,取值为0.0到1.0的闭区间。
- exclusion_radius_xz:两个装饰物水平距离的最小值,取值为0到16的闭区间。
- exclusion_radius_y:两个装饰物垂直距离的最小值,取值为0到16的闭区间。
- required_empty_blocks:装饰物需要的空方块数量,取值为0到16的闭区间。
- block_provider:装饰物的方块。
- 方块状态提供器
- directions:(不能为空)生成装饰物的方向。
- :一个方向,必须是
up、down、north、south、west或east中的一个。
- :一个方向,必须是
- type:要使用的装饰器的类型。必须为下列值之一:
- :一个装饰器。
type是flower、no_bonemeal_flower或random_patch:- tries:(可选,默认为128)生成尝试次数,取值为正整数。
- xz_spread:(可选,默认为7)水平方向扩散范围,取值为非负整数。
- y_spread:(可选,默认为3)垂直方向扩散范围,取值为非负整数。
- feature:一个已放置地物ID,或者一个已放置地物对象。代表组成该斑块的已放置地物。
type是block_pile:- state_provider:组成该方块堆的方块。
- 方块状态提供器
- state_provider:组成该方块堆的方块。
type是spring_feature:- state:生成涌泉所使用的液体。
- 方块状态
- requires_block_below:(可选,默认为true)决定涌泉下方方块是否必须属于
valid_blocks。 - rock_count:(可选,默认为4)涌泉毗邻的属于
valid_blocks的方块的数量。 - hole_count:(可选,默认为1)涌泉毗邻的空方块数量。
- valid_blocks:一个方块ID或方块标签,或是方块ID的列表。
- state:生成涌泉所使用的液体。
type是replace_single_block:- targets:(必选,但可以为空)替换条件和替换后的方块列表。
- :一项替换条件及其替换后的方块状态。
- target:决定方块是否可以放置的测试。
- 一个规则测试
- state:作为方块生成的方块状态。
- 方块状态
- target:决定方块是否可以放置的测试。
- :一项替换条件及其替换后的方块状态。
- targets:(必选,但可以为空)替换条件和替换后的方块列表。
type是fossil:- max_empty_corners_allowed:允许化石结构角落裸露在空气中的最大数量,取值为0到7的闭区间。
- fossil_structures:(不能为空)候选的化石结构模板。
- :一个化石结构模板的资源路径。
- overlay_structures:(不能为空)候选的延伸结构模板。必须与 fossil_structures元素数量相等。
- :一个延伸结构模板的资源路径。
- fossil_processors:一个“处理器列表”的ID,或者一个处理器的列表,或者一个“处理器列表”对象。处理化石结构模板的处理器。
- overlay_processors:一个“处理器列表”的ID,或者一个处理器的列表,或者一个“处理器列表”对象。处理延伸结构模板的处理器。
type是huge_red_mushroom或huge_brown_mushroom:- cap_provider:组成蘑菇伞盖的方块。
- 方块状态提供器
- stem_provider:组成蘑菇伞柄的方块。
- 方块状态提供器
- foliage_radius:(可选,默认为2)菌盖的大小。
- cap_provider:组成蘑菇伞盖的方块。
type是block_column:- direction:方块柱的方向,必须是
up、down、north、south、west或east中的一个。 - allowed_placement:一个方块谓词,用于决定方块在此处是否可以放置。
- 方块谓词
- prioritize_tip:决定方块柱是从头开始放置还是从尾开始放置。
- layers:(必选,但可以为空)方块柱每层的方块状态信息。
- :方块柱一层的方块状态信息。
- height:这一层的高度,取值为非负整数。
- 整数提供器
- provider:这一层要放置的方块。
- 方块状态提供器
- height:这一层的高度,取值为非负整数。
- :方块柱一层的方块状态信息。
- direction:方块柱的方向,必须是
type是vegetation_patch或waterlogged_vegetation_patch:- surface:覆盖的表面,必须为
floor(地板)或ceiling(天花板)。 - depth:覆盖表面方块的深度,取值为1到128的闭区间。
- 整数提供器
- vertical_range:斑块生成的垂直范围,取值为1到256的闭区间。
- extra_bottom_block_chance:底部额外生成方块的概率,取值为0.0到1.0的闭区间。
- extra_edge_column_chance:边缘额外生成柱子的概率,取值为0.0到1.0的闭区间。
- vegetation_chance:在表面生成植被地物的概率,取值为0.0到1.0的闭区间。
- xz_radius:斑块生成的水平半径。
- 整数提供器
- replaceable:带有
#的方块标签,斑块可以替换的方块。 - ground_state:斑块替换表面的方块。
- 方块状态提供器
- vegetation_feature:一个已放置地物,或者一个已放置地物对象。代表组成该植被斑块的已放置地物。
- surface:覆盖的表面,必须为
type是root_system:- required_vertical_space_for_tree:预留给树木生长的垂直空间,取值为1到64的闭区间。
- root_radius:根系生长的半径,取值为1到64的闭区间。
- root_placement_attempts:根尝试放置的次数,取值为1到256的闭区间。
- root_column_max_height:根系最大高度,取值为1到4096的闭区间。
- hanging_root_radius:垂根生成半径,取值为1到64的闭区间。
- hanging_roots_vertical_span:垂根垂直方向上的广度,取值为0到16的闭区间。
- hanging_root_placement_attempts:垂根尝试放置的次数,取值为1到256的闭区间。
- allowed_vertical_water_for_tree:树生成允许的最大水深,取值为1到64的闭区间。
- root_replaceable:带有
#的方块标签。根可以替换的方块。 - root_state_provider:作为根的方块。
- 方块状态提供器
- hanging_root_state_provider:作为垂根的方块。
- 方块状态提供器
- allowed_tree_position:决定树木是否可以放置的方块谓词。
- 方块谓词
- feature:一个已放置地物ID,或者一个已放置地物对象。代表树木的已放置地物。
type是multiface_growth:- block:(可选,默认为
glow_lichen)要放置的方块,目前必须为glow_lichen或sculk_vein。 - search_range:(可选,默认为10)搜索范围,取值为1到64的闭区间。
- can_place_on_floor:(可选,默认为false)是否可以放置在地板上。
- can_place_on_ceiling:(可选,默认为false)是否可以放置在天花板上。
- can_place_on_wall:(可选,默认为false)是否可以放置在墙上。
- chance_of_spreading:(可选,默认为0.5)传播概率,取值为0.0到1.0的闭区间。
- can_be_placed_on:一个方块ID或方块标签,或是方块ID的列表,代表能放置的依附方块。
- block:(可选,默认为
type是underwater_magma:- floor_search_range:搜索地面的垂直范围,取值为0到512的闭区间。
- placement_radius_around_floor:放置岩浆块的半径,取值为0到64的闭区间。
- placement_probability_per_valid_position:每个位置上生成岩浆块的概率,取值为0.0到1.0的闭区间。
type是iceberg或forest_rock:- state:要放置的方块状态。
- 方块状态
- state:要放置的方块状态。
type是disk:- state_provider:圆盘方块状态的提供器。
- fallback:当所有规则都不满足时,圆盘使用的方块状态。
- 方块状态提供器
- rules:(必选,但可以为空)方块状态的规则。
- :一条规则。
- if_true:判定规则是否成立的方块谓词。
- 方块谓词
- then:规则成立时使用的方块状态。
- 方块状态提供器
- if_true:判定规则是否成立的方块谓词。
- :一条规则。
- fallback:当所有规则都不满足时,圆盘使用的方块状态。
- radius:圆盘半径,取值为0到8的闭区间。
- 整数提供器
- half_height:圆盘半高,取值为0到4的闭区间。
- target:决定方块是否可以放置的方块谓词。
- 方块谓词
- state_provider:圆盘方块状态的提供器。
type是lake:- fluid:湖使用的流体方块。
- 方块状态提供器
- barrier:湖周围的阻挡方块。
- 方块状态提供器
- fluid:湖使用的流体方块。
type是ore或scattered_ore:- size:矿物的大小,取值为0到64的闭区间。
- discard_chance_on_air_exposure:如果矿石将在空气中放置,取消这次生成的概率,取值为0.0到1.0的闭区间。
- targets:(必选,但可以为空)替换条件和替换后的方块列表。
- :一项替换条件及其替换后的方块状态。
- target:决定矿石是否可以放置的测试。
- 一个规则测试
- state:作为矿石生成的方块状态。
- 方块状态
- target:决定矿石是否可以放置的测试。
- :一项替换条件及其替换后的方块状态。
type是end_spike:- crystal_invulnerable:(可选,默认为false)决定生成在黑曜石柱上的末地水晶是否为无敌的。
- crystal_beam_target:(可选)所有末地水晶光柱指向的方块位置,是一个只有三个整数的列表。
- 该位置的X坐标。
- 该位置的Y坐标。
- 该位置的Z坐标。
- spikes:(必选,但可以为空。如果为空,使用游戏默认的随机黑曜石柱)每一处黑曜石柱单独的设置。
- :一处黑曜石柱。
- centerX:(可选,默认为0)黑曜石柱中心的X坐标。
- centerZ:(可选,默认为0)黑曜石柱中心的Z坐标。
- radius:(可选,默认为0)黑曜石柱的半径。
- height:(可选,默认为0)黑曜石柱的高度。
- guarded:(可选,默认为false)黑曜石柱上方是否有铁栏杆笼。
- :一处黑曜石柱。
type是end_gateway:- exact:决定是否进行精准传送。为true时折跃门将精确地将实体传送到出口位置,反之则传送到出口位置附近的最佳位置。
- exit:(可选)末地折跃门的出口位置,是一个只有三个整数的列表。
- 该位置的X坐标。
- 该位置的Y坐标。
- 该位置的Z坐标。
type是bamboo:- probability:在竹子下方放置灰化土的概率的概率。取值为0.0到1.0的闭区间。
type是seagrass:- probability:放置高海草而不是海草的概率。取值为0.0到1.0的闭区间。
type是sea_pickle:- count:生成海泡菜方块的最大数量,取值为0到256的闭区间。
- 整数提供器
- count:生成海泡菜方块的最大数量,取值为0到256的闭区间。
type是simple_block:- to_place:要放置的方块。
- 方块状态提供器
- to_place:要放置的方块。
type是huge_fungus:- valid_base_block:巨型菌类下方有效的方块状态。
- 方块状态
- stem_state:组成菌柄的方块。
- 方块状态
- hat_state:组成菌盖的方块。
- 方块状态
- decor_state:用于点缀的方块。
- 方块状态
- planted:(可选,默认为false)代表此菌类是否是被种植的。如果为false,则不能超过世界天花板,可以替换材料为植物的方块,替换其他方块时不掉落物品。
- valid_base_block:巨型菌类下方有效的方块状态。
type是nether_forest_vegetation:- state_provider:放置地物时要使用的方块。
- 方块状态提供器
- spread_width:地物扩散的最大水平宽度为
spread_width * 2 -1。取值为正整数。 - spread_height:地物扩散的最大的垂直高度为
spread_height * 2 -1。取值为正整数。
- state_provider:放置地物时要使用的方块。
type是twisting_vines:- spread_width:地物扩散的最大水平宽度为
spread_width * 2 + 1。取值为正整数。 - spread_height:地物扩散的最大的垂直高度为
spread_height * 2 + 1。取值为正整数。 - max_height:缠怨藤最大高度为
max_height * 2,最小高度为1。取值为正整数。
- spread_width:地物扩散的最大水平宽度为
type是basalt_columns:- reach:该玄武岩柱簇内单个玄武岩柱的最大半径,取值为0到3的闭区间。
- 整数提供器
- height:玄武岩柱的高度为
height + 1,取值为1到10的闭区间。- 整数提供器
- reach:该玄武岩柱簇内单个玄武岩柱的最大半径,取值为0到3的闭区间。
type是delta_feature:- contents:组成三角洲主体的方块。
- 方块状态
- rim:三角洲边缘的方块。
- 方块状态
- size:三角洲的大小,取值为0到16的闭区间。
- 整数提供器
- rim_size:三角洲边缘的大小,取值为0到16的闭区间。
- 整数提供器
- contents:组成三角洲主体的方块。
type是netherrack_replace_blobs:- target:要替换的目标方块状态。
- 方块状态
- state:替换使用的方块状态。
- 方块状态
- radius:替换半径,取值为0到12的闭区间。
- 整数提供器
- target:要替换的目标方块状态。
type是fill_layer:- height:填充层的高度,取值为0到4064的闭区间。
- state:用于填充的方块状态。
- 方块状态
type是random_selector:- features:(必选,但可以为空)一个可供从中随机选择的已放置地物的列表。按照从上到下的顺序依次尝试,根据生成概率生成该已放置地物或是尝试下一个。
- :一种已配置的地物与其对应的生成概率。
- chance:生成概率,取值为0.0到1.0的闭区间。
- feature:一个已放置地物ID,或者一个已放置地物对象。
- :一种已配置的地物与其对应的生成概率。
- default:一个已放置地物ID,或者一个已放置地物对象。若未上述列表中的均未生成,使用生成已配置的地物。
- features:(必选,但可以为空)一个可供从中随机选择的已放置地物的列表。按照从上到下的顺序依次尝试,根据生成概率生成该已放置地物或是尝试下一个。
type是simple_random_selector:- features:(不能为空列表)一个已放置地物ID或已放置地物标签,或者一个已放置地物对象,或者一个已放置地物ID的列表,或一个已放置地物对象的列表。供从中等概率随机选择一个已放置地物。
type是random_boolean_selector:- feature_true:一个已放置地物ID,或一个已放置地物对象。若随机生成的布尔值为真,使用的已放置地物。
- feature_false:一个已放置地物ID,或一个已放置地物对象。若随机生成的布尔值为假,使用的已放置地物。
type是geode:- blocks:晶洞使用的各种方块状态的集合。
- filling_provider:晶洞内填充的方块状态。
- 方块状态提供器
- inner_layer_provider:晶洞内层的方块状态。
- 方块状态提供器
- alternate_inner_layer_provider:晶洞内层的交替使用的方块状态。
- 方块状态提供器
- middle_layer_provider:晶洞中层的方块状态。
- 方块状态提供器
- outer_layer_provider:晶洞外层的方块状态。
- 方块状态提供器
- inner_placements:(不能为空)内层放置物的方块状态的集合。
- :内层可以放置的方块状态。
- 方块状态
- :内层可以放置的方块状态。
- cannot_replace:带有
#的方块标签。晶洞不能替换的方块。 - invalid_blocks:带有
#的方块标签。晶洞的无效方块。由于bug,该字段填写任何值均会被视为#minecraft:geode_invalid_blocks。另外,空气也是无效方块。
- filling_provider:晶洞内填充的方块状态。
- layers:晶洞内各层的厚度集合,值越大,该层的最大半径越大。
- filling:(可选,默认为1.7)填充层,取值为0.01到50.0的闭区间。
- inner_layer:(可选,默认为2.2)内层,取值为0.01到50.0的闭区间。
- middle_layer:(可选,默认为3.2)中层,取值为0.01到50.0的闭区间。
- outer_layer:(可选,默认为4.2)外层,取值为0.01到50.0的闭区间。
- crack:晶洞生成裂缝的配置。
- generate_crack_chance:(可选,默认为1.0)产生裂缝的概率,取值为0.0到1.0的闭区间。
- base_crack_size:(可选,默认为2.0)裂缝的基础大小,取值为0.0到5.0的闭区间。
- crack_point_offset:(可选,默认为2)裂缝生成点的偏移,取值为0到10的闭区间。
- noise_multiplier:(可选,默认为0.05)噪声乘数,取值为0.0到1.0的闭区间。
- use_potential_placements_chance:(可选,默认为0.35)在内部生成内部放置物 inner_placements的概率,取值为0.0到1.0的闭区间。
- use_alternate_layer0_chance:(可选,默认为0.0)内层方块为 alternate_inner_layer_provider的概率,取值为0.0到1.0的闭区间。
- placements_require_layer0_alternate:(可选,默认为true)内部放置物是否只能生成在 alternate_inner_layer_provider提供的方块上。。
- outer_wall_distance:(可选,默认为4到5的均匀分布整数)决定中心相对于地物起始点的各轴上的距离,取值为1到20的闭区间。
- 整数提供器
- distribution_points:(可选,默认为3到4的均匀分布整数)分布点数量,取值为1到20的闭区间。
- 整数提供器
- invalid_blocks_threshold:无效方块最大限值。在晶洞的中心附近进行
distribution_points次检测,发现的无效方块数量超过此数字则不生成。 - point_offset:(可选,默认为1到2的均匀分布整数)偏移,取值为1到10的闭区间。
- 整数提供器
- min_gen_offset:(可选,默认为-16)方块距离中心点最小切比雪夫距离。
- max_gen_offset:(可选,默认为16)方块距离中心点最大切比雪夫距离。
- blocks:晶洞使用的各种方块状态的集合。
type是dripstone_cluster:- floor_to_ceiling_search_range:搜索地板和天花板的最大垂直范围,取值为1到512的闭区间。
- height:滴水石簇的高度,取值为1到128的闭区间。
- 整数提供器
- radius:滴水石簇的半径,取值为1到128的闭区间。
- 整数提供器
- max_stalagmite_stalactite_height_diff:石笋与钟乳石的最大高度差,取值为0到64的闭区间。
- height_deviation:高度偏差,取值为1到64的闭区间。
- dripstone_block_layer_thickness:滴水石块层的厚度,取值为0到128的闭区间。
- 整数提供器
- density:密度,取值为0.0到2.0的闭区间。
- 浮点提供器
- wetness:湿度,取值为0.0到2.0的闭区间。
- 浮点提供器
- chance_of_dripstone_column_at_max_distance_from_center:在边缘上生成滴水石块的概率,取值为0.0到1.0的闭区间。
- max_distance_from_edge_affecting_chance_of_dripstone_column:影响滴水石柱生成概率的离边缘的最大距离,取值为1到64的闭区间。
- max_distance_from_center_affecting_height_bias:影响高度偏差的离中心的最大距离,取值为1到64的闭区间。
type是large_dripstone:- floor_to_ceiling_search_range:(可选,默认为30)起始点与地板和天花板的最大垂直距离,取值为1到512的闭区间。
- column_radius:半径的最小值和最大值。请注意,此整数提供器不提供单个整数,而是提供它的最小值和最大值。取值为1到60的闭区间。请参阅该图表。
- 整数提供器
- height_scale:值越大高度越高,取值为0.0到20.0的闭区间。
- 浮点提供器
- max_column_radius_to_cave_height_ratio:最大半径与洞穴高度的比,取值为0.1到1.0的闭区间。
- stalactite_bluntness:截断钟乳石的尖端。值越大高度越低,取值为0.1到10.0的闭区间。
- 浮点提供器
- stalagmite_bluntness:截断石笋的尖端。值越大高度越低,取值为0.1到10.0的闭区间。
- 浮点提供器
- wind_speed:值越大,倾角越大,取值为0.0到2.0的闭区间。
- 浮点提供器
- min_radius_for_wind:风生效的最小半径,取值为0到100的闭区间。
- min_bluntness_for_wind:风生效的最小钝度,取值为0.0到5.0的闭区间。
type是pointed_dripstone:- chance_of_taller_dripstone:(可选,默认为0.2)生成两格高的滴水石锥的概率,取值为0.0到1.0的闭区间。
- chance_of_directional_spread:(可选,默认为0.7)滴水石锥向某一个水平方向扩散的概率,取值为0.0到1.0的闭区间。
- chance_of_spread_radius2:(可选,默认为0.5)水平扩散两格的概率,取值为0.0到1.0的闭区间。
- chance_of_spread_radius3:(可选,默认为0.5)水平扩散两格后再扩散第三格的概率,取值为0.0到1.0的闭区间。
type是sculk_patch:- charge_count:信号的数量,取值为1到32的闭区间。
- amount_per_charge:每条信号的初始能量,取值为1到500的闭区间。
- spread_attempts:进行传播的尝试次数,取值为1到64的闭区间。
- growth_rounds:进行生成的次数,取值为0到8的闭区间。
- spread_rounds:进行传播的次数,取值为0到8的闭区间。
- extra_rare_growths:额外生成幽匿尖啸体的数量。
- 整数提供器
- catalyst_chance:生成幽匿催发体的概率,取值为0.0到1.0的闭区间。
数据种类
上述JSON格式会反复用到以下这些复杂的数据类型,为了避免污染主JSON格式树的排版和重复添加这些内容,它们被移动到了这里。
自定义世界生成/data types
地物名称
以下为地物的所有有效名称:
no_opchorus_plantvoid_start_platformdesert_wellfossilice_spikeglowstone_blobfreeze_top_layervinesmonster_roomblue_iceend_islandkelpcoral_treecoral_mushroomcoral_clawweeping_vinestwisting_vinesbonus_chestbasalt_pillartreeflowerrandom_patchblock_pilenether_forest_vegetationspring_featureemerald_orehuge_red_mushroomhuge_brown_mushroomicebergforest_rocklakediskice_patchoreno_surface_oreend_spikeend_gatewayseagrassbamboosea_picklesimple_blockhuge_fungusbasalt_columnsdelta_featurenetherrack_replace_blobsfill_layerrandom_selectorsimple_random_selectorrandom_boolean_selectordecorateddecorated_flower
装饰器
装饰器(Decorator)能以多种方式来改变地物的生成。
JSON格式
- type:已配置的装饰器的类型。必须是以下列出的一种类型之一。
- config: 该装饰器的设置。设置的属性根据
type的不同而不同。在此标签下方未列出的名字不含有任何设置;但是这种情况下也依然必须设置一个空的config对象。- 若
type为chance、lava_lake或water_lake:- chance:
[需要测试] 该地物生成的概率。
- chance:
- 若
type为count、fire、glowstone或count_multilayer:- count:
[需要测试] - 均匀分布整数,其中
minBase为-10,maxBase为128,maxSpread为128。
- 均匀分布整数,其中
- count:
- 若
type为count_noise: - 若
type为count_noise_biased: - 若
type为count_extra: - 若
type为range、range_biased或range_very_biased: - 若
type为depth_average: - 若
type为carving_mask: - 若
type为decorated:
- 若
装饰器名称
以下为自定义装饰器的所有有效名称:
nopesquareheightmapheightmap_spread_doubletop_solid_heightmapheightmap_world_surfacespread_32_abovemagmaemerald_oreend_gatewaydark_oak_treeicebergend_islandchancelava_lakewater_lakecountfireglowstonecount_multilayercount_noisecount_noise_biasedcount_extrarangerange_biasedrange_very_biaseddepth_averagecarving_maskdecorated
结构地物
结构地物(Structure feature)是一种特殊的生成结构的地物,其以JSON文件的形式存储在数据包的data/<命名空间>/worldgen/configured_structure_feature目录下。目前尚不清楚普通地物和结构地物之间的区别标准。地牢和沙漠水井通常被认定为结构,但此处它们不是结构地物。以及,下界化石是结构地物,但普通的化石并不是,虽然本质上它们一致。
JSON格式
- 根标签
- type: 结构地物的类型。必须是以下列出的类型的一种。
- config: 该种结构地物的设定,随着
type的不同而不同。未在该标签树内列出的名字无可用设定,但此时定义中依然必须包含一个空的config对象。- 若
type为pillager_outpost、village或bastion_remnant:- start_pool: (起始池)起始的结构池/模板池的命名空间ID。
- size:
[需要测试] 必须在0到7之间(含)。
- 若
type为mineshaft: - 若
type为ruined_portal:- portal_type:
[需要测试] 必须为 "standard"、"desert"、"jungle"、"swamp"、"mountain"、"ocean"或"nether"。
- portal_type:
- 若
type为shipwreck:- is_beached(可选):
[需要测试] 沉船是否搁浅。若不填,默认为 false。
- is_beached(可选):
- 若
type为ocean_ruin: - 若
type为buried_treasure:- probability:
[需要测试] 0到1之间的浮点数概率。
- probability:
- 若
结构地物名称
以下为结构地物的所有有效名称:
mansionjungle_pyramiddesert_pyramidiglooswamp_hutstrongholdmonumentfortressendcitynether_fossilpillager_outpostvillagebastion_remnantmineshaftruined_portalshipwreckocean_ruinburied_treasure
拼图池
拼图池(Jigsaw pool)或模板池(Template pool)使用拼图方块,用于生成结构。其以JSON文件的形式存储在数据包的data/<命名空间>/worldgen/template_pool目录下。
JSON格式
- 根标签
- name:该池的命名空间ID。必填,但无任何作用。
- fallback:回落池,可以被设定为另一模板池。回落池中定义的模板会在以下两种情况下生成:1.当拼图方块生成达到预定层数时,回落池会生成在最后一层的末尾。以上两种情况下,游戏会试图从回落池加载一个模板来替代原先的模板进行生成。当回落池中的模板尝试生成时,如果该回落池中任意一个元素也都无法成功生成,
2.当拼图方块试图加载的结构池中所有元素都无法成功生成。
则不会生成任何东西。否则,回落池中的模板将成功生成。 - elements:一个可供选择的元素列表。在拼图结构地物的起始结构池中,随机选取一个元素,若指定了起始拼图方块名称,但该元素没有找到对应名称的拼图方块,结构地物将生成失败。在非起始结构池中,随机选取一个元素,满足以下条件才能成功生成:1.存在对应名称、对应方向(水平的拼图方块相互对应、朝上和朝下的拼图方块相互对应)的拼图方块。若无法成功生成,将会再去尝试该列表中的其他元素,如果全部都无法成功生成,将尝试使用回落池。
2.将生成的该元素方块与结构起始点的三维切比雪夫距离不会超过该已配置结构地物中指定的最大距离,或使用命令或拼图方块GUI生成时不超过128。
3.将生成的该元素不会与生成的其他拼图发生重叠,除非拼图方块指向的方块位于当前拼图内部。
4.拼图方块指向的方块位于当前拼图内部,则该元素与之后生成的所有拼图都必须完全位于该拼图方块所在拼图的内部。- :一个元素。
- weight:值越大,该元素就越有可能被优先选中。取值为1到150的闭区间。
- element:该元素的属性
- projection:可为
rigid或terrain_matching。决定生成的高度是否匹配地形高度。 - element_type:必须为以下列出的类型之一,也可为
empty_pool_element以不生成任何内容。- 如果
element_type是feature_pool_element,附加的参数如下:
- 如果
- feature:要使用的已放置的地物的命名空间ID。
- 如果
element_type是list_pool_element,附加的参数如下:
- 如果
- elements:一个可供选择的结构列表。
[需要测试]。 - 一个元素:与该元素结构相同。
- 如果
element_type是legacy_single_pool_element或single_pool_element,附加的参数如下。两者的区别在于,legacy_single_pool_element不会生成结构模板中的空气方块,就如同空气方块是结构空位一样。
- location:要放置的结构模板的命名空间ID。
- processors:“处理器列表”的命名空间ID,或一个“处理器列表”对象,或者一个处理器的列表。
- projection:可为
- :一个元素。
处理器列表
处理器列表(Processor list)是用于在结构中处理方块的处理器的列表。其以JSON文件的形式存储在数据包的data/<命名空间>/worldgen/processor_list目录下。
JSON格式
自定义世界生成/processor list
方块处理谓词
自定义世界生成/processor list/predicate
历史
| Java版 | |||||
|---|---|---|---|---|---|
| 1.16.2 | 20w28a | 加入了对自定义世界生成的支持。 | |||
| 20w29a | 噪声设置被移动到了worldgen下。 | ||||
| 1.17 | 21w06a | 在“噪声设置”部分加入了 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。 | ||||
注释
外部链接
- 原版世界生成设置(直接下载)
| 组件 |
| ||
|---|---|---|---|
| 数据包 | |||
| 教程 | |||