package tc.oc.pgm.filters.matcher.match;
import com.google.common.collect.Range;
import tc.oc.pgm.filters.matcher.TypedFilter;
import tc.oc.pgm.filters.query.ITransientQuery;
/**
* Return a pseudo-random result derived from the query and current tick.
*/
public class RandomFilter extends TypedFilter.Impl<ITransientQuery> {
private final @Inspect Range<Double> chance;
public RandomFilter(Range<Double> chance) {
this.chance = chance;
}
@Override
public boolean matches(ITransientQuery query) {
return chance.contains(query.entropy().randomDouble());
}
}