User Tools

Site Tools


zh_cn:tutorial:features

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
zh_cn:tutorial:features [2021/07/12 01:09] – 译名标准化:feature = 地物(地形特征) solidblockzh_cn:tutorial:features [2021/07/12 01:17] – [向生物群落添加Feature] solidblock
Line 53: Line 53:
 </code> </code>
  
-==== 注册一个Feature ==== +==== 配置地形特征 ==== 
-可以像注册游戏中其他大多数内容一样注册Feature,而且您不必担心任何殊的构建器或机制+我们需要为地形特征提供配置。确保注册配置地形征和地形特征 
 <code java> <code java>
-private static final Feature<DefaultFeatureConfigLAVA_HOLE Registry.register+public class ExampleMod implements ModInitializer { 
- Registry.FEATURE+  public static final ConfiguredFeature<?, ?STONE_SPIRAL_CONFIGURED STONE_SPIRAL.configure(FeatureConfig.DEFAULT) 
- new Identifier("tutorial", "stone_spiral"), +      .decorate(Decorator.CHANCE.configure(new ChanceDecoratorConfig(5))); 
- new StoneSpiralFeature(DefaultFeatureConfig::deserialize) + 
-);+  @Override 
 +  public void onInitialize() { 
 +    [...] 
 +     
 +    RegistryKey<ConfiguredFeature<?, ?>> stoneSpiral = RegistryKey.of(Registry.CONFIGURED_FEATURE_KEY
 +        new Identifier("tutorial", "stone_spiral")); 
 +    Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, stoneSpiral.getValue(), STONE_SPIRAL_CONFIGURED); 
 +  } 
 +}
 </code> </code>
  
-==== 向生物群添加Feature ==== +Decorator表示世界如何选择放置该特征。要选择正确的Decorator,检查原版的地形特征,你自己的应该要类似。装饰器配置是从这个分支出来的,在''CHANCE''的情况下,你应该传入''ChanceDecoratorConfig''的实例。  
-生物群系有一种称为''addFeature''的方法,用于将Feature添加到生物群落的生成过程中。 您可以在每个生物群落类(例如''ForestBiome''或''SavannaBiome'')中查看此方法的更详细用法+ 
 +==== 向生物群添加特征地形 ==== 
 +我们使用生物群系修改API
  
-我们可以遍历''Registry.BIOME''以将我们的Feature添加到每个生物群系中。 
 <code java> <code java>
-Registry.BIOME.forEach(biome -> biome.addFeature( +public class ExampleMod implements ModInitializer { 
-        GenerationStep.Feature.RAW_GENERATION, +  [...]
- Biome.configureFeature( +
- LAVA_HOLE, +
- new DefaultFeatureConfig(), +
- Decorator.CHANCE_HEIGHTMAP, +
- new ChanceDecoratorConfig(100) +
-+
-)); +
-</code>+
  
-''addFeature''的第一个参数有助于确定何时生成结构。 对于地上的房屋,您可以使用''SURFACE_STRUCTURES'',对于洞穴,您可以使用'' RAW_GENERATION''+  @Override 
 +  public void onInitialize() { 
 +    [...] 
 +    BiomeModifications.addFeature(BiomeSelectors.all(), GenerationStep.Feature.UNDERGROUND_ORES, stoneSpiral); 
 +  } 
 +
 +</code>
  
-''addFeature''的第个参数是ConfiguredFeature,可以通过''Biome.configureFeature''创建。 后者接收功能的实例,功能的config类,装饰器和装饰器配置的实例+''addFeature''的第个参数确定结构生成在什么生物群系中
  
-装饰器代表世界如选择放置要素。 ''CHANCE_HEIGHTMAP''通过查看高度图来工作,而''NOISE_HEIGHTMAP_32''可使用噪声来工作。 要选择正确的装饰器请签出与您自己风格相似的香草功能。 装饰器配置将分支此分支; 对于''CHANCE_HEIGHTMAP'',您将传入''ChanceHeightmapDecorator的实例+第二个参数帮助你确定结构时生成对于地上的房子,以用''SURFACE_STRUCTURES'',对于洞穴,可以用''RAW_GENERATION''
  
 === 结果 === === 结果 ===
 {{https://i.imgur.com/Kr59o0B.png}} {{https://i.imgur.com/Kr59o0B.png}}
zh_cn/tutorial/features.txt · Last modified: 2022/08/18 03:37 by solidblock