上一篇:
下一篇:
回到二级页:点我跳转
回到总目录:点我跳转



文档原链接:点我跳转

生物群系文档 - minecraft:surface_material_adjustments(地表材料调整组件)




本文内容
指定基于噪声函数的地形生成中方块的精细细节调整




生物群系地表材料调整属性 (Biome Surface Material Adjustments Properties)

名称默认值类型描述示例值
adjustments未设置调整项数组 (Array of Adjustments items)所有与地形列噪声值匹配的调整项将按列表顺序依次应用。见下方示例


调整项 (Adjustments)

对生成地形的调整,根据指定设置替换方块

地表材料调整 - 地表调整设置属性 (Surface Material Adjustments - Surface Adjustment Settings Properties)

名称默认值类型描述示例值
height_range未设置小数 (Decimal number)定义此调整应应用的高度噪声值范围 [min, max]。
注意:数组必须包含至少 2 项,且最多 2 项。
[-0.5, 0.5], [0.0, 1.0]
height_range (备选方案 1)未设置布尔值 (Boolean true/false)备选格式(布尔值)。true, false
height_range (备选方案 2)未设置字符串 (String)备选格式(字符串)。"all", "surface"
materials未设置材料项 (Materials item)用于此地表调整的特定方块集合。见下方示例
noise_frequency_scale未设置小数 (Decimal number)访问材料调整的噪声值时,与位置坐标相乘的缩放比例
(控制噪声变化的频率/密度)
0.5, 1.0, 2.0
noise_range未设置数字数组 (Array of numbers)定义此调整应应用的通用噪声值范围 [min, max]。
注意:数组必须包含至少 2 项,且最多 2 项。
[-0.5, 0.5], [0.0, 1.0]


JSON 示例:
方式 1:使用 noise_range(噪声范围)
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-0.5, 0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:grass",
                "mid_material": "minecraft:dirt",
                "foundation_material": "minecraft:stone"
            }
        }
    ]
}

方式 2:使用 height_range(高度范围)
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "height_range": [0.0, 1.0],
            "noise_frequency_scale": 0.5,
            "materials": {
                "top_material": "minecraft:sand",
                "mid_material": "minecraft:sand",
                "foundation_material": "minecraft:stone"
            }
        }
    ]
}

方式 3:多个调整项(按顺序应用)
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-1.0, -0.3],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:gravel"
            }
        },
        {
            "noise_range": [-0.3, 0.3],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:grass"
            }
        },
        {
            "noise_range": [0.3, 1.0],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:stone"
            }
        }
    ]
}
参数详解:

参数作用推荐值
noise_range定义调整应用的通用噪声值范围[-1.0, 1.0] 之间的任意范围
height_range定义调整应用的高度噪声值范围[0, 256] 或归一化高度值
noise_frequency_scale控制噪声采样的频率/密度0.5(低频/大块)到 2.0(高频/细碎)
materials定义要应用的材料集合见下方材料示例

noise_frequency_scale 效果对比:
效果适用场景
0.5低频噪声,大块连续区域大范围地形变化(如生物群系过渡)
1.0标准频率,中等大小区域一般地形调整
2.0高频噪声,小块分散区域精细细节变化(如斑点状装饰)
5.0+极高频率,细碎斑驳效果特殊装饰效果

噪声范围可视化:
JSON:
噪声值:-1.0 ←──────────────→ 1.0

调整项 1:  [-1.0 ── -0.3]  → 沙砾地表
调整项 2:  [-0.3 ──  0.3]  → 草地地表
调整项 3:  [ 0.3 ──  1.0]  → 石头地表

              ↓
        根据噪声值选择对应的材料

完整生物群系示例:
JSON:
{
    "format_version": "1.20.0",
    "minecraft:biome": {
        "description": {
            "identifier": "myaddon:adjusted_biome"
        },
        "components": {
            "minecraft:climate": {
                "temperature": 0.5,
                "downfall": 0.5,
                "precipitation": "rain"
            },
            "minecraft:surface_builder": {
                "builder": {
                    "type": "minecraft:overworld",
                    "top_material": "minecraft:grass",
                    "mid_material": "minecraft:dirt",
                    "foundation_material": "minecraft:stone"
                }
            },
            "minecraft:surface_material_adjustments": {
                "adjustments": [
                    {
                        "noise_range": [-0.5, 0.0],
                        "noise_frequency_scale": 1.0,
                        "materials": {
                            "top_material": "minecraft:podzol"
                        }
                    },
                    {
                        "noise_range": [0.0, 0.5],
                        "noise_frequency_scale": 1.0,
                        "materials": {
                            "top_material": "minecraft:coarse_dirt"
                        }
                    }
                ]
            }
        }
    }
}

