Interface RandomSpreadPlacement

All Superinterfaces:
StructurePlacement, Wrapper

@NullMarked @AsOf("3.4.0") public interface RandomSpreadPlacement extends StructurePlacement
The world is cut into spacing-chunk cells and one candidate position is picked within the first spacing - separation chunks of each.
Since:
3.4.0
See Also:
  • Method Details

    • spacing

      @AsOf("3.4.0") int spacing()
      The side length, in chunks, of the cell one structure is placed in.
      Returns:
      the placement spacing
      Since:
      3.4.0
    • separation

      @AsOf("3.4.0") int separation()
      The minimum distance, in chunks, between two structures of this set.
      Returns:
      the placement separation
      Since:
      3.4.0
    • spreadType

      @AsOf("3.4.0") RandomSpreadType spreadType()
      How the candidate position is distributed inside its cell.
      Returns:
      the spread type
      Since:
      3.4.0
    • toBuilder

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

      @AsOf("3.4.0") static RandomSpreadPlacement of(int spacing, int separation, RandomSpreadType spreadType, int salt, BlockVector locateOffset, FrequencyReduction frequencyReduction, float frequency, @Nullable StructurePlacement.ExclusionZone exclusionZone)
      Creates a new random-spread placement.
      Parameters:
      spacing - the side length, in chunks, of the cell one structure is placed in
      separation - the minimum distance, in chunks, between two structures of this set
      spreadType - how the candidate position is distributed inside its cell
      salt - the salt mixed into the placement's random seed
      locateOffset - the offset applied to a located position
      frequencyReduction - the reducer applied to the frequency
      frequency - the fraction of eligible chunks that receive the structure
      exclusionZone - the zone around another structure set this placement avoids, or null
      Returns:
      a new random-spread placement
      Since:
      3.4.0
    • of

      @AsOf("3.4.0") static RandomSpreadPlacement of(int spacing, int separation, int salt)
      Creates a new random-spread placement with vanilla's defaults for everything but spacing, separation and salt.
      Parameters:
      spacing - the side length, in chunks, of the cell one structure is placed in
      separation - the minimum distance, in chunks, between two structures of this set
      salt - the salt mixed into the placement's random seed
      Returns:
      a new random-spread placement
      Since:
      3.4.0
    • builder

      @AsOf("3.4.0") static RandomSpreadPlacement.Builder builder()
      Creates a new builder.
      Returns:
      a new builder
      Since:
      3.4.0