simplified ObjectSourcePlayerPredicate interface

This commit is contained in:
Evan Kranzler 2021-09-22 21:20:55 -04:00
parent b0094331b4
commit bcb42b8f46
104 changed files with 107 additions and 111 deletions

View file

@ -45,7 +45,7 @@ public class MentorAbility extends AttacksTriggeredAbility {
}
enum MentorAbilityPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Card>> {
enum MentorAbilityPredicate implements ObjectSourcePlayerPredicate<Card> {
instance;
@Override

View file

@ -50,7 +50,7 @@ public enum TargetController {
return controllerPredicate;
}
public static class OwnerPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Card>> {
public static class OwnerPredicate implements ObjectSourcePlayerPredicate<Card> {
private final TargetController targetOwner;
@ -99,7 +99,7 @@ public enum TargetController {
}
}
public static class PlayerPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Player>> {
public static class PlayerPredicate implements ObjectSourcePlayerPredicate<Player> {
private final TargetController targetPlayer;
@ -143,7 +143,7 @@ public enum TargetController {
}
}
public static class ControllerPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Controllable>> {
public static class ControllerPredicate implements ObjectSourcePlayerPredicate<Controllable> {
private final TargetController controller;

View file

@ -23,7 +23,7 @@ import java.util.stream.Collectors;
public class FilterCard extends FilterObject<Card> {
private static final long serialVersionUID = 1L;
protected List<ObjectSourcePlayerPredicate<ObjectSourcePlayer<Card>>> extraPredicates = new ArrayList<>();
protected List<ObjectSourcePlayerPredicate<Card>> extraPredicates = new ArrayList<>();
public FilterCard() {
super("card");

View file

@ -3,7 +3,6 @@ package mage.filter;
import mage.constants.SubType;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.Predicates;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -18,7 +17,7 @@ import java.util.UUID;
*/
public class FilterPermanent extends FilterObject<Permanent> implements FilterInPlay<Permanent> {
protected List<ObjectSourcePlayerPredicate<ObjectSourcePlayer<Permanent>>> extraPredicates = new ArrayList<>();
protected List<ObjectSourcePlayerPredicate<Permanent>> extraPredicates = new ArrayList<>();
public FilterPermanent() {
super("permanent");

View file

@ -16,7 +16,7 @@ import java.util.UUID;
*/
public class FilterPlayer extends FilterImpl<Player> {
protected List<ObjectSourcePlayerPredicate<ObjectSourcePlayer<Player>>> extraPredicates = new ArrayList<>();
protected List<ObjectSourcePlayerPredicate<Player>> extraPredicates = new ArrayList<>();
public FilterPlayer() {
this("player");

View file

@ -2,10 +2,8 @@ package mage.filter;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.Predicates;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.stack.StackObject;
import java.util.ArrayList;
@ -17,7 +15,7 @@ import java.util.UUID;
*/
public class FilterStackObject extends FilterObject<StackObject> {
protected List<ObjectSourcePlayerPredicate<ObjectSourcePlayer<StackObject>>> extraPredicates = new ArrayList<>();
protected List<ObjectSourcePlayerPredicate<StackObject>> extraPredicates = new ArrayList<>();
public FilterStackObject() {
this("spell or ability");

View file

@ -5,7 +5,6 @@ import mage.filter.FilterImpl;
import mage.filter.FilterInPlay;
import mage.filter.FilterPermanent;
import mage.filter.FilterPlayer;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.filter.predicate.Predicate;
import mage.game.Game;

View file

@ -5,5 +5,5 @@ package mage.filter.predicate;
* @author North
*/
@FunctionalInterface
public interface ObjectSourcePlayerPredicate<T extends ObjectSourcePlayer<?>> extends Predicate<T> {
public interface ObjectSourcePlayerPredicate<T> extends Predicate<ObjectSourcePlayer<T>> {
}

View file

@ -10,7 +10,7 @@ import mage.players.Player;
* @author JayDi85
*/
public enum CardOnTopOfLibraryPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Card>> {
public enum CardOnTopOfLibraryPredicate implements ObjectSourcePlayerPredicate<Card> {
YOUR,
ANY;

View file

@ -8,7 +8,7 @@ import mage.game.Game;
/**
* @author TheElk801
*/
public enum DefendingPlayerOwnsCardPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Card>> {
public enum DefendingPlayerOwnsCardPredicate implements ObjectSourcePlayerPredicate<Card> {
instance;
@Override

View file

@ -10,7 +10,7 @@ import mage.game.Game;
*
* @author North
*/
public class AnotherCardPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public class AnotherCardPredicate implements ObjectSourcePlayerPredicate<MageObject> {
@Override
public boolean apply(ObjectSourcePlayer<MageObject> input, Game game) {

View file

@ -9,7 +9,7 @@ import mage.game.Game;
/**
* @author North
*/
public enum AnotherPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public enum AnotherPredicate implements ObjectSourcePlayerPredicate<MageObject> {
instance;
@Override

View file

@ -9,7 +9,7 @@ import mage.game.Game;
/**
* @author TheElk801
*/
public enum ChosenColorPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public enum ChosenColorPredicate implements ObjectSourcePlayerPredicate<MageObject> {
TRUE(true), FALSE(false);
private final boolean value;

View file

@ -13,7 +13,7 @@ import mage.game.Game;
*
* @author LoneFox
*/
public enum ChosenSubtypePredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public enum ChosenSubtypePredicate implements ObjectSourcePlayerPredicate<MageObject> {
TRUE(true), FALSE(false);
private final boolean value;

View file

@ -10,7 +10,7 @@ import mage.game.Game;
* @author LevelX2
*/
public class SharesColorWithSourcePredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public class SharesColorWithSourcePredicate implements ObjectSourcePlayerPredicate<MageObject> {
@Override
public boolean apply(ObjectSourcePlayer<MageObject> input, Game game) {

View file

@ -14,7 +14,7 @@ import mage.target.Target;
*
* @author jeffwadsworth
*/
public class TargetsOnlyOnePlayerPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public class TargetsOnlyOnePlayerPredicate implements ObjectSourcePlayerPredicate<MageObject> {
public TargetsOnlyOnePlayerPredicate() {
}

View file

@ -15,7 +15,7 @@ import java.util.UUID;
/**
* @author LoneFox
*/
public class TargetsPermanentPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public class TargetsPermanentPredicate implements ObjectSourcePlayerPredicate<MageObject> {
private final FilterPermanent targetFilter;

View file

@ -14,7 +14,7 @@ import mage.target.Target;
*
* @author jeffwadsworth
*/
public class TargetsPlayerPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageObject>> {
public class TargetsPlayerPredicate implements ObjectSourcePlayerPredicate<MageObject> {
public TargetsPlayerPredicate() {
}

View file

@ -18,7 +18,7 @@ import mage.target.Target;
*
* @author LevelX2
*/
public class AnotherTargetPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<MageItem>> {
public class AnotherTargetPredicate implements ObjectSourcePlayerPredicate<MageItem> {
private final int targetTag;
private final boolean crossModalCheck;

View file

@ -12,7 +12,7 @@ import java.util.UUID;
/**
* @author LevelX2
*/
public class DamagedPlayerThisTurnPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Controllable>> {
public class DamagedPlayerThisTurnPredicate implements ObjectSourcePlayerPredicate<Controllable> {
private final TargetController controller;

View file

@ -10,7 +10,7 @@ import mage.players.Player;
*
* @author LevelX2
*/
public class PlayerCanGainLifePredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Player>> {
public class PlayerCanGainLifePredicate implements ObjectSourcePlayerPredicate<Player> {
// public PlayerCanGainLifePredicate() {
// }

View file

@ -10,7 +10,7 @@ import mage.game.permanent.Permanent;
*
* @author LevelX2
*/
public class AnotherEnchantedPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Permanent>> {
public class AnotherEnchantedPredicate implements ObjectSourcePlayerPredicate<Permanent> {
@Override
public boolean apply(ObjectSourcePlayer<Permanent> input, Game game) {

View file

@ -10,7 +10,7 @@ import mage.game.permanent.Permanent;
*
* @author North & L_J
*/
public class AttachedToControlledPermanentPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Permanent>> {
public class AttachedToControlledPermanentPredicate implements ObjectSourcePlayerPredicate<Permanent> {
@Override
public boolean apply(ObjectSourcePlayer<Permanent> input, Game game) {

View file

@ -11,7 +11,7 @@ import java.util.UUID;
/**
* @author TheElk801
*/
public enum BlockingOrBlockedBySourcePredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Permanent>> {
public enum BlockingOrBlockedBySourcePredicate implements ObjectSourcePlayerPredicate<Permanent> {
BLOCKING,
BLOCKED_BY,
EITHER;

View file

@ -8,7 +8,7 @@ import mage.game.permanent.Permanent;
/**
* @author TheElk801
*/
public enum DefendingPlayerControlsPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Permanent>> {
public enum DefendingPlayerControlsPredicate implements ObjectSourcePlayerPredicate<Permanent> {
instance;
@Override

View file

@ -9,7 +9,7 @@ import mage.game.permanent.Permanent;
/**
* @author jeffwadsworth
*/
public enum GreatestPowerControlledPredicate implements ObjectSourcePlayerPredicate<ObjectSourcePlayer<Permanent>> {
public enum GreatestPowerControlledPredicate implements ObjectSourcePlayerPredicate<Permanent> {
instance;
@Override