注意事项:

  1. 范围格式 — noise_range 和 height_range 必须是恰好包含 2 个数字的数组:[最小值, 最大值]。
  2. 应用顺序 — 多个调整项按数组顺序应用,后面的调整可能覆盖前面的调整
  3. 噪声频率缩放 — noise_frequency_scale 值越大,噪声变化越频繁,材料分布越细碎;值越小,区域越连贯。
  4. 范围重叠 — 如果多个调整项的范围重叠,后应用的调整项将覆盖先应用的调整项。
  5. 与地表构建器配合 — 此组件是对 minecraft:surface_builder 的补充,用于在基础地表材料之上添加更精细的、基于噪声的材料变化。
  6. 性能考虑 — 过多的调整项或过高的噪声频率可能会轻微影响地形生成性能。
  7. 备选格式 — height_range 支持布尔值和字符串格式,但数组格式最常用且最灵活,推荐优先使用。
  8. 二选一 — 通常在一个调整项中只使用 noise_range height_range 中的一种来定义触发条件。


Materials(材料)

用于此地表调整的特定方块

地表材料调整 - 地表调整材料设置属性 (Surface Material Adjustments - Surface Adjustment Materials Settings Properties)

名称默认值类型描述示例值
foundation_material未设置字符串 (String)当此调整激活时,控制此生物群系地下深处使用的方块类型。"minecraft:stone"
foundation_material (备选方案 1)未设置基础材料项 (Foundation Material item)对象格式的基础材料定义(可包含方块状态)。见下方示例
mid_material未设置字符串 (String)当此调整激活时,控制此生物群系地表下方层使用的方块类型。"minecraft:dirt"
mid_material (备选方案 1)未设置中层材料项 (Mid Material item)对象格式的中层材料定义(可包含方块状态)。见下方示例
sea_floor_material未设置字符串 (String)当此调整激活时,控制此生物群系中水体底部使用的方块类型。"minecraft:gravel"
sea_floor_material (备选方案 1)未设置海床材料项 (Sea Floor Material item)对象格式的海床材料定义(可包含方块状态)。见下方示例
sea_material未设置字符串 (String)当此调整激活时,控制此生物群系中水体使用的方块类型。"minecraft:water"
sea_material (备选方案 1)未设置海洋材料项 (Sea Material item)对象格式的海洋材料定义(可包含方块状态)。见下方示例
top_material未设置字符串 (String)当此调整激活时,控制此生物群系地表使用的方块类型。"minecraft:grass"
top_material (备选方案 1)未设置表层材料项 (Top Material item)对象格式的表层材料定义(可包含方块状态)。见下方示例


JSON 示例:
方式 1:使用字符串格式(简洁)

JSON:
"materials": {
    "foundation_material": "minecraft:stone",
    "mid_material": "minecraft:dirt",
    "top_material": "minecraft:grass",
    "sea_floor_material": "minecraft:gravel",
    "sea_material": "minecraft:water"
}

方式 2:使用对象格式(可指定方块状态)
JSON:
"materials": {
    "foundation_material": {
        "name": "minecraft:stone",
        "states": {}
    },
    "mid_material": {
        "name": "minecraft:dirt",
        "states": {
            "snowy": false
        }
    },
    "top_material": {
        "name": "minecraft:grass",
        "states": {
            "snowy": false
        }
    },
    "sea_floor_material": {
        "name": "minecraft:gravel",
        "states": {}
    },
    "sea_material": {
        "name": "minecraft:water",
        "states": {
            "level": 0
        }
    }
}

方式 3:完整调整项示例(包含材料)
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-0.5, 0.0],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:podzol",
                "mid_material": "minecraft:dirt",
                "foundation_material": "minecraft:stone"
            }
        },
        {
            "noise_range": [0.0, 0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:coarse_dirt",
                "mid_material": "minecraft:dirt",
                "foundation_material": "minecraft:stone"
            }
        }
    ]
}

地层结构示意(调整激活时):
JSON:
                    ┌─────────────────┐
                    │  top_material   │  ← 地表(草方块等)★ 调整时替换
                    ├─────────────────┤
                    │  mid_material   │  ← 中层(泥土等)★ 调整时替换
                    ├─────────────────┤
                    │                 │
                    │ foundation_     │  ← 基础层(石头等)★ 调整时替换
                    │ material        │
                    │                 │
    ────────────────┴─────────────────┴─────── 海平面
                    │  sea_material   │  ← 水体(水)★ 调整时替换
                    ├─────────────────┤
                    │sea_floor_material│  ← 海床(沙砾等)★ 调整时替换
                    │                 │
                    ▼
                    
        ↑
        └── 当调整激活时,这些材料会被替换

材料字段对比(地表构建器 vs 地表材料调整):

