1234567891011121314151617181920212223242526272829303132333435 |
- package me.km.blocks;
- import java.util.Random;
- import javax.annotation.Nullable;
- import net.minecraft.block.BlockState;
- import net.minecraft.block.Blocks;
- import net.minecraft.block.trees.Tree;
- import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
- import net.minecraft.world.gen.feature.BaseTreeFeatureConfig;
- import net.minecraft.world.gen.feature.ConfiguredFeature;
- import net.minecraft.world.gen.feature.Feature;
- import net.minecraft.world.gen.feature.FeatureSpread;
- import net.minecraft.world.gen.feature.TwoLayerFeature;
- import net.minecraft.world.gen.foliageplacer.BlobFoliagePlacer;
- import net.minecraft.world.gen.trunkplacer.StraightTrunkPlacer;
- public class ModTree extends Tree {
- private final BaseTreeFeatureConfig treeConfig;
- public ModTree(BlockState leaves) {
- treeConfig = new BaseTreeFeatureConfig.Builder(
- new SimpleBlockStateProvider(Blocks.OAK_LOG.getDefaultState()),
- new SimpleBlockStateProvider(leaves),
- new BlobFoliagePlacer(FeatureSpread.func_242252_a(2),
- FeatureSpread.func_242252_a(0), 3),
- new StraightTrunkPlacer(5, 2, 0),
- new TwoLayerFeature(1, 0, 1)).setIgnoreVines().build();
- }
- @Nullable
- @Override
- protected ConfiguredFeature<BaseTreeFeatureConfig, ?> getTreeFeature(Random r, boolean largeHive) {
- return Feature.TREE.withConfiguration(treeConfig);
- }
- }
|