用途:处理生物群系、维度、特征、结构等世界生成数据及其注册。非世界生成的数据包工作应使用 minecraft-datapack,非世界生成的模组系统应使用 minecraft-modding。
交付路径:数据包 JSON 适合修改数据包提供的数据,适用于原版及任意服务器;模组加 Datagen 适合注册新生物群系/维度等代码驱动场景,适用于 NeoForge/Fabric;NeoForge 用 Biome Modifier、Fabric 用 BiomeModification API 向已有生物群系添加特征或生成。世界生成注册表属于数据包注册表,文件在世界加载时载入,注册表路径决定数据路径。
版本边界:新工作使用 Minecraft 26.x 与 Java 25,JSON 模式应以目标版本的 vanilla 数据或生成输出为准,不要仅因能解析就把 1.21 结构复制到 26.x。既有 1.21.x 项目保持 Java 21 及匹配模式,除非任务明确要求升级。26.1 迁移移除了 minecraft:random_patch 和 minecraft:no_bonemeal_flower,改用 minecraft:simple_block 配置特征加 count、随机偏移和方块谓词过滤的放置。26.3 使用 worldgen/feature/,此前为 worldgen/configured_feature/。
数据布局:在 data/<namespace>/worldgen/ 下放置 biome、feature、placed_feature、noise_settings、structure、structure_set、processor_list、template_pool、carver 等;dimension 与 dimension_type 位于 data/<namespace>/ 下;标签位于 tags/worldgen/biome/;NeoForge 生物群系修饰符位于 neoforge/biome_modifier/。按叶子到根构建引用图:先特征再放置特征,再在生物群系或修饰符中按装饰步骤引用;先结构再结构集,拼图结构还需模板池、处理器列表和结构模板;先维度类型和噪声设置再维度。跨命名空间使用完整标识符。
开发流程:编辑 JSON 后运行 ./scripts/validate-worldgen-json.sh --root /path/to/datapack-or-mod-resources --feature-registry feature,严格模式加 --strict;26.2 及更早省略 --feature-registry feature。校验器检查 JSON 有效性及 placed_feature 到 feature、structure_set 到 structure、拼图结构到 start_pool 等交叉引用,但不运行 Mojang codec,字段模式仍需对照目标版本。游戏内可用 /locate structure、/locate biome、/place feature 测试,维度用 /execute in <namespace>:my_dimension run tp @s 0 100 0。注意 /reload 不会重新生成已生成区块,需在新世界或新生成区块测试。
限制:资料未提供具体收费、平台支持范围或效果保证;示例仅覆盖部分版本模式,其他版本需以对应 vanilla 数据为准。