字段地表构建器地表材料调整说明
top_material✅ 基础定义✅ 调整时替换地表方块
mid_material✅ 基础定义✅ 调整时替换中层方块
foundation_material✅ 基础定义✅ 调整时替换基础层方块
sea_material✅ 基础定义✅ 调整时替换水体方块
sea_floor_material✅ 基础定义✅ 调整时替换海床方块

注意事项:
  1. 条件激活 — 这些材料仅在调整项的噪声范围条件满足时才会应用("when this adjustment is active")。
  2. 两种材料格式 — 所有材料字段支持两种格式:
    表格

    格式优点适用场景
    字符串简洁快速不需要方块状态时
    对象可指定方块状态需要控制方块变体时
  3. 覆盖优先级 — 地表材料调整中的材料会覆盖地表构建器中定义的基础材料。
  4. 可选字段 — 不需要定义所有材料字段,只定义需要调整的材料即可。
  5. 与调整项配合 — 材料定义必须与 noise_range 或 height_range 配合使用,定义何时应用这些材料。
  6. 性能考虑 — 过多的材料调整可能会影响地形生成性能。
  7. 状态验证 — 使用对象格式时,确保方块状态对该方块有效。
完整生物群系示例(使用地表材料调整):
JSON:
{
    "format_version": "1.20.0",
    "minecraft:biome": {
        "description": {
            "identifier": "myaddon:adjusted_biome"
        },
        "components": {
            "minecraft:climate": {
                "temperature": 0.5,
                "downfall": 0.5,
                "precipitation": "rain"
            },
            "minecraft:surface_builder": {
                "builder": {
                    "type": "minecraft:overworld",
                    "top_material": "minecraft:grass",
                    "mid_material": "minecraft:dirt",
                    "foundation_material": "minecraft:stone",
                    "sea_floor_depth": 30,
                    "sea_floor_material": "minecraft:gravel",
                    "sea_material": "minecraft:water"
                }
            },
            "minecraft:surface_material_adjustments": {
                "adjustments": [
                    {
                        "noise_range": [-0.5, 0.0],
                        "noise_frequency_scale": 1.0,
                        "materials": {
                            "top_material": {
                                "name": "minecraft:podzol",
                                "states": {}
                            },
                            "mid_material": "minecraft:dirt",
                            "foundation_material": "minecraft:stone"
                        }
                    },
                    {
                        "noise_range": [0.0, 0.5],
                        "noise_frequency_scale": 1.0,
                        "materials": {
                            "top_material": {
                                "name": "minecraft:coarse_dirt",
                                "states": {}
                            },
                            "mid_material": "minecraft:dirt",
                            "foundation_material": "minecraft:stone"
                        }
                    },
                    {
                        "noise_range": [0.5, 1.0],
                        "noise_frequency_scale": 0.8,
                        "materials": {
                            "top_material": "minecraft:stone",
                            "mid_material": "minecraft:stone",
                            "foundation_material": "minecraft:stone"
                        }
                    }
                ]
            }
        }
    }
}

常见材料调整场景:

场景噪声范围表层材料变化频率缩放
草地→沙地过渡[0.0, 0.5]grass → sand1.0
草地→石头山地[0.5, 1.0]grass → stone0.8
水下沙砾区域[-1.0, -0.5]dirt → gravel1.0
特殊装饰区域[-0.2, 0.2]grass → podzol2.0
大范围材料替换[-1.0, 1.0]整体替换0.5



Foundation Material(基础材料)

定义用于地表材料调整的地下深处方块类型及其状态属性

基础材料属性 (Foundation Material Properties)

名称默认值类型描述示例值
name未设置对象 (Object)方块的名称(方块 ID)。"minecraft:stone"
states{}键控数字集合 (Keyed set of numbers)包含以每个状态命名的成员,值为布尔值整数字符串见下方示例
states (备选方案 1)未设置键控布尔值集合 (Keyed collection of boolean values)状态值为布尔值格式。见下方示例
states (备选方案 2)未设置键控字符串集合 (Keyed set of strings)状态值为字符串格式。见下方示例


JSON 示例:
方式 1:基础材料定义(仅名称)
JSON:
"foundation_material": {
    "name": "minecraft:stone"
}

方式 2:带状态的基础材料(数字值)
JSON:
"foundation_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": 0
    }
}

方式 3:带状态的基础材料(布尔值)
JSON:
"foundation_material": {
    "name": "minecraft:deepslate",
    "states": {
        "activated": false
    }
}

方式 4:带状态的基础材料(字符串值)
JSON:
"foundation_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": "granite"
    }
}

常见基础材料方块状态示例:

方块状态名类型示例值
minecraft:stonestone_type字符串"stone", "granite", "diorite", "andesite"
minecraft:deepslate--无状态
minecraft:bedrock--无状态
minecraft:netherrack--无状态
minecraft:end_stone--无状态

