Interface ThreeLayersFeatureSize

All Superinterfaces:
FeatureSize, Wrapper

@NullMarked @AsOf("3.0.0") public interface ThreeLayersFeatureSize extends FeatureSize
Specifies 3 different widths based on height. At heights lower than limit(), the minimum width is lowerSize(); at the topmost upperLimit() blocks of the trunk upperSize() is used; otherwise middleSize() is used.
Since:
3.0.0
See Also:
  • Method Details

    • limit

      @AsOf("3.0.0") int limit()
      The height of the lower layer, calculated from the bottom of the trunk, between 0 and 80 (inclusive). Defaults to 1.
      Returns:
      the limit
      Since:
      3.0.0
    • upperLimit

      @AsOf("3.0.0") int upperLimit()
      The height of the upper layer, calculated from the top of the trunk, between 0 and 80 (inclusive). Defaults to 1.
      Returns:
      the upper limit
      Since:
      3.0.0
    • lowerSize

      @AsOf("3.0.0") int lowerSize()
      The minimum width of the tree in the bottom layer (i.e. the bottom limit() blocks of the trunk), between 0 and 16 (inclusive). Defaults to 0.
      Returns:
      the lower size
      Since:
      3.0.0
    • middleSize

      @AsOf("3.0.0") int middleSize()
      The minimum width of the tree at the middle layer (i.e., between the bottom and top layers), between 0 and 16 (inclusive). Defaults to 1.
      Returns:
      the middle size
      Since:
      3.0.0
    • upperSize

      @AsOf("3.0.0") int upperSize()
      The minimum width of the tree in the upper layer (i.e., the topmost upperLimit() blocks of the trunk), between 0 and 16 (inclusive). Defaults to 1.
      Returns:
      the upper size
      Since:
      3.0.0
    • toBuilder

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

      @AsOf("3.0.0") static ThreeLayersFeatureSize of(@Nullable Integer minClippedHeight, int limit, int upperLimit, int lowerSize, int middleSize, int upperSize)
      Creates a new three-layer feature size.
      Parameters:
      minClippedHeight - the minimum free height required for the tree to generate, or null to use the trunk height
      limit - the height of the lower layer, calculated from the bottom of the trunk, between 0 and 80 (inclusive)
      upperLimit - the height of the upper layer, calculated from the top of the trunk, between 0 and 80 (inclusive)
      lowerSize - the minimum width of the tree in the bottom layer, between 0 and 16 (inclusive)
      middleSize - the minimum width of the tree at the middle layer, between 0 and 16 (inclusive)
      upperSize - the minimum width of the tree in the upper layer, between 0 and 16 (inclusive)
      Returns:
      a new three-layer feature size
      Since:
      3.0.0
    • builder

      @AsOf("3.0.0") static ThreeLayersFeatureSize.Builder builder()
      Creates a new builder.
      Returns:
      a new builder
      Since:
      3.0.0