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
The base class for all placement logic transformations in the world generation pipeline.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Codec<PlacementModifier> Polymorphic codec for serializing and deserializing any placement modifier implementation. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract 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.abstract PlacementModifierType<?> getType()Retrieves the placement modifier type used for identifying this specific implementation.
-
Field Details
-
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
Retrieves the placement modifier type used for identifying this specific implementation.- Returns:
- The placement modifier type associated with this instance.
-