注意事项:
  1. name 字段 — 必须使用有效的 Minecraft 方块 ID,格式为 namespace:block_name(如 minecraft:stone)。
  2. states 字段 — 可选,用于指定方块的特殊状态。不是所有方块都有状态。
  3. 状态值类型 — 根据方块的不同,状态值可以是:
    • 布尔值:true / false
    • 整数:如 0, 1, 2, 3...
    • 字符串:如 "stone", "granite", "diorite"...
  4. 状态验证 — 确保使用方块支持的有效状态名称和值,否则可能导致游戏崩溃或方块显示错误。
  5. 查询方块状态 — 可使用 F3 调试屏幕或游戏内命令查看方块的有效状态。
  6. 与地表材料调整配合 — 在地表材料调整中使用基础材料定义时,可指定特定状态的方块以创建更丰富的地下深处效果。
  7. 基础材料用途 — 基础材料通常用于定义生物群系地下深处的主要方块,如石头、深板岩等。
完整地表材料调整示例(使用基础材料):
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-0.5, 0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "foundation_material": {
                    "name": "minecraft:stone",
                    "states": {}
                },
                "mid_material": "minecraft:dirt",
                "top_material": "minecraft:grass"
            }
        }
    ]
}

地层结构中的基础材料位置:
代码:
                    ┌─────────────────┐
                    │  top_material   │  ← 地表(草方块等)
                    ├─────────────────┤
                    │  mid_material   │  ← 中层(泥土等)
                    ├─────────────────┤
                    │                 │
      ┌────────────►│ foundation_     │  ← 基础层(石头等)★ 此处
      │             │ material        │
      │             │                 │
      │             └─────────────────┘
      │
      └── 基础材料位于地下深处

常见基础材料选择:

方块 ID译法适用场景
minecraft:stone石头主世界标准基础层
minecraft:deepslate深板岩主世界深层基础层(Y<0)
minecraft:bedrock基岩世界边界/不可破坏层
minecraft:netherrack下界岩下界基础层
minecraft:end_stone末地石末地基础层
minecraft:granite花岗岩特殊地形基础层
minecraft:diorite闪长岩特殊地形基础层
minecraft:andesite安山岩特殊地形基础层

基础材料状态详解(石头):
状态名类型说明有效值
stone_type字符串石头变体类型"stone", "granite", "diorite", "andesite"

示例:
JSON:
// 普通石头
"foundation_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": "stone"
    }
}

// 花岗岩
"foundation_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": "granite"
    }
}

// 闪长岩
"foundation_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": "diorite"
    }
}

// 安山岩
"foundation_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": "andesite"
    }
}



Mid Material(中层材料)

定义用于地表材料调整的地表下方层方块类型及其状态属性

中层材料属性 (Mid Material Properties)

名称默认值类型描述示例值
name未设置对象 (Object)方块的名称(方块 ID)。"minecraft:dirt"
states{}键控数字集合 (Keyed set of numbers)包含以每个状态命名的成员,值为布尔值整数字符串见下方示例
states (备选方案 1)未设置键控布尔值集合 (Keyed collection of boolean values)状态值为布尔值格式。见下方示例
states (备选方案 2)未设置键控字符串集合 (Keyed set of strings)状态值为字符串格式。见下方示例


JSON 示例:
方式 1:中层材料定义(仅名称)
JSON:
"mid_material": {
    "name": "minecraft:dirt"
}

方式 2:带状态的中层材料(数字值)
JSON:
"mid_material": {
    "name": "minecraft:dirt",
    "states": {
        "variant": 0
    }
}

方式 3:带状态的中层材料(布尔值)
JSON:
"mid_material": {
    "name": "minecraft:dirt",
    "states": {
        "snowy": false
    }
}

方式 4:带状态的中层材料(字符串值)
JSON:
"mid_material": {
    "name": "minecraft:dirt",
    "states": {
        "type": "normal"
    }
}

常见中层材料方块状态示例:

方块状态名类型示例值
minecraft:dirtsnowy布尔值true, false
minecraft:coarse_dirt--无状态
minecraft:podzolsnowy布尔值true, false
minecraft:sand--无状态
minecraft:gravel--无状态
minecraft:grasssnowy布尔值true, false

注意事项:
  1. name 字段 — 必须使用有效的 Minecraft 方块 ID,格式为 namespace:block_name(如 minecraft:dirt)。
  2. states 字段 — 可选,用于指定方块的特殊状态。不是所有方块都有状态。
  3. 状态值类型 — 根据方块的不同,状态值可以是:
    • 布尔值:true / false
    • 整数:如 0, 1, 2, 3...
    • 字符串:如 "x", "y", "z", "red", "blue"...
  4. 状态验证 — 确保使用方块支持的有效状态名称和值,否则可能导致游戏崩溃或方块显示错误。
  5. 查询方块状态 — 可使用 F3 调试屏幕或游戏内命令查看方块的有效状态。
  6. 与地表材料调整配合 — 在地表材料调整中使用中层材料定义时,可指定特定状态的方块以创建更丰富的地表下方层效果。
  7. 中层材料用途 — 中层材料通常用于定义生物群系地表下方的主要方块,如泥土、沙砾等,位于表层材料和基础材料之间。
