Interface TreeConfiguration

All Superinterfaces:
FeatureConfiguration, Wrapper

@NullMarked @AsOf("3.0.0") public interface TreeConfiguration extends FeatureConfiguration
A tree configuration, as it appears in Minecraft.
Since:
3.0.0
See Also:
  • Method Details

    • trunkProvider

      @AsOf("3.0.0") BlockStateProvider trunkProvider()
      The block to use for the trunk.
      Returns:
      the trunk provider
      Since:
      3.0.0
    • trunkPlacer

      @AsOf("3.0.0") TrunkPlacer trunkPlacer()
      Defines how the trunk is generated.
      Returns:
      the trunk placer
      Since:
      3.0.0
    • foliageProvider

      @AsOf("3.0.0") BlockStateProvider foliageProvider()
      The block to use for the foliage.
      Returns:
      the foliage provider
      Since:
      3.0.0
    • foliagePlacer

      @AsOf("3.0.0") FoliagePlacer foliagePlacer()
      Defines how foliage is generated.
      Returns:
      the foliage placer
      Since:
      3.0.0
    • rootPlacer

      @AsOf("3.0.0") Optional<RootPlacer> rootPlacer()
      Defines how roots are generated and what blocks to use.
      Returns:
      the root placer
      Since:
      3.0.0
    • minimumSize

      @AsOf("3.0.0") FeatureSize minimumSize()
      Defines the width of the tree at different heights relative to the lowest trunk block.
      Returns:
      the minimum size
      Since:
      3.0.0
    • decorators

      @AsOf("3.0.0") List<TreeDecorator> decorators()
      Decorations to add to the tree apart from the trunk and leaves. This can be empty.
      Returns:
      the decorators
      Since:
      3.0.0
    • ignoreVines

      @AsOf("3.0.0") boolean ignoreVines()
      When true, allows the tree to generate even if there are vines blocking it.
      Returns:
      whether to ignore vines
      Since:
      3.0.0
    • belowTrunkProvider

      @AsOf("3.0.0") BlockStateProvider belowTrunkProvider()
      A rule-based block state provider defining how to replace the block below the trunk.
      Returns:
      the below trunk provider
      Since:
      3.0.0
    • toBuilder

      default TreeConfiguration.Builder toBuilder()
      Converts this object back to a builder.
      Returns:
      a new builder with the same values as this object
      Since:
      3.0.0
    • of

      @AsOf("3.0.0") static TreeConfiguration of(BlockStateProvider trunkProvider, TrunkPlacer trunkPlacer, BlockStateProvider foliageProvider, FoliagePlacer foliagePlacer, @Nullable RootPlacer rootPlacer, FeatureSize minimumSize, List<TreeDecorator> decorators, boolean ignoreVines, BlockStateProvider belowTrunkProvider)
      Creates a new tree configuration.
      Parameters:
      trunkProvider - the trunk provider
      trunkPlacer - the trunk placer
      foliageProvider - the foliage provider
      foliagePlacer - the foliage placer
      rootPlacer - the root placer
      minimumSize - the minimum size
      decorators - the decorators
      ignoreVines - whether to ignore vines
      belowTrunkProvider - the below trunk provider
      Returns:
      a new tree configuration
      Since:
      3.0.0
    • builder

      static TreeConfiguration.Builder builder()
      Creates a new builder.
      Returns:
      a new builder
      Since:
      3.0.0