package tc.oc.pgm.filters.operator;
import java.util.Optional;
import tc.oc.pgm.filters.Filter;
import tc.oc.pgm.filters.query.IPartyQuery;
import tc.oc.pgm.filters.query.IPlayerQuery;
/**
* Transforms a player query into a query on their team.
*/
public class SameTeamFilter extends TransformedFilter<IPartyQuery, IPartyQuery> {
public SameTeamFilter(Filter child) {
super(child);
}
@Override
protected Optional<IPartyQuery> transformQuery(IPartyQuery query) {
return Optional.of(query instanceof IPlayerQuery ? query.getParty()
: query);
}
}