完整地表材料调整示例(使用中层材料):
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-0.5, 0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": "minecraft:grass",
                "mid_material": {
                    "name": "minecraft:dirt",
                    "states": {
                        "snowy": false
                    }
                },
                "foundation_material": "minecraft:stone"
            }
        }
    ]
}

地层结构中的中层材料位置:
代码:
                    ┌─────────────────┐
                    │  top_material   │  ← 地表(草方块等)
                    ├─────────────────┤
      ┌────────────►│  mid_material   │  ← 中层(泥土等)★ 此处
      │             ├─────────────────┤
      │             │                 │
      │             │ foundation_     │  ← 基础层(石头等)
      │             │ material        │
      │             │                 │
      │             └─────────────────┘
      │
      └── 中层材料位于表层和基础层之间

常见中层材料选择:

方块 ID译法适用场景
minecraft:dirt泥土标准中层材料
minecraft:coarse_dirt粗泥土贫瘠地形中层
minecraft:podzol灰化土针叶林地形中层
minecraft:sand沙子沙漠/海滩地形中层
minecraft:gravel沙砾水下/山地地形中层
minecraft:clay黏土沼泽/水下地形中层
minecraft:grass草方块特殊地形中层

中层材料状态详解(泥土/草方块):
状态名类型说明有效值
snowy布尔值是否被雪覆盖true, false

示例:
JSON:
// 普通泥土
"mid_material": {
    "name": "minecraft:dirt",
    "states": {
        "snowy": false
    }
}

// 雪覆盖的泥土
"mid_material": {
    "name": "minecraft:dirt",
    "states": {
        "snowy": true
    }
}

// 普通草方块
"mid_material": {
    "name": "minecraft:grass",
    "states": {
        "snowy": false
    }
}

// 雪覆盖的草方块
"mid_material": {
    "name": "minecraft:grass",
    "states": {
        "snowy": true
    }
}

不同生物群系的中层材料推荐:

生物群系类型推荐中层材料说明
平原/森林minecraft:dirt标准泥土层
沙漠minecraft:sand沙层延伸至地下
雪原minecraft:dirt泥土层,表层为雪
海滩minecraft:sand沙层
恶地minecraft:terracotta陶土层
沼泽minecraft:dirt 或 minecraft:clay泥土层或黏土层
针叶林minecraft:podzol灰化土层
热带草原minecraft:dirt标准泥土层



Sea Floor Material(海床材料)

定义用于地表材料调整的水体底部方块类型及其状态属性

海床材料属性 (Sea Floor Material Properties)

名称默认值类型描述示例值
name未设置对象 (Object)方块的名称(方块 ID)。"minecraft:gravel"
states{}键控数字集合 (Keyed set of numbers)包含以每个状态命名的成员,值为布尔值整数字符串见下方示例
states (备选方案 1)未设置键控布尔值集合 (Keyed collection of boolean values)状态值为布尔值格式。见下方示例
states (备选方案 2)未设置键控字符串集合 (Keyed set of strings)状态值为字符串格式。见下方示例



JSON 示例:
方式 1:海床材料定义(仅名称)
JSON:
"sea_floor_material": {
    "name": "minecraft:gravel"
}

方式 2:带状态的海床材料(数字值)
JSON:
"sea_floor_material": {
    "name": "minecraft:stone",
    "states": {
        "stone_type": 0
    }
}

方式 3:带状态的海床材料(布尔值)
JSON:
"sea_floor_material": {
    "name": "minecraft:sea_pickle",
    "states": {
        "waterlogged": true,
        "pickles": 4
    }
}

方式 4:带状态的海床材料(字符串值)
JSON:
"sea_floor_material": {
    "name": "minecraft:concrete",
    "states": {
        "color": "blue"
    }
}

常见海床材料方块状态示例:

方块状态名类型示例值
minecraft:gravel--无状态
minecraft:sand--无状态
minecraft:stonestone_type字符串"stone", "granite", "diorite"
minecraft:sea_picklewaterlogged布尔值true, false
minecraft:sea_picklepickles整数1, 2, 3, 4
minecraft:concretecolor字符串"white", "blue", "red"
minecraft:coral_blockdead_bit布尔值true, false
minecraft:clay--无状态

