Class PlacementModifier

java.lang.Object
com.github.darksoulq.abyssallib.world.gen.placement.PlacementModifier
Direct Known Subclasses:
BiomeFilterModifier, BiomeTransitionModifier, BlockFilterModifier, ChanceModifier, CountModifier, CountOnEveryLayerModifier, EnvironmentScanModifier, FixedPlacementModifier, HeightmapModifier, HeightRangeModifier, InSquareModifier, NoiseCountModifier, NoiseThresholdModifier, RandomOffsetModifier, RarityFilterModifier, SurfaceRelativeThresholdModifier, WaterDepthFilterModifier

public abstract class PlacementModifier extends Object
The base class for all placement logic transformations in the world generation pipeline.
  • Field Details

    • CODEC

      public static final Codec<PlacementModifier> CODEC
      Polymorphic codec for serializing and deserializing any placement modifier implementation.
  • Constructor Details

    • PlacementModifier

      public PlacementModifier()
  • Method Details

    • getPositions

      public abstract Stream<org.bukkit.util.Vector> getPositions(PlacementContext context, Stream<org.bukkit.util.Vector> positions)
      Transforms the stream of positions according to the specific modifier logic.
      Parameters:
      context - The current placement context providing world and environmental data.
      positions - The input stream of potential placement vector coordinates.
      Returns:
      A modified stream of vectors after application of the modifier logic.
    • getType

      public abstract PlacementModifierType<?> getType()
      Retrieves the placement modifier type used for identifying this specific implementation.
      Returns:
      The placement modifier type associated with this instance.