package tc.oc.pgm.filters.matcher.damage;
import java.util.Optional;
import tc.oc.pgm.filters.Filter;
import tc.oc.pgm.filters.operator.TransformedFilter;
import tc.oc.pgm.filters.query.IDamageQuery;
import tc.oc.pgm.filters.query.PlayerEventQuery;
public class AttackerFilter extends TransformedFilter<IDamageQuery, PlayerEventQuery> {
public AttackerFilter(Filter child) {
super(child);
}
@Override
protected Optional<PlayerEventQuery> transformQuery(IDamageQuery query) {
return query.getDamageInfo()
.attacker()
.map(attacker -> new PlayerEventQuery(attacker, query.getEvent()));
}
}