教程:自定义世界生成
对于数据包和模组创作者来说,自定义世界生成通常是十分复杂且困难的。要想创造出一个较为完善的世界,有必要参考原版中世界生成的方式。
本教程选取1.20.1中的部分原版世界生成文件进行大致解读,方便创作者阅读和理解原版世界生成。
如何获取原版世界生成文件[编辑 | 编辑源代码]
在1.19.3的22w42a及之后的版本,大部分世界生成文件都可以在client.jar或server.jar的data/minecraft/
目录下找到。但在世界预设中并不包含原版主世界和下界维度的生物群系预设参数。
通过数据生成器可以直接生成所有原版数据包文件,以及主世界和下界维度的生物群系预设参数。
你也可以在Slicedlime的github上获取22w42a以前的原版世界生成文件,位于examples仓库中。仓库历史中缺失的版本意味着在这些版本里原版世界生成文件没有发生变动。
主世界最终密度函数[编辑 | 编辑源代码]
主世界最终密度函数是位于worldgen/noise_settings/overworld.json内的final_density
字段。
{ //主世界最终密度函数
- "type": "minecraft:min",
- "argument1":
- { //使其值更接近0,影响含水层各水域间分隔的生成,final_density的负值越小,分隔越不易生成
- "type": "minecraft:squeeze",
- "argument": {
- "type": "minecraft:mul",
- "argument1": 0.64,
- "argument2":
- { //插值
- "type": "minecraft:interpolated",
- "argument":
- { //与旧版区块衔接
- "type": "minecraft:blend_density",
- "argument":
- { //从Y=-40到Y=-64,密度函数值逐渐变为固定值0.1171875,以避免洞穴过深暴露甚至穿透基岩层
- "type": "minecraft:add",
- "argument1": 0.1171875,
- "argument2": {
- "type": "minecraft:mul",
- "argument1": {
- "type": "minecraft:y_clamped_gradient",
- "from_y": -64,
- "to_y": -40,
- "from_value": 0,
- "to_value": 1
- },
- "argument2": {
- "type": "minecraft:add",
- "argument1": -0.1171875,
- "argument2":
- { //从Y=240到Y=256,密度函数值逐渐变为固定值-0.078125,以避免生成过高原形
- "type": "minecraft:add",
- "argument1": -0.078125,
- "argument2": {
- "type": "minecraft:mul",
- "argument1": {
- "type": "minecraft:y_clamped_gradient",
- "from_y": 240,
- "to_y": 256,
- "from_value": 1,
- "to_value": 0
- },
- "argument2": {
- "type": "minecraft:add",
- "argument1": 0.078125,
- "argument2":
- { //以sloped_cheese的1.5625为分界线,分为地表和地下
- "type": "minecraft:range_choice",
- "input": "minecraft:overworld/sloped_cheese",
- "min_inclusive": -1000000,
- "max_exclusive": 1.5625,
- "when_in_range":
- { //地表
- "type": "minecraft:min",
- "argument1": "minecraft:overworld/sloped_cheese", //决定了地形表面的高度和形状
- "argument2":
- { //噪声洞穴入口,即连通地表与地下洞穴的一些洞穴
- "type": "minecraft:mul",
- "argument1": 5,
- "argument2": "minecraft:overworld/caves/entrances"
- }
- },
- "when_out_of_range":
- { //地下
- "type": "minecraft:max",
- "argument1":
- { //意面、芝士洞穴与洞穴入口,取两次最小值相对于取三者的最小值。这里有必要再次调用洞穴入口,否则洞穴入口只在地表生成而被切断
- "type": "minecraft:min",
- "argument1":
- { //芝士洞穴与洞穴入口
- "type": "minecraft:min",
- "argument1":
- { //芝士洞穴
- "type": "minecraft:add",
- "argument1":
- { //使洞穴更小且形状更不规则。该部分永远为正
- "type": "minecraft:mul",
- "argument1": 4,
- "argument2": {
- "type": "minecraft:square",
- "argument": {
- "type": "minecraft:noise",
- "noise": "minecraft:cave_layer",
- "xz_scale": 1,
- "y_scale": 8
- }
- }
- },
- "argument2":
- {
- "type": "minecraft:add",
- "argument1":
- { //芝士洞穴的主体。只有该部分小于零的地方才能生成芝士洞穴
- "type": "minecraft:clamp",
- "input": {
- "type": "minecraft:add",
- "argument1": 0.27,
- "argument2": {
- "type": "minecraft:noise",
- "noise": "minecraft:cave_cheese",
- "xz_scale": 1,
- "y_scale": 0.6666666666666666
- }
- },
- "min": -1,
- "max": 1
- },
- "argument2":
- { //靠近地表时增加密度,减少靠近地表的芝士洞穴生成。该部分在sloped_cheese的值大于2.34375时为0,在2.34375和1.5626之间逐渐增加,在1.5625时为0.5
- "type": "minecraft:clamp",
- "input": {
- "type": "minecraft:add",
- "argument1": 1.5,
- "argument2": {
- "type": "minecraft:mul",
- "argument1": -0.64,
- "argument2": "minecraft:overworld/sloped_cheese"
- }
- },
- "min": 0,
- "max": 0.5
- }
- }
- },
- "argument2": "minecraft:overworld/caves/entrances" //洞穴入口
- },
- "argument2":
- { //意面洞穴
- "type": "minecraft:add",
- "argument1": "minecraft:overworld/caves/spaghetti_2d",
- "argument2": "minecraft:overworld/caves/spaghetti_roughness_function"
- }
- },
- "argument2":
- { //噪声洞穴里的噪声柱
- "type": "minecraft:range_choice",
- "input": "minecraft:overworld/caves/pillars",
- "min_inclusive": -1000000,
- "max_exclusive": 0.03,
- "when_in_range": -1000000,
- "when_out_of_range": "minecraft:overworld/caves/pillars"
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- },
- "argument2": "minecraft:overworld/caves/noodle" //面条洞穴
}
其中调用的用于决定地形表面高度和形状的sloped_cheese位于data/minecraft/worldgen/density_function/overworld/sloped_cheese.json。
{ //sloped_cheese
- "type": "minecraft:add",
- "argument1":
- { //乘上因子
minecraft:overworld/factor
以确定三维地形的位置。并使正值乘上4,以避免地形较深处受base_3d_noise的影响
- "type": "minecraft:mul",
- "argument1": 4.0,
- "argument2": {
- "type": "minecraft:quarter_negative",
- "argument": {
- "type": "minecraft:mul",
- "argument1":
- {
- "type": "minecraft:add",
- "argument1": "minecraft:overworld/depth", //决定一般情况下的地形表面高度,地形表面上方为负值,下方为正值
- "argument2":
- { //在较高的山地增加或减小密度,获得尖锐的锯齿状小型山峰。该部分为二维的密度函数。
- "type": "minecraft:mul",
- "argument1": "minecraft:overworld/jaggedness", //使用样条函数,根据大陆性、侵蚀度、PV值和奇异度确定山脉的位置。在大部分地方为0,在高大陆性、低侵蚀度、高PV值的地方为正,且在奇异值为负的地方数值更大
- "argument2": { //噪声因子,将山脉化为小型山峰
- "type": "minecraft:half_negative",
- "argument": {
- "type": "minecraft:noise",
- "noise": "minecraft:jagged",
- "xz_scale": 1500.0,
- "y_scale": 0.0
- }
- }
- }
- },
- "argument2": "minecraft:overworld/factor" //该因子使用样条函数,根据大陆性、侵蚀度、奇异性和PV值来确定三维地形的位置,永远为正,在风袭类生物群系应该生成的位置数值较小,在其他地方数值较大以减小base_3d_noise的影响
- }
- }
- },
- "argument2": "minecraft:overworld/base_3d_noise" //三维的噪声,用于创建三维的地表
}
其中sloped_cheese中调用的用于决定一般地形表面高度的depth位于data/minecraft/worldgen/density_function/overworld/depth.json。
{ //depth
- "type": "minecraft:add",
- "argument1":
- { //每下降1格,深度增加1⁄128(0.0078125),在Y=128时为0
- "type": "minecraft:y_clamped_gradient",
- "from_value": 1.5,
- "from_y": -64,
- "to_value": -1.5,
- "to_y": 320
- },
- "argument2": "minecraft:overworld/offset" //使用样条函数,根据大陆性、侵蚀度和PV值决定地形的高度偏移
}
主世界地表规则[编辑 | 编辑源代码]
主世界地表规则是位于worldgen/noise_settings/overworld.json内的surface_rule
字段。
{ //主世界地表规则
- "type": "minecraft:sequence",
- "sequence": [
- //基岩层
- {
- "type": "minecraft:condition",
- "if_true": //Y=-64为基岩,Y=-64到Y=-60使用噪声渐变。
- {
- "type": "minecraft:vertical_gradient",
- "random_name": "minecraft:bedrock_floor",
- "true_at_and_below": {
- "above_bottom": 0
- },
- "false_at_and_above": {
- "above_bottom": 5
- }
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:bedrock"
- }
- }
- },
- //表层(例如平原的草方块和泥土)
- {
- "type": "minecraft:condition",
- "if_true": { //是否要尝试生成表层(例如平原的草方块和泥土)。preliminary_surface为initial_density_without_jaggedness产生的初始地表高度向下整体偏移约2到8格后的高度,该高度通常相对于实际表层厚度很低,以保证能够生成表层。若无此条件,洞穴的地面也会生成表层。
- "type": "minecraft:above_preliminary_surface"
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //特殊生物群系的表面(即最表层)
- {
- "type": "minecraft:condition",
- "if_true": //最表层(上方为空气,或者与空气方块间隔了一些液体方块)
- {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //疏林恶地高处表面砂土和草方块相间分布,草方块在水下时则为泥土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:wooded_badlands"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 97
- },
- "surface_depth_multiplier": 2,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //砂土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.909,
- "max_threshold": -0.5454
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:coarse_dirt"
- }
- }
- },
- //砂土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.1818,
- "max_threshold": 0.1818
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:coarse_dirt"
- }
- }
- },
- //砂土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.5454,
- "max_threshold": 0.909
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:coarse_dirt"
- }
- }
- },
- //默认为草方块(在水下时为泥土)
- {
- "type": "minecraft:sequence",
- "sequence": [
- //上方没有水时为草方块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:grass_block",
- "Properties": {
- "snowy": "false"
- }
- }
- }
- },
- //否则为泥土
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:dirt"
- }
- }
- ]
- }
- ]
- }
- }
- },
- //沼泽在Y=62的表面根据噪声随机替换成水。Y=62通常是河流、湖泊或海洋的岸上。
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:swamp"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //如果Y>=62
- {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 62
- },
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //如果在Y<63
- {
- "type": "minecraft:not",
- "invert": {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 63
- },
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- }
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface_swamp",
- "min_threshold": 0,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:water",
- "Properties": {
- "level": "0"
- }
- }
- }
- }
- }
- }
- },
- //红树林沼泽在Y=60到62表面根据噪声随机替换成水。通常是岸上或浅水域的水底。
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:mangrove_swamp"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //如果Y>=60
- {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 60
- },
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //如果Y<63
- {
- "type": "minecraft:not",
- "invert": {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 63
- },
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- }
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface_swamp",
- "min_threshold": 0,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:water",
- "Properties": {
- "level": "0"
- }
- }
- }
- }
- }
- }
- }
- ]
- }
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:badlands",
- "minecraft:eroded_badlands",
- "minecraft:wooded_badlands"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //表面
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //极高处表面为橙色陶瓦。并不生效,因为原版主世界Y=256及以上没有任何方块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 256
- },
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:orange_terracotta"
- }
- }
- },
- //Y=(74+表层厚度)以上,表面为各种陶瓦和染色陶瓦
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 74
- },
- "surface_depth_multiplier": 1,
- "add_stone_depth": true
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //陶瓦
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.909,
- "max_threshold": -0.5454
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:terracotta"
- }
- }
- },
- //陶瓦
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.1818,
- "max_threshold": 0.1818
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:terracotta"
- }
- }
- },
- //陶瓦
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.5454,
- "max_threshold": 0.909
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:terracotta"
- }
- }
- },
- //陶瓦和各种颜色的染色陶瓦
- {
- "type": "minecraft:bandlands"
- }
- ]
- }
- },
- //上方没有水时为红沙(如果悬空则为红砂岩)
- {
- "type": "minecraft:condition",
- "if_true": //上方没有液体
- {
- "type": "minecraft:water",
- "offset": -1,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //下方没有方块支撑,则为红砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:red_sandstone"
- }
- }
- },
- //否则为红沙
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:red_sand"
- }
- }
- ]
- }
- },
- //上方有液体时,若表层厚度为正值,生成橙色陶瓦
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:not",
- "invert": {
- "type": "minecraft:hole"
- }
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:orange_terracotta"
- }
- }
- },
- //浅水,默认为白色陶瓦
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": -6,
- "surface_depth_multiplier": -1,
- "add_stone_depth": true
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:white_terracotta"
- }
- }
- },
- //深水,默认为沙砾(如果悬空则为石头)
- {
- "type": "minecraft:sequence",
- "sequence": [
- //下方没有支撑则为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //沙砾
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- ]
- }
- ]
- }
- },
- //地表高度>=(63-表层厚度)是的表层
- {
- "type": "minecraft:condition",
- "if_true": //地表高度>=(63-表层厚度)
- {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 63
- },
- "surface_depth_multiplier": -1,
- "add_stone_depth": true
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //Y>=63且地表高度<(74+表层厚度)时,为橙色陶瓦
- {
- "type": "minecraft:condition",
- "if_true": //Y>=63
- {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 63
- },
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //地表高度<(74+表层厚度)
- {
- "type": "minecraft:not",
- "invert": {
- "type": "minecraft:y_above",
- "anchor": {
- "absolute": 74
- },
- "surface_depth_multiplier": 1,
- "add_stone_depth": true
- }
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:orange_terracotta"
- }
- }
- }
- },
- //否则
- {
- "type": "minecraft:bandlands"
- }
- ]
- }
- },
- //上方无水或浅水下的表层
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": true,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //浅水或无水
- {
- "type": "minecraft:water",
- "offset": -6,
- "surface_depth_multiplier": -1,
- "add_stone_depth": true
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:white_terracotta"
- }
- }
- }
- }
- ]
- }
- },
- //上方无液体的表面
- {
- "type": "minecraft:condition",
- "if_true": //表面
- {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:frozen_ocean",
- "minecraft:deep_frozen_ocean"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:hole"
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true":
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:air"
- }
- }
- },
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:temperature"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:ice"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:water",
- "Properties": {
- "level": "0"
- }
- }
- }
- {
- ]
}
- }
- },
- //表面
- {
- "type": "minecraft:sequence",
- "sequence": [
- //冰封山峰表面为冰、雪块和浮冰
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:frozen_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //背阳的陡峭斜坡生成浮冰
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:steep"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:packed_ice"
- }
- }
- },
- //偶尔生成浮冰
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:packed_ice",
- "min_threshold": 0,
- "max_threshold": 0.2
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:packed_ice"
- }
- }
- },
- //偶尔生成冰,较为罕见
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:ice",
- "min_threshold": 0,
- "max_threshold": 0.025
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:ice"
- }
- }
- },
- //默认为雪块
- {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- ]
- }
- },
- //积雪山坡表面为细雪、雪块和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:snowy_slopes"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //背阳的陡峭斜坡生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:steep"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //偶尔生成细雪
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:powder_snow",
- "min_threshold": 0.35,
- "max_threshold": 0.6
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:powder_snow"
- }
- }
- }
- },
- //默认为雪块
- {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- ]
- }
- },
- //尖峭山峰表面为雪块和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:jagged_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //背阳的陡峭斜坡生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:steep"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //默认为雪块
- {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- ]
- }
- },
- //雪林表面为细雪和雪块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:grove"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //偶尔生成细雪
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:powder_snow",
- "min_threshold": 0.35,
- "max_threshold": 0.6
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:powder_snow"
- }
- }
- }
- },
- //默认为雪块
- {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- ]
- }
- },
- //某些生物群系表面为沙子或石头
- {
- "type": "minecraft:sequence",
- "sequence": [
- //裸岩山峰表面为方解石和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:stony_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //偶尔生成方解石
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:calcite",
- "min_threshold": -0.0125,
- "max_threshold": 0.0125
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:calcite"
- }
- }
- },
- //默认为石头
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- ]
- }
- },
- //石岸表面为沙砾和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:stony_shore"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //偶尔生成沙砾(悬空时为石头)
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:gravel",
- "min_threshold": -0.05,
- "max_threshold": 0.05
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": //下方没有支撑则为石头
- {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
- }
- },
- //默认为石头
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- ]
- }
- },
- //风袭丘陵表层厚度较厚处的表面为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:windswept_hills"
- ]
- },
- "then_run": //表层厚度较厚时生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.12121212121212122,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- }
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:warm_ocean",
- "minecraft:beach",
- "minecraft:snowy_beach"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //悬空时为砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- },
- //默认为沙子
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sand"
- }
- }
- ]
- }
- },
- //沙漠表面为沙子和砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:desert"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //悬空时为砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- },
- //默认为沙子
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sand"
- }
- }
- ]
- }
- },
- //溶洞(虽然很少生成在地表)表面为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:dripstone_caves"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- }
- ]
- },
- //风袭热带草原表面大部分为石头和砂土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:windswept_savanna"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //表层厚度很厚时生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.21212121212121213,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //表层厚度较厚时生成砂土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.06060606060606061,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:coarse_dirt"
- }
- }
- }
- ]
- }
- },
- //风袭沙砾丘陵表面为沙砾、石头和草方块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:windswept_gravelly_hills"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //表层厚度很厚时生成沙砾(悬空时为石头)
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.24242424242424243,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
- }
- },
- //表层厚度较厚时生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.12121212121212122,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //表层厚度较薄时生成草方块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.12121212121212122,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:grass_block",
- "Properties": {
- "snowy": "false"
- }
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:dirt"
- }
- }
- ]
- }
- },
- //默认(表层厚度很薄时)为沙砾(悬空时为石头)
- {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
- }
- ]
- }
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:old_growth_pine_taiga",
- "minecraft:old_growth_spruce_taiga"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //表层厚度很厚时生成砂土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.21212121212121213,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:coarse_dirt"
- }
- }
- },
- //表层厚度较厚时生成灰化土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.11515151515151514,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:podzol",
- "Properties": {
- "snowy": "false"
- }
- }
- }
- }
- ]
- }
- },
- //冰刺之地表面为雪块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:ice_spikes"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- },
- //红树林沼泽表面为泥巴
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:mangrove_swamp"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:mud"
- }
- }
- },
- //蘑菇岛表面为菌丝
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:mushroom_fields"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:mycelium",
- "Properties": {
- "snowy": "false"
- }
- }
- }
- },
- //默认表面为草方块
- {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": //用于雕刻器的条件,详见§ 注释。
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:grass_block",
- "Properties": {
- "snowy": "false"
- }
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:dirt"
- }
- }
- {
- ]
- }
- ]
- }
- ]
- }
- }
- },
- //浅水下的表层(包括表面),以及上方没有液体的表层(不包括表面,因为在上方已经处理过表面)。以及部分生物群系表层下的附加表层。
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": -6,
- "surface_depth_multiplier": -1,
- "add_stone_depth": true
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //盆地,详见§ 注释。
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:frozen_ocean",
- "minecraft:deep_frozen_ocean"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:hole"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:water",
- "Properties": {
- "level": "0"
- }
- }
- }
- }
- }
- },
- //表层
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": true,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //冰封山峰表层为冰、雪块和浮冰
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:frozen_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //背阳的陡峭斜坡生成浮冰
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:steep"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:packed_ice"
- }
- }
- },
- //大部分为浮冰
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:packed_ice",
- "min_threshold": -0.5,
- "max_threshold": 0.2
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:packed_ice"
- }
- }
- },
- //偶尔生成冰,较为罕见
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:ice",
- "min_threshold": -0.0625,
- "max_threshold": 0.025
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:ice"
- }
- }
- },
- //不在水面下时为雪块
- {
- "type": "minecraft:condition",
- "if_true": //上方为空气,或者与空气方块间隔了一些非液体的方块
- {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- ]
- }
- },
- //积雪山坡表层为细雪、雪块和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:snowy_slopes"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //背阳的陡峭斜坡生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:steep"
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //不在水面下时偶尔生成细雪
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:powder_snow",
- "min_threshold": 0.45,
- "max_threshold": 0.58
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:powder_snow"
- }
- }
- }
- },
- //不在水面下时为雪块
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:snow_block"
- }
- }
- }
- ]
- }
- },
- //尖峭山峰表层为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:jagged_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //雪林表层为细雪和泥土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:grove"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //不在水面下时偶尔生成细雪,较为罕见
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:powder_snow",
- "min_threshold": 0.45,
- "max_threshold": 0.58
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:water",
- "offset": 0,
- "surface_depth_multiplier": 0,
- "add_stone_depth": false
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:powder_snow"
- }
- }
- }
- },
- //默认为泥土
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:dirt"
- }
- }
- ]
- }
- },
- //某些生物群系表层为沙子或石头
- {
- "type": "minecraft:sequence",
- "sequence": [
- //裸岩山峰表层为方解石和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:stony_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //偶尔生成方解石
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:calcite",
- "min_threshold": -0.0125,
- "max_threshold": 0.0125
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:calcite"
- }
- }
- },
- //默认为石头
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- ]
- }
- },
- //石岸表层为沙砾和石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:stony_shore"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //偶尔生成沙砾(悬空时为石头)
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:gravel",
- "min_threshold": -0.05,
- "max_threshold": 0.05
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
}
- },
- //默认为石头
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- ]
- }
- },
- //风袭丘陵表层在表层厚度较厚时为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:windswept_hills"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.12121212121212122,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- }
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:warm_ocean",
- "minecraft:beach",
- "minecraft:snowy_beach"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //悬空时为砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- },
- //默认为沙子
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sand"
- }
- }
- ]
- }
- },
- //沙漠表层为沙子和砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:desert"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //悬空时为砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- },
- //默认为沙子
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sand"
- }
- }
- ]
- }
- },
- //溶洞(虽然很少生成在地表)表层为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:dripstone_caves"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- }
- ]
- },
- //风袭热带草原表层在表层厚度较厚时为石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:windswept_savanna"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.21212121212121213,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- }
- },
- //风袭沙砾丘陵表层为沙砾、石头和泥土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:windswept_gravelly_hills"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- //表层厚度很厚时生成沙砾(悬空时为石头)
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.24242424242424243,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
- }
- },
- //表层厚度较厚时生成石头
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": 0.12121212121212122,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- //表层厚度较薄时生成泥土
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:noise_threshold",
- "noise": "minecraft:surface",
- "min_threshold": -0.12121212121212122,
- "max_threshold": 1.7976931348623157e+308
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:dirt"
- }
- }
- },
- //默认(表层厚度很薄时)为沙砾(悬空时为石头)
- {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
- }
- ]
- }
- },
- //红树林沼泽表层为泥巴
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:mangrove_swamp"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:mud"
- }
- }
- },
- //默认表层为泥土
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:dirt"
- }
- }
- ]
- }
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:warm_ocean",
- "minecraft:beach",
- "minecraft:snowy_beach"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": true,
- "secondary_depth_range": 6
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- }
- },
- //沙漠表层下的附加表层为砂岩
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:desert"
- ]
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": { //附加表层常常因为极厚而远超出preliminary_surface。受到"minecraft:above_preliminary_surface"条件的限制,只会在preliminary_surface之上填充砂岩。
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": true,
- "secondary_depth_range": 30
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- }
- }
- ]
- }
- },
- //深水下的表面
- {
- "type": "minecraft:condition",
- "if_true": //表面
- {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "floor",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:frozen_peaks",
- "minecraft:jagged_peaks"
- ]
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:biome",
- "biome_is": [
- "minecraft:warm_ocean",
- "minecraft:lukewarm_ocean",
- "minecraft:deep_lukewarm_ocean"
- ]
- },
- "then_run": {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sandstone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:sand"
- }
- }
- {
- ]
- }
- },
- //默认为沙砾(如果悬空则为石头)
- {
- "type": "minecraft:sequence",
- "sequence": [
- {
- "type": "minecraft:condition",
- "if_true": {
- "type": "minecraft:stone_depth",
- "offset": 0,
- "surface_type": "ceiling",
- "add_surface_depth": false,
- "secondary_depth_range": 0
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:stone"
- }
- }
- },
- {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:gravel"
- }
- }
- {
- ]
- }
- ]
- }
- }
- ]
- }
- },
- //深板岩层
- {
- "type": "minecraft:condition",
- "if_true": //Y=0及以下为深板岩,Y=8及以上为石头,中间使用噪声渐变。
- {
- "type": "minecraft:vertical_gradient",
- "random_name": "minecraft:deepslate",
- "true_at_and_below": {
- "absolute": 0
- },
- "false_at_and_above": {
- "absolute": 8
- }
- },
- "then_run": {
- "type": "minecraft:block",
- "result_state": {
- "Name": "minecraft:deepslate",
- "Properties": {
- "axis": "y"
- }
- }
- }
- }
- ]
}
注释[编辑 | 编辑源代码]
盆地在地表规则加入前一直存在于所有生物群系,在表层深度小于等于0时,地形的表面被直接移除,留下石头裸露的盆地。而在地表规则加入以来,该地形特征却不知为何被限制在冻洋和冰冻深海两个生物群系,并且在判断水面时存在漏洞。在过去的盆地中,当方块高出海平面时(Y>=63的方块)为空气,否则为冰或水(注意当时没有含水层和噪声洞穴)。而在当前的原版地表规则中则是在上方没有水时为空气,这可能会导致海岸边出现流动的水。
另外,由于雕刻器代码中的一个错误,minecraft:water
条件在雕刻器生成时的行为与地形生成时不一致。在地形生成时,offset值是相对于空气与液体接触面的偏移值(即空气方块的坐标)。而在雕刻器生成时,offset值是相对于液体方块坐标的。而又因为雕刻器只在雕刻草方块和菌丝时对下方的泥土应用地表规则,游戏认为草方块和菌丝上方不会有水,雕刻后草方块和菌丝的位置可能为水,因此泥土上方最多只有一格深的水。因而offset值相当于是相对于泥土上表面的偏移值。
综上所述,在地形生成时,offset值为0和-1效果相同,都只在上方没有液体时条件成功。而在雕刻器生成时,offset值若为-1,条件永远成功,无论上方有无液体。
在地表规则这个功能刚加入游戏时(21w41a),开发人员没有意识到雕刻器中的错误,在判断上方是否有水时offset值被设为了-1。因而导致草方块可以生成在水下。之后(21w43a和22w07a)为了解决这个问题,又在不能生成在水下的方块外套了一层offset为0的minecraft:water
条件。因此当前原版主世界地表规则稍显混乱,但基本能够按预期工作。
对于数据包和模组开发者来说,应避免把offset设为-1,以保证地形生成与雕刻器生成时行为相同。
生物群系预设参数[编辑 | 编辑源代码]
通过数据生成器,可以获得主世界和下界维度的生物群系预设参数。生物群系预设参数位于generated/reports/biome_parameters/文件夹内,其中所定义的生物群系生成在生物群系页面有详细的解释。
参见[编辑 | 编辑源代码]
导航[编辑 | 编辑源代码]
[隐藏] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|