注意事项:
  1. name 字段 — 必须使用有效的 Minecraft 方块 ID,格式为 namespace:block_name(如 minecraft:gravel)。
  2. states 字段 — 可选,用于指定方块的特殊状态。不是所有方块都有状态。
  3. 状态值类型 — 根据方块的不同,状态值可以是:
    • 布尔值:true / false
    • 整数:如 0, 1, 2, 3...
    • 字符串:如 "x", "y", "z", "red", "blue"...
  4. 状态验证 — 确保使用方块支持的有效状态名称和值,否则可能导致游戏崩溃或方块显示错误。
  5. 查询方块状态 — 可使用 F3 调试屏幕或游戏内命令查看方块的有效状态。
  6. 与地表材料调整配合 — 在地表材料调整中使用海床材料定义时,可指定特定状态的方块以创建更丰富的水下地形效果。
  7. 海床材料用途 — 海床材料通常用于定义生物群系水体底部的主要方块,如沙砾、沙子、石头等。
完整地表材料调整示例(使用海床材料):
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-1.0, -0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "sea_floor_material": {
                    "name": "minecraft:gravel",
                    "states": {}
                },
                "sea_material": "minecraft:water",
                "top_material": "minecraft:grass"
            }
        }
    ]
}

地层结构中的海床材料位置:
JSON:
    ──────────────────────────────────────── 海平面
                    │  sea_material    │  ← 水体(水)
                    ├──────────────────┤
      ┌────────────►│sea_floor_material│  ← 海床(沙砾/沙子等)★ 此处
      │             │                  │
      │             │ foundation_      │  ← 基础层(石头等)
      │             │ material         │
      │             │                  │
      │             └──────────────────┘
      │
      └── 海床材料位于水体下方

常见海床材料选择:

方块 ID译法适用场景
minecraft:gravel沙砾标准海洋/河流海床
minecraft:sand沙子海滩/热带海洋海床
minecraft:clay黏土沼泽/湖泊海床
minecraft:stone石头深海/山地水域海床
minecraft:coral_block珊瑚块热带珊瑚礁海床
minecraft:prismarine海晶石海底遗迹/深海海床
minecraft:magma岩浆块下界/特殊水域海床
minecraft:soul_sand灵魂沙下界水域海床

不同生物群系的海床材料推荐:
生物群系类型推荐海床材料说明
海洋minecraft:gravel标准沙砾海床
深海minecraft:gravel 或 minecraft:prismarine沙砾或海晶石海床
河流minecraft:gravel沙砾河床
海滩minecraft:sand沙质海床
热带海洋minecraft:sand + minecraft:coral_block沙质海床配珊瑚
冰冻海洋minecraft:gravel沙砾海床,上方有冰
沼泽minecraft:clay黏土海床
下界minecraft:magma 或 minecraft:soul_sand岩浆块或灵魂沙海床

海床装饰方块建议:
方块用途状态示例
minecraft:sea_pickle水下照明{"waterlogged": true, "pickles": 4}
minecraft:coral_block珊瑚礁装饰{"dead_bit": false}
minecraft:seagrass海草装饰{"age": 0}
minecraft:kelp海带装饰{"age": 0}
minecraft:prismarine海底遗迹风格无状态



Sea Material(海洋材料)

定义用于地表材料调整的水体方块类型及其状态属性

海洋材料属性 (Sea Material Properties)

名称默认值类型描述示例值
name未设置对象 (Object)方块的名称(方块 ID)。"minecraft:water"
states{}键控数字集合 (Keyed set of numbers)包含以每个状态命名的成员,值为布尔值整数字符串见下方示例
states (备选方案 1)未设置键控布尔值集合 (Keyed collection of boolean values)状态值为布尔值格式。见下方示例
states (备选方案 2)未设置键控字符串集合 (Keyed set of strings)状态值为字符串格式。见下方示例


JSON 示例:
方式 1:海洋材料定义(仅名称)
JSON:
"sea_material": {
    "name": "minecraft:water"
}

方式 2:带状态的海洋材料(数字值)
JSON:
"sea_material": {
    "name": "minecraft:water",
    "states": {
        "level": 0
    }
}

方式 3:带状态的海洋材料(布尔值)
JSON:
"sea_material": {
    "name": "minecraft:flowing_water",
    "states": {
        "falling": true
    }
}

方式 4:带状态的海洋材料(字符串值)
JSON:
"sea_material": {
    "name": "minecraft:water",
    "states": {
        "liquid_type": "water"
    }
}

常见海洋材料方块状态示例:

方块状态名类型示例值
minecraft:waterlevel整数0 到 15(0=满,15=最低)
minecraft:waterliquid_type字符串"water"
minecraft:flowing_waterfalling布尔值true, false
minecraft:flowing_waterlevel整数0 到 15
minecraft:lavalevel整数0 到 15
minecraft:flowing_lavafalling布尔值true, false

