Search in sources :

Example 1 with WeightedStateProvider

use of net.minecraft.world.level.levelgen.feature.stateproviders.WeightedStateProvider in project Tropicraft by Tropicraft.

the class TropicraftTrees method createFruit.

private static AbstractTreeGrower createFruit(Supplier<? extends Block> fruitLeaves, Supplier<Supplier<? extends Block>> fruitSapling) {
    return create((server, random, beehive) -> {
        WeightedStateProvider leaves = new WeightedStateProvider(SimpleWeightedRandomList.<BlockState>builder().add(TropicraftBlocks.FRUIT_LEAVES.get().defaultBlockState(), 1).add(fruitLeaves.get().defaultBlockState(), 1));
        TreeConfiguration config = new TreeConfiguration.TreeConfigurationBuilder(new SimpleStateProvider(Blocks.OAK_LOG.defaultBlockState()), new CitrusTrunkPlacer(6, 3, 0), leaves, new SimpleStateProvider(fruitSapling.get().get().defaultBlockState()), new CitrusFoliagePlacer(ConstantInt.of(0), ConstantInt.of(0)), new TwoLayersFeatureSize(1, 0, 2)).build();
        return Feature.TREE.configured(config);
    });
}
Also used : SimpleStateProvider(net.minecraft.world.level.levelgen.feature.stateproviders.SimpleStateProvider) CitrusTrunkPlacer(net.tropicraft.core.common.dimension.feature.tree.CitrusTrunkPlacer) WeightedStateProvider(net.minecraft.world.level.levelgen.feature.stateproviders.WeightedStateProvider) TwoLayersFeatureSize(net.minecraft.world.level.levelgen.feature.featuresize.TwoLayersFeatureSize) CitrusFoliagePlacer(net.tropicraft.core.common.dimension.feature.tree.CitrusFoliagePlacer) TreeConfiguration(net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration)

Aggregations

TreeConfiguration (net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration)1 TwoLayersFeatureSize (net.minecraft.world.level.levelgen.feature.featuresize.TwoLayersFeatureSize)1 SimpleStateProvider (net.minecraft.world.level.levelgen.feature.stateproviders.SimpleStateProvider)1 WeightedStateProvider (net.minecraft.world.level.levelgen.feature.stateproviders.WeightedStateProvider)1 CitrusFoliagePlacer (net.tropicraft.core.common.dimension.feature.tree.CitrusFoliagePlacer)1 CitrusTrunkPlacer (net.tropicraft.core.common.dimension.feature.tree.CitrusTrunkPlacer)1