地表补丁生成教程
本页面镜像自 BedrockWiki
根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。
基于特征的地表构建器是一种将多种方块组合生成的功能,用于为主世界地表增添多样性和装饰效果。本教程将详细讲解如何创建这种地表特征,包括尺寸、生成频率、生成位置等参数设置!
单方块特征
单方块特征将作为我们地表构建的基础。它们定义了我们将要使用的具体方块类型。本教程将使用粗泥、灰化土和圆石作为示例。
了解更多单方块特征知识请点击此处
粗泥特征文件
json
{
"format_version": "1.13.0",
"minecraft:single_block_feature": {
"description": {
"identifier": "wiki:coarse_dirt_feature"
},
"places_block": {
// 粗泥与普通泥土共享相同标识符,需通过名称和状态值指定
"name": "minecraft:dirt",
"states": {
"dirt_type": "coarse"
}
},
"enforce_survivability_rules": false,
"enforce_placement_rules": false,
"may_replace": [
"minecraft:grass" // 该方块仅可替换草方块
]
}
}
灰化土特征文件
json
{
"format_version": "1.13.0",
"minecraft:single_block_feature": {
"description": {
"identifier": "wiki:podzol_feature"
},
"places_block": "minecraft:podzol", // 灰化土可直接通过标识符定义
"enforce_survivability_rules": false,
"enforce_placement_rules": false,
"may_replace": [
"minecraft:grass" // 该方块仅可替换草方块
]
}
}
圆石特征文件
json
{
"format_version": "1.13.0",
"minecraft:single_block_feature": {
"description": {
"identifier": "wiki:cobblestone_feature"
},
"places_block": "minecraft:cobblestone", // 圆石可直接通过标识符定义
"enforce_survivability_rules": false,
"enforce_placement_rules": false,
"may_replace": [
"minecraft:grass" // 该方块仅可替换草方块
]
}
}
权重随机特征
权重随机特征将作为我们的_随机选择器_,用于在不同方块类型之间进行概率选择。
了解更多权重随机特征知识请点击此处
json
{
"format_version": "1.13.0",
"minecraft:weighted_random_feature": {
"description": {
"identifier": "wiki:select_surface_block_feature"
},
"features": [
[
"wiki:coarse_dirt_feature", // 粗泥权重为5
5
],
[
"wiki:podzol_feature", // 灰化土权重为3
3
],
[
"wiki:cobblestone_feature", // 圆石权重为2
2
]
]
}
}
散点特征
散点特征是我们地表构建的重要部分。它将决定单个斑块中方块的数量、形状和分布范围。
了解更多散点特征知识请点击此处
json
{
"format_version": "1.13.0",
"minecraft:scatter_feature": {
"description": {
"identifier": "wiki:scatter_surface_block_feature"
},
"iterations": "math.random_integer(20,25)",
"x": {
"extent": [0, 8],
"distribution": "gaussian"
},
"z": {
"extent": [0, 8],
"distribution": "gaussian"
},
"y": "q.heightmap(v.worldx, v.worldz) -1",
"places_feature": "wiki:select_surface_block_feature" // 权重随机特征的标识符
}
}
iterations
决定将放置的方块数量。使用Molang的math.random_integer
函数可实现数量随机化。本示例中将在20到25个方块之间随机extent
使用数组决定斑块尺寸。[0, 8]
表示斑块从0到8格扩展。因此,我们的斑块在X和Z轴上将延伸8格。该参数仅适用于X和Z轴分布"y": "q.heightmap(v.worldx, v.worldz) -1
表示方块将放置于当前地表最高点的Y坐标-1处,即始终在地表生成distribution
指定分布类型。可用选项包括:Gaussian
(高斯分布)、Inverse Gaussian
(逆高斯分布)、Uniform
(均匀分布)、Fixed Grid
(固定网格)和Jittered Grid
(抖动网格)
特征规则
这是地表构建的最后一步。地表构建器的特征规则设置略有不同。
json
{
"format_version": "1.13.0",
"minecraft:feature_rules": {
"description": {
"identifier": "wiki:overworld_surface_blocks_feature",
"places_feature": "wiki:scatter_surface_block_feature"
},
"conditions": {
"placement_pass": "surface_pass",
"minecraft:biome_filter": {
"test": "has_biome_tag",
"operator": "==",
"value": "overworld" // 可更改为任意生物群系标签
}
},
"distribution": {
"iterations": 1,
"x": {
"extent": [0, 16],
"distribution": "uniform"
},
"y": 0,
"z": {
"extent": [0, 16],
"distribution": "uniform"
},
"scatter_chance": {
// 每个区块生成斑块的概率
"numerator": 1,
"denominator": 5
}
}
}
}
至此我们的地表构建器就完成了!欢迎自由调整参数并探索更多可能性!