注意事项:
  1. name 字段 — 必须使用有效的 Minecraft 方块 ID,格式为 namespace:block_name(如 minecraft:water)。
  2. states 字段 — 可选,用于指定方块的特殊状态。不是所有方块都有状态。
  3. 状态值类型 — 根据方块的不同,状态值可以是:
    • 布尔值:true / false
    • 整数:如 0, 1, 2, 3...
    • 字符串:如 "x", "y", "z", "red", "blue"...
  4. 状态验证 — 确保使用方块支持的有效状态名称和值,否则可能导致游戏崩溃或方块显示错误。
  5. 查询方块状态 — 可使用 F3 调试屏幕或游戏内命令查看方块的有效状态。
  6. 与地表材料调整配合 — 在地表材料调整中使用海洋材料定义时,可指定特定状态的方块以创建不同的水体效果。
  7. 海洋材料用途 — 海洋材料通常用于定义生物群系中水体的主要方块,如水、熔岩等。
完整地表材料调整示例(使用海洋材料):
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-1.0, -0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "sea_material": {
                    "name": "minecraft:water",
                    "states": {
                        "level": 0
                    }
                },
                "sea_floor_material": "minecraft:gravel",
                "top_material": "minecraft:grass"
            }
        }
    ]
}

地层结构中的海洋材料位置:
代码:
    ──────────────────────────────────────── 海平面
      ┌────────────►│  sea_material    │  ← 水体(水)★ 此处
      │             ├──────────────────┤
      │             │sea_floor_material│  ← 海床(沙砾/沙子等)
      │             │                  │
      │             │ foundation_      │  ← 基础层(石头等)
      │             │ material         │
      │             │                  │
      │             └──────────────────┘
      │
      └── 海洋材料填充海平面以下的水体空间

常见海洋材料选择:

方块 ID译法适用场景
minecraft:water标准水体(主世界/末地)
minecraft:flowing_water流动水流动水体效果
minecraft:lava熔岩下界/特殊维度熔岩海
minecraft:flowing_lava流动熔岩流动熔岩效果

不同生物群系的海洋材料推荐:
生物群系类型推荐海洋材料说明
海洋/河流minecraft:water标准水体
湖泊minecraft:water静止水体
下界minecraft:lava熔岩海
下界洞穴minecraft:flowing_lava流动熔岩
特殊维度minecraft:flowing_water流动水效果
自定义维度根据需求选择水或熔岩

水体方块状态详解:
状态名类型说明有效值
level整数液体高度等级0(满/静止)到 15(最低/流动)
liquid_type字符串液体类型"water", "lava"
falling布尔值是否为下落液体true(下落), false(静止)

特殊效果示例:
1. 静止水体(标准)

JSON:
"sea_material": {
    "name": "minecraft:water",
    "states": {
        "level": 0
    }
}

2. 流动水体
JSON:
"sea_material": {
    "name": "minecraft:flowing_water",
    "states": {
        "falling": false,
        "level": 1
    }
}

3. 下落熔岩
JSON:
"sea_material": {
    "name": "minecraft:flowing_lava",
    "states": {
        "falling": true
    }
}

4. 熔岩海洋(下界风格)
JSON:
"sea_material": {
    "name": "minecraft:lava",
    "states": {
        "level": 0
    }
}

海洋材料调整场景示例:

场景噪声范围海洋材料变化频率缩放
标准水域[-1.0, -0.5]water1.0
熔岩区域[-0.5, 0.0]lava0.8
流动水过渡[0.0, 0.5]flowing_water1.5
特殊效果区[0.5, 1.0]自定义液体2.0



Top Material(表层材料)

定义用于地表材料调整的地表方块类型及其状态属性

表层材料属性 (Top Material Properties)

名称默认值类型描述示例值
name未设置对象 (Object)方块的名称(方块 ID)。"minecraft:grass"
states{}键控数字集合 (Keyed set of numbers)包含以每个状态命名的成员,值为布尔值整数字符串见下方示例
states (备选方案 1)未设置键控布尔值集合 (Keyed collection of boolean values)状态值为布尔值格式。见下方示例
states (备选方案 2)未设置键控字符串集合 (Keyed set of strings)状态值为字符串格式。见下方示例


JSON 示例:
方式 1:表层材料定义(仅名称)
JSON:
"top_material": {
    "name": "minecraft:grass"
}

方式 2:带状态的表层材料(数字值)
JSON:
"top_material": {
    "name": "minecraft:grass",
    "states": {
        "snowy": 0
    }
}

方式 3:带状态的表层材料(布尔值)
JSON:
"top_material": {
    "name": "minecraft:grass",
    "states": {
        "snowy": false
    }
}

方式 4:带状态的表层材料(字符串值)
JSON:
"top_material": {
    "name": "minecraft:grass",
    "states": {
        "variant": "normal"
    }
}

常见表层材料方块状态示例:

