Interface GeodeConfiguration

All Superinterfaces:
FeatureConfiguration, Wrapper

@NullMarked @AsOf("3.0.0") public interface GeodeConfiguration extends FeatureConfiguration
A geode feature, such as an amethyst geode, composed of concentric layers of blocks surrounding a hollow, optionally cracked, interior.
Since:
3.0.0
See Also:
  • Method Details

    • geodeBlockSettings

      @AsOf("3.0.0") GeodeBlockSettings geodeBlockSettings()
      The block state providers used for each of the geode's layers and its inner placements.
      Returns:
      the geode block settings
      Since:
      3.0.0
    • geodeLayerSettings

      @AsOf("3.0.0") GeodeLayerSettings geodeLayerSettings()
      The thickness of each of the geode's layers.
      Returns:
      the geode layer settings
      Since:
      3.0.0
    • geodeCrackSettings

      @AsOf("3.0.0") GeodeCrackSettings geodeCrackSettings()
      The configuration of the crack on the geode.
      Returns:
      the geode crack settings
      Since:
      3.0.0
    • usePotentialPlacementsChance

      @AsOf("3.0.0") double usePotentialPlacementsChance()
      The probability for placing an inner placement on a block of the inner layer. Value between 0.0 and 1.0.
      Returns:
      the chance to use a potential inner placement
      Since:
      3.0.0
    • useAlternateLayer0Chance

      @AsOf("3.0.0") double useAlternateLayer0Chance()
      The chance for a given inner layer block to be replaced with an alternate inner layer block. Value between 0.0 and 1.0.
      Returns:
      the chance to use the alternate inner layer block
      Since:
      3.0.0
    • placementsRequireLayer0Alternate

      @AsOf("3.0.0") boolean placementsRequireLayer0Alternate()
      Whether the inner placement blocks can only be placed on an alternate inner layer block.
      Returns:
      whether placements require an alternate inner layer block
      Since:
      3.0.0
    • outerWallDistance

      @AsOf("3.0.0") IntProvider outerWallDistance()
      The offset on each coordinate of the center from the feature start. Value between 1 and 20.
      Returns:
      the outer wall distance
      Since:
      3.0.0
    • distributionPoints

      @AsOf("3.0.0") IntProvider distributionPoints()
      The number of distribution points used to shape the geode. Value between 1 and 20.
      Returns:
      the distribution points
      Since:
      3.0.0
    • pointOffset

      @AsOf("3.0.0") IntProvider pointOffset()
      The offset applied to each distribution point. Value between 0 and 10.
      Returns:
      the point offset
      Since:
      3.0.0
    • minGenOffset

      @AsOf("3.0.0") int minGenOffset()
      The minimum Chebyshev distance between a block and the center of the geode.
      Returns:
      the minimum generation offset
      Since:
      3.0.0
    • maxGenOffset

      @AsOf("3.0.0") int maxGenOffset()
      The maximum Chebyshev distance between a block and the center of the geode.
      Returns:
      the maximum generation offset
      Since:
      3.0.0
    • noiseMultiplier

      @AsOf("3.0.0") double noiseMultiplier()
      The multiplier applied to the noise shaping the geode. Value between 0.0 and 1.0.
      Returns:
      the noise multiplier
      Since:
      3.0.0
    • invalidBlocksThreshold

      @AsOf("3.0.0") int invalidBlocksThreshold()
      The invalid block threshold. Checked distributionPoints() times near the center of the geode; if the number of invalid blocks found exceeds this number, the feature will not be generated.
      Returns:
      the invalid blocks threshold
      Since:
      3.0.0
    • toBuilder

      @AsOf("3.0.0") default GeodeConfiguration.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 GeodeConfiguration of(GeodeBlockSettings geodeBlockSettings, GeodeLayerSettings geodeLayerSettings, GeodeCrackSettings geodeCrackSettings, double usePotentialPlacementsChance, double useAlternateLayer0Chance, boolean placementsRequireLayer0Alternate, IntProvider outerWallDistance, IntProvider distributionPoints, IntProvider pointOffset, int minGenOffset, int maxGenOffset, double noiseMultiplier, int invalidBlocksThreshold)
      Creates a new geode configuration.
      Parameters:
      geodeBlockSettings - the block state providers for the geode's layers and inner placements
      geodeLayerSettings - the thickness of each of the geode's layers
      geodeCrackSettings - the configuration of the crack on the geode
      usePotentialPlacementsChance - the probability for placing an inner placement on a block of the inner layer
      useAlternateLayer0Chance - the chance for a given inner layer block to be replaced with an alternate inner layer block
      placementsRequireLayer0Alternate - whether the inner placement blocks can only be placed on an alternate inner layer block
      outerWallDistance - the offset on each coordinate of the center from the feature start
      distributionPoints - the number of distribution points used to shape the geode
      pointOffset - the offset applied to each distribution point
      minGenOffset - the minimum Chebyshev distance between a block and the center
      maxGenOffset - the maximum Chebyshev distance between a block and the center
      noiseMultiplier - the multiplier applied to the noise shaping the geode
      invalidBlocksThreshold - the invalid blocks threshold
      Returns:
      a new geode configuration
      Since:
      3.0.0
    • builder

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