Class RarityFilterModifier
java.lang.Object
com.github.darksoulq.abyssallib.world.gen.placement.PlacementModifier
com.github.darksoulq.abyssallib.world.gen.placement.modifier.RarityFilterModifier
A placement modifier that acts as a per-chunk probability gate.
Unlike the standard ChanceModifier which evaluates each generated vector individually, the RarityFilterModifier evaluates the probability exactly once per stream execution. If the probability check fails, it terminates the entire placement stream, effectively skipping feature generation for the current chunk.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Codec<RarityFilterModifier> The codec used for serializing and deserializing the rarity filter modifier.static final PlacementModifierType<RarityFilterModifier> The registered type definition for the rarity filter placement modifier. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionStream<org.bukkit.util.Vector> getPositions(PlacementContext context, Stream<org.bukkit.util.Vector> positions) Evaluates a single probability check to determine if the position stream should proceed.getType()Retrieves the specific type definition for this modifier.
-
Field Details
-
CODEC
The codec used for serializing and deserializing the rarity filter modifier. -
TYPE
The registered type definition for the rarity filter placement modifier.
-
-
Constructor Details
-
RarityFilterModifier
public RarityFilterModifier(int chance) Constructs a new RarityFilterModifier.- Parameters:
chance- The probability fraction denominator (e.g., 50 means 1-in-50 chance per chunk).
-
-
Method Details
-
getPositions
public Stream<org.bukkit.util.Vector> getPositions(PlacementContext context, Stream<org.bukkit.util.Vector> positions) Evaluates a single probability check to determine if the position stream should proceed.- Specified by:
getPositionsin classPlacementModifier- Parameters:
context- The current placement context providing the seeded random instance.positions- The incoming stream of potential placement vectors.- Returns:
- The unmodified position stream if the check passes, or an empty stream if it fails.
-
getType
Retrieves the specific type definition for this modifier.- Specified by:
getTypein classPlacementModifier- Returns:
- The placement modifier type associated with this rarity filter modifier.
-