ModTree.java 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package me.km.blocks;
  2. import java.util.Random;
  3. import javax.annotation.Nullable;
  4. import net.minecraft.block.BlockState;
  5. import net.minecraft.block.trees.Tree;
  6. import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
  7. import net.minecraft.world.gen.feature.ConfiguredFeature;
  8. import net.minecraft.world.gen.feature.Feature;
  9. import net.minecraft.world.gen.feature.TreeFeatureConfig;
  10. import net.minecraft.world.gen.foliageplacer.BlobFoliagePlacer;
  11. import net.minecraftforge.common.IPlantable;
  12. public class ModTree extends Tree {
  13. private TreeFeatureConfig treeConfig = null;
  14. @Nullable
  15. @Override
  16. protected ConfiguredFeature<TreeFeatureConfig, ?> getTreeFeature(Random r, boolean p_225546_2_) {
  17. return Feature.NORMAL_TREE.withConfiguration(treeConfig);
  18. }
  19. public void setConfig(BlockState wood, BlockState leaves, IPlantable sapling) {
  20. treeConfig = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(wood), new SimpleBlockStateProvider(leaves), new BlobFoliagePlacer(2, 0)))
  21. .baseHeight(5)
  22. .heightRandA(2)
  23. .foliageHeight(3)
  24. .ignoreVines()
  25. .setSapling(sapling)
  26. .build();
  27. }
  28. }