我一直在尝试生成我的自定义树,但它们似乎只在块的角落上生成,而且我似乎无法减少或增加超出它们的生成数量,它们无处生成,并且它们到处生成(在块的角落上的指定生物群落内) )
我已经尝试过了 .decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.25f, 1)))); .decorated(Placement.CHANCE.configured(new ChanceConfig(1)))); .decorated(Placement.COUNT_NOISE.configured(new NoiseDependant(2.0, 2,2 )))); 所有这三种方法,但它们的工作原理似乎都是相同的。 这是我的课
public class ModTreeGeneration {
public static void generateTrees(final BiomeLoadingEvent event){
RegistryKey<Biome> key = RegistryKey.create(Registry.BIOME_REGISTRY, event.getName());
Set<BiomeDictionary.Type> types = BiomeDictionary.getTypes(key);
if(types.contains(BiomeDictionary.Type.PLAINS)){
List<Supplier<ConfiguredFeature<?, ?>>> base =
event.getGeneration().getFeatures(GenerationStage.Decoration.VEGETAL_DECORATION);
base.add(() -> ModConfiguredFeatures.MAGICWOOD.decorated(Features.Placements.HEIGHTMAP)
.decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.25f, 1))));
当我搞乱这些值时,我预计会有任何改变,而我得到的唯一改变是当我设置时 .decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(0, 0f, 0))));为 0 它不会生成任何树,但似乎没有其他值可以改变生成
我成功了!显然,base.add(() -> ModConfiguredFeatures.MAGICWOOD.decorated(Features.Placements.HEIGHTMAP) 通过将 HEIGHTMAP 切换为 HEIGHTMAP_SQUARE 使它们仅在块角上生成,它起作用了。