Bugfixes with != instead of equals and default toString calls

This commit is contained in:
vraskulin 2017-02-15 19:52:20 +03:00
parent 752392fc46
commit a15220d51e
74 changed files with 187 additions and 147 deletions

View file

@ -18,6 +18,7 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Collections;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@ -102,7 +103,7 @@ public class UI {
Object o = elem.getAttributes().getAttribute(StyleConstants.NameAttribute);
if (o instanceof HTML.Tag) {
HTML.Tag kind = (HTML.Tag) o;
if (kind == HTML.Tag.IMG) {
if (Objects.equals(kind, HTML.Tag.IMG)) {
return new ImageView(elem) {
@Override
public URL getImageURL() {

View file

@ -296,10 +296,10 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
}
} else if (card.getCardNumber().isEmpty() || "0".equals(card.getCardNumber())) {
System.err.println("There was a critical error!");
logger.error("Card has no collector ID and won't be sent to client: " + card);
logger.error("Card has no collector ID and won't be sent to client: " + card.getName());
} else if (card.getSetCode().isEmpty()) {
System.err.println("There was a critical error!");
logger.error("Card has no set name and won't be sent to client:" + card);
logger.error("Card has no set name and won't be sent to client:" + card.getName());
}
});
numberWithoutTokens = allCards.size();

View file

@ -752,7 +752,8 @@ public class HumanPlayer extends PlayerImpl {
return !controllingPlayer.getUserData().getUserSkipPrioritySteps().getOpponentTurn().isPhaseStepSet(game.getStep().getType());
}
} catch (NullPointerException ex) {
logger.error("null pointer exception UserData = " + userData == null ? "null" : "not null");
String isNull = userData == null ? "null" : "not null";
logger.error("null pointer exception UserData = " + isNull);
}
return true;
}

View file

