package in.twizmwaz.cardinal.module.modules.filter.type;
import in.twizmwaz.cardinal.module.modules.filter.FilterModule;
import in.twizmwaz.cardinal.module.modules.filter.FilterState;
import in.twizmwaz.cardinal.module.modules.filter.parsers.RandomFilterParser;
import java.util.Random;
import static in.twizmwaz.cardinal.module.modules.filter.FilterState.ALLOW;
import static in.twizmwaz.cardinal.module.modules.filter.FilterState.DENY;
public class RandomFilter extends FilterModule {
private final double chance;
public RandomFilter(final RandomFilterParser parser) {
super(parser.getName(), parser.getParent());
this.chance = parser.getChance();
}
@Override
public FilterState evaluate(final Object... objects) {
Random random = new Random();
double working = random.nextGaussian();
if (working <= chance) return ALLOW;
else return DENY;
}
}