Minor formatting.

This commit is contained in:
LevelX2 2014-03-12 17:41:56 +01:00
parent 5932dc0323
commit 4a2a40ae2d
15 changed files with 64 additions and 29 deletions

View file

@ -189,6 +189,7 @@ class CavernOfSoulsWatcher extends WatcherImpl<CavernOfSoulsWatcher> {
public void watch(GameEvent event, Game game) { public void watch(GameEvent event, Game game) {
if (event.getType() == GameEvent.EventType.MANA_PAYED) { if (event.getType() == GameEvent.EventType.MANA_PAYED) {
MageObject object = game.getObject(event.getSourceId()); MageObject object = game.getObject(event.getSourceId());
// TODO: Replace identification by name by better method that also works if ability is copied from other land with other name
if (object != null && object.getName().equals("Cavern of Souls") && event.getFlag()) { if (object != null && object.getName().equals("Cavern of Souls") && event.getFlag()) {
spells.add(event.getTargetId()); spells.add(event.getTargetId());
} }

View file

@ -32,10 +32,6 @@ import java.util.UUID;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Rarity; import mage.constants.Rarity;
import mage.constants.Zone;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.combat.MustBeBlockedByAllSourceEffect;
import mage.abilities.effects.common.combat.MustBeBlockedByAllTargetEffect; import mage.abilities.effects.common.combat.MustBeBlockedByAllTargetEffect;
import mage.abilities.effects.common.continious.BoostTargetEffect; import mage.abilities.effects.common.continious.BoostTargetEffect;
import mage.abilities.effects.common.continious.GainAbilityTargetEffect; import mage.abilities.effects.common.continious.GainAbilityTargetEffect;

View file

@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.RegenerateSourceEffect; import mage.abilities.effects.common.RegenerateSourceEffect;
import mage.abilities.effects.common.SacrificeControllerEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Rarity; import mage.constants.Rarity;

View file

@ -44,10 +44,11 @@ public class SpecialActions extends AbilitiesImpl<SpecialAction> {
} }
public LinkedHashMap<UUID, SpecialAction> getControlledBy(UUID controllerId) { public LinkedHashMap<UUID, SpecialAction> getControlledBy(UUID controllerId) {
LinkedHashMap<UUID, SpecialAction> controlledBy = new LinkedHashMap<UUID, SpecialAction>(); LinkedHashMap<UUID, SpecialAction> controlledBy = new LinkedHashMap<>();
for (SpecialAction action: this) { for (SpecialAction action: this) {
if (action.getControllerId().equals(controllerId)) if (action.getControllerId().equals(controllerId)) {
controlledBy.put(action.id, action); controlledBy.put(action.id, action);
}
} }
return controlledBy; return controlledBy;
} }

View file

@ -29,6 +29,7 @@
package mage.filter; package mage.filter;
import java.io.Serializable; import java.io.Serializable;
import mage.MageObject;
import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicate;
import mage.game.Game; import mage.game.Game;
@ -36,6 +37,8 @@ import mage.game.Game;
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
* @author North * @author North
*
* @param <E>
*/ */
public interface Filter<E> extends Serializable { public interface Filter<E> extends Serializable {
@ -45,7 +48,7 @@ public interface Filter<E> extends Serializable {
Equal("=="), Equal("=="),
LessThan("<"); LessThan("<");
private String text; private final String text;
ComparisonType(String text) { ComparisonType(String text) {
this.text = text; this.text = text;

View file

@ -48,7 +48,7 @@ import mage.game.Game;
public class FilterCard extends FilterObject<Card> { public class FilterCard extends FilterObject<Card> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
protected List<ObjectPlayerPredicate<ObjectPlayer<Card>>> extraPredicates = new ArrayList<ObjectPlayerPredicate<ObjectPlayer<Card>>>(); protected List<ObjectPlayerPredicate<ObjectPlayer<Card>>> extraPredicates = new ArrayList<>();
public FilterCard() { public FilterCard() {
super("card"); super("card");
@ -60,7 +60,7 @@ public class FilterCard extends FilterObject<Card> {
public FilterCard(FilterCard filter) { public FilterCard(FilterCard filter) {
super(filter); super(filter);
this.extraPredicates = new ArrayList<ObjectPlayerPredicate<ObjectPlayer<Card>>>(filter.extraPredicates); this.extraPredicates = new ArrayList<>(filter.extraPredicates);
} }
//20130711 708.6c //20130711 708.6c
@ -87,8 +87,8 @@ public class FilterCard extends FilterObject<Card> {
if (!this.match(card, game)) { if (!this.match(card, game)) {
return false; return false;
} }
return Predicates.and(extraPredicates).apply(new ObjectPlayer(card, playerId), game); return Predicates.and(extraPredicates).apply(new ObjectPlayer<>(card, playerId), game);
} }
public boolean match(Card card, UUID sourceId, UUID playerId, Game game) { public boolean match(Card card, UUID sourceId, UUID playerId, Game game) {
@ -96,7 +96,7 @@ public class FilterCard extends FilterObject<Card> {
return false; return false;
} }
return Predicates.and(extraPredicates).apply(new ObjectSourcePlayer(card, sourceId, playerId), game); return Predicates.and(extraPredicates).apply(new ObjectSourcePlayer<>(card, sourceId, playerId), game);
} }
public void add(ObjectPlayerPredicate predicate) { public void add(ObjectPlayerPredicate predicate) {
@ -104,7 +104,7 @@ public class FilterCard extends FilterObject<Card> {
} }
public Set<Card> filter(Set<Card> cards, Game game) { public Set<Card> filter(Set<Card> cards, Game game) {
Set<Card> filtered = new HashSet<Card>(); Set<Card> filtered = new HashSet<>();
for (Card card : cards) { for (Card card : cards) {
if (match(card, game)) { if (match(card, game)) {
filtered.add(card); filtered.add(card);

View file

@ -30,6 +30,7 @@ package mage.filter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import mage.MageObject;
import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicate;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.game.Game; import mage.game.Game;
@ -52,7 +53,7 @@ public abstract class FilterImpl<E> implements Filter<E> {
this.message = name; this.message = name;
} }
public FilterImpl(FilterImpl filter) { public FilterImpl(FilterImpl<E> filter) {
this.message = filter.message; this.message = filter.message;
this.predicates = new ArrayList<>(filter.predicates); this.predicates = new ArrayList<>(filter.predicates);
} }

View file

@ -33,19 +33,20 @@ import mage.MageObject;
/** /**
* *
* @author North * @author North
* @param <E>
*/ */
public class FilterObject<E extends MageObject> extends FilterImpl<E> { public class FilterObject<E extends MageObject> extends FilterImpl<E> {
@Override @Override
public FilterObject<E> copy() { public FilterObject<E> copy() {
return new FilterObject<E>(this); return new FilterObject<>(this);
} }
public FilterObject(String name) { public FilterObject(String name) {
super(name); super(name);
} }
public FilterObject(FilterObject filter) { public FilterObject(FilterObject<E> filter) {
super(filter); super(filter);
} }
} }

View file

@ -45,7 +45,7 @@ import mage.players.Player;
*/ */
public class FilterPlayer extends FilterImpl<Player> { public class FilterPlayer extends FilterImpl<Player> {
protected List<ObjectPlayerPredicate<ObjectPlayer<Player>>> extraPredicates = new ArrayList<ObjectPlayerPredicate<ObjectPlayer<Player>>>(); protected List<ObjectPlayerPredicate<ObjectPlayer<Player>>> extraPredicates = new ArrayList<>();
public FilterPlayer() { public FilterPlayer() {
this("player"); this("player");
@ -57,10 +57,10 @@ public class FilterPlayer extends FilterImpl<Player> {
public FilterPlayer(final FilterPlayer filter) { public FilterPlayer(final FilterPlayer filter) {
super(filter); super(filter);
this.extraPredicates = new ArrayList<ObjectPlayerPredicate<ObjectPlayer<Player>>>(filter.extraPredicates); this.extraPredicates = new ArrayList<>(filter.extraPredicates);
} }
public void add(ObjectPlayerPredicate predicate) { public void add(ObjectPlayerPredicate<ObjectPlayer<Player>> predicate) {
extraPredicates.add(predicate); extraPredicates.add(predicate);
} }

View file

@ -28,10 +28,12 @@
package mage.filter.predicate; package mage.filter.predicate;
import java.util.UUID; import java.util.UUID;
import mage.MageObject;
/** /**
* *
* @author North * @author North
* @param <T>
*/ */
public class ObjectPlayer<T> { public class ObjectPlayer<T> {

View file

@ -30,6 +30,7 @@ package mage.filter.predicate;
/** /**
* *
* @author North * @author North
* @param <T>
*/ */
public interface ObjectPlayerPredicate<T extends ObjectPlayer> extends Predicate<T> { public interface ObjectPlayerPredicate<T extends ObjectPlayer> extends Predicate<T> {
} }

View file

@ -32,6 +32,7 @@ import java.util.UUID;
/** /**
* *
* @author North * @author North
* @param <T>
*/ */
public class ObjectSourcePlayer<T> extends ObjectPlayer<T> { public class ObjectSourcePlayer<T> extends ObjectPlayer<T> {

View file

@ -34,6 +34,7 @@ import mage.game.Game;
* Determines a true or false value for a given input. * Determines a true or false value for a given input.
* *
* @author North * @author North
* @param <T>
*/ */
public interface Predicate <T> extends Serializable { public interface Predicate <T> extends Serializable {
/** /**
@ -47,6 +48,9 @@ public interface Predicate <T> extends Serializable {
* predicate.apply(b)}.</li> * predicate.apply(b)}.</li>
* </ul> * </ul>
* *
* @param input
* @param game
* @return
* @throws NullPointerException if {@code input} is null and this predicate does not accept null * @throws NullPointerException if {@code input} is null and this predicate does not accept null
* arguments * arguments
*/ */

View file

@ -47,9 +47,12 @@ public final class Predicates {
/** /**
* Returns a predicate that evaluates to {@code true} if the given predicate evaluates to {@code false}. * Returns a predicate that evaluates to {@code true} if the given predicate evaluates to {@code false}.
* @param <T>
* @param predicate
* @return
*/ */
public static <T> Predicate<T> not(Predicate<T> predicate) { public static <T> Predicate<T> not(Predicate<T> predicate) {
return new NotPredicate<T>(predicate); return new NotPredicate<>(predicate);
} }
/** /**
@ -57,9 +60,12 @@ public final class Predicates {
* components are evaluated in order, and evaluation will be "short-circuited" as soon as a false predicate is * components are evaluated in order, and evaluation will be "short-circuited" as soon as a false predicate is
* found. It defensively copies the iterable passed in, so future changes to it won't alter the behavior of this * found. It defensively copies the iterable passed in, so future changes to it won't alter the behavior of this
* predicate. If {@code components} is empty, the returned predicate will always evaluate to {@code true}. * predicate. If {@code components} is empty, the returned predicate will always evaluate to {@code true}.
* @param <T>
* @param components
* @return
*/ */
public static <T> Predicate<T> and(Iterable<? extends Predicate<? super T>> components) { public static <T> Predicate<T> and(Iterable<? extends Predicate<? super T>> components) {
return new AndPredicate<T>(defensiveCopy(components)); return new AndPredicate<>(defensiveCopy(components));
} }
/** /**
@ -67,18 +73,25 @@ public final class Predicates {
* components are evaluated in order, and evaluation will be "short-circuited" as soon as a false predicate is * components are evaluated in order, and evaluation will be "short-circuited" as soon as a false predicate is
* found. It defensively copies the array passed in, so future changes to it won't alter the behavior of this * found. It defensively copies the array passed in, so future changes to it won't alter the behavior of this
* predicate. If {@code components} is empty, the returned predicate will always evaluate to {@code true}. * predicate. If {@code components} is empty, the returned predicate will always evaluate to {@code true}.
* @param <T>
* @param components
* @return
*/ */
public static <T> Predicate<T> and(Predicate<? super T>... components) { public static <T> Predicate<T> and(Predicate<? super T>... components) {
return new AndPredicate<T>(defensiveCopy(components)); return new AndPredicate<>(defensiveCopy(components));
} }
/** /**
* Returns a predicate that evaluates to {@code true} if both of its components evaluate to {@code true}. The * Returns a predicate that evaluates to {@code true} if both of its components evaluate to {@code true}. The
* components are evaluated in order, and evaluation will be "short-circuited" as soon as a false predicate is * components are evaluated in order, and evaluation will be "short-circuited" as soon as a false predicate is
* found. * found.
* @param <T>
* @param first
* @param second
* @return
*/ */
public static <T> Predicate<T> and(Predicate<? super T> first, Predicate<? super T> second) { public static <T> Predicate<T> and(Predicate<? super T> first, Predicate<? super T> second) {
return new AndPredicate<T>(Predicates.<T>asList(checkNotNull(first), checkNotNull(second))); return new AndPredicate<>(Predicates.<T>asList(checkNotNull(first), checkNotNull(second)));
} }
/** /**
@ -86,9 +99,12 @@ public final class Predicates {
* components are evaluated in order, and evaluation will be "short-circuited" as soon as a true predicate is found. * components are evaluated in order, and evaluation will be "short-circuited" as soon as a true predicate is found.
* It defensively copies the iterable passed in, so future changes to it won't alter the behavior of this predicate. * It defensively copies the iterable passed in, so future changes to it won't alter the behavior of this predicate.
* If {@code components} is empty, the returned predicate will always evaluate to {@code true}. * If {@code components} is empty, the returned predicate will always evaluate to {@code true}.
* @param <T>
* @param components
* @return
*/ */
public static <T> Predicate<T> or(Iterable<? extends Predicate<? super T>> components) { public static <T> Predicate<T> or(Iterable<? extends Predicate<? super T>> components) {
return new OrPredicate<T>(defensiveCopy(components)); return new OrPredicate<>(defensiveCopy(components));
} }
/** /**
@ -96,17 +112,24 @@ public final class Predicates {
* components are evaluated in order, and evaluation will be "short-circuited" as soon as a true predicate is found. * components are evaluated in order, and evaluation will be "short-circuited" as soon as a true predicate is found.
* It defensively copies the array passed in, so future changes to it won't alter the behavior of this predicate. If * It defensively copies the array passed in, so future changes to it won't alter the behavior of this predicate. If
* {@code components} is empty, the returned predicate will always evaluate to {@code true}. * {@code components} is empty, the returned predicate will always evaluate to {@code true}.
* @param <T>
* @param components
* @return
*/ */
public static <T> Predicate<T> or(Predicate<? super T>... components) { public static <T> Predicate<T> or(Predicate<? super T>... components) {
return new OrPredicate<T>(defensiveCopy(components)); return new OrPredicate<>(defensiveCopy(components));
} }
/** /**
* Returns a predicate that evaluates to {@code true} if either of its components evaluates to {@code true}. The * Returns a predicate that evaluates to {@code true} if either of its components evaluates to {@code true}. The
* components are evaluated in order, and evaluation will be "short-circuited" as soon as a true predicate is found. * components are evaluated in order, and evaluation will be "short-circuited" as soon as a true predicate is found.
* @param <T>
* @param first
* @param second
* @return
*/ */
public static <T> Predicate<T> or(Predicate<? super T> first, Predicate<? super T> second) { public static <T> Predicate<T> or(Predicate<? super T> first, Predicate<? super T> second) {
return new OrPredicate<T>(Predicates.<T>asList(first, second)); return new OrPredicate<>(Predicates.<T>asList(first, second));
} }
/** /**
@ -198,7 +221,7 @@ public final class Predicates {
} }
static <T> List<T> defensiveCopy(Iterable<T> iterable) { static <T> List<T> defensiveCopy(Iterable<T> iterable) {
ArrayList<T> list = new ArrayList<T>(); ArrayList<T> list = new ArrayList<>();
for (T element : iterable) { for (T element : iterable) {
list.add(checkNotNull(element)); list.add(checkNotNull(element));
} }

View file

@ -27,9 +27,9 @@
*/ */
package mage.filter.predicate.other; package mage.filter.predicate.other;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import mage.cards.Card; import mage.cards.Card;
import mage.filter.predicate.ObjectPlayer;
import mage.filter.predicate.ObjectPlayerPredicate;
import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicate;
import mage.game.Game; import mage.game.Game;