@ -62,6 +62,7 @@ import org.w3c.dom.Element;
import javax.management.MBeanServer;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.util.*;
@ -401,7 +402,7 @@ public class Main {
try {
classLoader.addURL(new File(pluginFolder, plugin.getJar()).toURI().toURL());
logger.debug("Loading game type: " + plugin.getClassName());
return (MatchType) Class.forName(plugin.getTypeName(), true, classLoader).newInstance();
return (MatchType) Class.forName(plugin.getTypeName(), true, classLoader).getConstructor().newInstance();
} catch (ClassNotFoundException ex) {
logger.warn("Game type not found:" + plugin.getJar() + " - check plugin folder", ex);
} catch (Exception ex) {
@ -414,7 +415,7 @@ public class Main {
try {
classLoader.addURL(new File(pluginFolder, plugin.getJar()).toURI().toURL());
logger.debug("Loading tournament type: " + plugin.getClassName());
return (TournamentType) Class.forName(plugin.getTypeName(), true, classLoader).newInstance();
return (TournamentType) Class.forName(plugin.getTypeName(), true, classLoader).getConstructor().newInstance();
} catch (ClassNotFoundException ex) {
logger.warn("Tournament type not found:" + plugin.getName() + " / " + plugin.getJar() + " - check plugin folder", ex);
} catch (Exception ex) {

View file

@ -27,6 +27,7 @@
*/
package mage.cards.a;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import mage.MageObject;
@ -104,7 +105,7 @@ class AdviceFromTheFaeEffect extends OneShotEffect {
for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.add(new ControllerIdPredicate(playerId));
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
if (max < game.getBattlefield().countAll(filter, playerId, game)) {
max = game.getBattlefield().countAll(filter, playerId, game);
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.a;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.MageObject;
@ -108,7 +109,7 @@ class AlhammarretHighArbiterEffect extends OneShotEffect {
if (controller != null) {
Cards revealedCards = new CardsImpl();
for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
Player opponent = game.getPlayer(playerId);
if (opponent != null) {
Cards cards = new CardsImpl(opponent.getHand());

View file

@ -27,6 +27,7 @@
*/
package mage.cards.a;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.costs.Cost;
@ -90,7 +91,7 @@ class AllianceOfArmsEffect extends OneShotEffect {
int xSum = 0;
xSum += playerPaysXGenericMana(controller, source, game);
for(UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
xSum += playerPaysXGenericMana(player, source, game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.a;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -97,12 +98,12 @@ class ArrogantBloodlordTriggeredAbility extends TriggeredAbilityImpl {
Permanent blocker = game.getPermanent(event.getSourceId());
Permanent blocked = game.getPermanent(event.getTargetId());
Permanent arrogantBloodlord = game.getPermanent(sourceId);
if (blocker != null && blocker != arrogantBloodlord
if (blocker != null && !Objects.equals(blocker, arrogantBloodlord)
&& blocker.getPower().getValue() < 2
&& blocked == arrogantBloodlord) {
&& Objects.equals(blocked, arrogantBloodlord)) {
return true;
}
if (blocker != null && blocker == arrogantBloodlord
if (blocker != null && Objects.equals(blocker, arrogantBloodlord)
&& game.getPermanent(event.getTargetId()).getPower().getValue() < 2) {
return true;
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.c;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
@ -108,7 +109,7 @@ class CanalCourierTriggeredAbility extends TriggeredAbilityImpl {
Player attackedPlayer = game.getPlayer(sourceDefenderId);
if (attackedPlayer != null) {
for (UUID attacker : game.getCombat().getAttackers()) {
if (attacker != permanent.getId()) {
if (!Objects.equals(attacker, permanent.getId())) {
UUID defenderId = game.getCombat().getDefenderId(attacker);
Player attackedPlayer2 = game.getPlayer(defenderId);
if (attackedPlayer2 != null && attackedPlayer.getId().equals(attackedPlayer2.getId())) {

View file

@ -27,6 +27,7 @@
*/
package mage.cards.c;
import java.util.Objects;
import java.util.UUID;
import mage.Mana;
import mage.abilities.TriggeredAbilityImpl;
@ -88,7 +89,7 @@ class CityOfTraitorsTriggeredAbility extends TriggeredAbilityImpl {
Permanent land = game.getPermanent(event.getTargetId());
return land.getCardType().contains(CardType.LAND)
&& land.getControllerId().equals(this.controllerId)
&& event.getTargetId() != this.getSourceId();
&& !Objects.equals(event.getTargetId(), this.getSourceId());
}
@Override

View file

@ -27,6 +27,7 @@
*/
package mage.cards.c;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.costs.Cost;
@ -90,7 +91,7 @@ class CollectiveVoyageEffect extends OneShotEffect {
int xSum = 0;
xSum += playerPaysXGenericMana(controller, source, game);
for(UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
xSum += playerPaysXGenericMana(player, source, game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.c;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.ActivateIfConditionActivatedAbility;
@ -122,7 +123,7 @@ class CrownOfDoomEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
Player newController = game.getPlayer(getTargetPointer().getFirst(game, source));
if (controller != null && newController != null && controller.getId() != newController.getId()) {
if (controller != null && newController != null && !Objects.equals(controller.getId(), newController.getId())) {
// Duration.Custom = effect ends if Artifact leaves the current zone (battlefield)
ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, newController.getId());
effect.setTargetPointer(new FixedTarget(source.getSourceId()));

View file

@ -27,6 +27,7 @@
*/
package mage.cards.d;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.MageObject;
@ -207,7 +208,7 @@ class DaxosOfMeletisSpendAnyManaEffect extends AsThoughEffectImpl implements AsT
@Override
public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) {
return source.getControllerId().equals(affectedControllerId)
&& objectId == ((FixedTarget) getTargetPointer()).getTarget()
&& Objects.equals(objectId, ((FixedTarget) getTargetPointer()).getTarget())
&& ((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId)
&& (((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId))
&& game.getState().getZone(objectId).equals(Zone.STACK);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.d;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@ -111,9 +112,9 @@ public class DivineIntervention extends CardImpl {
for (StackObject stackObject : game.getStack()) {
if (stackObject.getControllerId() != null && !firstOnStack) {
if (you != stackObject.getControllerId()) {
if (!Objects.equals(you, stackObject.getControllerId())) {
onlyYouOnStack = false;
} else if (you == stackObject.getControllerId()) {
} else if (Objects.equals(you, stackObject.getControllerId())) {
onlyOpponentOnStack = false;
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.d;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
@ -93,7 +94,7 @@ class DuneblastEffect extends OneShotEffect {
creatureToKeep = game.getPermanent(target.getFirstTarget());
}
for(Permanent creature: game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), source.getSourceId(), game)) {
if (creature != creatureToKeep) {
if (!Objects.equals(creature, creatureToKeep)) {
creature.destroy(source.getSourceId(), game, false);
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.e;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
@ -101,7 +102,7 @@ class EnergyFieldEffect extends PreventionEffectImpl {
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (event.getType() == GameEvent.EventType.DAMAGE_PLAYER) {
if (event.getTargetId().equals(source.getControllerId()) && game.getControllerId(event.getSourceId()) != source.getControllerId()) {
if (event.getTargetId().equals(source.getControllerId()) && !Objects.equals(game.getControllerId(event.getSourceId()), source.getControllerId())) {
return super.applies(event, source, game);
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.e;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -94,7 +95,7 @@ class EquipoiseEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source));
if (controller != null && targetPlayer != null) {
if (targetPlayer != controller) {
if (!Objects.equals(targetPlayer, controller)) {
phaseOutCardType(controller, targetPlayer, CardType.LAND, source, game);
phaseOutCardType(controller, targetPlayer, CardType.ARTIFACT, source, game);
phaseOutCardType(controller, targetPlayer, CardType.CREATURE, source, game);

View file

@ -28,6 +28,7 @@
package mage.cards.e;
import java.util.HashMap;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@ -191,7 +192,7 @@ class EyeOfSingularityTriggeredEffect extends OneShotEffect {
for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) {
String cardName = permanent.getName();
if (cardName.equals(cn) && permanent.getId() != etbPermanent.getId()) {
if (cardName.equals(cn) && !Objects.equals(permanent.getId(), etbPermanent.getId())) {
toDestroy.put(permanent.getId(), 1);
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.f;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@ -97,7 +98,7 @@ class FabricationModuleTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getData().equals(CounterType.ENERGY.getName())) {
return event.getTargetId() == this.getControllerId();
return Objects.equals(event.getTargetId(), this.getControllerId());
}
return false;
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.g;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -139,14 +140,14 @@ class GuardianBeastConditionalEffect extends ContinuousRuleModifyingEffectImpl {
return false;
}
if (targetPermanent.getControllerId() != guardianBeast.getControllerId()) {
if (!Objects.equals(targetPermanent.getControllerId(), guardianBeast.getControllerId())) {
return false;
}
StackObject spell = game.getStack().getStackObject(event.getSourceId());
if (event.getType() == EventType.LOSE_CONTROL || event.getType() == EventType.ATTACH || event.getType() == EventType.TARGET && spell != null && spell.getCardType().contains(CardType.ENCHANTMENT) && spell.getSubtype(game).contains("Aura")) {
for (Permanent perm : game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game)) {
if (perm != null && perm.getId() == targetPermanent.getId() && !perm.getCardType().contains(CardType.CREATURE)) {
if (perm != null && Objects.equals(perm.getId(), targetPermanent.getId()) && !perm.getCardType().contains(CardType.CREATURE)) {
return true;
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.h;
import java.util.Objects;
import java.util.UUID;
import mage.constants.CardType;
import mage.MageInt;
@ -95,7 +96,7 @@ class HellcarverDemonEffect extends OneShotEffect {
Permanent hellcarverDemon = game.getPermanent(source.getSourceId());
for (Permanent permanent: game.getBattlefield().getActivePermanents(filterPermanents, source.getControllerId(), game)) {
if (permanent != hellcarverDemon) {
if (!Objects.equals(permanent, hellcarverDemon)) {
permanent.sacrifice(source.getSourceId(), game);
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.h;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.SimpleStaticAbility;
@ -101,7 +102,7 @@ class HotSoupTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
Permanent equipment = game.getPermanent(this.getSourceId());
if (equipment != null && equipment.getAttachedTo() != null) {
if (event.getTargetId() == equipment.getAttachedTo()) {
if (Objects.equals(event.getTargetId(), equipment.getAttachedTo())) {
for(Effect effect : this.getEffects())
{
effect.setTargetPointer(new FixedTarget(equipment.getAttachedTo()));

View file

@ -27,6 +27,7 @@
*/
package mage.cards.h;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.MageObject;
@ -90,7 +91,7 @@ class HydraOmnivoreEffect extends OneShotEffect {
MageObject object = game.getObject(source.getSourceId());
if (object != null && amount > 0 && damagedOpponent != null) {
for (UUID playerId :game.getOpponents(source.getControllerId())) {
if (playerId != damagedOpponent) {
if (!Objects.equals(playerId, damagedOpponent)) {
Player opponent = game.getPlayer(playerId);
if (opponent != null) {
int dealtDamage = opponent.damage(amount, source.getSourceId(), game, false, true);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.i;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
@ -95,7 +96,7 @@ class IllicitAuctionEffect extends GainControlTargetEffect {
game.informPlayers(winner.getLogName()+ " has bet 0 lifes");
Player currentPlayer = playerList.getNextInRange(controller, game);
while (currentPlayer != winner) {
while (!Objects.equals(currentPlayer, winner)) {
String text = winner.getLogName() + " has bet " + highBid + " life" + (highBid > 1 ? "s" : "") + ". Top the bid?";
if (currentPlayer.chooseUse(Outcome.Detriment, text, source, game)) {
int newBid = currentPlayer.getAmount(highBid + 1, Integer.MAX_VALUE, "Choose bid", game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.k;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -101,7 +102,7 @@ class KazuulTyrantOfTheCliffsTriggeredAbility extends TriggeredAbilityImpl {
Permanent attacker = game.getPermanent(event.getSourceId());
Player defender = game.getPlayer(event.getTargetId());
Player you = game.getPlayer(controllerId);
if (attacker.getControllerId() != you.getId() && defender == you) {
if (!Objects.equals(attacker.getControllerId(), you.getId()) && Objects.equals(defender, you)) {
this.getEffects().get(0).setTargetPointer(new FixedTarget(attacker.getControllerId()));
return true;
}

View file

@ -90,7 +90,7 @@ class KnowledgeExploitationEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
Player opponent = game.getPlayer(this.getTargetPointer().getFirst(game, source));
if (controller != null & opponent != null) {
if (controller != null && opponent != null) {
TargetCardInLibrary target = new TargetCardInLibrary(0, 1, new FilterInstantOrSorceryCard());
if (controller.searchLibrary(target, game, opponent.getId())) {
Card card = opponent.getLibrary().remove(target.getFirstTarget(), game);

View file

@ -28,6 +28,7 @@
package mage.cards.k;
import java.util.HashMap;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -127,7 +128,7 @@ class KynaiosAndTirosEffect extends OneShotEffect {
}
}
}
if (!playedLand && currentPlayer != controller) {
if (!playedLand && !Objects.equals(currentPlayer, controller)) {
noLandPlayers.put(currentPlayer.getId(), playedLand);
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.l;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -93,10 +94,10 @@ class LudevicNecroAlchemistCondition implements Condition {
}
while (watcher != null && currentPlayer != null) {
if (currentPlayer != null && currentPlayer.getId() != sourcePlayerId && watcher.getLiveLost(currentPlayer.getId()) > 0) {
if (currentPlayer != null && !Objects.equals(currentPlayer.getId(), sourcePlayerId) && watcher.getLiveLost(currentPlayer.getId()) > 0) {
return true;
}
if (currentPlayer == firstPlayer) {
if (Objects.equals(currentPlayer, firstPlayer)) {
return false;
}
currentPlayer = playerList.getNext(game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.m;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
@ -86,7 +87,7 @@ class MagneticMineTriggeredAbility extends TriggeredAbilityImpl {
if (zEvent.getFromZone() == Zone.BATTLEFIELD
&& zEvent.getToZone() == Zone.GRAVEYARD
&& zEvent.getTarget().getCardType().contains(CardType.ARTIFACT)
&& zEvent.getTarget().getId() != this.getSourceId()) {
&& !Objects.equals(zEvent.getTarget().getId(), this.getSourceId())) {
this.getTargets().get(0).add(zEvent.getTarget().getControllerId(), game);
return true;
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.m;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -129,7 +130,7 @@ class ManaChargedDragonEffect extends OneShotEffect {
int xSum = 0;
xSum += playerPaysXGenericMana(controller, source, game);
for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
xSum += playerPaysXGenericMana(player, source, game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.m;
import java.util.Objects;
import java.util.UUID;
import mage.Mana;
import mage.abilities.Ability;
@ -145,7 +146,7 @@ class ManaWebeffect extends OneShotEffect {
boolean tappedLands = false;
for (Permanent opponentPermanent : game.getBattlefield().getActivePermanents(filter, permanent.getControllerId(), game)) {
if (opponentPermanent.getControllerId() == permanent.getControllerId()) {
if (Objects.equals(opponentPermanent.getControllerId(), permanent.getControllerId())) {
Mana opponentLandMana = new Mana();
for (ActivatedManaAbilityImpl ability : opponentPermanent.getAbilities().getAvailableActivatedManaAbilities(Zone.BATTLEFIELD, game)) {

View file

@ -27,6 +27,7 @@
*/
package mage.cards.m;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.costs.Cost;
@ -87,7 +88,7 @@ class MindsAglowEffect extends OneShotEffect {
int xSum = 0;
xSum += playerPaysXGenericMana(controller, source, game);
for(UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
xSum += playerPaysXGenericMana(player, source, game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.m;
import java.util.Objects;
import java.util.UUID;
import mage.MageObject;
import mage.abilities.Abilities;
@ -98,7 +99,7 @@ class NoAbilityPredicate implements Predicate<MageObject> {
}
for (Ability ability : abilities) {
if (ability.getClass() != SpellAbility.class) {
if (!Objects.equals(ability.getClass(), SpellAbility.class)) {
return false;
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.m;
import java.util.Objects;
import java.util.UUID;
import mage.MageObject;
import mage.abilities.costs.mana.ManaCostsImpl;
@ -104,7 +105,7 @@ class MysticRemoraTriggeredAbility extends TriggeredAbilityImpl {
if (spell != null && !spell.getCardType().contains(CardType.CREATURE)) {
Player controller = game.getPlayer(game.getControllerId(this.controllerId));
Player player = game.getPlayer(spell.getControllerId());
if (controller != player) {
if (!Objects.equals(controller, player)) {
this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getPlayerId()));
}
return true;

View file

@ -27,6 +27,7 @@
*/
package mage.cards.n;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@ -103,7 +104,7 @@ public class NightDealings extends CardImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
// to another player
if (this.getControllerId() != event.getTargetId()) {
if (!Objects.equals(this.getControllerId(), event.getTargetId())) {
// a source you control
UUID sourceControllerId = game.getControllerId(event.getSourceId());
if (sourceControllerId != null && sourceControllerId.equals(this.getControllerId())) {

View file

@ -28,6 +28,7 @@
package mage.cards.o;
import java.util.ArrayList;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -121,7 +122,7 @@ class OrzhovAdvokistEffect extends OneShotEffect {
}
}
for (UUID playerId : players) {
if (playerId != source.getControllerId()) {
if (!Objects.equals(playerId, source.getControllerId())) {
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.add(new ControllerIdPredicate(playerId));
game.addEffect(new CantAttackYouAllEffect(Duration.UntilYourNextTurn, filter, true), source);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.p;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
@ -91,7 +92,7 @@ class PainsRewardEffect extends OneShotEffect {
game.informPlayers(winner.getLogName() + " has bet " + highBid + " lifes");
Player currentPlayer = playerList.getNextInRange(controller, game);
while (currentPlayer != winner) {
while (!Objects.equals(currentPlayer, winner)) {
String text = winner.getLogName() + " has bet " + highBid + " life" + (highBid > 1 ? "s" : "") + ". Top the bid?";
if (currentPlayer.chooseUse(Outcome.Detriment, text, source, game)) {
int newBid = currentPlayer.getAmount(highBid + 1, Integer.MAX_VALUE, "Choose amount of life to bid", game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.p;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.SimpleStaticAbility;
@ -106,7 +107,7 @@ class PsychicPossessionTriggeredAbility extends TriggeredAbilityImpl {
if (enchantment != null && enchantment.getAttachedTo() != null) {
Player opponent = game.getPlayer(enchantment.getAttachedTo());
Player player = game.getPlayer(event.getPlayerId());
if (opponent != null && player != null && player == opponent) {
if (opponent != null && player != null && Objects.equals(player, opponent)) {
return true;
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.r;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -151,7 +152,7 @@ class ExclusionRitualReplacementEffect extends ContinuousRuleModifyingEffectImpl
if (spell != null && spell.isFaceDown(game)) {
return false; // Face Down cast spell (Morph creature) has no name
}
return card.getName().equals(creatureName) && ownerId == card.getOwnerId();
return card.getName().equals(creatureName) && Objects.equals(ownerId, card.getOwnerId());
}
return false;
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.r;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
@ -98,7 +99,7 @@ class RocketLauncherWatcher extends Watcher {
changedControllerOR1stTurn = false;
}
if (event.getType() == GameEvent.EventType.LOST_CONTROL &&
event.getSourceId()==cardId) {
Objects.equals(event.getSourceId(), cardId)) {
changedControllerOR1stTurn = true;
}
}

View file

@ -27,6 +27,7 @@
*/
package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
@ -95,7 +96,7 @@ public class ScarredPuma extends CardImpl {
if (permanent.getId().equals(source.getSourceId())) {
for (Permanent creature : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) {
//excludes itself (http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=23067)
if (creature.getId() != source.getSourceId()) {
if (!Objects.equals(creature.getId(), source.getSourceId())) {
ObjectColor color = creature.getColor(game);
if (color.isBlack() || color.isGreen()) {
return false;

View file

@ -27,6 +27,7 @@
*/
package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.costs.Cost;
@ -89,7 +90,7 @@ class SharedTraumaEffect extends OneShotEffect {
int xSum = 0;
xSum += playerPaysXGenericMana(controller, source, game);
for(UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != controller.getId()) {
if (!Objects.equals(playerId, controller.getId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
xSum += playerPaysXGenericMana(player, source, game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -117,7 +118,7 @@ class ShattergangBrothersEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
for(UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != source.getControllerId()) {
if (!Objects.equals(playerId, source.getControllerId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
TargetControlledPermanent target = new TargetControlledPermanent(filter);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.constants.CardType;
@ -79,7 +80,7 @@ public class SkullRend extends CardImpl {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
for (UUID playerId: game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != source.getControllerId()) {
if (!Objects.equals(playerId, source.getControllerId())) {
Player opponent = game.getPlayer(playerId);
if (opponent != null) {
// damage

View file

@ -27,6 +27,7 @@
*/
package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -102,7 +103,7 @@ class SpikeCannibalEffect extends OneShotEffect {
if (sourcePermanent != null) {
for (Permanent creature : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
if (creature != sourcePermanent) {
if (!Objects.equals(creature, sourcePermanent)) {
int numberCounters = creature.getCounters(game).getCount(CounterType.P1P1);
if (numberCounters > 0) {
creature.removeCounters(CounterType.P1P1.getName(), numberCounters, game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.Ability;
@ -93,7 +94,7 @@ class SpreadingPlagueEffect extends OneShotEffect {
ObjectColor color = creature.getColor(game);
for (Permanent permanent : game.getBattlefield().getActivePermanents(FILTER, source.getControllerId(), game)) {
if (permanent.getColor(game).shares(color)
&& permanent != creature) {
&& !Objects.equals(permanent, creature)) {
permanent.destroy(source.getSourceId(), game, true);
}
}

View file

@ -156,7 +156,7 @@ class SunforgerUnattachCost extends CostImpl {
@Override
public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) {
Permanent attachment = game.getPermanent(sourceId);
if (attachment != null & attachment.getAttachedTo() != null) {
if (attachment != null && attachment.getAttachedTo() != null) {
Permanent attachedTo = game.getPermanent(attachment.getAttachedTo());
if (attachedTo != null) {
paid = attachedTo.removeAttachment(attachment.getId(), game);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.t;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
@ -92,7 +93,7 @@ class TerritorialGorgerTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getData().equals(CounterType.ENERGY.getName())) {
return event.getTargetId() == this.getControllerId();
return Objects.equals(event.getTargetId(), this.getControllerId());
}
return false;
}

View file

@ -28,6 +28,7 @@
package mage.cards.t;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -102,7 +103,7 @@ class TrostaniSelesnyasVoiceTriggeredAbility extends TriggeredAbilityImpl {
Permanent permanent = game.getPermanent(event.getTargetId());
if (permanent.getCardType().contains(CardType.CREATURE)
&& permanent.getControllerId().equals(this.controllerId)
&& event.getTargetId() != this.getSourceId()) {
&& !Objects.equals(event.getTargetId(), this.getSourceId())) {
Effect effect = this.getEffects().get(0);
// life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution)
effect.setValue("lifeSource", event.getTargetId());

View file

@ -27,6 +27,7 @@
*/
package mage.cards.u;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
@ -91,7 +92,7 @@ class UrborgSyphonMageEffect extends OneShotEffect {
Player controller = game.getPlayer(source.getControllerId());
if (controller != null) {
for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
if (playerId != source.getControllerId()) {
if (!Objects.equals(playerId, source.getControllerId())) {
Player player = game.getPlayer(playerId);
if (player != null) {
damage += player.damage(2, source.getSourceId(), game, false, true);

View file

@ -27,6 +27,7 @@
*/
package mage.cards.v;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@ -110,13 +111,13 @@ class VenomTriggeredAbility extends TriggeredAbilityImpl {
if (enchantment != null && enchantment.getAttachedTo() != null) {
Permanent enchantedCreature = game.getPermanent(enchantment.getAttachedTo());
if (enchantedCreature != null) {
if (blocker != null && blocker != enchantedCreature
if (blocker != null && !Objects.equals(blocker, enchantedCreature)
&& !blocker.getSubtype(game).contains("Wall")
&& blocked == enchantedCreature) {
&& Objects.equals(blocked, enchantedCreature)) {
this.getEffects().get(0).setTargetPointer(new FixedTarget(blocker.getId()));
return true;
}
if (blocker != null && blocker == enchantedCreature
if (blocker != null && Objects.equals(blocker, enchantedCreature)
&& !blocked.getSubtype(game).contains("Wall")) {
this.getEffects().get(0).setTargetPointer(new FixedTarget(blocked.getId()));
return true;

View file

@ -28,6 +28,7 @@
package mage.cards.w;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import mage.abilities.Ability;
@ -171,7 +172,7 @@ class WeightOfConscienceTarget extends TargetControlledCreaturePermanent {
public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) {
for (Permanent permanent1 : game.getBattlefield().getActivePermanents(filterUntapped, sourceControllerId, game)) {
for (Permanent permanent2 : game.getBattlefield().getActivePermanents(filterUntapped, sourceControllerId, game)) {
if (permanent1 != permanent2 && CardUtil.shareSubtypes(permanent1, permanent2, game)) {
if (!Objects.equals(permanent1, permanent2) && CardUtil.shareSubtypes(permanent1, permanent2, game)) {
return true;
}
}

View file

@ -28,6 +28,7 @@
package mage.cards.w;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@ -125,7 +126,7 @@ class WorldslayerEffect extends OneShotEffect {
public boolean apply(Game game, Ability source) {
List<Permanent> permanents = game.getBattlefield().getActivePermanents(source.getControllerId(), game);
for (Permanent permanent : permanents) {
if (permanent.getId() != source.getSourceId()) {
if (!Objects.equals(permanent.getId(), source.getSourceId())) {
permanent.destroy(source.getSourceId(), game, false);
}
}

View file

@ -28,6 +28,7 @@ import org.mage.test.player.TestPlayer;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -135,7 +136,7 @@ public abstract class MageTestBase {
try {
classLoader.addURL(new File(pluginFolder + '/' + plugin.getJar()).toURI().toURL());
logger.info("Loading game type: " + plugin.getClassName());
return (MatchType) Class.forName(plugin.getTypeName(), true, classLoader).newInstance();
return (MatchType) Class.forName(plugin.getTypeName(), true, classLoader).getConstructor().newInstance();
} catch (ClassNotFoundException ex) {
logger.warn("Game type not found:" + plugin.getJar() + " - check plugin folder");
} catch (Exception ex) {
@ -148,7 +149,7 @@ public abstract class MageTestBase {
try {
classLoader.addURL(new File(pluginFolder + '/' + plugin.getJar()).toURI().toURL());
logger.info("Loading tournament type: " + plugin.getClassName());
return (TournamentType) Class.forName(plugin.getTypeName(), true, classLoader).newInstance();
return (TournamentType) Class.forName(plugin.getTypeName(), true, classLoader).getConstructor().newInstance();
} catch (ClassNotFoundException ex) {
logger.warn("Tournament type not found:" + plugin.getJar() + " - check plugin folder");
} catch (Exception ex) {

View file

@ -26,6 +26,7 @@ import org.mage.test.player.TestPlayer;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -121,7 +122,7 @@ public abstract class MageTestPlayerBase {
try {
classLoader.addURL(new File(pluginFolder + '/' + plugin.getJar()).toURI().toURL());
logger.info("Loading game type: " + plugin.getClassName());
return (MatchType) Class.forName(plugin.getTypeName(), true, classLoader).newInstance();
return (MatchType) Class.forName(plugin.getTypeName(), true, classLoader).getConstructor().newInstance();
} catch (ClassNotFoundException ex) {
logger.warn("Game type not found:" + plugin.getJar() + " - check plugin folder");
} catch (Exception ex) {
@ -134,7 +135,7 @@ public abstract class MageTestPlayerBase {
try {
classLoader.addURL(new File(pluginFolder + '/' + plugin.getJar()).toURI().toURL());
logger.info("Loading tournament type: " + plugin.getClassName());
return (TournamentType) Class.forName(plugin.getTypeName(), true, classLoader).newInstance();
return (TournamentType) Class.forName(plugin.getTypeName(), true, classLoader).getConstructor().newInstance();
} catch (ClassNotFoundException ex) {
logger.warn("Tournament type not found:" + plugin.getJar() + " - check plugin folder");
} catch (Exception ex) {

View file

@ -28,6 +28,8 @@
package mage;
import java.io.Serializable;
import java.util.Objects;
import mage.util.Copyable;
public class MageInt implements Serializable, Copyable<MageInt> {
@ -75,7 +77,7 @@ public class MageInt implements Serializable, Copyable<MageInt> {
@Override
public MageInt copy() {
if (this == EmptyMageInt) {
if (Objects.equals(this, EmptyMageInt)) {
return this;
}
return new MageInt(baseValue, baseValueModified, boostedValue, cardValue);

View file

@ -30,6 +30,8 @@ package mage;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import mage.constants.ColoredManaSymbol;
import mage.util.Copyable;
@ -89,11 +91,11 @@ public class ObjectColor implements Serializable, Copyable<ObjectColor>, Compara
*/
public ObjectColor union(ObjectColor other) {
ObjectColor newColor = new ObjectColor();
newColor.white = white | other.white;
newColor.blue = blue | other.blue;
newColor.black = black | other.black;
newColor.red = red | other.red;
newColor.green = green | other.green;
newColor.white = white || other.white;
newColor.blue = blue || other.blue;
newColor.black = black || other.black;
newColor.red = red || other.red;
newColor.green = green || other.green;
return newColor;
}
@ -168,20 +170,20 @@ public class ObjectColor implements Serializable, Copyable<ObjectColor>, Compara
}
public boolean hasColor() {
return white | blue | black | red | green;
return white || blue || black || red || green;
}
public boolean isMulticolored() {
if (isColorless()) {
return false;
}
if (white && (blue | black | red | green)) {
if (white && (blue || black || red || green)) {
return true;
}
if (blue && (black | red | green)) {
if (blue && (black || red || green)) {
return true;
}
if (black && (red | green)) {
if (black && (red || green)) {
return true;
}
return red && green;
@ -307,22 +309,22 @@ public class ObjectColor implements Serializable, Copyable<ObjectColor>, Compara
}
public boolean contains(ObjectColor color) {
if (this == color) {
if (Objects.equals(this, color)) {
return true;
}
if (color.white & this.white) {
if (color.white && this.white) {
return true;
}
if (color.blue & this.blue) {
if (color.blue && this.blue) {
return true;
}
if (color.black & this.black) {
if (color.black && this.black) {
return true;
}
if (color.red & this.red) {
if (color.red && this.red) {
return true;
}
if (color.green & this.green) {
if (color.green && this.green) {
return true;
}
return false;

View file

@ -27,6 +27,7 @@
*/
package mage.abilities.common;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
@ -65,7 +66,7 @@ public class AttacksAloneTriggeredAbility extends TriggeredAbilityImpl {
if(game.getActivePlayerId().equals(this.controllerId) ) {
UUID creatureId = this.getSourceId();
if(creatureId != null) {
if(game.getCombat().attacksAlone() && creatureId == game.getCombat().getAttackers().get(0)) {
if(game.getCombat().attacksAlone() && Objects.equals(creatureId, game.getCombat().getAttackers().get(0))) {
UUID defender = game.getCombat().getDefenderId(creatureId);
if(defender != null) {
for(Effect effect: getEffects()) {

View file

@ -27,6 +27,7 @@
*/
package mage.abilities.condition.common;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.Condition;
@ -50,7 +51,7 @@ public class SourceOnBattlefieldControlUnchangedCondition implements Condition {
controllerId = source.getControllerId();
}
Permanent permanent = game.getBattlefield().getPermanent(source.getSourceId());
return (permanent != null && controllerId == source.getControllerId());
return (permanent != null && Objects.equals(controllerId, source.getControllerId()));
}
}

View file

@ -36,6 +36,8 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import java.util.Objects;
/**
*
* @author jeffwadsworth
@ -67,7 +69,7 @@ public class CantBeRegeneratedSourceEffect extends ContinuousRuleModifyingEffect
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
return source.getSourceId() == event.getTargetId();
return Objects.equals(source.getSourceId(), event.getTargetId());
}
@Override

View file

@ -19,6 +19,8 @@ import mage.game.stack.Spell;
import mage.game.stack.StackObject;
import mage.players.Player;
import java.util.Objects;
/**
*
* @author jeffwadsworth
@ -112,7 +114,7 @@ class EpicReplacementEffect extends ContinuousRuleModifyingEffectImpl {
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (source.getControllerId() == event.getPlayerId()) {
if (Objects.equals(source.getControllerId(), event.getPlayerId())) {
MageObject object = game.getObject(event.getSourceId());
if (object != null) {
return true;

View file

@ -78,4 +78,9 @@ public abstract class FilterImpl<E> implements Filter<E> {
public void setMessage(String message) {
this.message = message;
}
@Override
public String toString() {
return message;
}
}

View file

@ -29,20 +29,9 @@ package mage.game;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.Map.Entry;
import java.util.Set;
import java.util.Stack;
import java.util.UUID;
import mage.MageException;
import mage.MageObject;
import mage.abilities.Ability;
@ -2010,7 +1999,7 @@ public abstract class GameImpl implements Game, Serializable {
}
}
for (Permanent permanent : worldEnchantment) {
if (newestPermanent != permanent) {
if (!Objects.equals(newestPermanent, permanent)) {
movePermanentToGraveyardWithInfo(permanent);
somethingHappened = true;
}

View file

@ -28,18 +28,8 @@
package mage.game;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.*;
import mage.MageObject;
import mage.abilities.Abilities;
import mage.abilities.Ability;
@ -360,7 +350,7 @@ public class GameState implements Serializable, Copyable<GameState> {
for (Player player : players.values()) {
sb.append("player").append(player.isPassed()).append(player.getLife()).append("hand");
if (playerId == player.getId()) {
if (Objects.equals(playerId, player.getId())) {
sb.append(player.getHand().getValue(game));
} else {
sb.append(player.getHand().size());

View file

@ -184,9 +184,9 @@ public class ZonesHandler {
ZoneChangeInfo subInfo = itr.next();
if (!maybeRemoveFromSourceZone(subInfo, game)) {
itr.remove();
} else if (subInfo.event.getTargetId() == meld.getTopHalfCard().getId()) {
} else if (Objects.equals(subInfo.event.getTargetId(), meld.getTopHalfCard().getId())) {
meld.setTopLastZoneChangeCounter(meld.getTopHalfCard().getZoneChangeCounter(game));
} else if (subInfo.event.getTargetId() == meld.getBottomHalfCard().getId()) {
} else if (Objects.equals(subInfo.event.getTargetId(), meld.getBottomHalfCard().getId())) {
meld.setBottomLastZoneChangeCounter(meld.getBottomHalfCard().getZoneChangeCounter(game));
}
}

View file

@ -29,6 +29,7 @@ package mage.game.draft;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import mage.cards.Card;
import mage.cards.repository.CardCriteria;
@ -146,7 +147,7 @@ public abstract class DraftCube {
}
for (int i = leftCubeCards.size() - 1; i >= 0; i--) {
if (leftCubeCards.get(i) == cardId) {
if (Objects.equals(leftCubeCards.get(i), cardId)) {
leftCubeCards.remove(i);
return;
}

View file

@ -28,13 +28,8 @@
package mage.game.draft;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.*;
import mage.cards.Card;
import mage.cards.ExpansionSet;
import mage.game.draft.DraftOptions.TimingOption;
@ -197,7 +192,7 @@ public abstract class DraftImpl implements Draft {
while (true) {
List<Card> nextBooster = next.booster;
next.setBooster(currentBooster);
if (nextId == startId) {
if (Objects.equals(nextId, startId)) {
break;
}
currentBooster = nextBooster;
@ -218,7 +213,7 @@ public abstract class DraftImpl implements Draft {
while (true) {
List<Card> prevBooster = prev.booster;
prev.setBooster(currentBooster);
if (prevId == startId) {
if (Objects.equals(prevId, startId)) {
break;
}
currentBooster = prevBooster;

View file

@ -28,6 +28,7 @@
package mage.game.draft;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import mage.cards.Card;
import mage.cards.ExpansionSet;
@ -69,7 +70,7 @@ public class RichManBoosterDraft extends DraftImpl {
while (true) {
List<Card> nextBooster = sets.get(cardNum % sets.size()).createBooster();
next.setBooster(nextBooster);
if (nextId == startId) {
if (Objects.equals(nextId, startId)) {
break;
}
nextId = table.getNext();

View file

@ -27,10 +27,8 @@
*/
package mage.game.draft;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import mage.cards.Card;
import mage.cards.ExpansionSet;
import mage.game.draft.DraftCube.CardIdentity;
@ -90,7 +88,7 @@ public class RichManCubeBoosterDraft extends DraftImpl {
List<Card> nextBooster = draftCube.createBooster();
next.setBooster(nextBooster);
if (nextId == startId) {
if (Objects.equals(nextId, startId)) {
break;
}
nextId = table.getNext();

View file

@ -27,14 +27,8 @@
*/
package mage.game.permanent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import mage.MageObject;
import mage.MageObjectReference;
import mage.ObjectColor;
@ -667,7 +661,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
@Override
public void attachTo(UUID permanentId, Game game) {
if (this.attachedTo != null && this.attachedTo != permanentId) {
if (this.attachedTo != null && !Objects.equals(this.attachedTo, permanentId)) {
Permanent attachment = game.getPermanent(this.attachedTo);
if (attachment != null) {
attachment.removeAttachment(this.objectId, game);

View file

@ -1291,7 +1291,7 @@ public abstract class PlayerImpl implements Player, Serializable {
if (zone != Zone.BATTLEFIELD && game.getContinuousEffects().asThough(object.getId(), AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, this.getId(), game)) {
for (Ability ability : object.getAbilities()) {
if (canUse || ability.getAbilityType() == AbilityType.SPECIAL_ACTION) {
if (ability.getManaCosts().isEmpty() && ability.getCosts().isEmpty() && ability instanceof SpellAbility && !(ability.getSourceId() == getCastSourceIdWithAlternateMana())) {
if (ability.getManaCosts().isEmpty() && ability.getCosts().isEmpty() && ability instanceof SpellAbility && !(Objects.equals(ability.getSourceId(), getCastSourceIdWithAlternateMana()))) {
continue; // You can't play spells that have no costs, unless you can play them without paying their mana costs
}
ability.setControllerId(this.getId());
@ -1679,7 +1679,7 @@ public abstract class PlayerImpl implements Player, Serializable {
@Override
public boolean isLifeTotalCanChange() {
return canGainLife | canLoseLife;
return canGainLife || canLoseLife;
}
@Override
@ -3247,7 +3247,7 @@ public abstract class PlayerImpl implements Player, Serializable {
// move cards to graveyard in order the owner decides
if (!cards.isEmpty()) {
Player choosingPlayer = this;
if (ownerId != this.getId()) {
if (!Objects.equals(ownerId, this.getId())) {
choosingPlayer = game.getPlayer(ownerId);
}
if (choosingPlayer == null) {

View file

@ -1,6 +1,7 @@
package mage.watchers.common;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import mage.constants.WatcherScope;
@ -32,7 +33,7 @@ public class CastFromHandWatcher extends Watcher {
* reset if the game comes to a new step
*/
if (step != null && game.getTurn().getStep() != step) {
if (step != null && !Objects.equals(game.getTurn().getStep(), step)) {
spellsCastFromHand.clear();
step = null;
}

View file

@ -10,6 +10,8 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import java.util.Objects;
/**
* Custom unit tests for {link Mana}.
*
@ -525,7 +527,7 @@ public class ManaTest {
// then
assertEquals(mana, copy); // are equal
assertFalse(mana == copy); // are not the same object
assertFalse(Objects.equals(mana, copy)); // are not the same object
}
@Test
@ -603,7 +605,7 @@ public class ManaTest {
// then
assertEquals(mana, newMana);
assertFalse(mana == newMana);
assertFalse(Objects.equals(mana, newMana));
}
@Test

View file

@ -4,6 +4,8 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import java.util.Objects;
/**
* Custom unit tests for {@link Counter}
*/
@ -58,7 +60,7 @@ public class CounterTest {
// then
assertEquals(copy, counter);
assertFalse(copy == counter);
assertFalse(Objects.equals(copy, counter));
}
@Test