ModTree.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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. {
  14. private TreeFeatureConfig treeConfig = null;
  15. @Nullable
  16. @Override
  17. protected ConfiguredFeature<TreeFeatureConfig, ?> getTreeFeature(Random r, boolean p_225546_2_)
  18. {
  19. return Feature.NORMAL_TREE.withConfiguration(treeConfig);
  20. }
  21. public void setConfig(BlockState wood, BlockState leaves, IPlantable sapling)
  22. {
  23. treeConfig = (new TreeFeatureConfig.Builder(new SimpleBlockStateProvider(wood), new SimpleBlockStateProvider(leaves), new BlobFoliagePlacer(2, 0)))
  24. .baseHeight(5)
  25. .heightRandA(2)
  26. .foliageHeight(3)
  27. .ignoreVines()
  28. .setSapling(sapling)
  29. .build();
  30. }
  31. }