完整版BedrockWiki镜像!
This commit is contained in:
@@ -1,166 +1,174 @@
|
||||
---
|
||||
title: Biome Tags
|
||||
category: Documentation
|
||||
title: 生物群系标签
|
||||
category: 文档
|
||||
mentions:
|
||||
- MedicalJewel105
|
||||
---
|
||||
|
||||
This page was created with [Wiki Content Generator](https://github.com/Bedrock-OSS/bedrock-wiki-content-generator). If there are issues, contact us on [Bedrock OSS](https://discord.gg/XjV87YN) Discord server.
|
||||
*Last updated on 08 August 2023*
|
||||
本文档由 [Wiki内容生成器](https://github.com/Bedrock-OSS/bedrock-wiki-content-generator) 创建。如有问题,请联系 [Bedrock OSS](https://discord.gg/XjV87YN) Discord 服务器。
|
||||
*最后更新于2023年8月8日*
|
||||
|
||||
## Biome tag per Biome
|
||||
# 生物群系标签
|
||||
|
||||
| Biome | Biome Tags |
|
||||
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| bamboo_jungle | animal, bamboo, jungle, monster, overworld |
|
||||
| bamboo_jungle_hills | animal, bamboo, hills, jungle, monster, overworld |
|
||||
| basalt_deltas | nether, basalt_deltas, spawn_many_magma_cubes, spawn_ghast |
|
||||
| beach | beach, monster, overworld, warm |
|
||||
| birch_forest | animal, birch, forest, monster, overworld, bee_habitat |
|
||||
| birch_forest_hills | animal, birch, forest, hills, monster, overworld, bee_habitat |
|
||||
| birch_forest_hills_mutated | animal, birch, forest, hills, monster, mutated, overworld_generation |
|
||||
| birch_forest_mutated | animal, birch, forest, monster, mutated, bee_habitat, overworld_generation |
|
||||
| cold_beach | beach, cold, monster, overworld |
|
||||
| cold_ocean | cold, monster, ocean, overworld |
|
||||
| cold_taiga | animal, cold, forest, monster, overworld, taiga |
|
||||
| cold_taiga_hills | animal, cold, forest, hills, monster, overworld, taiga |
|
||||
| cold_taiga_mutated | animal, cold, forest, monster, mutated, taiga, overworld_generation |
|
||||
| crimson_forest | nether, netherwart_forest, crimson_forest, spawn_few_zombified_piglins, spawn_piglin |
|
||||
| deep_cold_ocean | cold, deep, monster, ocean, overworld |
|
||||
| deep_frozen_ocean | deep, frozen, monster, ocean, overworld |
|
||||
| deep_lukewarm_ocean | deep, lukewarm, monster, ocean, overworld |
|
||||
| deep_ocean | deep, monster, ocean, overworld |
|
||||
| deep_warm_ocean | deep, monster, ocean, overworld, warm |
|
||||
| desert | desert, monster, overworld |
|
||||
| desert_hills | desert, hills, monster, overworld |
|
||||
| desert_mutated | desert, monster, mutated, overworld_generation |
|
||||
| dripstone_caves | caves, overworld, dripstone_caves, monster |
|
||||
| extreme_hills | animal, extreme_hills, monster, overworld |
|
||||
| extreme_hills_edge | animal, edge, extreme_hills, monster, mountain, overworld |
|
||||
| extreme_hills_mutated | animal, extreme_hills, monster, mutated, overworld |
|
||||
| extreme_hills_plus_trees | animal, extreme_hills, forest, monster, mountain, overworld |
|
||||
| extreme_hills_plus_trees_mutated | animal, extreme_hills, forest, monster, mutated, overworld |
|
||||
| flower_forest | flower_forest, monster, mutated, overworld, bee_habitat |
|
||||
| forest | animal, forest, monster, overworld, bee_habitat |
|
||||
| forest_hills | animal, hills, monster, overworld, forest, bee_habitat |
|
||||
| frozen_ocean | frozen, monster, ocean, overworld |
|
||||
| frozen_peaks | mountains, monster, overworld, frozen, frozen_peaks |
|
||||
| frozen_river | frozen, overworld, river |
|
||||
| grove | mountains, monster, overworld, grove |
|
||||
| hell | nether, nether_wastes, spawn_magma_cubes, spawn_zombified_piglin, spawn_few_piglins, spawn_ghast, spawn_endermen |
|
||||
| ice_mountains | frozen, ice, mountain, overworld |
|
||||
| ice_plains | frozen, ice, ice_plains, overworld |
|
||||
| ice_plains_spikes | frozen, ice_plains, monster, mutated, overworld |
|
||||
| jagged_peaks | mountains, monster, overworld, frozen, jagged_peaks |
|
||||
| jungle | animal, jungle, monster, overworld, rare |
|
||||
| jungle_edge | animal, edge, jungle, monster, overworld |
|
||||
| jungle_edge_mutated | animal, edge, jungle, monster, mutated, overworld_generation |
|
||||
| jungle_hills | animal, hills, jungle, monster, overworld |
|
||||
| jungle_mutated | animal, jungle, monster, mutated, overworld_generation |
|
||||
| legacy_frozen_ocean | frozen, ocean, overworld |
|
||||
| lukewarm_ocean | lukewarm, monster, ocean, overworld |
|
||||
| lush_caves | caves, lush_caves, overworld, monster |
|
||||
| meadow | mountains, monster, overworld, meadow, bee_habitat |
|
||||
| mega_taiga | animal, forest, mega, monster, overworld, rare, taiga |
|
||||
| mega_taiga_hills | animal, forest, hills, mega, monster, overworld, taiga |
|
||||
| mesa | mesa, monster, overworld |
|
||||
| mesa_bryce | animal, mesa, monster, mutated, overworld |
|
||||
| mesa_plateau | mesa, monster, overworld, plateau, rare |
|
||||
| mesa_plateau_mutated | mesa, monster, mutated, overworld, plateau, stone |
|
||||
| mesa_plateau_stone | mesa, monster, overworld, plateau, rare, stone |
|
||||
| mesa_plateau_stone_mutated | mesa, monster, mutated, overworld, plateau |
|
||||
| mushroom_island | mooshroom_island, overworld |
|
||||
| mushroom_island_shore | mooshroom_island, overworld, shore |
|
||||
| ocean | monster, ocean, overworld |
|
||||
| plains | animal, monster, overworld, plains, bee_habitat |
|
||||
| redwood_taiga_hills_mutated | animal, forest, hills, mega, monster, mutated, taiga, overworld_generation |
|
||||
| redwood_taiga_mutated | animal, forest, mega, monster, mutated, overworld, taiga |
|
||||
| river | overworld, river |
|
||||
| roofed_forest | animal, forest, monster, no_legacy_worldgen, overworld, roofed |
|
||||
| roofed_forest_mutated | animal, forest, monster, mutated, roofed, overworld_generation |
|
||||
| savanna | animal, monster, overworld, savanna |
|
||||
| savanna_mutated | animal, monster, mutated, overworld, savanna |
|
||||
| savanna_plateau | animal, monster, overworld, plateau, savanna |
|
||||
| savanna_plateau_mutated | animal, monster, mutated, overworld, plateau, savanna |
|
||||
| snowy_slopes | mountains, monster, overworld, snowy_slopes, frozen |
|
||||
| soulsand_valley | nether, soulsand_valley, spawn_ghast, spawn_endermen |
|
||||
| stone_beach | beach, monster, overworld, stone |
|
||||
| stony_peaks | mountains, monster, overworld |
|
||||
| sunflower_plains | animal, monster, mutated, overworld, plains, bee_habitat |
|
||||
| swampland | animal, monster, overworld, swamp |
|
||||
| swampland_mutated | animal, monster, mutated, swamp, overworld_generation |
|
||||
| taiga | animal, forest, monster, overworld, taiga |
|
||||
| taiga_hills | animal, forest, hills, monster, overworld, taiga |
|
||||
| taiga_mutated | animal, forest, monster, mutated, taiga, overworld_generation |
|
||||
| the_end | the_end |
|
||||
| warm_ocean | monster, ocean, overworld, warm |
|
||||
| warped_forest | nether, netherwart_forest, warped_forest, spawn_endermen |
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
## Biome per Biome Tag
|
||||
## 按生物群系列出标签
|
||||
|
||||
| Biome Tag | Biomes |
|
||||
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| animal | bamboo_jungle, bamboo_jungle_hills, birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated, cold_taiga, cold_taiga_hills, cold_taiga_mutated, extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, forest, forest_hills, jungle, jungle_edge, jungle_edge_mutated, jungle_hills, jungle_mutated, mega_taiga, mega_taiga_hills, mesa_bryce, plains, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest, roofed_forest_mutated, savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated, sunflower_plains, swampland, swampland_mutated, taiga, taiga_hills, taiga_mutated |
|
||||
| bamboo | bamboo_jungle, bamboo_jungle_hills |
|
||||
| basalt_deltas | basalt_deltas |
|
||||
| beach | beach, cold_beach, stone_beach |
|
||||
| bee_habitat | birch_forest, birch_forest_hills, birch_forest_mutated, flower_forest, forest, forest_hills, meadow, plains, sunflower_plains |
|
||||
| birch | birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated |
|
||||
| caves | dripstone_caves, lush_caves |
|
||||
| cold | cold_beach, cold_ocean, cold_taiga, cold_taiga_hills, cold_taiga_mutated, deep_cold_ocean |
|
||||
| crimson_forest | crimson_forest |
|
||||
| deep | deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean |
|
||||
| desert | desert, desert_hills, desert_mutated |
|
||||
| dripstone_caves | dripstone_caves |
|
||||
| edge | extreme_hills_edge, jungle_edge, jungle_edge_mutated |
|
||||
| extreme_hills | extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated |
|
||||
| flower_forest | flower_forest |
|
||||
| forest | birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated, cold_taiga, cold_taiga_hills, cold_taiga_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, forest, forest_hills, mega_taiga, mega_taiga_hills, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest, roofed_forest_mutated, taiga, taiga_hills, taiga_mutated |
|
||||
| frozen | deep_frozen_ocean, frozen_ocean, frozen_peaks, frozen_river, ice_mountains, ice_plains, ice_plains_spikes, jagged_peaks, legacy_frozen_ocean, snowy_slopes |
|
||||
| frozen_peaks | frozen_peaks |
|
||||
| grove | grove |
|
||||
| hills | bamboo_jungle_hills, birch_forest_hills, birch_forest_hills_mutated, cold_taiga_hills, desert_hills, forest_hills, jungle_hills, mega_taiga_hills, redwood_taiga_hills_mutated, taiga_hills |
|
||||
| ice | ice_mountains, ice_plains |
|
||||
| ice_plains | ice_plains, ice_plains_spikes |
|
||||
| jagged_peaks | jagged_peaks |
|
||||
| jungle | bamboo_jungle, bamboo_jungle_hills, jungle, jungle_edge, jungle_edge_mutated, jungle_hills, jungle_mutated |
|
||||
| lukewarm | deep_lukewarm_ocean, lukewarm_ocean |
|
||||
| lush_caves | lush_caves |
|
||||
| meadow | meadow |
|
||||
| mega | mega_taiga, mega_taiga_hills, redwood_taiga_hills_mutated, redwood_taiga_mutated |
|
||||
| mesa | mesa, mesa_bryce, mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated |
|
||||
| monster | bamboo_jungle, bamboo_jungle_hills, beach, birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated, cold_beach, cold_ocean, cold_taiga, cold_taiga_hills, cold_taiga_mutated, deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean, desert, desert_hills, desert_mutated, dripstone_caves, extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, flower_forest, forest, forest_hills, frozen_ocean, frozen_peaks, grove, ice_plains_spikes, jagged_peaks, jungle, jungle_edge, jungle_edge_mutated, jungle_hills, jungle_mutated, lukewarm_ocean, lush_caves, meadow, mega_taiga, mega_taiga_hills, mesa, mesa_bryce, mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated, ocean, plains, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest, roofed_forest_mutated, savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated, snowy_slopes, stone_beach, stony_peaks, sunflower_plains, swampland, swampland_mutated, taiga, taiga_hills, taiga_mutated, warm_ocean |
|
||||
| mooshroom_island | mushroom_island, mushroom_island_shore |
|
||||
| mountain | extreme_hills_edge, extreme_hills_plus_trees, ice_mountains |
|
||||
| mountains | frozen_peaks, grove, jagged_peaks, meadow, snowy_slopes, stony_peaks |
|
||||
| mutated | birch_forest_hills_mutated, birch_forest_mutated, cold_taiga_mutated, desert_mutated, extreme_hills_mutated, extreme_hills_plus_trees_mutated, flower_forest, ice_plains_spikes, jungle_edge_mutated, jungle_mutated, mesa_bryce, mesa_plateau_mutated, mesa_plateau_stone_mutated, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest_mutated, savanna_mutated, savanna_plateau_mutated, sunflower_plains, swampland_mutated, taiga_mutated |
|
||||
| nether | basalt_deltas, crimson_forest, hell, soulsand_valley, warped_forest |
|
||||
| nether_wastes | hell |
|
||||
| netherwart_forest | crimson_forest, warped_forest |
|
||||
| no_legacy_worldgen | roofed_forest |
|
||||
| ocean | cold_ocean, deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean, frozen_ocean, legacy_frozen_ocean, lukewarm_ocean, ocean, warm_ocean |
|
||||
| overworld | bamboo_jungle, bamboo_jungle_hills, beach, birch_forest, birch_forest_hills, cold_beach, cold_ocean, cold_taiga, cold_taiga_hills, deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean, desert, desert_hills, dripstone_caves, extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, flower_forest, forest, forest_hills, frozen_ocean, frozen_peaks, frozen_river, grove, ice_mountains, ice_plains, ice_plains_spikes, jagged_peaks, jungle, jungle_edge, jungle_hills, legacy_frozen_ocean, lukewarm_ocean, lush_caves, meadow, mega_taiga, mega_taiga_hills, mesa, mesa_bryce, mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated, mushroom_island, mushroom_island_shore, ocean, plains, redwood_taiga_mutated, river, roofed_forest, savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated, snowy_slopes, stone_beach, stony_peaks, sunflower_plains, swampland, taiga, taiga_hills, warm_ocean |
|
||||
| overworld_generation | birch_forest_hills_mutated, birch_forest_mutated, cold_taiga_mutated, desert_mutated, jungle_edge_mutated, jungle_mutated, redwood_taiga_hills_mutated, roofed_forest_mutated, swampland_mutated, taiga_mutated |
|
||||
| plains | plains, sunflower_plains |
|
||||
| plateau | mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated, savanna_plateau, savanna_plateau_mutated |
|
||||
| rare | jungle, mega_taiga, mesa_plateau, mesa_plateau_stone |
|
||||
| river | frozen_river, river |
|
||||
| roofed | roofed_forest, roofed_forest_mutated |
|
||||
| savanna | savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated |
|
||||
| shore | mushroom_island_shore |
|
||||
| snowy_slopes | snowy_slopes |
|
||||
| soulsand_valley | soulsand_valley |
|
||||
| spawn_endermen | hell, soulsand_valley, warped_forest |
|
||||
| spawn_few_piglins | hell |
|
||||
| spawn_few_zombified_piglins | crimson_forest |
|
||||
| spawn_ghast | basalt_deltas, hell, soulsand_valley |
|
||||
| spawn_magma_cubes | hell |
|
||||
| spawn_many_magma_cubes | basalt_deltas |
|
||||
| spawn_piglin | crimson_forest |
|
||||
| spawn_zombified_piglin | hell |
|
||||
| stone | mesa_plateau_mutated, mesa_plateau_stone, stone_beach |
|
||||
| swamp | swampland, swampland_mutated |
|
||||
| taiga | cold_taiga, cold_taiga_hills, cold_taiga_mutated, mega_taiga, mega_taiga_hills, redwood_taiga_hills_mutated, redwood_taiga_mutated, taiga, taiga_hills, taiga_mutated |
|
||||
| the_end | the_end |
|
||||
| warm | beach, deep_warm_ocean, warm_ocean |
|
||||
| warped_forest | warped_forest |
|
||||
| 生物群系名称 | 所属标签 |
|
||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
||||
| bamboo_jungle | animal(动物生成), bamboo(竹林), jungle(丛林), monster(怪物生成), overworld(主世界) |
|
||||
| bamboo_jungle_hills | animal, bamboo, hills(丘陵), jungle, monster, overworld |
|
||||
| basalt_deltas | nether(下界), basalt_deltas(玄武岩三角洲), spawn_many_magma_cubes(大量岩浆怪生成), spawn_ghast(恶魂生成) |
|
||||
| beach | beach(海滩), monster, overworld, warm(温暖气候) |
|
||||
| birch_forest | animal, birch(桦木), forest(森林), monster, overworld, bee_habitat(蜜蜂栖息地) |
|
||||
| birch_forest_hills | animal, birch, forest, hills, monster, overworld, bee_habitat |
|
||||
| birch_forest_hills_mutated | animal, birch, forest, hills, monster, mutated(变异), overworld_generation(主世界生成) |
|
||||
| birch_forest_mutated | animal, birch, forest, monster, mutated, bee_habitat, overworld_generation |
|
||||
| cold_beach | beach, cold(寒冷气候), monster, overworld |
|
||||
| cold_ocean | cold, monster, ocean(海洋), overworld |
|
||||
| cold_taiga | animal, cold, forest, monster, overworld, taiga(针叶林) |
|
||||
| cold_taiga_hills | animal, cold, forest, hills, monster, overworld, taiga |
|
||||
| cold_taiga_mutated | animal, cold, forest, monster, mutated, taiga, overworld_generation |
|
||||
| crimson_forest | nether, netherwart_forest(下界疣森林), crimson_forest(绯红森林), spawn_few_zombified_piglins(少量僵尸猪灵生成), spawn_piglin(猪灵生成) |
|
||||
| deep_cold_ocean | cold, deep(深海), monster, ocean, overworld |
|
||||
| deep_frozen_ocean | deep, frozen(冰冻), monster, ocean, overworld |
|
||||
| deep_lukewarm_ocean | deep, lukewarm(温水), monster, ocean, overworld |
|
||||
| deep_ocean | deep, monster, ocean, overworld |
|
||||
| deep_warm_ocean | deep, monster, ocean, overworld, warm |
|
||||
| desert | desert(沙漠), monster, overworld |
|
||||
| desert_hills | desert, hills, monster, overworld |
|
||||
| desert_mutated | desert, monster, mutated, overworld_generation |
|
||||
| dripstone_caves | caves(洞穴), overworld, dripstone_caves(溶洞), monster |
|
||||
| extreme_hills | animal, extreme_hills(峭壁), monster, overworld |
|
||||
| extreme_hills_edge | animal, edge(边缘), extreme_hills, monster, mountain(山地), overworld |
|
||||
| extreme_hills_mutated | animal, extreme_hills, monster, mutated, overworld |
|
||||
| extreme_hills_plus_trees | animal, extreme_hills, forest, monster, mountain, overworld |
|
||||
| extreme_hills_plus_trees_mutated | animal, extreme_hills, forest, monster, mutated, overworld |
|
||||
| flower_forest | flower_forest(繁花森林), monster, mutated, overworld, bee_habitat |
|
||||
| forest | animal, forest, monster, overworld, bee_habitat |
|
||||
| forest_hills | animal, hills, monster, overworld, forest, bee_habitat |
|
||||
| frozen_ocean | frozen, monster, ocean, overworld |
|
||||
| frozen_peaks | mountains(山脉), monster, overworld, frozen, frozen_peaks(冰封山峰) |
|
||||
| frozen_river | frozen, overworld, river(河流) |
|
||||
| grove | mountains, monster, overworld, grove(雪林) |
|
||||
| hell | nether, nether_wastes(下界荒地), spawn_magma_cubes(岩浆怪生成), spawn_zombified_piglin(僵尸猪灵生成), spawn_few_piglins(少量猪灵生成), spawn_ghast, spawn_endermen(末影人生成) |
|
||||
| ice_mountains | frozen, ice(冰原), mountain, overworld |
|
||||
| ice_plains | frozen, ice, ice_plains(冰原), overworld |
|
||||
| ice_plains_spikes | frozen, ice_plains, monster, mutated, overworld |
|
||||
| jagged_peaks | mountains, monster, overworld, frozen, jagged_peaks(尖峭山峰) |
|
||||
| jungle | animal, jungle, monster, overworld, rare(稀有) |
|
||||
| jungle_edge | animal, edge, jungle, monster, overworld |
|
||||
| jungle_edge_mutated | animal, edge, jungle, monster, mutated, overworld_generation |
|
||||
| jungle_hills | animal, hills, jungle, monster, overworld |
|
||||
| jungle_mutated | animal, jungle, monster, mutated, overworld_generation |
|
||||
| legacy_frozen_ocean | frozen, ocean, overworld |
|
||||
| lukewarm_ocean | lukewarm, monster, ocean, overworld |
|
||||
| lush_caves | caves, lush_caves(繁茂洞穴), overworld, monster |
|
||||
| meadow | mountains, monster, overworld, meadow(草甸), bee_habitat |
|
||||
| mega_taiga | animal, forest, mega(巨型), monster, overworld, rare, taiga |
|
||||
| mega_taiga_hills | animal, forest, hills, mega, monster, overworld, taiga |
|
||||
| mesa | mesa(平顶山), monster, overworld |
|
||||
| mesa_bryce | animal, mesa, monster, mutated, overworld |
|
||||
| mesa_plateau | mesa, monster, overworld, plateau(高原), rare |
|
||||
| mesa_plateau_mutated | mesa, monster, mutated, overworld, plateau, stone(石质) |
|
||||
| mesa_plateau_stone | mesa, monster, overworld, plateau, rare, stone |
|
||||
| mesa_plateau_stone_mutated | mesa, monster, mutated, overworld, plateau |
|
||||
| mushroom_island | mooshroom_island(蘑菇岛), overworld |
|
||||
| mushroom_island_shore | mooshroom_island, overworld, shore(海岸) |
|
||||
| ocean | monster, ocean, overworld |
|
||||
| plains | animal, monster, overworld, plains(平原), bee_habitat |
|
||||
| redwood_taiga_hills_mutated | animal, forest, hills, mega, monster, mutated, taiga, overworld_generation |
|
||||
| redwood_taiga_mutated | animal, forest, mega, monster, mutated, overworld, taiga |
|
||||
| river | overworld, river |
|
||||
| roofed_forest | animal, forest, monster, no_legacy_worldgen(非旧版地形), overworld, roofed(黑森林) |
|
||||
| roofed_forest_mutated | animal, forest, monster, mutated, roofed, overworld_generation |
|
||||
| savanna | animal, monster, overworld, savanna(热带草原) |
|
||||
| savanna_mutated | animal, monster, mutated, overworld, savanna |
|
||||
| savanna_plateau | animal, monster, overworld, plateau, savanna |
|
||||
| savanna_plateau_mutated | animal, monster, mutated, overworld, plateau, savanna |
|
||||
| snowy_slopes | mountains, monster, overworld, snowy_slopes(积雪坡地), frozen |
|
||||
| soulsand_valley | nether, soulsand_valley(灵魂沙峡谷), spawn_ghast, spawn_endermen |
|
||||
| stone_beach | beach, monster, overworld, stone |
|
||||
| stony_peaks | mountains, monster, overworld |
|
||||
| sunflower_plains | animal, monster, mutated, overworld, plains, bee_habitat |
|
||||
| swampland | animal, monster, overworld, swamp(沼泽) |
|
||||
| swampland_mutated | animal, monster, mutated, swamp, overworld_generation |
|
||||
| taiga | animal, forest, monster, overworld, taiga |
|
||||
| taiga_hills | animal, forest, hills, monster, overworld, taiga |
|
||||
| taiga_mutated | animal, forest, monster, mutated, taiga, overworld_generation |
|
||||
| the_end | the_end(末地) |
|
||||
| warm_ocean | monster, ocean, overworld, warm |
|
||||
| warped_forest | nether, netherwart_forest, warped_forest(诡异森林), spawn_endermen |
|
||||
|
||||
## 按标签列出生物群系
|
||||
|
||||
| 标签名称 | 包含生物群系 |
|
||||
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| animal | bamboo_jungle, bamboo_jungle_hills, birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated, cold_taiga, cold_taiga_hills, cold_taiga_mutated, extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, forest, forest_hills, jungle, jungle_edge, jungle_edge_mutated, jungle_hills, jungle_mutated, mega_taiga, mega_taiga_hills, mesa_bryce, plains, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest, roofed_forest_mutated, savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated, sunflower_plains, swampland, swampland_mutated, taiga, taiga_hills, taiga_mutated |
|
||||
| bamboo | bamboo_jungle, bamboo_jungle_hills |
|
||||
| basalt_deltas | basalt_deltas |
|
||||
| beach | beach, cold_beach, stone_beach |
|
||||
| bee_habitat | birch_forest, birch_forest_hills, birch_forest_mutated, flower_forest, forest, forest_hills, meadow, plains, sunflower_plains |
|
||||
| birch | birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated |
|
||||
| caves | dripstone_caves, lush_caves |
|
||||
| cold | cold_beach, cold_ocean, cold_taiga, cold_taiga_hills, cold_taiga_mutated, deep_cold_ocean |
|
||||
| crimson_forest | crimson_forest |
|
||||
| deep | deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean |
|
||||
| desert | desert, desert_hills, desert_mutated |
|
||||
| dripstone_caves | dripstone_caves |
|
||||
| edge | extreme_hills_edge, jungle_edge, jungle_edge_mutated |
|
||||
| extreme_hills | extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated |
|
||||
| flower_forest | flower_forest |
|
||||
| forest | birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated, cold_taiga, cold_taiga_hills, cold_taiga_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, forest, forest_hills, mega_taiga, mega_taiga_hills, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest, roofed_forest_mutated, taiga, taiga_hills, taiga_mutated |
|
||||
| frozen | deep_frozen_ocean, frozen_ocean, frozen_peaks, frozen_river, ice_mountains, ice_plains, ice_plains_spikes, jagged_peaks, legacy_frozen_ocean, snowy_slopes |
|
||||
| frozen_peaks | frozen_peaks |
|
||||
| grove | grove |
|
||||
| hills | bamboo_jungle_hills, birch_forest_hills, birch_forest_hills_mutated, cold_taiga_hills, desert_hills, forest_hills, jungle_hills, mega_taiga_hills, redwood_taiga_hills_mutated, taiga_hills |
|
||||
| ice | ice_mountains, ice_plains |
|
||||
| ice_plains | ice_plains, ice_plains_spikes |
|
||||
| jagged_peaks | jagged_peaks |
|
||||
| jungle | bamboo_jungle, bamboo_jungle_hills, jungle, jungle_edge, jungle_edge_mutated, jungle_hills, jungle_mutated |
|
||||
| lukewarm | deep_lukewarm_ocean, lukewarm_ocean |
|
||||
| lush_caves | lush_caves |
|
||||
| meadow | meadow |
|
||||
| mega | mega_taiga, mega_taiga_hills, redwood_taiga_hills_mutated, redwood_taiga_mutated |
|
||||
| mesa | mesa, mesa_bryce, mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated |
|
||||
| monster | bamboo_jungle, bamboo_jungle_hills, beach, birch_forest, birch_forest_hills, birch_forest_hills_mutated, birch_forest_mutated, cold_beach, cold_ocean, cold_taiga, cold_taiga_hills, cold_taiga_mutated, deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean, desert, desert_hills, desert_mutated, dripstone_caves, extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, flower_forest, forest, forest_hills, frozen_ocean, frozen_peaks, grove, ice_plains_spikes, jagged_peaks, jungle, jungle_edge, jungle_edge_mutated, jungle_hills, jungle_mutated, lukewarm_ocean, lush_caves, meadow, mega_taiga, mega_taiga_hills, mesa, mesa_bryce, mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated, ocean, plains, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest, roofed_forest_mutated, savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated, snowy_slopes, stone_beach, stony_peaks, sunflower_plains, swampland, swampland_mutated, taiga, taiga_hills, taiga_mutated, warm_ocean |
|
||||
| mooshroom_island | mushroom_island, mushroom_island_shore |
|
||||
| mountain | extreme_hills_edge, extreme_hills_plus_trees, ice_mountains |
|
||||
| mountains | frozen_peaks, grove, jagged_peaks, meadow, snowy_slopes, stony_peaks |
|
||||
| mutated | birch_forest_hills_mutated, birch_forest_mutated, cold_taiga_mutated, desert_mutated, extreme_hills_mutated, extreme_hills_plus_trees_mutated, flower_forest, ice_plains_spikes, jungle_edge_mutated, jungle_mutated, mesa_bryce, mesa_plateau_mutated, mesa_plateau_stone_mutated, redwood_taiga_hills_mutated, redwood_taiga_mutated, roofed_forest_mutated, savanna_mutated, savanna_plateau_mutated, sunflower_plains, swampland_mutated, taiga_mutated |
|
||||
| nether | basalt_deltas, crimson_forest, hell, soulsand_valley, warped_forest |
|
||||
| nether_wastes | hell |
|
||||
| netherwart_forest | crimson_forest, warped_forest |
|
||||
| no_legacy_worldgen | roofed_forest |
|
||||
| ocean | cold_ocean, deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean, frozen_ocean, legacy_frozen_ocean, lukewarm_ocean, ocean, warm_ocean |
|
||||
| overworld | bamboo_jungle, bamboo_jungle_hills, beach, birch_forest, birch_forest_hills, cold_beach, cold_ocean, cold_taiga, cold_taiga_hills, deep_cold_ocean, deep_frozen_ocean, deep_lukewarm_ocean, deep_ocean, deep_warm_ocean, desert, desert_hills, dripstone_caves, extreme_hills, extreme_hills_edge, extreme_hills_mutated, extreme_hills_plus_trees, extreme_hills_plus_trees_mutated, flower_forest, forest, forest_hills, frozen_ocean, frozen_peaks, frozen_river, grove, ice_mountains, ice_plains, ice_plains_spikes, jagged_peaks, jungle, jungle_edge, jungle_hills, legacy_frozen_ocean, lukewarm_ocean, lush_caves, meadow, mega_taiga, mega_taiga_hills, mesa, mesa_bryce, mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated, mushroom_island, mushroom_island_shore, ocean, plains, redwood_taiga_mutated, river, roofed_forest, savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated, snowy_slopes, stone_beach, stony_peaks, sunflower_plains, swampland, taiga, taiga_hills, warm_ocean |
|
||||
| overworld_generation | birch_forest_hills_mutated, birch_forest_mutated, cold_taiga_mutated, desert_mutated, jungle_edge_mutated, jungle_mutated, redwood_taiga_hills_mutated, roofed_forest_mutated, swampland_mutated, taiga_mutated |
|
||||
| plains | plains, sunflower_plains |
|
||||
| plateau | mesa_plateau, mesa_plateau_mutated, mesa_plateau_stone, mesa_plateau_stone_mutated, savanna_plateau, savanna_plateau_mutated |
|
||||
| rare | jungle, mega_taiga, mesa_plateau, mesa_plateau_stone |
|
||||
| river | frozen_river, river |
|
||||
| roofed | roofed_forest, roofed_forest_mutated |
|
||||
| savanna | savanna, savanna_mutated, savanna_plateau, savanna_plateau_mutated |
|
||||
| shore | mushroom_island_shore |
|
||||
| snowy_slopes | snowy_slopes |
|
||||
| soulsand_valley | soulsand_valley |
|
||||
| spawn_endermen | hell, soulsand_valley, warped_forest |
|
||||
| spawn_few_piglins | hell |
|
||||
| spawn_few_zombified_piglins | crimson_forest |
|
||||
| spawn_ghast | basalt_deltas, hell, soulsand_valley |
|
||||
| spawn_magma_cubes | hell |
|
||||
| spawn_many_magma_cubes | basalt_deltas |
|
||||
| spawn_piglin | crimson_forest |
|
||||
| spawn_zombified_piglin | hell |
|
||||
| stone | mesa_plateau_mutated, mesa_plateau_stone, stone_beach |
|
||||
| swamp | swampland, swampland_mutated |
|
||||
| taiga | cold_taiga, cold_taiga_hills, cold_taiga_mutated, mega_taiga, mega_taiga_hills, redwood_taiga_hills_mutated, redwood_taiga_mutated, taiga, taiga_hills, taiga_mutated |
|
||||
| the_end | the_end |
|
||||
| warm | beach, deep_warm_ocean, warm_ocean |
|
||||
| warped_forest | warped_forest |
|
||||
|
||||
::: tip 格式说明
|
||||
本表格中部分标签后标注了中文解释(如`animal(动物生成)`),这是为了便于理解添加的注释,实际标签名称仍为英文形式
|
||||
:::
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Generating Custom Ores
|
||||
category: Tutorials
|
||||
title: 生成自定义矿物
|
||||
category: 巧思案例
|
||||
tags:
|
||||
- experimental
|
||||
mentions:
|
||||
@@ -10,34 +10,37 @@ mentions:
|
||||
- Chikorita-Lover
|
||||
---
|
||||
|
||||
`ore_feature`'s are basic but important features! They can form clusters of blocks by replacing blocks where they are generated. This tutorial will show you how to make mineral ores that naturally generate.
|
||||
# 生成自定义矿物
|
||||
|
||||
The use of features and feature rules requires Creation of Custom Biomes to be enabled in your world settings. If your block doesn't generate, make sure it's enabled!
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
`矿石特征`是基础但重要的特性!它们通过替换生成位置的方块来形成方块簇。本教程将展示如何制作自然生成的矿物矿石。
|
||||
|
||||
使用特征和特征规则需要在世界设置中启用自定义生物群系功能。如果方块未生成,请确保已启用该选项!
|
||||
|
||||
:::tip
|
||||
For this tutorial, I'll be using 2 custom blocks, Titanite Ore and Deepslate Titanite Ore. For how to make custom blocks, visit the [Blocks Intro](/blocks/blocks-intro) page.
|
||||
本教程将使用两种自定义方块:钛铁矿和深板岩钛铁矿。关于如何制作自定义方块,请访问[方块基础](/wiki/blocks/blocks-intro)页面。
|
||||
:::
|
||||
|
||||
## The Feature File
|
||||
## 特征文件
|
||||
|
||||
<CodeHeader>BP/features/titanite_ore_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/titanite_ore_feature.json]
|
||||
{
|
||||
"format_version": "1.17.0",
|
||||
"minecraft:ore_feature": {
|
||||
"description": {
|
||||
"identifier": "wiki:titanite_ore_feature"
|
||||
},
|
||||
"count": 8, // Placement attempts
|
||||
"count": 8, // 尝试放置次数
|
||||
"replace_rules": [
|
||||
{
|
||||
// Replace all stone variants (andesite, granite, and diorite) with titanite ore
|
||||
// 将所有石质变种(安山岩、花岗岩、闪长岩)替换为钛铁矿
|
||||
"places_block": "wiki:titanite_ore",
|
||||
"may_replace": ["minecraft:stone"]
|
||||
},
|
||||
{
|
||||
// Replace deepslate with deepslate titanite ore
|
||||
// 将深板岩替换为深板岩钛铁矿
|
||||
"places_block": "wiki:deepslate_titanite_ore",
|
||||
"may_replace": ["minecraft:deepslate"]
|
||||
}
|
||||
@@ -45,23 +48,23 @@ For this tutorial, I'll be using 2 custom blocks, Titanite Ore and Deepslate Tit
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
## The Feature Rule
|
||||
## 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/overworld_underground_titanite_ore_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/overworld_underground_titanite_ore_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
"description": {
|
||||
"identifier": "wiki:overworld_underground_titanite_ore_feature",
|
||||
"places_feature": "wiki:titanite_ore_feature" // Identifier from the feature file
|
||||
"places_feature": "wiki:titanite_ore_feature" // 来自特征文件的标识符
|
||||
},
|
||||
"conditions": {
|
||||
"placement_pass": "underground_pass",
|
||||
"minecraft:biome_filter": [
|
||||
// Scatter the ore throughout the Overworld
|
||||
// 在主世界各处散布矿石
|
||||
{
|
||||
"any_of": [
|
||||
{
|
||||
@@ -79,17 +82,17 @@ For this tutorial, I'll be using 2 custom blocks, Titanite Ore and Deepslate Tit
|
||||
]
|
||||
},
|
||||
"distribution": {
|
||||
"iterations": 10, // Placement attempts of the cluster, not the ore blocks
|
||||
"iterations": 10, // 矿簇的生成尝试次数(非单个矿石方块)
|
||||
"coordinate_eval_order": "zyx",
|
||||
"x": {
|
||||
"distribution": "uniform",
|
||||
"extent": [0, 16]
|
||||
},
|
||||
"y": {
|
||||
"distribution": "uniform", // You can use "triangle" to make ores more common in the middle of the extent
|
||||
"distribution": "uniform", // 使用"triangle"可使矿石在高度范围中部更常见
|
||||
"extent": [
|
||||
0, // Minimum y level for the ore to generate
|
||||
62 // Maximum y level for the ore to generate
|
||||
0, // 矿石生成的最小高度
|
||||
62 // 矿石生成的最大高度
|
||||
]
|
||||
},
|
||||
"z": {
|
||||
@@ -100,17 +103,18 @@ For this tutorial, I'll be using 2 custom blocks, Titanite Ore and Deepslate Tit
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
## Testing
|
||||
## 测试验证
|
||||
|
||||
You can look for the ore by exploring caves, but if your ores are rare, you can use commands instead to check if they're generating. Simply place this command into a repeating command block, then fly around:
|
||||
可以通过探索洞穴寻找矿石,若矿石稀有度较高,建议使用指令验证生成情况。将以下指令放入循环命令方块中,然后四处飞行:
|
||||
|
||||
- `execute @a ~ ~ ~ fill ~8 ~8 ~8 ~-8 ~-8 ~-8 air 0 replace wiki:titanite_ore`
|
||||
|
||||
Stone ores:
|
||||
普通石质矿石:
|
||||
|
||||

|
||||
|
||||
Deepslate ores:
|
||||
深板岩矿石:
|
||||
|
||||

|
||||

|
||||
@@ -1,72 +1,73 @@
|
||||
---
|
||||
title: Block Conditions for Features
|
||||
category: Tutorials
|
||||
title: 方块的生成条件
|
||||
category: 巧思案例
|
||||
tags:
|
||||
- experimental
|
||||
- 实验性
|
||||
mentions:
|
||||
- PavelDobCZ23
|
||||
- SmokeyStack
|
||||
- ThomasOrs
|
||||
---
|
||||
|
||||
Sometimes you might need to place any feature conditionally depending on what blocks are below or above it for example. Not many features have the option to conditionally place them like so, but with a simple trick we can use it on anything we want.
|
||||
# 方块的生成条件
|
||||
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
有时你可能需要根据下方或上方的方块条件来放置特定特征。虽然多数生成特征本身不具备条件判断功能,但我们可以通过简单的技巧实现这个需求。
|
||||
|
||||
:::tip
|
||||
This technique utilizes `aggregate_feature` and `single_block_feature` features. If you want to learn more about those, visit [Feature Types](/world-generation/feature-types) article.
|
||||
本技巧利用了 `aggregate_feature` 和 `single_block_feature` 特征。若想了解更多相关内容,请参阅[特征类型](/wiki/world-generation/feature-types)文档。
|
||||
:::
|
||||
|
||||
## Files
|
||||
## 文件结构
|
||||
|
||||
### Features
|
||||
### 特征文件
|
||||
|
||||
This feature places a `single_block_feature` which can be specified with the conditions we need for some other feature. The block can be kept there if it doesn't interrupt your desired features, but we will replace it with air in the next feature so that it doesn't cause any issues later on. This feature acts as a "dummy" feature because we only want its condition part but we don't need it to actually place anything.
|
||||
这个特征通过 `single_block_feature` 实现条件判断功能。我们可以保留这个占位方块(若不影响后续生成),但后续会将其替换为空气方块以避免干扰。该特征本质上是一个"虚拟"特征,因为我们只需要它的条件判断功能而不需要实际生成方块。
|
||||
|
||||
<CodeHeader>BP/features/block_condition_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/block_condition_feature.json]
|
||||
{
|
||||
"format_version": "1.18.0",
|
||||
"minecraft:single_block_feature": {
|
||||
"description": {
|
||||
"identifier": "wiki:block_condition_feature"
|
||||
},
|
||||
"places_block": "minecraft:cobblestone", //Any block that isn't in "may_replace" list.
|
||||
"places_block": "minecraft:cobblestone", //任何不在"may_replace"列表中的方块
|
||||
"enforce_placement_rules": false,
|
||||
"enforce_survivability_rules": false,
|
||||
"may_replace": ["minecraft:air"], //Only blocks the feature is allowed to be placed in.
|
||||
"may_attach_to": { //Attachment conditions - what blocks can surround the feature when its being placed
|
||||
"bottom": ["minecraft:grass"] //Only blocks the feature can be placed on top of.
|
||||
"may_replace": ["minecraft:air"], //仅允许在特定方块上生成
|
||||
"may_attach_to": { //附着条件 - 特征生成时周围允许存在的方块
|
||||
"bottom": ["minecraft:grass"] //仅允许在草方块上方生成
|
||||
}
|
||||
}
|
||||
}
|
||||
//This "dummy" feature will only allow the feature to generate in the air, right above a grass block.
|
||||
//这个"虚拟"特征只允许在草方块正上方的空气方块位置生成
|
||||
```
|
||||
|
||||
This next feature is the one that is going to replace the cobblestone with the original air block that was there, however it can be omitted if you choose a block you actually want there or if it won't cause you any issues later.
|
||||
接下来的特征负责将圆石替换回原始空气方块。如果你选择保留占位方块或该方块不会造成干扰,可以省略此步骤。
|
||||
|
||||
<CodeHeader>BP/features/block_replacement_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/block_replacement_feature.json]
|
||||
{
|
||||
"format_version": "1.18.0",
|
||||
"minecraft:single_block_feature": {
|
||||
"description": {
|
||||
"identifier": "wiki:block_replacement_feature"
|
||||
},
|
||||
"places_block": "minecraft:air", //Replaces the block with another one which doesn't cause us any issue.
|
||||
"places_block": "minecraft:air", //将占位方块替换为无影响的方块
|
||||
"enforce_placement_rules": false,
|
||||
"enforce_survivability_rules": false,
|
||||
"may_replace": ["minecraft:cobblestone"] //The block that we specified in the previous feature.
|
||||
"may_replace": ["minecraft:cobblestone"] //前一个特征中使用的占位方块
|
||||
}
|
||||
}
|
||||
//This feature will replace the block with air that originally was there so it won't cause us any issue.
|
||||
//此特征将占位方块替换回空气,避免后续生成问题
|
||||
```
|
||||
|
||||
This is a feature that places the condition "dummy" feature, the feature that gets rid of the "dummy" block placed by the condition and after that the actual features we want to conditionally place. It uses `early_out` with value `first_failure` to make the aggregate stop if the conditional placement fails. It is the feature placed by a feature rule.
|
||||
这个聚合特征按顺序执行:先放置条件判断方块,然后替换占位方块,最后生成实际特征。设置 `early_out` 为 `first_failure` 确保任一环节失败时立即终止流程。该特征通过特征规则调用。
|
||||
|
||||
<CodeHeader>BP/features/aggregate_placement_rock_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/aggregate_placement_rock_feature.json]
|
||||
{
|
||||
"format_version": "1.18.0",
|
||||
"minecraft:aggregate_feature": {
|
||||
@@ -74,22 +75,21 @@ This is a feature that places the condition "dummy" feature, the feature that ge
|
||||
"identifier": "wiki:aggregate_placement_rock_feature"
|
||||
},
|
||||
"features": [
|
||||
"wiki:block_condition_feature", //Single block feature that is used as "dummy" feature to act as our condition.
|
||||
"wiki:block_replacement_feature", //This feature replaces the "dummy" block we used in the feature above to not cause us any issues later.
|
||||
//Any feature from this point on is what we actually want to place.
|
||||
"wiki:block_condition_feature", //用于条件判断的虚拟特征
|
||||
"wiki:block_replacement_feature", //清理占位方块的特征
|
||||
//从此处开始添加需要条件生成的实际特征
|
||||
"wiki:rock_ore_feature"
|
||||
],
|
||||
"early_out": "first_failure" //This makes sure that if the first(or any) feature fails, it will not continue to place anything else in the list.
|
||||
"early_out": "first_failure" //任一特征失败则终止后续生成
|
||||
}
|
||||
}
|
||||
//This is a feature that places all the features one by one in order and is placed by the feature rule.
|
||||
//该聚合特征按顺序执行所有子特征,由特征规则调用
|
||||
```
|
||||
|
||||
This is the actual feature we want to be conditionally placed. It is `ore_feature` which doesn't have actual condition for us to allow it to only be placed in air and on a grass block, so this technique has helped us achieve that.
|
||||
这是需要条件生成的矿石特征示例。由于原生 `ore_feature` 无法直接设置生成条件,本技巧完美解决了这个问题。
|
||||
|
||||
<CodeHeader>BP/features/rock_ore_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/rock_ore_feature.json]
|
||||
{
|
||||
"format_version": "1.18.0",
|
||||
"minecraft:ore_feature": {
|
||||
@@ -115,15 +115,16 @@ This is the actual feature we want to be conditionally placed. It is `ore_featur
|
||||
}
|
||||
}
|
||||
```
|
||||
:::tip
|
||||
If you want to learn more about ore features, you can visit [Generating Custom Ores](/world-generation/custom-ores) tutorial.
|
||||
:::
|
||||
|
||||
### Feature Rule
|
||||
:::tip
|
||||
若想深入了解矿石特征,请参考[自定义矿石生成](/wiki/world-generation/custom-ores)教程。
|
||||
:::
|
||||
|
||||
<CodeHeader>BP/feature_rules/overworld_after_surface_rock_feature.json</CodeHeader>
|
||||
### 特征规则
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/overworld_after_surface_rock_feature.json]
|
||||
{
|
||||
"format_version": "1.18.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -132,7 +133,7 @@ If you want to learn more about ore features, you can visit [Generating Custom O
|
||||
"places_feature": "wiki:aggregate_placement_rock_feature"
|
||||
},
|
||||
"conditions": {
|
||||
//Places the feature in any overworld biome along with features in the after_surface_pass
|
||||
//在主世界生物群系的地表生成阶段后执行
|
||||
"placement_pass": "after_surface_pass",
|
||||
"minecraft:biome_filter": [
|
||||
{
|
||||
@@ -152,7 +153,7 @@ If you want to learn more about ore features, you can visit [Generating Custom O
|
||||
]
|
||||
},
|
||||
"distribution": {
|
||||
//1 in 3 chance to attempt 1 placement in chunk
|
||||
//每个区块有1/3概率尝试生成1次
|
||||
"scatter_chance": 33,
|
||||
"iterations": 1,
|
||||
"coordinate_eval_order": "xzy",
|
||||
@@ -160,7 +161,7 @@ If you want to learn more about ore features, you can visit [Generating Custom O
|
||||
"distribution": "uniform",
|
||||
"extent": [0, 15]
|
||||
},
|
||||
//Places the feature along the heightmap
|
||||
//根据地势高度生成
|
||||
"y": "q.heightmap(v.worldx,v.worldz)",
|
||||
"z": {
|
||||
"distribution": "uniform",
|
||||
@@ -171,12 +172,12 @@ If you want to learn more about ore features, you can visit [Generating Custom O
|
||||
}
|
||||
```
|
||||
|
||||
## Summary
|
||||
## 总结
|
||||
|
||||
After reading this tutorial you should be able to use block conditions on any feature you want. This was a very basic example as this can be used for far more complex creations and can be used with any feature.
|
||||
通过本教程,你已经掌握了如何为任意特征添加方块生成条件。虽然示例较为基础,但此技巧可扩展应用于复杂场景,兼容所有特征类型。
|
||||
|
||||
Like that we have made a rock feature that can only be placed in air blocks and above grass blocks.
|
||||
最终我们实现了一个仅在草方块上方空气位置生成的岩石特征。
|
||||
|
||||
Generation screenshot:
|
||||
生成效果截图:
|
||||
|
||||

|
||||

|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Heightmap Noise
|
||||
category: Tutorials
|
||||
title: 高度图噪声
|
||||
category: 巧思案例
|
||||
tags:
|
||||
- experimental
|
||||
- tutorial
|
||||
@@ -9,19 +9,22 @@ mentions:
|
||||
- SirLich
|
||||
---
|
||||
|
||||
# 高度图噪声
|
||||
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
:::tip
|
||||
This tutorial assumes you have a basic understanding of molang, features and feature rules.
|
||||
本教程假设您已掌握Molang、特征(feature)及特征规则(feature rule)的基础知识。
|
||||
:::
|
||||
|
||||
In this tutorial we're gonna see how we can make noise based terrain using the `q.noise` molang query.
|
||||
在本教程中,我们将学习如何通过`q.noise` Molang查询实现基于噪声的地形生成。
|
||||
|
||||
## Single Block Feature
|
||||
## 单方块特征
|
||||
|
||||
First we will define the single block feature. It will define the block that is going to be generated. For this tutorial I'll use stone.
|
||||
首先定义用于生成地形的单方块特征。本教程将使用石头作为示例。
|
||||
|
||||
<CodeHeader>BP/features/stone_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/stone_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:single_block_feature": {
|
||||
@@ -34,14 +37,14 @@ First we will define the single block feature. It will define the block that is
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
## Scatter Feature
|
||||
## 散布特征
|
||||
|
||||
The scatter feature is the main feature which we'll be using to generate the terrain.
|
||||
散布特征(scatter feature)是地形生成的核心组件。
|
||||
|
||||
<CodeHeader>BP/features/column.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/column.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:scatter_feature": {
|
||||
@@ -59,20 +62,20 @@ The scatter feature is the main feature which we'll be using to generate the ter
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
Let me explain whats happening in the `iterations`:
|
||||
In the iterations we've defined a temp `t.height` in which we've defined our main noise function.
|
||||
In `t.height` the value that we're adding first is the base height, basically the height at which the function starts.
|
||||
After that we're querying perlin using the `q.noise` query which returns values ranging from -1 to 1 and dividing that by a value which smooths out the function.
|
||||
Then we're multiplying the whole function by a value which in simple words is basically the variation in the terrain.
|
||||
**迭代参数解析**:
|
||||
- 我们通过临时变量`t.height`定义噪声函数
|
||||
- `64`是基准高度(函数的起始高度)
|
||||
- `q.noise`查询Perlin噪声值(范围-1到1),除以64用于平滑噪声曲线
|
||||
- 乘以16控制地形起伏幅度
|
||||
|
||||
So what's happening here is that we are getting values from the `t.height` temp and assigning them to the y extent ranging from -64 to the value thus generating a column. Now this value is going to vary column by column but not in a random way as `q.noise` queryies Perlin noise, meaning the values are relative to each other. So instead of getting values like 64,69,45,100,7,56 we are getting values like 64,65,66,68,69,68,66,65 and so on.
|
||||
该逻辑通过`y`参数的取值范围[-64, t.height]生成地形柱体。由于`q.noise`基于Perlin噪声算法,相邻柱体高度呈现渐变效果(如64,65,66,68...),而非随机突变。
|
||||
|
||||
## Feature Rule
|
||||
## 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/column_grid_placement.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/column_grid_placement.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -110,7 +113,10 @@ So what's happening here is that we are getting values from the `t.height` temp
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
In this we have set the `iteration` to 256 as the area of a whole chunk is 256 (16x16) to make the columns generate in the whole chunk.
|
||||
**关键配置**:
|
||||
- `iterations`设为256以覆盖整个区块(16x16区域)
|
||||
- `fixed_grid`分布模式确保柱体均匀排列
|
||||
|
||||
And our custom noise based terrain is finished! Feel free to mess with the values.
|
||||
至此,基于噪声的自定义地形已构建完成!您可以自由调整参数进行地形形态实验。
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: World Generation
|
||||
title: 世界生成器
|
||||
categories:
|
||||
- title: General
|
||||
- title: 基础
|
||||
color: blue
|
||||
- title: Tutorials
|
||||
- title: 巧思案例
|
||||
color: green
|
||||
- title: Documentation
|
||||
- title: 文档
|
||||
color: red
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Generating Custom Structures
|
||||
category: Tutorials
|
||||
title: 生成自定义结构
|
||||
category: 巧思案例
|
||||
mentions:
|
||||
- DerpMcaddon
|
||||
- SirLich
|
||||
@@ -8,32 +8,35 @@ tags:
|
||||
- experimental
|
||||
---
|
||||
|
||||
Structure feature is one of the most basic feature. It places exported `.mcstructure` file in the world.
|
||||
This tutorial will show you how to make:
|
||||
# 生成自定义结构
|
||||
|
||||
- Surface structure,
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
- Underground structure,
|
||||
结构特征是游戏世界生成的基础功能之一,用于在游戏中放置导出的`.mcstructure`文件。
|
||||
本教程将教你如何生成:
|
||||
|
||||
- Floating structure,
|
||||
- 地表结构
|
||||
|
||||
- Underwater structure, and
|
||||
- 地下结构
|
||||
|
||||
- Water surface structure
|
||||
- 浮空结构
|
||||
|
||||
- 水下结构
|
||||
|
||||
- 水面结构
|
||||
|
||||
:::tip
|
||||
For exporting structure on android devices, use this [resource pack](https://mcpedl.com/export-structure-button-android-addon/)
|
||||
若要在安卓设备导出结构文件,可使用此[资源包](https://mcpedl.com/export-structure-button-android-addon/)
|
||||
:::
|
||||
|
||||
Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
请确保将`.mcstructure`文件放置在`BP/structures/`目录下!
|
||||
|
||||
## Surface Structure
|
||||
## 地表结构
|
||||
|
||||
### Feature File
|
||||
### 特征文件
|
||||
|
||||
<CodeHeader>BP/features/house_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/house_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:structure_template_feature": {
|
||||
@@ -48,19 +51,19 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
"unburied": {},
|
||||
"block_intersection": {
|
||||
"block_allowlist": [
|
||||
"minecraft:air" //The structure can only replace air
|
||||
"minecraft:air" //结构只能替换空气方块
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
### Feature Rule
|
||||
### 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/plains_house_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/plains_house_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -82,7 +85,7 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
"extent": [0, 16],
|
||||
"distribution": "uniform"
|
||||
},
|
||||
"y": "q.heightmap(v.worldx, v.worldz)", //Generates the feature on the highest block on the column
|
||||
"y": "q.heightmap(v.worldx, v.worldz)", //在区块最高点生成结构
|
||||
"z": {
|
||||
"extent": [0, 16],
|
||||
"distribution": "uniform"
|
||||
@@ -95,16 +98,16 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||

|
||||
|
||||
## Underground Structure
|
||||
## 地下结构
|
||||
|
||||
### Feature File
|
||||
### 特征文件
|
||||
|
||||
<CodeHeader>BP/features/bunker_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/bunker_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:structure_template_feature": {
|
||||
@@ -117,7 +120,7 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
"constraints": {
|
||||
"block_intersection": {
|
||||
"block_allowlist": [
|
||||
"minecraft:air", //Makes the feature only replace air and stone
|
||||
"minecraft:air", //结构只能替换空气和石头
|
||||
"minecraft:stone"
|
||||
]
|
||||
}
|
||||
@@ -125,12 +128,12 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
### Feature Rule
|
||||
### 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/overworld_bunker_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/overworld_bunker_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -154,8 +157,8 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
},
|
||||
"y": {
|
||||
"extent": [
|
||||
11,
|
||||
50 //Makes the structure generate between y11 and y50
|
||||
11, //结构将在y11至y50之间生成
|
||||
50
|
||||
],
|
||||
"distribution": "uniform"
|
||||
},
|
||||
@@ -171,16 +174,16 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||

|
||||
|
||||
## Floating Feature
|
||||
## 浮空结构
|
||||
|
||||
### Feature File
|
||||
### 特征文件
|
||||
|
||||
<CodeHeader>BP/features/balloon_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/balloon_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:structure_template_feature": {
|
||||
@@ -193,19 +196,19 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
"constraints": {
|
||||
"block_intersection": {
|
||||
"block_allowlist": [
|
||||
"minecraft:air" //Makes the structure only replace air
|
||||
"minecraft:air" //结构只能替换空气
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
### Feature Rule
|
||||
### 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/overworld_balloon_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/overworld_balloon_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -229,7 +232,7 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
},
|
||||
"y": {
|
||||
"extent": [
|
||||
100, //Makes the structure generate from y100 to y200
|
||||
100, //结构将在y100至y200之间生成
|
||||
200
|
||||
],
|
||||
"distribution": "uniform"
|
||||
@@ -246,20 +249,20 @@ Make sure you put the `.mcstructure` file inside of `BP/structures/`!
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||

|
||||
|
||||
## Underwater Structure
|
||||
## 水下结构
|
||||
|
||||
::: tip
|
||||
For underwater structures, make sure you waterlogged the structure, because Minecraft won't waterlog them automatically!
|
||||
:::tip
|
||||
对于水下结构,请确保对结构进行水淹处理,因为Minecraft不会自动进行水淹操作!
|
||||
:::
|
||||
|
||||
### Feature File
|
||||
### 特征文件
|
||||
|
||||
<CodeHeader>BP/features/aqua_temple_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/aqua_temple_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:structure_template_feature": {
|
||||
@@ -272,19 +275,19 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
"constraints": {
|
||||
"block_intersection": {
|
||||
"block_allowlist": [
|
||||
"minecraft:water" //Makes the structure only replace water
|
||||
"minecraft:water" //结构只能替换水方块
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
### Feature Rule
|
||||
### 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/ocean_aqua_temple_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/ocean_aqua_temple_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -306,7 +309,7 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
"extent": [0, 16],
|
||||
"distribution": "uniform"
|
||||
},
|
||||
"y": "q.above_top_solid(v.worldx, v.worldz)", //Places the feature on top of the highest solid block on the column, so it won't place it on the surface of the water
|
||||
"y": "q.above_top_solid(v.worldx, v.worldz)", //将结构放置在最高固体方块顶部,避免生成在水面
|
||||
"z": {
|
||||
"extent": [0, 16],
|
||||
"distribution": "uniform"
|
||||
@@ -319,16 +322,16 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||

|
||||
|
||||
## Water Surface Structure
|
||||
## 水面结构
|
||||
|
||||
### Feature File
|
||||
### 特征文件
|
||||
|
||||
<CodeHeader>BP/features/raft_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/raft_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:structure_template_feature": {
|
||||
@@ -341,7 +344,7 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
"constraints": {
|
||||
"block_intersection": {
|
||||
"block_allowlist": [
|
||||
"minecraft:water", //Makes the structure only replace air and water
|
||||
"minecraft:water", //结构只能替换水和空气
|
||||
"minecraft:air"
|
||||
]
|
||||
}
|
||||
@@ -349,12 +352,12 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
### Feature Rule
|
||||
### 特征规则
|
||||
|
||||
<CodeHeader>BP/feature_rules/ocean_raft_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/ocean_raft_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -376,7 +379,7 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
"extent": [0, 16],
|
||||
"distribution": "uniform"
|
||||
},
|
||||
"y": 62, //Makes the feature generate only on y62, which is Minecraft water level
|
||||
"y": 62, //结构将在y62(默认水位高度)生成
|
||||
"z": {
|
||||
"extent": [0, 16],
|
||||
"distribution": "uniform"
|
||||
@@ -389,5 +392,6 @@ For underwater structures, make sure you waterlogged the structure, because Mine
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||

|
||||

|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Generating Patches
|
||||
category: Tutorials
|
||||
title: 地表补丁生成教程
|
||||
category: 巧思案例
|
||||
mentions:
|
||||
- DerpMcaddon
|
||||
- SirLich
|
||||
@@ -8,19 +8,22 @@ tags:
|
||||
- experimental
|
||||
---
|
||||
|
||||
Feature based surface builder is a feature that puts together a collection of blocks that serve to add variety and decoration to the Overworld surface. This tutorial will explain what is needed to create this feature, including size, frequency, generation location, and more!
|
||||
# 地表补丁生成教程
|
||||
|
||||
## Single Block Features
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
Single block features are going to be the base of our surface builder. They will define which blocks we are going to use. For this tutorial I'll be using Coarse Dirt, Podzol and Cobblestone.
|
||||
基于特征的地表构建器是一种将多种方块组合生成的功能,用于为主世界地表增添多样性和装饰效果。本教程将详细讲解如何创建这种地表特征,包括尺寸、生成频率、生成位置等参数设置!
|
||||
|
||||
Learn more about single block features [here](/world-generation/feature-types#single-block-features)
|
||||
## 单方块特征
|
||||
|
||||
Coarse Dirt File
|
||||
单方块特征将作为我们地表构建的基础。它们定义了我们将要使用的具体方块类型。本教程将使用粗泥、灰化土和圆石作为示例。
|
||||
|
||||
<CodeHeader>BP/features/coarse_dirt_feature.json</CodeHeader>
|
||||
了解更多单方块特征知识[请点击此处](/wiki/world-generation/feature-types#single-block-features)
|
||||
|
||||
```json
|
||||
粗泥特征文件
|
||||
|
||||
::: code-group
|
||||
```json [BP/features/coarse_dirt_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:single_block_feature": {
|
||||
@@ -28,7 +31,7 @@ Coarse Dirt File
|
||||
"identifier": "wiki:coarse_dirt_feature"
|
||||
},
|
||||
"places_block": {
|
||||
//Coarse dirt shares same identifier as dirt, set it using name and states
|
||||
// 粗泥与普通泥土共享相同标识符,需通过名称和状态值指定
|
||||
"name": "minecraft:dirt",
|
||||
"states": {
|
||||
"dirt_type": "coarse"
|
||||
@@ -37,63 +40,63 @@ Coarse Dirt File
|
||||
"enforce_survivability_rules": false,
|
||||
"enforce_placement_rules": false,
|
||||
"may_replace": [
|
||||
"minecraft:grass" //The block can only replace grass
|
||||
"minecraft:grass" // 该方块仅可替换草方块
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
Podzol File
|
||||
灰化土特征文件
|
||||
|
||||
<CodeHeader>BP/features/podzol_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/podzol_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:single_block_feature": {
|
||||
"description": {
|
||||
"identifier": "wiki:podzol_feature"
|
||||
},
|
||||
"places_block": "minecraft:podzol", //Podzol can be defined using direct identifier
|
||||
"places_block": "minecraft:podzol", // 灰化土可直接通过标识符定义
|
||||
"enforce_survivability_rules": false,
|
||||
"enforce_placement_rules": false,
|
||||
"may_replace": [
|
||||
"minecraft:grass" //The block can only replace grass
|
||||
"minecraft:grass" // 该方块仅可替换草方块
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
Cobblestone File
|
||||
圆石特征文件
|
||||
|
||||
<CodeHeader>BP/features/cobblestone_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/cobblestone_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:single_block_feature": {
|
||||
"description": {
|
||||
"identifier": "wiki:cobblestone_feature"
|
||||
},
|
||||
"places_block": "minecraft:cobblestone", //Cobblestone can be defined using direct identifier
|
||||
"places_block": "minecraft:cobblestone", // 圆石可直接通过标识符定义
|
||||
"enforce_survivability_rules": false,
|
||||
"enforce_placement_rules": false,
|
||||
"may_replace": [
|
||||
"minecraft:grass" //The block can only replace grass
|
||||
"minecraft:grass" // 该方块仅可替换草方块
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
## Weighted Random Features
|
||||
## 权重随机特征
|
||||
|
||||
Weighted random features are going to be our _randomizer_ to select between each type of blocks.
|
||||
权重随机特征将作为我们的_随机选择器_,用于在不同方块类型之间进行概率选择。
|
||||
|
||||
Learn more about weighted random features [here](/world-generation/feature-types#weighted-random-features)
|
||||
了解更多权重随机特征知识[请点击此处](/wiki/world-generation/feature-types#weighted-random-features)
|
||||
|
||||
<CodeHeader>BP/features/select_surface_block_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/select_surface_block_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:weighted_random_feature": {
|
||||
@@ -102,31 +105,31 @@ Learn more about weighted random features [here](/world-generation/feature-types
|
||||
},
|
||||
"features": [
|
||||
[
|
||||
"wiki:coarse_dirt_feature", //Coarse dirt weighs 5
|
||||
"wiki:coarse_dirt_feature", // 粗泥权重为5
|
||||
5
|
||||
],
|
||||
[
|
||||
"wiki:podzol_feature", //Podzol dirt weighs 3
|
||||
"wiki:podzol_feature", // 灰化土权重为3
|
||||
3
|
||||
],
|
||||
[
|
||||
"wiki:cobblestone_feature", //Cobblestone weighs 2
|
||||
"wiki:cobblestone_feature", // 圆石权重为2
|
||||
2
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
## Scatter Features
|
||||
## 散点特征
|
||||
|
||||
Scatter features are an important part of our surface builder. It will determine the size, shape and number of blocks in one blob.
|
||||
散点特征是我们地表构建的重要部分。它将决定单个斑块中方块的数量、形状和分布范围。
|
||||
|
||||
Learn more about scatter features [here](/world-generation/feature-types#scatter-features)
|
||||
了解更多散点特征知识[请点击此处](/wiki/world-generation/feature-types#scatter-features)
|
||||
|
||||
<CodeHeader>BP/features/scatter_surface_block_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/scatter_surface_block_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:scatter_feature": {
|
||||
@@ -143,26 +146,26 @@ Learn more about scatter features [here](/world-generation/feature-types#scatter
|
||||
"distribution": "gaussian"
|
||||
},
|
||||
"y": "q.heightmap(v.worldx, v.worldz) -1",
|
||||
"places_feature": "wiki:select_surface_block_feature" //Weighted random feature identifier
|
||||
"places_feature": "wiki:select_surface_block_feature" // 权重随机特征的标识符
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
- `iterations` determine how many blocks will be placed. I'm going to use the Molang `math.random_integer` function to randomize the number of blocks. In this case, it'll be 20 to 25 blocks.
|
||||
- `iterations` 决定将放置的方块数量。使用Molang的 `math.random_integer` 函数可实现数量随机化。本示例中将在20到25个方块之间随机
|
||||
|
||||
- `extent` use an array to determine the size of the blob. `[0, 8]` means the size is extended from 0 to 8 blocks. So, our blob would be 8 blocks long both on X and Z axis. **Only use this for X and Z distribution**.
|
||||
- `extent` 使用数组决定斑块尺寸。`[0, 8]` 表示斑块从0到8格扩展。因此,我们的斑块在X和Z轴上将延伸8格。**该参数仅适用于X和Z轴分布**
|
||||
|
||||
- `"y": "q.heightmap(v.worldx, v.worldz) -1` means it will put the block on the highest block on the y coordinate -1. So it'll always put the feature on the surface.
|
||||
- `"y": "q.heightmap(v.worldx, v.worldz) -1` 表示方块将放置于当前地表最高点的Y坐标-1处,即始终在地表生成
|
||||
|
||||
- `distribution` specifies the type of distribution to use. Available include `Gaussian`, `Inverse Gaussian`, `Uniform`,`Fixed Grid` and `Jittered Grid`
|
||||
- `distribution` 指定分布类型。可用选项包括:`Gaussian`(高斯分布)、`Inverse Gaussian`(逆高斯分布)、`Uniform`(均匀分布)、`Fixed Grid`(固定网格)和`Jittered Grid`(抖动网格)
|
||||
|
||||
## Feature Rule
|
||||
## 特征规则
|
||||
|
||||
This is the final step for our surface builder. The feature rules for our surface builders are slightly different.
|
||||
这是地表构建的最后一步。地表构建器的特征规则设置略有不同。
|
||||
|
||||
<CodeHeader>BP/feature_rules/overworld_surface_blocks_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/overworld_surface_blocks_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -175,7 +178,7 @@ This is the final step for our surface builder. The feature rules for our surfac
|
||||
"minecraft:biome_filter": {
|
||||
"test": "has_biome_tag",
|
||||
"operator": "==",
|
||||
"value": "overworld" //You can change this to whatever biometag you want
|
||||
"value": "overworld" // 可更改为任意生物群系标签
|
||||
}
|
||||
},
|
||||
"distribution": {
|
||||
@@ -190,7 +193,7 @@ This is the final step for our surface builder. The feature rules for our surfac
|
||||
"distribution": "uniform"
|
||||
},
|
||||
"scatter_chance": {
|
||||
//Chance of the blob generating each chunk
|
||||
// 每个区块生成斑块的概率
|
||||
"numerator": 1,
|
||||
"denominator": 5
|
||||
}
|
||||
@@ -198,5 +201,6 @@ This is the final step for our surface builder. The feature rules for our surfac
|
||||
}
|
||||
}
|
||||
```
|
||||
:::
|
||||
|
||||
And our surface builder is done! Feel free to modify and mess around with it!
|
||||
至此我们的地表构建器就完成了!欢迎自由调整参数并探索更多可能性!
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Intro to World Generation
|
||||
category: General
|
||||
title: 世界生成入门
|
||||
category: 基础
|
||||
nav_order: 1
|
||||
tags:
|
||||
- guide
|
||||
- experimental
|
||||
- 指南
|
||||
- 实验性功能
|
||||
mentions:
|
||||
- SirLich
|
||||
- solvedDev
|
||||
@@ -16,28 +16,31 @@ mentions:
|
||||
- SmokeyStack
|
||||
---
|
||||
|
||||
# 世界生成入门
|
||||
|
||||
<!--@include: @/wiki/bedrock-wiki-mirror.md-->
|
||||
|
||||
:::warning
|
||||
This page is somewhat out-dated, and contains limited information. For the most up-to-date and comprehensive information, view the other pages in this section.
|
||||
本文档部分内容已过时,信息量有限。如需获取最新最全面的信息,请查阅本节其他页面。
|
||||
:::
|
||||
|
||||
You can change the world's generation via Add-ons. The needed folders in the Behavior pack for these are:
|
||||
您可以通过附加包修改世界的生成规则。行为包中需要以下文件夹:
|
||||
|
||||
`structures`, `features`, `feature_rules` and `biomes`. It's quite self-explanatory: you can store your .mcstructure files from (or for) structure blocks in `structures`, biome files in `biomes`, terrain features, like ores, in `features` and the rules for their generation in `feature_rules`. Let's go over adding a custom biome first.
|
||||
`structures`(结构)、`features`(特征)、`feature_rules`(特征规则)和 `biomes`(生物群系)。顾名思义:您可以将结构方块生成的.mcstructure文件存放在`structures`中,生物群系文件存放在`biomes`中,矿石等地形特征存放在`features`中,其生成规则则存放在`feature_rules`中。让我们先从添加自定义生物群系开始。
|
||||
|
||||
_Note: it might be easier to create biomes using bridge., a Visual software for Add-on creation (also linked in Links and Contact), since the official Documentation is rather incomplete. You can also generate all example files of vanilla biomes, features and feature rules for reference, like shown here:_
|
||||
_注:使用 bridge. 这款可视化附加包创作工具(联系方式见"链接与联系")创建生物群系可能更方便,因为官方文档尚不完善。您也可以生成所有原版生物群系、特征和特征规则的示例文件作为参考,如下图所示:_
|
||||
|
||||

|
||||
_Generating a coal_ore feature using bridge._
|
||||
_使用 bridge. 生成 coal_ore 特征_
|
||||
|
||||
However, bridge. is not required.
|
||||
当然,bridge. 并非必需工具。
|
||||
|
||||
---
|
||||
|
||||
## Custom Biomes
|
||||
## 自定义生物群系
|
||||
|
||||
<CodeHeader>BP/biomes/cold_biome.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/biomes/cold_biome.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:biome": {
|
||||
@@ -74,76 +77,71 @@ However, bridge. is not required.
|
||||
}
|
||||
```
|
||||
|
||||
- Set `format_version` to 1.13.0: it's the latest biome file version as of the current release.
|
||||
- `description` takes only one value: `identifier`. This requires **NO namespace** and **MUST** be the same as the **file's name**.
|
||||
(If you do use a namespace, for example `wiki:cold_biome`, the file name needs to only match the id, so it has to remain as `cold_biome.json`.
|
||||
- `components` is just what you'd expect: something applied to the biome at default. let's look through them:
|
||||
- `minecraft:climate` controls everything climate-wise.
|
||||
- `downfall` is how often it'll be raining or snowing. 0.0 is for absolutely no rain (like a desert) and 1.0 should mean constant rain.
|
||||
- `temperature` is used to define things like water freezing and rain turning into snow.
|
||||
- 设置 `format_version` 为 1.13.0:这是当前版本的最新生物群系文件格式
|
||||
- `description` 仅需一个值:`identifier`。此处**不需要命名空间**且**必须**与**文件名**一致
|
||||
(如果使用命名空间,例如 `wiki:cold_biome`,文件名仍需保持为 `cold_biome.json`)
|
||||
- `components` 即生物群系的基本属性配置,让我们逐一解析:
|
||||
- `minecraft:climate` 控制气候相关参数
|
||||
- `downfall` 表示降水频率。0.0 代表无降水(如沙漠),1.0 表示持续降水
|
||||
- `temperature` 用于定义水体结冰和降雨转雪等效果
|
||||
|
||||
**You can generate default biome files for reference using bridge.**
|
||||
**可使用 bridge. 生成原版生物群系文件作为参考**
|
||||
|
||||
- `overworld_surface` controls blocks generated.
|
||||
- `floor_depth` is how deep down lakes and rivers go in blocks.
|
||||
- `sea_floor_material` defines the material to be used when generating the river and lake's floor.
|
||||
- `foundation_material` is the material to be used approximately between y=5 and y=50. For a desert, for example, it's stone.
|
||||
- `sea_material` is the material used as show liquid in lakes, rivers, oceans, etc. For example, in all Overworld biomes, this is set to "minecraft:water".
|
||||
- `top_material` defines the material for the highest level. E.g for Plains it's grass.
|
||||
- `mid_material` is the layer between 'top' and 'foundation'. For Plains it's dirt.
|
||||
- `overworld_height` defines how the Biome will look terrain-wise.
|
||||
- `overworld_surface` 控制地形生成材质
|
||||
- `floor_depth` 表示湖泊河流的底部深度(方块数)
|
||||
- `sea_floor_material` 定义水域底部材质
|
||||
- `foundation_material` 用于 y=5 至 y=50 之间的基础岩层(例如沙漠使用石头)
|
||||
- `sea_material` 水域液体材质(主世界通常设为 "minecraft:water")
|
||||
- `top_material` 表层材质(如草方块用于平原)
|
||||
- `mid_material` 中间层材质(如泥土用于平原)
|
||||
- `overworld_height` 定义地形高度特征
|
||||
|
||||
DO NOT use both `noise_type` and `noise_params` at the same time. `noise_params` is an array of the top level of noise and the lowest level of noise allowed in the biome.
|
||||
不可同时使用 `noise_type` 和 `noise_params`。`noise_params` 是包含噪声最高值和最低值的数组
|
||||
|
||||

|
||||
_A non-smooth transition between the same biome, generated with noise_params as [0.1, 0,1] and then [1.0, 1.0]._
|
||||
_使用 noise_params [0.1, 0.1] 和 [1.0, 1.0] 生成的同生物群系非平滑过渡示例_
|
||||
|
||||
- If you want to use `noise_type`, however, you will be presented with a few pre-generated types of noise. You will probably know how some of them look from the Vanilla game. Here's the list:
|
||||
- 若使用 `noise_type`,可选预设值包括:
|
||||
`beach, default, extreme, taiga, ocean, mountains, default_mutated, deep_ocean, lowlands, less_extreme, stone_beach, swamp, river, mushroom`
|
||||
|
||||
`beach, default, extreme, taiga, ocean, mountains, default_mutated, deep_ocean, lowlands, less_extreme, stone_beach, swamp, river, mushroom`.
|
||||
- `minecraft_world_generation_rules` 是最重要的组件,特别是 `generate_for_climates` 数组。游戏中有三种气候:"warm"、"medium" 和 "cold"。在世界生成时这些气候会随机分布[硬编码]。您可以为每个气候设置生物群系的生成权重。若不设置,默认权重为0,生物群系不会生成。示例中测试时将各气候权重设为100,使该生物群系在主世界广泛生成。正式使用时需调整权重(例如原版沙漠在warm气候中的权重为3)
|
||||
|
||||
- `minecraft_world_generation_rules` is the most important component of all, especially the `generate_for_climates` array. Basically, there are three climates in the game: "warm", "medium" and "cold". They are randomly thrown around every world when it's created [hard-coded]. Now, you can choose how often your custom biome will generate in every specific climate. If you do not provide anything in here, the default value is 0 for every climate, and the biome won't generate. In the example, the **weight** (the smaller the number, the smaller the chance of this biome generating instead of a vanilla one in the climate) for every climate is set to 100 for testing purposes: that makes the biome generate almost everywhere in the Overworld. Once I'm done with testing, however, I'll balance the weight how it's supposed to be. For example, the Vanilla _desert_ has the weight of 3 for warm.
|
||||
|
||||
- This component also takes Objects such as: `hills_transformation`, `mutate_transformation`, `shore_transformation`, `river_transformation`, but their meaning is unclear to me. Contributions are always appreciated. Same goes for the `surface_meaterial_adjustments` component.
|
||||
|
||||
- And, last but not least, BIOME TAGS! They're very simple, but useful. You can set however many of the vanilla or custom tags you want, by adding them in this format in `components`:
|
||||
- 该组件还包含 `hills_transformation`、`mutate_transformation`、`shore_transformation`、`river_transformation` 等参数,具体含义尚不明确。欢迎补充说明。`surface_meaterial_adjustments` 组件同理
|
||||
|
||||
- 最后是生物群系标签!使用方式简单但实用。通过在 `components` 中添加如下格式的标签:
|
||||
```
|
||||
"tagName": {}
|
||||
```
|
||||
即可在环境传感器、过滤器、生物群系检测、生成规则等场景中使用该标签
|
||||
|
||||
Then, you can test for your tag in _environment_sensors_, _filters_, _has_biome_ tests, _spawn rules_, and more.
|
||||
|
||||
Your custom biome is now complete!
|
||||
至此,您的自定义生物群系已创建完成!
|
||||
|
||||
---
|
||||
|
||||
## Features and Feature Rules
|
||||
## 特征与特征规则
|
||||
|
||||
Note: in v.1.15Beta, it is possible to use `.mcstructures` from the `structures` folder instead of `features` to generate custom structures with `feature_rules`. More on that after the update arrives.
|
||||
注:在 v1.15Beta 中,可使用 `structures` 文件夹中的 `.mcstructures` 配合 `feature_rules` 生成自定义结构。更多详情将在更新发布后补充
|
||||
|
||||
Features and Feature Rules are used to generate everything from ores to grass and flowers, vegetation to granite or clay patches.
|
||||
It is even possible to create custom structures using those, but as it is very grindy and will be much easier after the mentioned update, we won't talk about it just yet.
|
||||
特征与特征规则用于生成矿石、花草、植被、花岗岩或黏土矿脉等各类地形元素。虽然目前可用其创建自定义结构,但操作繁琐,建议等待后续更新简化流程
|
||||
|
||||
Now, it's worthwhile to mention that the easiest way to generate Custom Structures is this [auto generator](https://machine-builder.itch.io/frg-v2) by [MACHINE_BUILDER](https://www.youtube.com/channel/UC8FBQgo4AWwKFX97h60NKOQ), you should note that this tool has a free version with limited functionality and to enjoy the full functionality use the payware version. However, we'll still learn some other manual feature generation here, because some things like Ores are much more efficient to generate as `ore_feature`s and not `structure_template_feature`s.
|
||||
推荐使用 [MACHINE_BUILDER](https://www.youtube.com/channel/UC8FBQgo4AWwKFX97h60NKOQ) 开发的[自动生成工具](https://machine-builder.itch.io/frg-v2)来创建自定义结构。该工具免费版功能有限,完整功能需购买专业版。不过我们仍将学习手动创建特征的方法,因为矿石等元素使用 `ore_feature` 比 `structure_template_feature` 更高效
|
||||
|
||||
Let's make our `wiki:blocky` custom block generate as an ore for the tutorial's sake. I'll do it the easy way, like this:
|
||||
让我们以生成自定义方块 `wiki:blocky` 的矿石为例:
|
||||
|
||||
1. Open _bridge._, choose your Add-on.
|
||||
1. _Add new file>features>diamond_ore and Add new file>feature_rules>diamond_ore_.
|
||||
1. Now I'll save the files and open them in my Code Editor and make the necessary modifications.
|
||||
1. 打开 bridge. 选择附加包
|
||||
1. 新建文件 > features > diamond_ore 和 feature_rules > diamond_ore
|
||||
1. 保存文件后用代码编辑器进行必要修改
|
||||
|
||||
_You could've easily just written the files from scratch or copied them from somewhere without using bridge. in case you are having trouble installing it. **One place to find the Vanilla Files are the [Example Packs](https://www.minecraft.net/en-us/addons), another, a more complete one is [bridge.'s repository](https://github.com/bridge.-core/bridge../tree/master/static/vanilla)**._
|
||||
_若无安装 bridge.,也可手动创建或从[示例包](https://www.minecraft.net/en-us/addons)或 [bridge. 仓库](https://github.com/bridge.-core/bridge../tree/master/static/vanilla)获取原版文件_
|
||||
|
||||
## Features
|
||||
## 特征
|
||||
|
||||
Features are located in `BP/features` and are basically a group of blocks stored in the game's files, which can be placed with a _feature_rule_. The **file name** of a _feature_ **must match** the **identifier** as well.
|
||||
特征文件位于 `BP/features` 目录,本质上是游戏中可被特征规则放置的区块集合。**文件名**必须与**标识符**匹配
|
||||
|
||||
You can find their Documentation on [bedrock.dev/r/Features](https://bedrock.dev/r/Features)
|
||||
完整文档请参考 [bedrock.dev/r/Features](https://bedrock.dev/r/Features)
|
||||
|
||||
<CodeHeader>BP/features/blocky_ore_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/features/blocky_ore_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:ore_feature": {
|
||||
@@ -200,19 +198,18 @@ You can find their Documentation on [bedrock.dev/r/Features](https://bedrock.dev
|
||||
}
|
||||
```
|
||||
|
||||
- `minecraft_ore_feature` is type of the specific feature that places ores automatically. Each feature type has it's own specific syntax. (There's also `single_block_feature` that places a single block instead of an ore group, etc)
|
||||
- `identifier` doesn't require a namespace in this scenario. The namespace is optional, and is not to be added in the filename.
|
||||
- `count` is how big the ore "cluster" will be at maximum, or how many actual ore blocks will generate together.
|
||||
- `places_block` takes the identifier of the block to be placed as the value.
|
||||
- `may_replace` takes all the blocks that the feature can replace as arguments. If it generates over one of the blocks not included in here, the block will remain where it was without being replaced.
|
||||
- `minecraft_ore_feature` 是自动生成矿石的特定特征类型。每种特征类型都有独特语法(另有 `single_block_feature` 用于生成单个方块等)
|
||||
- `identifier` 此处不需要命名空间。文件名不包含命名空间
|
||||
- `count` 表示矿簇的最大方块数
|
||||
- `places_block` 设置要生成的方块标识符
|
||||
- `may_replace` 列出可被替换的方块类型。遇到未列出的方块时将保留原方块
|
||||
|
||||
## Feature Rules
|
||||
## 特征规则
|
||||
|
||||
**Feature Rules** control where and how _features_ (and, in the future, _structures_) are placed.
|
||||
**特征规则**控制特征(及未来的结构)的生成位置和方式
|
||||
|
||||
<CodeHeader>BP/feature_rules/overworld_underground_blocky_ore_feature.json</CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [BP/feature_rules/overworld_underground_blocky_ore_feature.json]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:feature_rules": {
|
||||
@@ -260,42 +257,36 @@ You can find their Documentation on [bedrock.dev/r/Features](https://bedrock.dev
|
||||
```
|
||||
|
||||
- `description`
|
||||
- `identifier` needs no namespace, but the filename needs to match.
|
||||
- `places_feature` takes the identifier of the feature that is controlled by this rule as the value.
|
||||
- `identifier` 不需要命名空间,但文件名需匹配
|
||||
- `places_feature` 设置要控制的特征标识符
|
||||
- `conditions`
|
||||
- `placement_pass` HOW the feature will be passed.
|
||||
- `biome_filter` tests for biome tags where the feature will generate, exactly as a spawn rule.
|
||||
- `placement_pass` 控制特征生成阶段
|
||||
- `biome_filter` 通过生物群系标签过滤生成位置(与生成规则类似)
|
||||
- `distribution`
|
||||
- `iterations` basically chance. I set mine to 100 to make it generate everywhere, but for a diamond_ore, this is set to 1.
|
||||
- The next four components show in which directions the ore will be 'dragged' towards.
|
||||
_Needs more clarification_
|
||||
- `iterations` 生成概率。设为100表示全图生成(钻石矿通常设为1)
|
||||
- 后续参数控制矿脉延伸方向(需要更多说明)
|
||||
|
||||
The easiest way to test wether your ores generated is /fill ~15 ~5 ~15 ~-15 ~-15 ~-15 air 0 replace stone using this command at a low y level. it'll keep everything BUT stone in the selected area, like this:
|
||||
测试矿石生成建议在低Y坐标使用指令 `/fill ~15 ~5 ~15 ~-15 ~-15 ~-15 air 0 replace stone`,该指令会清除选定区域内所有石头,保留其他方块:
|
||||
|
||||

|
||||
|
||||
And yes, 100 as "iterations" is definitely waaay too much ;)
|
||||
显然,将"iterations"设为100确实过量 ;)
|
||||
|
||||
It's a good idea to proceed checking out other feature and feature_rule vanilla files to learn further techniques. However, the ones you were just walked through are enough to create most of what needs to be generated.
|
||||
建议通过研究原版特征和特征规则文件来学习更多技巧。不过上文所述内容已能满足大部分生成需求
|
||||
|
||||
---
|
||||
|
||||
## Custom Structures
|
||||
## 自定义结构
|
||||
|
||||
As of MCBE v1.16.20, **Custom Generated structures are possible**.
|
||||
A simple way to generate Structures is [this](https://machine-builder.itch.io/frg-v2) auto generator by MACHINE_BUILDER, mentioned earlier. It generates all three of the required files for your structure: `feature_rules/mystructure.feature_rule.json`, `feature_rules/mystructure.feature.json` and `structures/mystructure.mcstructure.` You can learn more about defining `.mcstructures` with Structure Blocks in Minecraft itself [here](/nbt/mcstructure).
|
||||
自 MCBE v1.16.20 起,**支持自定义生成结构**
|
||||
推荐使用前文提到的 [MACHINE_BUILDER 工具](https://machine-builder.itch.io/frg-v2)自动生成结构文件。该工具会生成三个必要文件:`feature_rules/mystructure.feature_rule.json`、`feature_rules/mystructure.feature.json` 和 `structures/mystructure.mcstructure`。更多关于使用结构块定义 `.mcstructure` 的内容请参考[此文档](/wiki/nbt/mcstructure)
|
||||
|
||||
---
|
||||
|
||||
Now that you have your `.mcstructure`, time to write your `feature` and `feature rule`. The last is the same as with ores (see the beginning of this article). Let's continue to the **Feature**.
|
||||
准备好 `.mcstructure` 文件后,需要编写对应的 `feature` 和 `feature rule`。特征规则与矿石生成类似(参见前文),以下是**特征**示例(来自[特征文档](https://bedrock.dev/r/Features#minecraft:structure_template_feature)):
|
||||
|
||||
- Remember that the namespace is not required and that the filename must match the identifier, excluding the namespace. So if you have a feature rule with the identifier `wiki:myfeaturerule` or simply `myfeaturerule`, the file name can be be `myfeaturerule.json` in both cases.
|
||||
|
||||
Here's an code example from the [Features Documentation](https://bedrock.dev/r/Features#minecraft:structure_template_feature):
|
||||
|
||||
<CodeHeader></CodeHeader>
|
||||
|
||||
```json
|
||||
::: code-group
|
||||
```json [示例]
|
||||
{
|
||||
"format_version": "1.13.0",
|
||||
"minecraft:structure_template_feature": {
|
||||
@@ -317,24 +308,22 @@ Here's an code example from the [Features Documentation](https://bedrock.dev/r/F
|
||||
}
|
||||
```
|
||||
|
||||
- `structure_name` is the structure's identifier, the one you saved via a Structure Block.
|
||||
- `structure_name` 是结构块的保存标识符
|
||||
|
||||
That's pretty much it! Now you're able to generate your own custom Structures in the world.
|
||||
至此,您已掌握在游戏中生成自定义结构的方法!
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
## 当前进度
|
||||
|
||||
## Your progress so far
|
||||
|
||||
**What you've done:**
|
||||
**已完成内容:**
|
||||
|
||||
<Checklist>
|
||||
|
||||
- [x] Created you very first biome.
|
||||
- [x] Made your very first ore generate naturally.
|
||||
- [x] Learned to use bridge. for vanilla files generation and referencing.
|
||||
- [x] Learned about other Custom Generation methods.
|
||||
- [x] Created custom Structures
|
||||
- [x] 创建第一个生物群系
|
||||
- [x] 实现首个自然生成的矿石
|
||||
- [x] 掌握使用 bridge. 生成原版参考文件
|
||||
- [x] 了解其他自定义生成方法
|
||||
- [x] 创建自定义结构
|
||||
|
||||
</Checklist>
|
||||
</Checklist>
|
||||
Reference in New Issue
Block a user