方块状态名类型示例值
minecraft:grasssnowy布尔值true, false
minecraft:dirtsnowy布尔值true, false
minecraft:podzolsnowy布尔值true, false
minecraft:sand--无状态
minecraft:stonestone_type字符串"stone", "granite", "diorite"
minecraft:terracotta--无状态
minecraft:concretecolor字符串"white", "blue", "red"
minecraft:woolcolor字符串"white", "blue", "red"

注意事项:
  1. name 字段 — 必须使用有效的 Minecraft 方块 ID,格式为 namespace:block_name(如 minecraft:grass)。
  2. states 字段 — 可选,用于指定方块的特殊状态。不是所有方块都有状态。
  3. 状态值类型 — 根据方块的不同,状态值可以是:
    • 布尔值:true / false
    • 整数:如 0, 1, 2, 3...
    • 字符串:如 "x", "y", "z", "red", "blue"...
  4. 状态验证 — 确保使用方块支持的有效状态名称和值,否则可能导致游戏崩溃或方块显示错误。
  5. 查询方块状态 — 可使用 F3 调试屏幕或游戏内命令查看方块的有效状态。
  6. 与地表材料调整配合 — 在地表材料调整中使用表层材料定义时,可指定特定状态的方块以创建更丰富的地表效果。
  7. 表层材料用途 — 表层材料是玩家最直接接触的地表方块,如草方块、沙子、雪层等。
完整地表材料调整示例(使用表层材料):
JSON:
"minecraft:surface_material_adjustments": {
    "adjustments": [
        {
            "noise_range": [-0.5, 0.0],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": {
                    "name": "minecraft:podzol",
                    "states": {
                        "snowy": false
                    }
                },
                "mid_material": "minecraft:dirt",
                "foundation_material": "minecraft:stone"
            }
        },
        {
            "noise_range": [0.0, 0.5],
            "noise_frequency_scale": 1.0,
            "materials": {
                "top_material": {
                    "name": "minecraft:coarse_dirt",
                    "states": {}
                },
                "mid_material": "minecraft:dirt",
                "foundation_material": "minecraft:stone"
            }
        }
    ]
}

地层结构中的表层材料位置:
代码:
      ┌────────────►│  top_material   │  ← 地表(草方块/沙子等)★ 此处
      │             ├─────────────────┤
      │             │  mid_material   │  ← 中层(泥土等)
      │             ├─────────────────┤
      │             │                 │
      │             │ foundation_     │  ← 基础层(石头等)
      │             │ material        │
      │             │                 │
      │             └─────────────────┘
      │
      └── 表层材料是玩家直接接触的最上层方块

常见表层材料选择:

方块 ID译法适用场景
minecraft:grass草方块标准主世界地表
minecraft:dirt泥土贫瘠地形地表
minecraft:coarse_dirt粗泥土荒地/侵蚀地形
minecraft:podzol灰化土针叶林地形
minecraft:sand沙子沙漠/海滩地形
minecraft:red_sand红沙热带/特殊海滩
minecraft:gravel沙砾山地/水下地形
minecraft:stone石头裸露岩石地形
minecraft:snow雪层雪地地形
minecraft:ice冰冻地形
minecraft:mycelium菌丝体蘑菇岛地形
minecraft:netherrack下界岩下界地形
minecraft:end_stone末地石末地地形

不同生物群系的表层材料推荐:
生物群系类型推荐表层材料说明
平原/森林minecraft:grass标准草方块
沙漠minecraft:sand沙子
雪原minecraft:snow 或 minecraft:ice雪层或冰
海滩minecraft:sand沙子
恶地minecraft:orange_terracotta橙色陶土
沼泽minecraft:grass草方块(可能有睡莲)
冰原minecraft:ice
针叶林minecraft:podzol灰化土
热带草原minecraft:grass草方块
下界minecraft:netherrack下界岩
末地minecraft:end_stone末地石
蘑菇岛minecraft:mycelium菌丝体

表层材料状态详解(草方块):
状态名类型说明有效值
snowy布尔值是否被雪覆盖true, false
示例:
JSON:
// 普通草方块
"top_material": {
    "name": "minecraft:grass",
    "states": {
        "snowy": false
    }
}

// 雪覆盖的草方块
"top_material": {
    "name": "minecraft:grass",
    "states": {
        "snowy": true
    }
}

地表材料调整场景示例(表层材料变化):

场景噪声范围表层材料变化频率缩放
草地→沙地过渡[0.0, 0.5]grass → sand1.0
草地→石头山地[0.5, 1.0]grass → stone0.8
草地→灰化土斑点[-0.2, 0.2]grass → podzol2.0
草地→粗泥土区域[0.2, 0.6]grass → coarse_dirt1.5
大范围材料替换[-1.0, 1.0]整体替换0.5



上一篇:
下一篇:
回到二级页:点我跳转
回到总目录:点我跳转