From ad7d3c80780f94d6f3d2e9be9ad26637e6ac293e Mon Sep 17 00:00:00 2001 From: vraskulin Date: Tue, 28 Feb 2017 11:45:15 +0300 Subject: [PATCH 1/4] equals "" should be replaced with isEmpty --- Mage.Sets/src/mage/cards/c/CoverOfDarkness.java | 2 +- Mage.Sets/src/mage/cards/s/SteelyResolve.java | 2 +- Mage.Sets/src/mage/cards/t/TestamentOfFaith.java | 2 +- Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java | 2 +- .../effects/common/continuous/BecomesCreatureAllEffect.java | 4 ++-- .../common/continuous/BecomesCreatureSourceEffect.java | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/cards/c/CoverOfDarkness.java b/Mage.Sets/src/mage/cards/c/CoverOfDarkness.java index 1d091689203..84f2075a4bc 100644 --- a/Mage.Sets/src/mage/cards/c/CoverOfDarkness.java +++ b/Mage.Sets/src/mage/cards/c/CoverOfDarkness.java @@ -88,7 +88,7 @@ class FilterCoverOfDarkness extends FilterCreaturePermanent { public boolean match(Permanent permanent, UUID sourceId, UUID playerId, Game game) { if (super.match(permanent, sourceId, playerId, game)) { String subtype = (String) game.getState().getValue(sourceId + "_type"); - if (subtype != null && !subtype.equals("") && permanent.hasSubtype(subtype, game)) { + if (subtype != null && !subtype.isEmpty() && permanent.hasSubtype(subtype, game)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/SteelyResolve.java b/Mage.Sets/src/mage/cards/s/SteelyResolve.java index 26f4f0d6221..79b26c49a7e 100644 --- a/Mage.Sets/src/mage/cards/s/SteelyResolve.java +++ b/Mage.Sets/src/mage/cards/s/SteelyResolve.java @@ -86,7 +86,7 @@ class FilterSteelyResolve extends FilterCreaturePermanent { public boolean match(Permanent permanent, UUID sourceId, UUID playerId, Game game) { if (super.match(permanent, sourceId, playerId, game)) { String subtype = (String) game.getState().getValue(sourceId + "_type"); - if (subtype != null && !subtype.equals("") && permanent.hasSubtype(subtype, game)) { + if (subtype != null && !subtype.isEmpty() && permanent.hasSubtype(subtype, game)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java b/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java index 7cc2779d3c0..52a0b6cff3d 100644 --- a/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java +++ b/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java @@ -116,7 +116,7 @@ class TestamentOfFaithBecomesCreatureSourceEffect extends ContinuousEffectImpl i } } } - if ("".equals(type) || type == null) { + if (type != null && type.isEmpty() || type == null) { permanent.getSubtype(game).clear(); } if (!token.getSubtype(game).isEmpty()) { diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index f4140b07035..e28f3c99408 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -210,7 +210,7 @@ public class VerifyCardDataTest { private void checkCost(Card card, JsonCard ref) { String expected = ref.manaCost; String cost = join(card.getManaCost().getSymbols()); - if ("".equals(cost)) { + if (cost != null && cost.isEmpty()) { cost = null; } if (cost != null) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java index c249c52eecb..d7758dc6fef 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureAllEffect.java @@ -135,12 +135,12 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl { @Override public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); - if (!"".equals(duration.toString())) { + if (duration.toString() != null && !duration.toString().isEmpty()) { sb.append(duration.toString()).append(", "); } sb.append("all "); sb.append(filter.getMessage()); - if ("".equals(duration.toString())) { + if (duration.toString() != null && duration.toString().isEmpty()) { sb.append(" are "); } else { sb.append(" become "); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java index de5a79aff98..2464a08497b 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureSourceEffect.java @@ -120,7 +120,7 @@ public class BecomesCreatureSourceEffect extends ContinuousEffectImpl implements } } } - if ("".equals(type) || type == null && permanent.getCardType().contains(CardType.LAND)) { + if (type != null && type.isEmpty() || type == null && permanent.getCardType().contains(CardType.LAND)) { permanent.getSubtype(game).retainAll(CardRepository.instance.getLandTypes()); } if (!token.getSubtype(game).isEmpty()) { From 04973ea5aaf2262db543de182754aecc57c64458 Mon Sep 17 00:00:00 2001 From: vraskulin Date: Tue, 28 Feb 2017 11:46:51 +0300 Subject: [PATCH 2/4] Checking String for emptiness with .lenght() is preferable since 1.6 --- Mage.Client/src/main/java/mage/client/table/TablesPanel.java | 2 +- Mage.Client/src/main/java/mage/client/util/IgnoreList.java | 4 ++-- .../src/main/java/mage/client/util/gui/ArrowBuilder.java | 2 +- .../src/mage/deck/CanadianHighlander.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java index 56dacd4e4c2..59cdb092594 100644 --- a/Mage.Client/src/main/java/mage/client/table/TablesPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TablesPanel.java @@ -636,7 +636,7 @@ public class TablesPanel extends javax.swing.JPanel { List> ignoreListFilterList = new ArrayList<>(); String serverAddress = SessionHandler.getSession().getServerHostname().orElseGet(() -> ""); final Set ignoreListCopy = IgnoreList.ignoreList(serverAddress); - if (ignoreListCopy.size() > 0) { + if (!ignoreListCopy.isEmpty()) { ignoreListFilterList.add(new RowFilter() { @Override public boolean include(Entry entry) { diff --git a/Mage.Client/src/main/java/mage/client/util/IgnoreList.java b/Mage.Client/src/main/java/mage/client/util/IgnoreList.java index 8b0125dfd5b..0fc95791b6f 100644 --- a/Mage.Client/src/main/java/mage/client/util/IgnoreList.java +++ b/Mage.Client/src/main/java/mage/client/util/IgnoreList.java @@ -36,7 +36,7 @@ public final class IgnoreList { } public static String ignore(String serverAddress, String user) { - if (user == null || user.length() == 0) { + if (user == null || user.isEmpty()) { return ignoreListString(serverAddress); } @@ -71,7 +71,7 @@ public final class IgnoreList { } public static String unignore(String serverAddress, String user) { - if (user == null || user.length() == 0) { + if (user == null || user.isEmpty()) { return usage(); } if (MagePreferences.removeIgnoredUser(serverAddress, user)) { diff --git a/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java b/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java index 4a2b66979ed..df4650ea3b0 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java @@ -143,7 +143,7 @@ public class ArrowBuilder { if (map.containsKey(gameId)) { Map> innerMap = map.get(gameId); java.util.List arrows = innerMap.get(type); - if (arrows != null && arrows.size() > 0) { + if (arrows != null && !arrows.isEmpty()) { JPanel p = getArrowsPanel(gameId); synchronized (map) { for (Arrow arrow : arrows) { diff --git a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java index 00ac1782ec6..64372f5636a 100644 --- a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java +++ b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/CanadianHighlander.java @@ -67,7 +67,7 @@ public class CanadianHighlander extends Constructed { valid = false; } - if (deck.getSideboard().size() > 0) { + if (!deck.getSideboard().isEmpty()) { invalid.put("Deck", "Sideboard can't contain any cards: has " + (deck.getSideboard().size()) + " cards"); valid = false; } From 0a3c95dde572e40bd9b120f2636fe93725f4228d Mon Sep 17 00:00:00 2001 From: vraskulin Date: Tue, 28 Feb 2017 12:40:12 +0300 Subject: [PATCH 3/4] Inner classes should be static. It reduces memory usage and gives perfomance boost + DeckImporter rollback --- .../components/ability/AbilityPicker.java | 13 +-- .../components/ext/dlg/impl/StackDialog.java | 2 +- .../generator/RatioAdjustingSliderPanel.java | 6 +- .../collection/viewer/MageBook.java | 25 +++-- .../mage/client/table/PlayersChatPanel.java | 38 ++++---- .../client/util/gui/BufferedImageBuilder.java | 2 +- .../card/arcane/CardPanelComponentImpl.java | 33 +++---- .../mage/card/arcane/CardPanelRenderImpl.java | 23 +++-- .../mage/card/arcane/ModernCardRenderer.java | 25 +++-- .../card/dl/sources/TokensMtgImageSource.java | 2 +- .../mage/client/game/MultiConnectTest.java | 2 +- .../target/maven-archiver/pom.properties | 2 +- .../java/mage/player/ai/ComputerPlayer.java | 92 ++++--------------- .../src/mage/cards/a/ArchdemonOfGreed.java | 5 +- .../src/mage/cards/a/AshlingThePilgrim.java | 5 +- .../src/mage/cards/a/AtarkaMonument.java | 5 +- Mage.Sets/src/mage/cards/a/AuraBarbs.java | 8 +- Mage.Sets/src/mage/cards/a/Aurification.java | 9 +- .../src/mage/cards/a/AwakenTheAncient.java | 5 +- .../src/mage/cards/a/AzoriusKeyrune.java | 8 +- Mage.Sets/src/mage/cards/b/BanefulOmen.java | 13 +-- Mage.Sets/src/mage/cards/b/BlademaneBaku.java | 42 ++++----- .../src/mage/cards/b/BlossomingWreath.java | 5 +- .../src/mage/cards/b/BorosFuryShield.java | 5 +- Mage.Sets/src/mage/cards/b/BorosKeyrune.java | 11 ++- .../src/mage/cards/b/BrinkOfMadness.java | 13 ++- Mage.Sets/src/mage/cards/c/CairnWanderer.java | 27 +----- Mage.Sets/src/mage/cards/c/ChimericEgg.java | 5 +- .../src/mage/cards/c/ClashOfRealities.java | 8 +- .../src/mage/cards/c/CoalhaulerSwine.java | 2 +- .../src/mage/cards/c/ConvalescentCare.java | 5 +- Mage.Sets/src/mage/cards/c/Conversion.java | 20 ++-- Mage.Sets/src/mage/cards/c/CrazedArmodon.java | 5 +- .../src/mage/cards/c/CrosstownCourier.java | 5 +- .../src/mage/cards/d/DanceOfTheSkywise.java | 5 +- Mage.Sets/src/mage/cards/d/DeathWatch.java | 2 +- Mage.Sets/src/mage/cards/d/DebtOfLoyalty.java | 5 +- .../src/mage/cards/d/DefenseOfTheHeart.java | 13 ++- .../src/mage/cards/d/DevastatingSummons.java | 5 +- Mage.Sets/src/mage/cards/d/DimirKeyrune.java | 11 ++- .../src/mage/cards/g/GenjuOfTheCedars.java | 5 +- .../src/mage/cards/g/GenjuOfTheFalls.java | 5 +- .../src/mage/cards/g/GenjuOfTheFens.java | 5 +- .../src/mage/cards/g/GenjuOfTheFields.java | 11 +-- .../src/mage/cards/g/GenjuOfTheRealm.java | 5 +- .../src/mage/cards/g/GenjuOfTheSpires.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinWelder.java | 7 +- .../src/mage/cards/g/GolgariKeyrune.java | 8 +- .../src/mage/cards/g/GreenbeltRampager.java | 2 +- .../src/mage/cards/g/GroveOfTheGuardian.java | 5 +- Mage.Sets/src/mage/cards/g/GruulKeyrune.java | 11 ++- Mage.Sets/src/mage/cards/h/HeedTheMists.java | 8 +- .../src/mage/cards/h/HellionCrucible.java | 4 +- .../src/mage/cards/h/HellionEruption.java | 6 +- Mage.Sets/src/mage/cards/h/HungryFlames.java | 2 +- .../src/mage/cards/i/InnerFlameIgniter.java | 5 +- Mage.Sets/src/mage/cards/i/IzzetKeyrune.java | 13 ++- Mage.Sets/src/mage/cards/j/JadeStatue.java | 5 +- Mage.Sets/src/mage/cards/j/JediEnclave.java | 7 +- Mage.Sets/src/mage/cards/j/JunkyoBell.java | 5 +- .../mage/cards/k/KalitasBloodchiefOfGhet.java | 5 +- Mage.Sets/src/mage/cards/k/KyrenToy.java | 5 +- Mage.Sets/src/mage/cards/l/LightningDart.java | 5 +- Mage.Sets/src/mage/cards/l/LiquidFire.java | 5 +- Mage.Sets/src/mage/cards/l/LivingArmor.java | 5 +- .../src/mage/cards/m/MagneticMountain.java | 5 +- .../src/mage/cards/m/MagusOfTheMoon.java | 13 +-- .../src/mage/cards/m/MinionsMurmurs.java | 5 +- Mage.Sets/src/mage/cards/m/MoltenBirth.java | 5 +- Mage.Sets/src/mage/cards/n/NecroticOoze.java | 22 ++--- Mage.Sets/src/mage/cards/n/NightDealings.java | 15 ++- Mage.Sets/src/mage/cards/n/NoMercy.java | 5 +- .../src/mage/cards/o/OjutaiMonument.java | 5 +- Mage.Sets/src/mage/cards/o/OrbOfDreams.java | 5 +- Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java | 11 ++- Mage.Sets/src/mage/cards/o/Outwit.java | 32 +++---- .../src/mage/cards/p/ParagonOfTheAmesha.java | 12 +-- Mage.Sets/src/mage/cards/p/Pariah.java | 11 ++- Mage.Sets/src/mage/cards/p/PhantomWings.java | 10 +- .../src/mage/cards/p/PhylacteryLich.java | 5 +- .../src/mage/cards/p/PhyrexianTotem.java | 5 +- .../src/mage/cards/p/PlanarCollapse.java | 10 +- Mage.Sets/src/mage/cards/p/PlatinumAngel.java | 13 +-- .../src/mage/cards/p/PrideOfTheClouds.java | 7 +- Mage.Sets/src/mage/cards/p/PrimalClay.java | 5 +- Mage.Sets/src/mage/cards/p/PrimalPlasma.java | 5 +- Mage.Sets/src/mage/cards/p/ProteanHydra.java | 7 +- Mage.Sets/src/mage/cards/q/QuillmaneBaku.java | 5 +- Mage.Sets/src/mage/cards/r/RainbowVale.java | 11 +-- Mage.Sets/src/mage/cards/r/RakdosCharm.java | 5 +- Mage.Sets/src/mage/cards/r/RakdosKeyrune.java | 8 +- Mage.Sets/src/mage/cards/r/RavenFamiliar.java | 11 +-- .../src/mage/cards/r/RelentlessRats.java | 12 +-- Mage.Sets/src/mage/cards/r/RockHydra.java | 5 +- Mage.Sets/src/mage/cards/r/RoninWarclub.java | 5 +- Mage.Sets/src/mage/cards/r/RootGreevil.java | 5 +- Mage.Sets/src/mage/cards/r/RootingKavu.java | 5 +- Mage.Sets/src/mage/cards/r/Rumination.java | 5 +- Mage.Sets/src/mage/cards/s/ScarredPuma.java | 7 +- Mage.Sets/src/mage/cards/s/SecondChance.java | 10 +- .../src/mage/cards/s/SelesnyaKeyrune.java | 8 +- Mage.Sets/src/mage/cards/s/ShapeAnew.java | 11 +-- .../src/mage/cards/s/ShapeshiftersMarrow.java | 11 +-- .../src/mage/cards/s/SiegeModification.java | 2 +- .../src/mage/cards/s/SilumgarMonument.java | 5 +- Mage.Sets/src/mage/cards/s/SimicKeyrune.java | 11 ++- Mage.Sets/src/mage/cards/s/SithLord.java | 5 +- Mage.Sets/src/mage/cards/s/SithRavager.java | 5 +- Mage.Sets/src/mage/cards/s/SithRuins.java | 7 +- Mage.Sets/src/mage/cards/s/SkullRend.java | 10 +- Mage.Sets/src/mage/cards/s/SkullmaneBaku.java | 10 +- .../src/mage/cards/s/SlumberingTora.java | 8 +- .../src/mage/cards/s/SoulbrightFlamekin.java | 5 +- Mage.Sets/src/mage/cards/s/SoulsMajesty.java | 9 +- Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java | 5 +- Mage.Sets/src/mage/cards/s/Subversion.java | 10 +- Mage.Sets/src/mage/cards/t/TerashisGrasp.java | 7 +- Mage.Sets/src/mage/cards/t/ThunderTotem.java | 7 +- .../src/mage/cards/t/TimberpackWolf.java | 6 +- .../src/mage/cards/t/ToilsOfNightAndDay.java | 10 +- Mage.Sets/src/mage/cards/t/TurnBurn.java | 5 +- .../src/mage/cards/u/UncheckedGrowth.java | 12 +-- .../src/mage/cards/u/UnderworldSlums.java | 7 +- .../src/mage/cards/u/UtvaraHellkite.java | 7 +- Mage.Sets/src/mage/cards/v/VolitionReins.java | 5 +- .../src/mage/cards/v/VulshokBattlemaster.java | 5 +- Mage.Sets/src/mage/cards/w/Wirecat.java | 5 +- Mage.Sets/src/mage/cards/y/YixlidJailer.java | 12 +-- .../src/mage/cards/y/YoungPyromancer.java | 5 +- .../mage/cards/z/ZektarShrineExpedition.java | 5 +- .../serverside/deck/DeckValidatorTest.java | 7 +- .../LimitedTimesPerTurnActivatedAbility.java | 5 +- .../mana/ActivateOncePerTurnManaAbility.java | 5 +- .../cards/decks/importer/DeckImporter.java | 12 +-- .../SwissPairingMinimalWeightMatching.java | 2 +- 135 files changed, 582 insertions(+), 642 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java b/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java index fa4e43e60dc..5617acd492a 100644 --- a/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java +++ b/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java @@ -1,10 +1,5 @@ package mage.client.components.ability; -import java.awt.*; -import java.awt.event.*; -import java.util.*; -import java.util.List; -import javax.swing.*; import mage.client.SessionHandler; import mage.client.util.ImageHelper; import mage.client.util.SettingsManager; @@ -19,6 +14,12 @@ import org.jsoup.Jsoup; import org.mage.card.arcane.ManaSymbols; import org.mage.card.arcane.UI; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.util.List; + /** * Dialog for choosing abilities. * @@ -233,7 +234,7 @@ public class AbilityPicker extends JXPanel implements MouseWheelListener { action.actionPerformed(null); } - public class ImageRenderer2 extends JEditorPane implements ListCellRenderer { + public static class ImageRenderer2 extends JEditorPane implements ListCellRenderer { public final Map cache = new HashMap(); diff --git a/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/StackDialog.java b/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/StackDialog.java index a8720e4deae..d7644731e17 100644 --- a/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/StackDialog.java +++ b/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/StackDialog.java @@ -36,7 +36,7 @@ public class StackDialog extends IDialogPanel { private final UUID gameId; - private class CustomLabel extends JLabel { + private static class CustomLabel extends JLabel { @Override public void paintComponent(Graphics g) { diff --git a/Mage.Client/src/main/java/mage/client/deck/generator/RatioAdjustingSliderPanel.java b/Mage.Client/src/main/java/mage/client/deck/generator/RatioAdjustingSliderPanel.java index bd6903eaec3..972911400c7 100644 --- a/Mage.Client/src/main/java/mage/client/deck/generator/RatioAdjustingSliderPanel.java +++ b/Mage.Client/src/main/java/mage/client/deck/generator/RatioAdjustingSliderPanel.java @@ -30,7 +30,7 @@ package mage.client.deck.generator; import javax.swing.*; import java.awt.*; -import java.util.*; +import java.util.ArrayList; import java.util.List; /** @@ -42,7 +42,7 @@ public class RatioAdjustingSliderPanel extends JPanel { private final List textLabels = new ArrayList<>(); private AdjustingSliderGroup sg; - private class JStorageSlider extends JSlider { + private static class JStorageSlider extends JSlider { // Slider stores its initial value to revert to when reset private final int defaultValue; @@ -74,7 +74,7 @@ public class RatioAdjustingSliderPanel extends JPanel { } - private class AdjustingSliderGroup + private static class AdjustingSliderGroup { private final ArrayList storageSliders; private int sliderIndex = 0; diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java b/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java index 1bad0df4a1a..1f4df876f94 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/MageBook.java @@ -27,19 +27,6 @@ */ package mage.client.deckeditor.collection.viewer; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Image; -import java.awt.Rectangle; -import java.awt.image.BufferedImage; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import javax.imageio.ImageIO; -import javax.swing.*; import mage.cards.Card; import mage.cards.CardDimensions; import mage.cards.MageCard; @@ -63,6 +50,16 @@ import org.apache.log4j.Logger; import org.mage.card.arcane.GlowText; import org.mage.card.arcane.ManaSymbols; +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * Mage book with cards and page flipping. * @@ -362,7 +359,7 @@ public class MageBook extends JComponent { public static final int GAP_Y = 45; } - abstract class Configuration { + abstract static class Configuration { public int CARDS_PER_PAGE; public int CARD_ROWS; diff --git a/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java b/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java index c67a88c655f..04801b11e1a 100644 --- a/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/PlayersChatPanel.java @@ -33,28 +33,8 @@ */ package mage.client.table; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.event.MouseEvent; -import java.awt.event.MouseMotionAdapter; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.swing.Icon; -import javax.swing.JLabel; -import javax.swing.JTable; -import javax.swing.border.EmptyBorder; -import javax.swing.table.AbstractTableModel; -import javax.swing.table.JTableHeader; -import javax.swing.table.TableColumn; -import javax.swing.table.TableColumnModel; import mage.client.MageFrame; import mage.client.chat.ChatPanelBasic; -import static mage.client.chat.ChatPanelBasic.CHAT_ALPHA; -import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_ORDER; -import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_WIDTH; import mage.client.util.GUISizeHelper; import mage.client.util.MageTableRowSorter; import mage.client.util.gui.TableUtil; @@ -64,6 +44,22 @@ import mage.view.RoomUsersView; import mage.view.UsersView; import net.java.balloontip.utils.ToolTipUtils; +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import javax.swing.table.AbstractTableModel; +import javax.swing.table.JTableHeader; +import javax.swing.table.TableColumn; +import javax.swing.table.TableColumnModel; +import java.awt.*; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; +import java.util.*; +import java.util.List; + +import static mage.client.chat.ChatPanelBasic.CHAT_ALPHA; +import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_ORDER; +import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_WIDTH; + /** * * @author BetaSteward_at_googlemail.com, nantuko @@ -391,7 +387,7 @@ public class PlayersChatPanel extends javax.swing.JPanel { private javax.swing.JTable jTablePlayers; // End of variables declaration//GEN-END:variables - class ColumnHeaderToolTips extends MouseMotionAdapter { + static class ColumnHeaderToolTips extends MouseMotionAdapter { int curCol; final Map tips = new HashMap<>(); diff --git a/Mage.Client/src/main/java/mage/client/util/gui/BufferedImageBuilder.java b/Mage.Client/src/main/java/mage/client/util/gui/BufferedImageBuilder.java index cf71f462331..97e2c45741c 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/BufferedImageBuilder.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/BufferedImageBuilder.java @@ -72,7 +72,7 @@ public class BufferedImageBuilder { } } - class ImageLoadStatus { + static class ImageLoadStatus { public boolean widthDone = false; public boolean heightDone = false; } diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelComponentImpl.java b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelComponentImpl.java index 781df3cb46f..e7eed38f7fc 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelComponentImpl.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelComponentImpl.java @@ -2,24 +2,6 @@ package org.mage.card.arcane; import com.google.common.base.Function; import com.google.common.collect.MapMaker; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.RenderingHints; -import java.awt.image.BufferedImage; -import java.io.File; -import java.util.Map; -import java.util.StringTokenizer; -import java.util.UUID; -import javax.swing.BorderFactory; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; import mage.cards.action.ActionCallback; import mage.client.dialog.PreferencesDialog; import mage.client.util.ImageCaches; @@ -34,11 +16,20 @@ import mage.view.StackAbilityView; import net.java.truevfs.access.TFile; import org.apache.log4j.Logger; import org.jdesktop.swingx.graphics.GraphicsUtilities; -import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL; import org.mage.plugins.card.dl.sources.DirectLinksForDownload; import org.mage.plugins.card.images.ImageCache; import org.mage.plugins.card.utils.impl.ImageManagerImpl; +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.util.Map; +import java.util.StringTokenizer; +import java.util.UUID; + +import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL; + /** * Class for drawing the mage card object by using a form based JComponent approach * @@ -84,7 +75,7 @@ public class CardPanelComponentImpl extends CardPanel { private final static Map IMAGE_CACHE; - class Key { + static class Key { final int width; final int height; @@ -341,7 +332,7 @@ public class CardPanelComponentImpl extends CardPanel { g2d.drawImage( IMAGE_CACHE.get( - new Key(getWidth(), getHeight(), getCardWidth(), getCardHeight(), getCardXOffset(), getCardYOffset(), + new Key(getWidth(), getHeight(), getCardWidth(), getCardHeight(), getCardXOffset(), getCardYOffset(), hasImage, isSelected(), isChoosable(), gameCard.isPlayable(), gameCard.isCanAttack())), 0, 0, null); g2d.dispose(); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelRenderImpl.java b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelRenderImpl.java index 5d7a5362eb3..d5a3f7b74d5 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelRenderImpl.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanelRenderImpl.java @@ -1,14 +1,6 @@ package org.mage.card.arcane; import com.google.common.collect.MapMaker; -import java.awt.Dimension; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.RenderingHints; -import java.awt.image.BufferedImage; -import java.io.File; -import java.util.Map; -import java.util.UUID; import mage.cards.action.ActionCallback; import mage.constants.CardType; import mage.view.CardView; @@ -18,10 +10,17 @@ import mage.view.StackAbilityView; import net.java.truevfs.access.TFile; import org.apache.log4j.Logger; import org.jdesktop.swingx.graphics.GraphicsUtilities; -import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL; import org.mage.plugins.card.dl.sources.DirectLinksForDownload; import org.mage.plugins.card.images.ImageCache; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.util.Map; +import java.util.UUID; + +import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL; + public class CardPanelRenderImpl extends CardPanel { private static final Logger LOGGER = Logger.getLogger(CardPanelRenderImpl.class); @@ -114,7 +113,7 @@ public class CardPanelRenderImpl extends CardPanel { return true; } - class ImageKey { + static class ImageKey { final BufferedImage artImage; final int width; @@ -258,8 +257,8 @@ public class CardPanelRenderImpl extends CardPanel { // Try to get card image from cache based on our card characteristics ImageKey key = new ImageKey(gameCard, artImage, - getCardWidth(), getCardHeight(), - isChoosable(), isSelected()); + getCardWidth(), getCardHeight(), + isChoosable(), isSelected()); cardImage = IMAGE_CACHE.computeIfAbsent(key, k -> renderCard()); // No cached copy exists? Render one and cache it diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java index 367984774b3..bc6e75ee8ce 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java @@ -5,12 +5,17 @@ */ package org.mage.card.arcane; +import mage.ObjectColor; +import mage.cards.FrameStyle; +import mage.client.dialog.PreferencesDialog; +import mage.constants.CardType; +import mage.view.CardView; +import mage.view.PermanentView; +import org.apache.log4j.Logger; + +import javax.swing.*; import java.awt.*; -import java.awt.font.FontRenderContext; -import java.awt.font.LineBreakMeasurer; -import java.awt.font.TextAttribute; -import java.awt.font.TextLayout; -import java.awt.font.TextMeasurer; +import java.awt.font.*; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.RasterFormatException; @@ -22,14 +27,6 @@ import java.text.CharacterIterator; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import javax.swing.ImageIcon; -import mage.ObjectColor; -import mage.cards.FrameStyle; -import mage.client.dialog.PreferencesDialog; -import mage.constants.CardType; -import mage.view.CardView; -import mage.view.PermanentView; -import org.apache.log4j.Logger; /* @@ -721,7 +718,7 @@ public class ModernCardRenderer extends CardRenderer { // Draw the card's textbox in a given rect protected boolean loyaltyAbilityColorToggle = false; - private class RuleLayout { + private static class RuleLayout { public List attributedRules; public int remainingHeight; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java index 38376e1888a..97e8544e247 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/TokensMtgImageSource.java @@ -265,7 +265,7 @@ public class TokensMtgImageSource implements CardImageSource { return newTokensData; } - final class TokenData { + static final class TokenData { final private String name; final private String number; diff --git a/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java b/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java index ca9ce44059b..9db5d602eff 100644 --- a/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java +++ b/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java @@ -37,7 +37,7 @@ public class MultiConnectTest { private final Object sync = new Object(); private MageUI ui; - private class ClientMock implements MageClient { + private static class ClientMock implements MageClient { private Session session; private final String username; diff --git a/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target/maven-archiver/pom.properties b/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target/maven-archiver/pom.properties index 93d5e67cb66..0e72abf8dc2 100644 --- a/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target/maven-archiver/pom.properties +++ b/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Wed Feb 15 19:18:14 MSK 2017 +#Tue Feb 28 12:32:48 MSK 2017 version=1.4.21 groupId=org.mage artifactId=mage-game-canadianhighlanderduel diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index 4d285b8e277..b270e765c0e 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -27,49 +27,15 @@ */ package mage.player.ai; -import java.io.IOException; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeMap; -import java.util.UUID; import mage.MageObject; import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.ActivatedAbility; -import mage.abilities.Mode; -import mage.abilities.Modes; -import mage.abilities.SpellAbility; -import mage.abilities.TriggeredAbility; +import mage.abilities.*; import mage.abilities.costs.VariableCost; -import mage.abilities.costs.mana.ColoredManaCost; -import mage.abilities.costs.mana.ColorlessManaCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.costs.mana.HybridManaCost; -import mage.abilities.costs.mana.ManaCost; -import mage.abilities.costs.mana.ManaCosts; -import mage.abilities.costs.mana.MonoHybridManaCost; -import mage.abilities.costs.mana.PhyrexianManaCost; +import mage.abilities.costs.mana.*; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; -import mage.abilities.keyword.DoubleStrikeAbility; -import mage.abilities.keyword.EquipAbility; -import mage.abilities.keyword.FirstStrikeAbility; -import mage.abilities.keyword.FlashAbility; -import mage.abilities.keyword.TrampleAbility; +import mage.abilities.keyword.*; import mage.abilities.mana.ActivatedManaAbilityImpl; import mage.abilities.mana.ManaOptions; import mage.cards.Card; @@ -81,21 +47,9 @@ import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; import mage.choices.Choice; import mage.choices.ChoiceColor; -import mage.constants.AsThoughEffectType; -import mage.constants.CardType; -import mage.constants.ColoredManaSymbol; -import mage.constants.Outcome; -import mage.constants.RangeOfInfluence; -import mage.constants.Rarity; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.FilterPermanent; -import mage.filter.common.FilterCreatureForCombatBlock; -import mage.filter.common.FilterCreatureOrPlayer; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.common.FilterLandCard; -import mage.filter.common.FilterNonlandCard; -import mage.filter.common.FilterPermanentOrPlayer; -import mage.filter.common.FilterPlaneswalkerPermanent; +import mage.filter.common.*; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; import mage.game.combat.CombatGroup; @@ -115,31 +69,19 @@ import mage.players.Player; import mage.players.PlayerImpl; import mage.players.net.UserData; import mage.players.net.UserGroup; -import mage.target.Target; -import mage.target.TargetAmount; -import mage.target.TargetCard; -import mage.target.TargetPermanent; -import mage.target.TargetPlayer; -import mage.target.TargetSource; -import mage.target.TargetSpell; -import mage.target.common.TargetCardInASingleGraveyard; -import mage.target.common.TargetCardInExile; -import mage.target.common.TargetCardInGraveyard; -import mage.target.common.TargetCardInHand; -import mage.target.common.TargetCardInLibrary; -import mage.target.common.TargetCardInOpponentsGraveyard; -import mage.target.common.TargetCardInYourGraveyard; -import mage.target.common.TargetControlledPermanent; -import mage.target.common.TargetCreatureOrPlayer; -import mage.target.common.TargetCreatureOrPlayerAmount; -import mage.target.common.TargetDefender; -import mage.target.common.TargetDiscard; -import mage.target.common.TargetOpponent; -import mage.target.common.TargetPermanentOrPlayer; -import mage.target.common.TargetSpellOrPermanent; -import mage.util.*; +import mage.target.*; +import mage.target.common.*; +import mage.util.Copier; +import mage.util.RandomUtil; +import mage.util.TournamentUtil; +import mage.util.TreeNode; import org.apache.log4j.Logger; +import java.io.IOException; +import java.io.Serializable; +import java.util.*; +import java.util.Map.Entry; + /** * * suitable for two player games and some multiplayer games @@ -1941,7 +1883,7 @@ public class ComputerPlayer extends PlayerImpl implements Player { return null; } - private class PickedCard { + private static class PickedCard { public Card card; public Integer score; diff --git a/Mage.Sets/src/mage/cards/a/ArchdemonOfGreed.java b/Mage.Sets/src/mage/cards/a/ArchdemonOfGreed.java index 62eeb7850c7..7d49377f729 100644 --- a/Mage.Sets/src/mage/cards/a/ArchdemonOfGreed.java +++ b/Mage.Sets/src/mage/cards/a/ArchdemonOfGreed.java @@ -27,7 +27,6 @@ */ package mage.cards.a; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.OnEventTriggeredAbility; @@ -48,6 +47,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetControlledPermanent; +import java.util.UUID; + /** * * @author anonymous @@ -87,7 +88,7 @@ public class ArchdemonOfGreed extends CardImpl { return new ArchdemonOfGreed(this); } - class ArchdemonOfGreedEffect extends OneShotEffect { + static class ArchdemonOfGreedEffect extends OneShotEffect { public ArchdemonOfGreedEffect() { super(Outcome.Damage); diff --git a/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java b/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java index 2249902ff9f..1d19449d107 100644 --- a/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java +++ b/Mage.Sets/src/mage/cards/a/AshlingThePilgrim.java @@ -27,7 +27,6 @@ */ package mage.cards.a; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -46,6 +45,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author LevelX2 @@ -79,7 +80,7 @@ public class AshlingThePilgrim extends CardImpl { class AshlingThePilgrimEffect extends OneShotEffect { - class ActivationInfo { + static class ActivationInfo { public int zoneChangeCounter; public int turn; public int activations; diff --git a/Mage.Sets/src/mage/cards/a/AtarkaMonument.java b/Mage.Sets/src/mage/cards/a/AtarkaMonument.java index 2a52665939c..e4716224fae 100644 --- a/Mage.Sets/src/mage/cards/a/AtarkaMonument.java +++ b/Mage.Sets/src/mage/cards/a/AtarkaMonument.java @@ -27,7 +27,6 @@ */ package mage.cards.a; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,6 +41,8 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author fireshoes @@ -69,7 +70,7 @@ public class AtarkaMonument extends CardImpl { return new AtarkaMonument(this); } - private class AtarkaMonumentToken extends Token { + private static class AtarkaMonumentToken extends Token { AtarkaMonumentToken() { super("", "4/4 red and green Dragon artifact creature with flying"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/a/AuraBarbs.java b/Mage.Sets/src/mage/cards/a/AuraBarbs.java index 1fee4ed963d..926627ccdda 100644 --- a/Mage.Sets/src/mage/cards/a/AuraBarbs.java +++ b/Mage.Sets/src/mage/cards/a/AuraBarbs.java @@ -27,13 +27,11 @@ */ package mage.cards.a; -import java.util.UUID; - -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -42,6 +40,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author LevelX2 @@ -66,7 +66,7 @@ public class AuraBarbs extends CardImpl { return new AuraBarbs(this); } - private class AuraBarbsEffect extends OneShotEffect { + private static class AuraBarbsEffect extends OneShotEffect { public AuraBarbsEffect() { super(Outcome.Detriment); diff --git a/Mage.Sets/src/mage/cards/a/Aurification.java b/Mage.Sets/src/mage/cards/a/Aurification.java index 5bd02eb70b8..e5f4ad33cea 100644 --- a/Mage.Sets/src/mage/cards/a/Aurification.java +++ b/Mage.Sets/src/mage/cards/a/Aurification.java @@ -39,7 +39,10 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.*; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.CounterPredicate; @@ -95,7 +98,7 @@ public class Aurification extends CardImpl { return new Aurification(this); } - public class AddGoldCountersAbility extends TriggeredAbilityImpl { + public static class AddGoldCountersAbility extends TriggeredAbilityImpl { public AddGoldCountersAbility() { super(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.GOLD.createInstance())); @@ -136,7 +139,7 @@ public class Aurification extends CardImpl { } - public class RemoveAllGoldCountersEffect extends OneShotEffect { + public static class RemoveAllGoldCountersEffect extends OneShotEffect { public RemoveAllGoldCountersEffect() { super(Outcome.Neutral); this.staticText = "remove all gold counters from all creatures"; diff --git a/Mage.Sets/src/mage/cards/a/AwakenTheAncient.java b/Mage.Sets/src/mage/cards/a/AwakenTheAncient.java index 220cce36e69..2157bd326e6 100644 --- a/Mage.Sets/src/mage/cards/a/AwakenTheAncient.java +++ b/Mage.Sets/src/mage/cards/a/AwakenTheAncient.java @@ -27,7 +27,6 @@ */ package mage.cards.a; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -46,6 +45,8 @@ import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -81,7 +82,7 @@ public class AwakenTheAncient extends CardImpl { return new AwakenTheAncient(this); } - private class GiantToken extends Token { + private static class GiantToken extends Token { GiantToken() { super("Giant", "7/7 red Giant creature with haste"); diff --git a/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java b/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java index 9ed8701d5f5..7617d1ef68b 100644 --- a/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java +++ b/Mage.Sets/src/mage/cards/a/AzoriusKeyrune.java @@ -27,9 +27,6 @@ */ package mage.cards.a; -import java.util.UUID; - -import mage.constants.CardType; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -39,10 +36,13 @@ import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * @author LevelX2 */ @@ -68,7 +68,7 @@ public class AzoriusKeyrune extends CardImpl { return new AzoriusKeyrune(this); } - private class AzoriusKeyruneToken extends Token { + private static class AzoriusKeyruneToken extends Token { AzoriusKeyruneToken() { super("", "2/2 white and blue Bird artifact creature with flying"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/b/BanefulOmen.java b/Mage.Sets/src/mage/cards/b/BanefulOmen.java index 41981e0f9ad..f2bc1b33ea8 100644 --- a/Mage.Sets/src/mage/cards/b/BanefulOmen.java +++ b/Mage.Sets/src/mage/cards/b/BanefulOmen.java @@ -27,16 +27,10 @@ */ package mage.cards.b; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -45,6 +39,9 @@ import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.players.Player; +import java.util.Set; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -99,7 +96,7 @@ public class BanefulOmen extends CardImpl { } } - class BanefulOmenEffect extends OneShotEffect { + static class BanefulOmenEffect extends OneShotEffect { public BanefulOmenEffect() { super(Outcome.Benefit); diff --git a/Mage.Sets/src/mage/cards/b/BlademaneBaku.java b/Mage.Sets/src/mage/cards/b/BlademaneBaku.java index a73db0e3321..a8109dd5adc 100644 --- a/Mage.Sets/src/mage/cards/b/BlademaneBaku.java +++ b/Mage.Sets/src/mage/cards/b/BlademaneBaku.java @@ -28,27 +28,27 @@ package mage.cards.b; -import java.util.UUID; + import mage.MageInt; + import mage.abilities.Ability; + import mage.abilities.common.SimpleActivatedAbility; + import mage.abilities.common.SpellCastControllerTriggeredAbility; + import mage.abilities.costs.Cost; + import mage.abilities.costs.common.RemoveVariableCountersSourceCost; + import mage.abilities.costs.mana.GenericManaCost; + import mage.abilities.effects.OneShotEffect; + import mage.abilities.effects.common.continuous.BoostSourceEffect; + import mage.abilities.effects.common.counter.AddCountersSourceEffect; + import mage.cards.CardImpl; + import mage.cards.CardSetInfo; + import mage.constants.CardType; + import mage.constants.Duration; + import mage.constants.Outcome; + import mage.constants.Zone; + import mage.counters.CounterType; + import mage.filter.common.FilterSpiritOrArcaneCard; + import mage.game.Game; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.RemoveVariableCountersSourceCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.counters.CounterType; -import mage.filter.common.FilterSpiritOrArcaneCard; -import mage.game.Game; + import java.util.UUID; /** * @author LevelX2 @@ -82,7 +82,7 @@ public class BlademaneBaku extends CardImpl { return new BlademaneBaku(this); } - class BlademaneBakuBoostEffect extends OneShotEffect { + static class BlademaneBakuBoostEffect extends OneShotEffect { public BlademaneBakuBoostEffect() { super(Outcome.UnboostCreature); diff --git a/Mage.Sets/src/mage/cards/b/BlossomingWreath.java b/Mage.Sets/src/mage/cards/b/BlossomingWreath.java index 543885cc72d..9b0e8893172 100644 --- a/Mage.Sets/src/mage/cards/b/BlossomingWreath.java +++ b/Mage.Sets/src/mage/cards/b/BlossomingWreath.java @@ -27,7 +27,6 @@ */ package mage.cards.b; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -38,6 +37,8 @@ import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * @author Derpthemeus @@ -60,7 +61,7 @@ public class BlossomingWreath extends CardImpl { return new BlossomingWreath(this); } - class BlossomingWreathEffect extends OneShotEffect { + static class BlossomingWreathEffect extends OneShotEffect { public BlossomingWreathEffect() { super(Outcome.GainLife); diff --git a/Mage.Sets/src/mage/cards/b/BorosFuryShield.java b/Mage.Sets/src/mage/cards/b/BorosFuryShield.java index fcd96342cf7..87ce29756a7 100644 --- a/Mage.Sets/src/mage/cards/b/BorosFuryShield.java +++ b/Mage.Sets/src/mage/cards/b/BorosFuryShield.java @@ -27,7 +27,6 @@ */ package mage.cards.b; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.condition.common.ManaWasSpentCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -46,6 +45,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author Dilnu @@ -75,7 +76,7 @@ public class BorosFuryShield extends CardImpl { return new BorosFuryShield(this); } - class BorosFuryShieldDamageEffect extends OneShotEffect { + static class BorosFuryShieldDamageEffect extends OneShotEffect { BorosFuryShieldDamageEffect() { super(Outcome.Damage); staticText = "{this} deals damage to that creature's controller equal to the creature's power"; diff --git a/Mage.Sets/src/mage/cards/b/BorosKeyrune.java b/Mage.Sets/src/mage/cards/b/BorosKeyrune.java index 6716e9ce7a2..7798e8149e1 100644 --- a/Mage.Sets/src/mage/cards/b/BorosKeyrune.java +++ b/Mage.Sets/src/mage/cards/b/BorosKeyrune.java @@ -27,10 +27,6 @@ */ package mage.cards.b; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -40,8 +36,13 @@ import mage.abilities.mana.RedManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author LevelX2 @@ -68,7 +69,7 @@ public class BorosKeyrune extends CardImpl { return new BorosKeyrune(this); } - private class BorosKeyruneToken extends Token { + private static class BorosKeyruneToken extends Token { BorosKeyruneToken() { super("Soldier", "1/1 red and white Soldier artifact creature with double strike"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java b/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java index 8b7a698d36d..cbb5523499b 100644 --- a/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java +++ b/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java @@ -27,10 +27,6 @@ */ package mage.cards.b; -import java.util.Set; -import java.util.UUID; - -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -41,10 +37,17 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetOpponent; +import java.util.Set; +import java.util.UUID; + /** * * @author Plopman @@ -73,7 +76,7 @@ public class BrinkOfMadness extends CardImpl { return new BrinkOfMadness(this); } - class BrinkOfMadnessEffect extends OneShotEffect { + static class BrinkOfMadnessEffect extends OneShotEffect { public BrinkOfMadnessEffect() { super(Outcome.Benefit); diff --git a/Mage.Sets/src/mage/cards/c/CairnWanderer.java b/Mage.Sets/src/mage/cards/c/CairnWanderer.java index 720866bacd2..7675bc9cb25 100644 --- a/Mage.Sets/src/mage/cards/c/CairnWanderer.java +++ b/Mage.Sets/src/mage/cards/c/CairnWanderer.java @@ -27,39 +27,22 @@ */ package mage.cards.c; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.MageSingleton; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; -import mage.abilities.keyword.ChangelingAbility; -import mage.abilities.keyword.DeathtouchAbility; -import mage.abilities.keyword.DoubleStrikeAbility; -import mage.abilities.keyword.FearAbility; -import mage.abilities.keyword.FirstStrikeAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.LandwalkAbility; -import mage.abilities.keyword.LifelinkAbility; -import mage.abilities.keyword.ProtectionAbility; -import mage.abilities.keyword.ReachAbility; -import mage.abilities.keyword.ShroudAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.abilities.keyword.VigilanceAbility; +import mage.abilities.keyword.*; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author psykad @@ -89,7 +72,7 @@ public class CairnWanderer extends CardImpl { return new CairnWanderer(this); } - class CairnWandererEffect extends ContinuousEffectImpl { + static class CairnWandererEffect extends ContinuousEffectImpl { public CairnWandererEffect() { super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); diff --git a/Mage.Sets/src/mage/cards/c/ChimericEgg.java b/Mage.Sets/src/mage/cards/c/ChimericEgg.java index 579e458cf5f..54f4046493f 100644 --- a/Mage.Sets/src/mage/cards/c/ChimericEgg.java +++ b/Mage.Sets/src/mage/cards/c/ChimericEgg.java @@ -27,7 +27,6 @@ */ package mage.cards.c; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastOpponentTriggeredAbility; @@ -47,6 +46,8 @@ import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.game.permanent.token.Token; +import java.util.UUID; + /** @@ -81,7 +82,7 @@ public class ChimericEgg extends CardImpl { return new ChimericEgg(this); } - private class ChimericEggToken extends Token { + private static class ChimericEggToken extends Token { ChimericEggToken() { super("", "6/6 Construct artifact creature with trample"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/c/ClashOfRealities.java b/Mage.Sets/src/mage/cards/c/ClashOfRealities.java index 3451d019591..f8d9af36aca 100644 --- a/Mage.Sets/src/mage/cards/c/ClashOfRealities.java +++ b/Mage.Sets/src/mage/cards/c/ClashOfRealities.java @@ -27,9 +27,6 @@ */ package mage.cards.c; -import java.util.UUID; - -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.ZoneChangeTriggeredAbility; @@ -38,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -45,6 +43,8 @@ import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -83,7 +83,7 @@ public class ClashOfRealities extends CardImpl { return new ClashOfRealities(this); } - private class ClashOfRealitiesTriggeredAbility extends ZoneChangeTriggeredAbility { + private static class ClashOfRealitiesTriggeredAbility extends ZoneChangeTriggeredAbility { public ClashOfRealitiesTriggeredAbility(Effect effect, String rule) { super(Zone.BATTLEFIELD, effect, rule, true); diff --git a/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java b/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java index 77cac8a8db3..1eb57c1ae53 100644 --- a/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java +++ b/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java @@ -68,7 +68,7 @@ public class CoalhaulerSwine extends CardImpl { return new CoalhaulerSwine(this); } - class CoalhaulerSwineEffect extends OneShotEffect { + static class CoalhaulerSwineEffect extends OneShotEffect { public CoalhaulerSwineEffect() { super(Outcome.Damage); diff --git a/Mage.Sets/src/mage/cards/c/ConvalescentCare.java b/Mage.Sets/src/mage/cards/c/ConvalescentCare.java index db847155bee..cd478adc8db 100644 --- a/Mage.Sets/src/mage/cards/c/ConvalescentCare.java +++ b/Mage.Sets/src/mage/cards/c/ConvalescentCare.java @@ -27,7 +27,6 @@ */ package mage.cards.c; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -42,6 +41,8 @@ import mage.constants.CardType; import mage.constants.TargetController; import mage.game.Game; +import java.util.UUID; + /** * * @author fireshoes @@ -67,7 +68,7 @@ public class ConvalescentCare extends CardImpl { return new ConvalescentCare(this); } - class FiveOrLessLifeCondition implements Condition { + static class FiveOrLessLifeCondition implements Condition { @Override public boolean apply(Game game, Ability source) { diff --git a/Mage.Sets/src/mage/cards/c/Conversion.java b/Mage.Sets/src/mage/cards/c/Conversion.java index 0e573f29b02..34b8a20880a 100644 --- a/Mage.Sets/src/mage/cards/c/Conversion.java +++ b/Mage.Sets/src/mage/cards/c/Conversion.java @@ -27,10 +27,6 @@ */ package mage.cards.c; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -41,18 +37,16 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.DependencyType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterLandPermanent; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -81,7 +75,7 @@ public class Conversion extends CardImpl { return new Conversion(this); } - class ConversionEffect extends ContinuousEffectImpl { + static class ConversionEffect extends ContinuousEffectImpl { ConversionEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); diff --git a/Mage.Sets/src/mage/cards/c/CrazedArmodon.java b/Mage.Sets/src/mage/cards/c/CrazedArmodon.java index dcfd16396aa..6a22f536b0a 100644 --- a/Mage.Sets/src/mage/cards/c/CrazedArmodon.java +++ b/Mage.Sets/src/mage/cards/c/CrazedArmodon.java @@ -27,7 +27,6 @@ */ package mage.cards.c; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; @@ -48,6 +47,8 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; +import java.util.UUID; + /** * * @author fireshoes @@ -80,7 +81,7 @@ public class CrazedArmodon extends CardImpl { return new CrazedArmodon(this); } - class CrazedArmodonDelayedTriggeredAbility extends DelayedTriggeredAbility { + static class CrazedArmodonDelayedTriggeredAbility extends DelayedTriggeredAbility { public CrazedArmodonDelayedTriggeredAbility() { super(new DestroySourceEffect()); diff --git a/Mage.Sets/src/mage/cards/c/CrosstownCourier.java b/Mage.Sets/src/mage/cards/c/CrosstownCourier.java index 62504c2359e..aec8f08ad81 100644 --- a/Mage.Sets/src/mage/cards/c/CrosstownCourier.java +++ b/Mage.Sets/src/mage/cards/c/CrosstownCourier.java @@ -27,7 +27,6 @@ */ package mage.cards.c; -import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.dynamicvalue.common.StaticValue; @@ -43,6 +42,8 @@ import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** * * @author LevelX2 @@ -69,7 +70,7 @@ public class CrosstownCourier extends CardImpl { return new CrosstownCourier(this); } - class CrosstownCourierTriggeredAbility extends TriggeredAbilityImpl { + static class CrosstownCourierTriggeredAbility extends TriggeredAbilityImpl { public CrosstownCourierTriggeredAbility() { super(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(0), false); diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java b/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java index a2d0774e2a1..0b621f9e82e 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java @@ -27,7 +27,6 @@ */ package mage.cards.d; -import java.util.UUID; import mage.MageInt; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; @@ -39,6 +38,8 @@ import mage.constants.Duration; import mage.game.permanent.token.Token; import mage.target.common.TargetControlledCreaturePermanent; +import java.util.UUID; + /** * * @author fireshoes @@ -64,7 +65,7 @@ public class DanceOfTheSkywise extends CardImpl { return new DanceOfTheSkywise(this); } - private class DragonIllusionToken extends Token { + private static class DragonIllusionToken extends Token { public DragonIllusionToken() { super("Dragon", "blue Dragon Illusion with base power and toughness 4/4 and with flying"); diff --git a/Mage.Sets/src/mage/cards/d/DeathWatch.java b/Mage.Sets/src/mage/cards/d/DeathWatch.java index dccd3c92eca..b4fb087f21c 100644 --- a/Mage.Sets/src/mage/cards/d/DeathWatch.java +++ b/Mage.Sets/src/mage/cards/d/DeathWatch.java @@ -75,7 +75,7 @@ public class DeathWatch extends CardImpl { return new DeathWatch(this); } - class DeathWatchEffect extends OneShotEffect { + static class DeathWatchEffect extends OneShotEffect { public DeathWatchEffect() { super(Outcome.LoseLife); diff --git a/Mage.Sets/src/mage/cards/d/DebtOfLoyalty.java b/Mage.Sets/src/mage/cards/d/DebtOfLoyalty.java index ccc551b59fc..84582e129bf 100644 --- a/Mage.Sets/src/mage/cards/d/DebtOfLoyalty.java +++ b/Mage.Sets/src/mage/cards/d/DebtOfLoyalty.java @@ -27,7 +27,6 @@ */ package mage.cards.d; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.common.RegenerateTargetEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; @@ -39,6 +38,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author Dilnu @@ -62,7 +63,7 @@ public class DebtOfLoyalty extends CardImpl { return new DebtOfLoyalty(this); } - class DebtOfLoyaltyEffect extends RegenerateTargetEffect { + static class DebtOfLoyaltyEffect extends RegenerateTargetEffect { public DebtOfLoyaltyEffect ( ) { super(); this.staticText = "Regenerate target creature. You gain control of that creature if it regenerates this way."; diff --git a/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java b/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java index 06ab8b055a3..ef3a136e413 100644 --- a/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java +++ b/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java @@ -27,10 +27,6 @@ */ package mage.cards.d; -import java.util.Set; -import java.util.UUID; - -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -40,11 +36,18 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.target.common.TargetCardInLibrary; +import java.util.Set; +import java.util.UUID; + /** * * @author Plopman @@ -72,7 +75,7 @@ public class DefenseOfTheHeart extends CardImpl { return new DefenseOfTheHeart(this); } - class DefenseOfTheHeartCondition implements Condition { + static class DefenseOfTheHeartCondition implements Condition { @Override public boolean apply(Game game, Ability source) { diff --git a/Mage.Sets/src/mage/cards/d/DevastatingSummons.java b/Mage.Sets/src/mage/cards/d/DevastatingSummons.java index 8ebba44850b..56f74298bf5 100644 --- a/Mage.Sets/src/mage/cards/d/DevastatingSummons.java +++ b/Mage.Sets/src/mage/cards/d/DevastatingSummons.java @@ -27,7 +27,6 @@ */ package mage.cards.d; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.costs.common.SacrificeXTargetCost; import mage.abilities.dynamicvalue.common.GetXValue; @@ -40,6 +39,8 @@ import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -95,7 +96,7 @@ class DevastatingSummonsEffect extends OneShotEffect { return new DevastatingSummonsEffect(this); } - class ElementalToken extends Token { + static class ElementalToken extends Token { public ElementalToken() { super("Elemental", "X/X red Elemental creature"); diff --git a/Mage.Sets/src/mage/cards/d/DimirKeyrune.java b/Mage.Sets/src/mage/cards/d/DimirKeyrune.java index 0d9bad39269..10ccbec501c 100644 --- a/Mage.Sets/src/mage/cards/d/DimirKeyrune.java +++ b/Mage.Sets/src/mage/cards/d/DimirKeyrune.java @@ -27,10 +27,6 @@ */ package mage.cards.d; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -40,8 +36,13 @@ import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author LevelX2 @@ -68,7 +69,7 @@ public class DimirKeyrune extends CardImpl { return new DimirKeyrune(this); } - private class DimirKeyruneToken extends Token { + private static class DimirKeyruneToken extends Token { DimirKeyruneToken() { super("Horror", "2/2 blue and black Horror until end of turn and can't be blocked this turn"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java index 1d78a9b295e..25c7df89907 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesAttachedTriggeredAbility; @@ -49,6 +48,8 @@ import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -88,7 +89,7 @@ public class GenjuOfTheCedars extends CardImpl { return new GenjuOfTheCedars(this); } - private class SpiritToken extends Token { + private static class SpiritToken extends Token { SpiritToken() { super("", "4/4 green Spirit creature"); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java index f9e9c3be3fb..d6324eead40 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesAttachedTriggeredAbility; @@ -49,6 +48,8 @@ import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -86,7 +87,7 @@ public class GenjuOfTheFalls extends CardImpl { return new GenjuOfTheFalls(this); } - private class SpiritToken extends Token { + private static class SpiritToken extends Token { SpiritToken() { super("Spirit", "3/2 blue Spirit creature with flying"); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java index af0f62f98f2..ada5a34a2dd 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesAttachedTriggeredAbility; @@ -50,6 +49,8 @@ import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -87,7 +88,7 @@ public class GenjuOfTheFens extends CardImpl { return new GenjuOfTheFens(this); } - private class SpiritToken extends Token { + private static class SpiritToken extends Token { SpiritToken() { super("Spirit", "2/2 black Spirit creature with \"{B}: This creature gets +1/+1 until end of turn.\""); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java index 086b5bdee55..e6e9a147b5d 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DealsDamageGainLifeSourceTriggeredAbility; @@ -42,16 +41,14 @@ import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterLandPermanent; import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -94,7 +91,7 @@ public class GenjuOfTheFields extends CardImpl { return new GenjuOfTheFields(this); } - private class SpiritToken extends Token { + private static class SpiritToken extends Token { SpiritToken() { super("Spirit", "2/5 white Spirit creature"); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java index b0a6bf893cb..3c0ca8b547b 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesAttachedTriggeredAbility; @@ -48,6 +47,8 @@ import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -84,7 +85,7 @@ public class GenjuOfTheRealm extends CardImpl { return new GenjuOfTheRealm(this); } - private class SpiritToken extends Token { + private static class SpiritToken extends Token { SpiritToken() { super("Spirit", "legendary 8/12 Spirit creature with trample"); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java index a515f077120..22ecddcda5b 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesAttachedTriggeredAbility; @@ -48,6 +47,8 @@ import mage.game.permanent.token.Token; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -85,7 +86,7 @@ public class GenjuOfTheSpires extends CardImpl { return new GenjuOfTheSpires(this); } - private class SpiritToken extends Token { + private static class SpiritToken extends Token { SpiritToken() { super("Spirit", "6/1 red Spirit creature"); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWelder.java b/Mage.Sets/src/mage/cards/g/GoblinWelder.java index 62c687af273..f8b67411b63 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWelder.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWelder.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -47,6 +46,8 @@ import mage.players.Player; import mage.target.common.TargetArtifactPermanent; import mage.target.common.TargetCardInGraveyard; +import java.util.UUID; + /** * * @author Plopman @@ -77,7 +78,7 @@ public class GoblinWelder extends CardImpl { return new GoblinWelder(this); } - public class GoblinWelderEffect extends OneShotEffect { + public static class GoblinWelderEffect extends OneShotEffect { public GoblinWelderEffect() { super(Outcome.PutCardInPlay); @@ -118,7 +119,7 @@ public class GoblinWelder extends CardImpl { } - class GoblinWelderTarget extends TargetCardInGraveyard { + static class GoblinWelderTarget extends TargetCardInGraveyard { public GoblinWelderTarget() { super(1, 1, new FilterArtifactCard()); diff --git a/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java b/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java index a3703d6df30..3e961faab6c 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java +++ b/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java @@ -27,9 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; - -import mage.constants.CardType; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -39,10 +36,13 @@ import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * @author LevelX2 */ @@ -68,7 +68,7 @@ public class GolgariKeyrune extends CardImpl { return new GolgariKeyrune(this); } - private class GolgariKeyruneToken extends Token { + private static class GolgariKeyruneToken extends Token { GolgariKeyruneToken() { super("", "2/2 black and green Insect artifact creature with deathtouch"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java b/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java index 4c1ba8468b4..fd4c1acd1e7 100644 --- a/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java +++ b/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java @@ -69,7 +69,7 @@ public class GreenbeltRampager extends CardImpl { return new GreenbeltRampager(this); } - private class GreenbeltRampagerEffect extends OneShotEffect { + private static class GreenbeltRampagerEffect extends OneShotEffect { GreenbeltRampagerEffect() { super(Outcome.Neutral); diff --git a/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java b/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java index d05ff310c37..3d4961a50b7 100644 --- a/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java +++ b/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java @@ -27,7 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; @@ -49,6 +48,8 @@ import mage.filter.predicate.permanent.TappedPredicate; import mage.game.permanent.token.Token; import mage.target.common.TargetControlledCreaturePermanent; +import java.util.UUID; + /** * @author LevelX2 */ @@ -83,7 +84,7 @@ public class GroveOfTheGuardian extends CardImpl { return new GroveOfTheGuardian(this); } - private class ElementalToken extends Token { + private static class ElementalToken extends Token { ElementalToken() { super("Elemental", "8/8 green and white Elemental creature token with vigilance"); diff --git a/Mage.Sets/src/mage/cards/g/GruulKeyrune.java b/Mage.Sets/src/mage/cards/g/GruulKeyrune.java index 9f9c56dfe9d..00b6169eac3 100644 --- a/Mage.Sets/src/mage/cards/g/GruulKeyrune.java +++ b/Mage.Sets/src/mage/cards/g/GruulKeyrune.java @@ -27,10 +27,6 @@ */ package mage.cards.g; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -40,8 +36,13 @@ import mage.abilities.mana.GreenManaAbility; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author LevelX2 @@ -68,7 +69,7 @@ public class GruulKeyrune extends CardImpl { return new GruulKeyrune(this); } - private class GruulKeyruneToken extends Token { + private static class GruulKeyruneToken extends Token { GruulKeyruneToken() { super("Beast", "3/2 red and green Beast artifact creature with trample"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/h/HeedTheMists.java b/Mage.Sets/src/mage/cards/h/HeedTheMists.java index 064189087c9..f4cdf8a3152 100644 --- a/Mage.Sets/src/mage/cards/h/HeedTheMists.java +++ b/Mage.Sets/src/mage/cards/h/HeedTheMists.java @@ -27,19 +27,19 @@ */ package mage.cards.h; -import java.util.UUID; - -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * @author LevelX2 @@ -64,7 +64,7 @@ public class HeedTheMists extends CardImpl { return new HeedTheMists(this); } - private class HeedTheMistsEffect extends OneShotEffect { + private static class HeedTheMistsEffect extends OneShotEffect { public HeedTheMistsEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/h/HellionCrucible.java b/Mage.Sets/src/mage/cards/h/HellionCrucible.java index d8219053bcf..b63878eb9fa 100644 --- a/Mage.Sets/src/mage/cards/h/HellionCrucible.java +++ b/Mage.Sets/src/mage/cards/h/HellionCrucible.java @@ -27,7 +27,6 @@ */ package mage.cards.h; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -41,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.Token; @@ -81,7 +81,7 @@ public class HellionCrucible extends CardImpl { return new HellionCrucible(this); } - class HellionToken extends Token { + static class HellionToken extends Token { public HellionToken() { super("Hellion", "4/4 red Hellion creature token with haste"); cardType.add(CardType.CREATURE); diff --git a/Mage.Sets/src/mage/cards/h/HellionEruption.java b/Mage.Sets/src/mage/cards/h/HellionEruption.java index c68155c0778..957e42f6e92 100644 --- a/Mage.Sets/src/mage/cards/h/HellionEruption.java +++ b/Mage.Sets/src/mage/cards/h/HellionEruption.java @@ -27,13 +27,13 @@ */ package mage.cards.h; -import mage.constants.CardType; -import mage.constants.Outcome; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -92,7 +92,7 @@ class HellionEruptionEffect extends OneShotEffect { return true; } - class HellionToken extends Token { + static class HellionToken extends Token { HellionToken() { super("Hellion", "4/4 red Hellion creature token"); diff --git a/Mage.Sets/src/mage/cards/h/HungryFlames.java b/Mage.Sets/src/mage/cards/h/HungryFlames.java index 9ad5c4565e9..3d821835395 100644 --- a/Mage.Sets/src/mage/cards/h/HungryFlames.java +++ b/Mage.Sets/src/mage/cards/h/HungryFlames.java @@ -65,7 +65,7 @@ public class HungryFlames extends CardImpl { return new HungryFlames(this); } - private class HungryFlamesEffect extends OneShotEffect { + private static class HungryFlamesEffect extends OneShotEffect { HungryFlamesEffect() { super(Outcome.Damage); this.staticText = "{this} deals 3 damage to target creature and 2 damage to target player"; diff --git a/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java b/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java index 259c7c6aaf8..3a107de2a62 100644 --- a/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java +++ b/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java @@ -27,7 +27,6 @@ */ package mage.cards.i; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -46,6 +45,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author LevelX2 @@ -77,7 +78,7 @@ public class InnerFlameIgniter extends CardImpl { class InnerFlameIgniterEffect extends OneShotEffect { - class ActivationInfo { + static class ActivationInfo { public int zoneChangeCounter; public int turn; public int activations; diff --git a/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java b/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java index 30f954ac280..d249aa00311 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java +++ b/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java @@ -27,9 +27,6 @@ */ package mage.cards.i; -import java.util.UUID; - -import mage.constants.*; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; @@ -41,10 +38,16 @@ import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.token.Token; import mage.players.Player; +import java.util.UUID; + /** * @author LevelX2 */ @@ -73,7 +76,7 @@ public class IzzetKeyrune extends CardImpl { return new IzzetKeyrune(this); } - private class IzzetKeyruneEffect extends OneShotEffect { + private static class IzzetKeyruneEffect extends OneShotEffect { public IzzetKeyruneEffect() { super(Outcome.DrawCard); @@ -102,7 +105,7 @@ public class IzzetKeyrune extends CardImpl { } } - private class IzzetKeyruneToken extends Token { + private static class IzzetKeyruneToken extends Token { IzzetKeyruneToken() { super("", "2/1 blue and red Elemental artifact creature"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/j/JadeStatue.java b/Mage.Sets/src/mage/cards/j/JadeStatue.java index 494dc29671f..ff5e5c1fe26 100644 --- a/Mage.Sets/src/mage/cards/j/JadeStatue.java +++ b/Mage.Sets/src/mage/cards/j/JadeStatue.java @@ -27,7 +27,6 @@ */ package mage.cards.j; -import java.util.UUID; import mage.MageInt; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -41,6 +40,8 @@ import mage.constants.TurnPhase; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author anonymous @@ -64,7 +65,7 @@ public class JadeStatue extends CardImpl { return new JadeStatue(this); } - private class JadeStatueToken extends Token { + private static class JadeStatueToken extends Token { JadeStatueToken() { super("", "3/6 Golem artifact creature"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/j/JediEnclave.java b/Mage.Sets/src/mage/cards/j/JediEnclave.java index 228bc34e52d..0b4c7b096cd 100644 --- a/Mage.Sets/src/mage/cards/j/JediEnclave.java +++ b/Mage.Sets/src/mage/cards/j/JediEnclave.java @@ -27,8 +27,6 @@ */ package mage.cards.j; -import java.util.ArrayList; -import java.util.UUID; import mage.MageObject; import mage.abilities.ActivatedAbilityImpl; import mage.abilities.costs.common.SacrificeSourceCost; @@ -48,6 +46,9 @@ import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author Styxo @@ -74,7 +75,7 @@ public class JediEnclave extends CardImpl { return new JediEnclave(this); } - public class JediEnclaveAbility extends ActivatedAbilityImpl { + public static class JediEnclaveAbility extends ActivatedAbilityImpl { public JediEnclaveAbility(JediEnclaveAbility ability) { super(ability); diff --git a/Mage.Sets/src/mage/cards/j/JunkyoBell.java b/Mage.Sets/src/mage/cards/j/JunkyoBell.java index 3f42cbdf842..b292efbdfa3 100644 --- a/Mage.Sets/src/mage/cards/j/JunkyoBell.java +++ b/Mage.Sets/src/mage/cards/j/JunkyoBell.java @@ -27,7 +27,6 @@ */ package mage.cards.j; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -48,6 +47,8 @@ import mage.game.permanent.Permanent; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** * @author LevelX */ @@ -74,7 +75,7 @@ public class JunkyoBell extends CardImpl { return new JunkyoBell(this); } - private class JunkyoBellSacrificeEffect extends OneShotEffect { + private static class JunkyoBellSacrificeEffect extends OneShotEffect { public JunkyoBellSacrificeEffect() { super(Outcome.Sacrifice); diff --git a/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java b/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java index 9ff74ced51b..70e6be220ab 100644 --- a/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java +++ b/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java @@ -27,7 +27,6 @@ */ package mage.cards.k; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -45,6 +44,8 @@ import mage.game.permanent.Permanent; import mage.game.permanent.token.Token; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -101,7 +102,7 @@ class KalitasDestroyEffect extends OneShotEffect { return true; } - class VampireToken extends Token { + static class VampireToken extends Token { public VampireToken(int tokenPower, int tokenToughness) { super("Vampire", new StringBuilder(tokenPower).append('/').append(tokenToughness).append(" black Vampire creature token").toString()); cardType.add(CardType.CREATURE); diff --git a/Mage.Sets/src/mage/cards/k/KyrenToy.java b/Mage.Sets/src/mage/cards/k/KyrenToy.java index de15966e264..1013ee36fd4 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenToy.java +++ b/Mage.Sets/src/mage/cards/k/KyrenToy.java @@ -27,7 +27,6 @@ */ package mage.cards.k; -import java.util.UUID; import mage.Mana; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -46,6 +45,8 @@ import mage.counters.CounterType; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * @author LevelX2 @@ -91,7 +92,7 @@ public class KyrenToy extends CardImpl { } } - private class KyrenToyManaEffect extends ManaEffect { + private static class KyrenToyManaEffect extends ManaEffect { KyrenToyManaEffect() { super(); diff --git a/Mage.Sets/src/mage/cards/l/LightningDart.java b/Mage.Sets/src/mage/cards/l/LightningDart.java index 538aa788c58..7dfefbc52d2 100644 --- a/Mage.Sets/src/mage/cards/l/LightningDart.java +++ b/Mage.Sets/src/mage/cards/l/LightningDart.java @@ -27,7 +27,6 @@ */ package mage.cards.l; -import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; @@ -39,6 +38,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author Derpthemeus @@ -62,7 +63,7 @@ public class LightningDart extends CardImpl { return new LightningDart(this); } - class LightningDartEffect extends OneShotEffect { + static class LightningDartEffect extends OneShotEffect { public LightningDartEffect() { super(Outcome.Damage); diff --git a/Mage.Sets/src/mage/cards/l/LiquidFire.java b/Mage.Sets/src/mage/cards/l/LiquidFire.java index c58cb222da0..39684cc70b9 100644 --- a/Mage.Sets/src/mage/cards/l/LiquidFire.java +++ b/Mage.Sets/src/mage/cards/l/LiquidFire.java @@ -27,7 +27,6 @@ */ package mage.cards.l; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.costs.Cost; import mage.abilities.costs.VariableCostImpl; @@ -44,6 +43,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author Dilnu @@ -107,7 +108,7 @@ public class LiquidFire extends CardImpl { } } - class LiquidFireCost extends VariableCostImpl { + static class LiquidFireCost extends VariableCostImpl { public LiquidFireCost() { super("Choose a Number"); this.text = "As an additional cost to cast {source}, choose a number between 0 and 5"; diff --git a/Mage.Sets/src/mage/cards/l/LivingArmor.java b/Mage.Sets/src/mage/cards/l/LivingArmor.java index 4add97b25a4..069f4842a48 100644 --- a/Mage.Sets/src/mage/cards/l/LivingArmor.java +++ b/Mage.Sets/src/mage/cards/l/LivingArmor.java @@ -27,7 +27,6 @@ */ package mage.cards.l; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -43,6 +42,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author Derpthemeus @@ -68,7 +69,7 @@ public class LivingArmor extends CardImpl { return new LivingArmor(this); } - class LivingArmorEffect extends OneShotEffect { + static class LivingArmorEffect extends OneShotEffect { public LivingArmorEffect() { super(Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/cards/m/MagneticMountain.java b/Mage.Sets/src/mage/cards/m/MagneticMountain.java index cc0e8437407..f3d523b3ea9 100644 --- a/Mage.Sets/src/mage/cards/m/MagneticMountain.java +++ b/Mage.Sets/src/mage/cards/m/MagneticMountain.java @@ -27,7 +27,6 @@ */ package mage.cards.m; -import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.Mode; @@ -51,6 +50,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** @@ -122,7 +123,7 @@ class MagneticMountainEffect extends DoIfCostPaid { return true; } - class MagneticMountainPredicate implements ObjectPlayerPredicate> { + static class MagneticMountainPredicate implements ObjectPlayerPredicate> { @Override public boolean apply(ObjectPlayer input, Game game) { return input.getObject().isTapped(); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java index f253f023eae..b659af86f9e 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java @@ -27,7 +27,6 @@ */ package mage.cards.m; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -36,19 +35,15 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.repository.CardRepository; -import mage.constants.CardType; -import mage.constants.DependencyType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -82,7 +77,7 @@ public class MagusOfTheMoon extends CardImpl { return new MagusOfTheMoon(this); } - class MagusOfTheMoonEffect extends ContinuousEffectImpl { + static class MagusOfTheMoonEffect extends ContinuousEffectImpl { MagusOfTheMoonEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); diff --git a/Mage.Sets/src/mage/cards/m/MinionsMurmurs.java b/Mage.Sets/src/mage/cards/m/MinionsMurmurs.java index 7dbb32eb839..9fcd547ad5d 100644 --- a/Mage.Sets/src/mage/cards/m/MinionsMurmurs.java +++ b/Mage.Sets/src/mage/cards/m/MinionsMurmurs.java @@ -27,7 +27,6 @@ */ package mage.cards.m; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -38,6 +37,8 @@ import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * @author Derpthemeus @@ -60,7 +61,7 @@ public class MinionsMurmurs extends CardImpl { return new MinionsMurmurs(this); } - class MinionsMurmursEffect extends OneShotEffect { + static class MinionsMurmursEffect extends OneShotEffect { public MinionsMurmursEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/m/MoltenBirth.java b/Mage.Sets/src/mage/cards/m/MoltenBirth.java index 1e91c9a2f2f..2eb11f78ed0 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenBirth.java +++ b/Mage.Sets/src/mage/cards/m/MoltenBirth.java @@ -27,7 +27,6 @@ */ package mage.cards.m; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; @@ -42,6 +41,8 @@ import mage.game.permanent.token.Token; import mage.players.Player; import mage.util.RandomUtil; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -99,7 +100,7 @@ class MoltenBirthEffect extends OneShotEffect { return false; } - class ElementalToken extends Token { + static class ElementalToken extends Token { public ElementalToken() { super("Elemental", "1/1 red Elemental creature"); diff --git a/Mage.Sets/src/mage/cards/n/NecroticOoze.java b/Mage.Sets/src/mage/cards/n/NecroticOoze.java index f27bfff6cae..b9f4c4f5a3a 100644 --- a/Mage.Sets/src/mage/cards/n/NecroticOoze.java +++ b/Mage.Sets/src/mage/cards/n/NecroticOoze.java @@ -27,12 +27,6 @@ */ package mage.cards.n; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; -import java.util.stream.Collectors; - import mage.MageInt; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; @@ -43,16 +37,16 @@ import mage.abilities.effects.Effect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.cards.y.YixlidJailer; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.cards.y.YixlidJailer; + +import java.util.List; +import java.util.Set; +import java.util.UUID; +import java.util.stream.Collectors; /** * @@ -80,7 +74,7 @@ public class NecroticOoze extends CardImpl { return new NecroticOoze(this); } - class NecroticOozeEffect extends ContinuousEffectImpl { + static class NecroticOozeEffect extends ContinuousEffectImpl { public NecroticOozeEffect() { super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); diff --git a/Mage.Sets/src/mage/cards/n/NightDealings.java b/Mage.Sets/src/mage/cards/n/NightDealings.java index e1d7520cff0..41dcfba7e6c 100644 --- a/Mage.Sets/src/mage/cards/n/NightDealings.java +++ b/Mage.Sets/src/mage/cards/n/NightDealings.java @@ -27,8 +27,6 @@ */ package mage.cards.n; -import java.util.Objects; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleActivatedAbility; @@ -36,11 +34,7 @@ import mage.abilities.costs.Cost; import mage.abilities.costs.common.RemoveVariableCountersSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,6 +48,9 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCardInLibrary; +import java.util.Objects; +import java.util.UUID; + /** * * @author Loki @@ -122,7 +119,7 @@ public class NightDealings extends CardImpl { } } - private class NightDealingsEffect extends OneShotEffect { + private static class NightDealingsEffect extends OneShotEffect { public NightDealingsEffect() { super(Outcome.Damage); @@ -152,7 +149,7 @@ public class NightDealings extends CardImpl { } } - private class NightDealingsSearchEffect extends OneShotEffect { + private static class NightDealingsSearchEffect extends OneShotEffect { public NightDealingsSearchEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/n/NoMercy.java b/Mage.Sets/src/mage/cards/n/NoMercy.java index 97dc85af7f6..e0147ace676 100644 --- a/Mage.Sets/src/mage/cards/n/NoMercy.java +++ b/Mage.Sets/src/mage/cards/n/NoMercy.java @@ -27,7 +27,6 @@ */ package mage.cards.n; -import java.util.UUID; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DestroyTargetEffect; @@ -41,6 +40,8 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** * * @author Plopman @@ -63,7 +64,7 @@ public class NoMercy extends CardImpl { return new NoMercy(this); } - public class NoMercyTriggeredAbility extends TriggeredAbilityImpl { + public static class NoMercyTriggeredAbility extends TriggeredAbilityImpl { public NoMercyTriggeredAbility() { super(Zone.BATTLEFIELD, new DestroyTargetEffect()); diff --git a/Mage.Sets/src/mage/cards/o/OjutaiMonument.java b/Mage.Sets/src/mage/cards/o/OjutaiMonument.java index 0e69587c117..26c3bd240e3 100644 --- a/Mage.Sets/src/mage/cards/o/OjutaiMonument.java +++ b/Mage.Sets/src/mage/cards/o/OjutaiMonument.java @@ -27,7 +27,6 @@ */ package mage.cards.o; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,6 +41,8 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author fireshoes @@ -69,7 +70,7 @@ public class OjutaiMonument extends CardImpl { return new OjutaiMonument(this); } - private class OjutaiMonumentToken extends Token { + private static class OjutaiMonumentToken extends Token { OjutaiMonumentToken() { super("", "4/4 white and blue Dragon artifact creature with flying"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/o/OrbOfDreams.java b/Mage.Sets/src/mage/cards/o/OrbOfDreams.java index 981f0db7dce..cb84a2f4adb 100644 --- a/Mage.Sets/src/mage/cards/o/OrbOfDreams.java +++ b/Mage.Sets/src/mage/cards/o/OrbOfDreams.java @@ -27,7 +27,6 @@ */ package mage.cards.o; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; @@ -42,6 +41,8 @@ import mage.game.events.EntersTheBattlefieldEvent; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -64,7 +65,7 @@ public class OrbOfDreams extends CardImpl { return new OrbOfDreams(this); } - private class OrbOfDreamsEffect extends ReplacementEffectImpl { + private static class OrbOfDreamsEffect extends ReplacementEffectImpl { OrbOfDreamsEffect() { super(Duration.WhileOnBattlefield, Outcome.Tap, false); diff --git a/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java b/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java index 80f6f0eb56d..1acf35a8305 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java @@ -27,10 +27,6 @@ */ package mage.cards.o; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -40,8 +36,13 @@ import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author LevelX2 @@ -68,7 +69,7 @@ public class OrzhovKeyrune extends CardImpl { return new OrzhovKeyrune(this); } - private class OrzhovKeyruneToken extends Token { + private static class OrzhovKeyruneToken extends Token { OrzhovKeyruneToken() { super("Thrull", "1/4 white and black Thrull artifact creature with lifelink"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/o/Outwit.java b/Mage.Sets/src/mage/cards/o/Outwit.java index 602835a04ce..cf140a7a4aa 100644 --- a/Mage.Sets/src/mage/cards/o/Outwit.java +++ b/Mage.Sets/src/mage/cards/o/Outwit.java @@ -27,25 +27,25 @@ */ package mage.cards.o; +import mage.abilities.Ability; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.Filter; +import mage.filter.FilterSpell; +import mage.game.Game; +import mage.game.stack.Spell; +import mage.game.stack.StackObject; +import mage.players.Player; +import mage.target.Target; +import mage.target.TargetObject; + import java.util.HashSet; import java.util.Set; import java.util.UUID; -import mage.constants.CardType; -import mage.abilities.Ability; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.stack.StackObject; -import mage.abilities.effects.common.CounterTargetEffect; -import mage.filter.Filter; -import mage.filter.FilterSpell; -import mage.players.Player; -import mage.game.stack.Spell; -import mage.target.TargetObject; -import mage.target.Target; - /** @@ -74,7 +74,7 @@ public class Outwit extends CardImpl { return new Outwit(this); } - private class CustomTargetSpell extends TargetObject { + private static class CustomTargetSpell extends TargetObject { protected FilterSpell filter; diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java b/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java index 4246a27e377..fbb28302229 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -41,15 +40,12 @@ import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -91,7 +87,7 @@ public class ParagonOfTheAmesha extends CardImpl { return new ParagonOfTheAmesha(this); } - private class ParagonOfTheAmeshaEffect extends ContinuousEffectImpl { + private static class ParagonOfTheAmeshaEffect extends ContinuousEffectImpl { public ParagonOfTheAmeshaEffect() { super(Duration.EndOfTurn, Outcome.BecomeCreature); diff --git a/Mage.Sets/src/mage/cards/p/Pariah.java b/Mage.Sets/src/mage/cards/p/Pariah.java index b9d830e2161..6d56971dac2 100644 --- a/Mage.Sets/src/mage/cards/p/Pariah.java +++ b/Mage.Sets/src/mage/cards/p/Pariah.java @@ -27,18 +27,17 @@ */ package mage.cards.p; -import java.util.UUID; import mage.abilities.Ability; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagePlayerEvent; import mage.game.events.GameEvent; @@ -46,6 +45,8 @@ import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author Backfir3 @@ -75,7 +76,7 @@ public class Pariah extends CardImpl { return new Pariah(this); } - class PariahEffect extends ReplacementEffectImpl { + static class PariahEffect extends ReplacementEffectImpl { PariahEffect() { super(Duration.WhileOnBattlefield, Outcome.RedirectDamage); staticText = "All damage that would be dealt to you is dealt to enchanted creature instead"; diff --git a/Mage.Sets/src/mage/cards/p/PhantomWings.java b/Mage.Sets/src/mage/cards/p/PhantomWings.java index 7c36a41b230..4b374f89cf4 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomWings.java +++ b/Mage.Sets/src/mage/cards/p/PhantomWings.java @@ -27,10 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; @@ -43,12 +39,16 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; +import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -82,7 +82,7 @@ public class PhantomWings extends CardImpl { return new PhantomWings(this); } - private class PhantomWingsReturnEffect extends OneShotEffect { + private static class PhantomWingsReturnEffect extends OneShotEffect { public PhantomWingsReturnEffect() { super(Outcome.ReturnToHand); diff --git a/Mage.Sets/src/mage/cards/p/PhylacteryLich.java b/Mage.Sets/src/mage/cards/p/PhylacteryLich.java index e3de400aa76..b28ab699889 100644 --- a/Mage.Sets/src/mage/cards/p/PhylacteryLich.java +++ b/Mage.Sets/src/mage/cards/p/PhylacteryLich.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.StateTriggeredAbility; @@ -49,6 +48,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetControlledPermanent; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -81,7 +82,7 @@ public class PhylacteryLich extends CardImpl { return new PhylacteryLich(this); } - class PhylacteryLichAbility extends StateTriggeredAbility { + static class PhylacteryLichAbility extends StateTriggeredAbility { public PhylacteryLichAbility() { super(Zone.BATTLEFIELD, new SacrificeSourceEffect()); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java b/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java index 6aca9ef9680..cc2981f8578 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleActivatedAbility; @@ -49,6 +48,8 @@ import mage.game.permanent.Permanent; import mage.game.permanent.token.Token; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** * * @author FenrisulfrX @@ -76,7 +77,7 @@ public class PhyrexianTotem extends CardImpl { return new PhyrexianTotem(this); } - private class PhyrexianTotemToken extends Token { + private static class PhyrexianTotemToken extends Token { PhyrexianTotemToken() { super("Horror", "5/5 black Horror artifact creature with trample"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/p/PlanarCollapse.java b/Mage.Sets/src/mage/cards/p/PlanarCollapse.java index 67d360bf5ad..e4d31d9fe25 100644 --- a/Mage.Sets/src/mage/cards/p/PlanarCollapse.java +++ b/Mage.Sets/src/mage/cards/p/PlanarCollapse.java @@ -27,10 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -39,10 +35,14 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.TargetController; +import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; +import java.util.UUID; + /** * * @author Plopman @@ -70,7 +70,7 @@ public class PlanarCollapse extends CardImpl { return new PlanarCollapse(this); } - class PlanarCollapseCondition implements mage.abilities.condition.Condition { + static class PlanarCollapseCondition implements mage.abilities.condition.Condition { @Override public boolean apply(Game game, Ability source) { diff --git a/Mage.Sets/src/mage/cards/p/PlatinumAngel.java b/Mage.Sets/src/mage/cards/p/PlatinumAngel.java index 48f125d80a0..6330c520c9a 100644 --- a/Mage.Sets/src/mage/cards/p/PlatinumAngel.java +++ b/Mage.Sets/src/mage/cards/p/PlatinumAngel.java @@ -28,11 +28,6 @@ package mage.cards.p; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -40,10 +35,16 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -69,7 +70,7 @@ public class PlatinumAngel extends CardImpl { return new PlatinumAngel(this); } - class PlatinumAngelEffect extends ContinuousRuleModifyingEffectImpl { + static class PlatinumAngelEffect extends ContinuousRuleModifyingEffectImpl { public PlatinumAngelEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit, false, false); diff --git a/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java b/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java index 91db4b1cae5..eab699fe57a 100644 --- a/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java +++ b/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,10 +41,12 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; -import mage.game.permanent.token.Token; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.filter.predicate.permanent.AnotherPredicate; +import mage.game.permanent.token.Token; + +import java.util.UUID; /** * * @author fireshoes @@ -86,7 +87,7 @@ public class PrideOfTheClouds extends CardImpl { return new PrideOfTheClouds(this); } - private class BirdToken extends Token { + private static class BirdToken extends Token { public BirdToken() { super("Bird", "1/1 white and blue Bird creature token with flying"); diff --git a/Mage.Sets/src/mage/cards/p/PrimalClay.java b/Mage.Sets/src/mage/cards/p/PrimalClay.java index 41ab6ea2943..c5ea3586061 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalClay.java +++ b/Mage.Sets/src/mage/cards/p/PrimalClay.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -50,6 +49,8 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author Loki @@ -76,7 +77,7 @@ public class PrimalClay extends CardImpl { return new PrimalClay(this); } - class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl { + static class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl { private static final String choice33 = "a 3/3 artifact creature"; private static final String choice22 = "a 2/2 artifact creature with flying"; diff --git a/Mage.Sets/src/mage/cards/p/PrimalPlasma.java b/Mage.Sets/src/mage/cards/p/PrimalPlasma.java index a2b3642baa1..b17cb0cd28a 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalPlasma.java +++ b/Mage.Sets/src/mage/cards/p/PrimalPlasma.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -50,6 +49,8 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author LevelX2 @@ -77,7 +78,7 @@ public class PrimalPlasma extends CardImpl { return new PrimalPlasma(this); } - class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl { + static class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl { private static final String choice33 = "a 3/3 creature"; private static final String choice22 = "a 2/2 creature with flying"; diff --git a/Mage.Sets/src/mage/cards/p/ProteanHydra.java b/Mage.Sets/src/mage/cards/p/ProteanHydra.java index ceada0c831a..c03899b66a9 100644 --- a/Mage.Sets/src/mage/cards/p/ProteanHydra.java +++ b/Mage.Sets/src/mage/cards/p/ProteanHydra.java @@ -27,7 +27,6 @@ */ package mage.cards.p; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; @@ -49,6 +48,8 @@ import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -82,7 +83,7 @@ public class ProteanHydra extends CardImpl { return new ProteanHydra(this); } - class ProteanHydraEffect2 extends PreventionEffectImpl { + static class ProteanHydraEffect2 extends PreventionEffectImpl { public ProteanHydraEffect2() { super(Duration.WhileOnBattlefield, Integer.MAX_VALUE, false, false); @@ -161,7 +162,7 @@ public class ProteanHydra extends CardImpl { } - class ProteanHydraDelayedTriggeredAbility extends DelayedTriggeredAbility { + static class ProteanHydraDelayedTriggeredAbility extends DelayedTriggeredAbility { public ProteanHydraDelayedTriggeredAbility() { super(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2))); diff --git a/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java b/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java index c1e8363a301..349fe60d53f 100644 --- a/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java +++ b/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java @@ -27,7 +27,6 @@ */ package mage.cards.q; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -53,6 +52,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * @author LevelX2 */ @@ -107,7 +108,7 @@ public class QuillmaneBaku extends CardImpl { return new QuillmaneBaku(this); } - class QuillmaneBakuReturnEffect extends OneShotEffect { + static class QuillmaneBakuReturnEffect extends OneShotEffect { public QuillmaneBakuReturnEffect() { super(Outcome.ReturnToHand); diff --git a/Mage.Sets/src/mage/cards/r/RainbowVale.java b/Mage.Sets/src/mage/cards/r/RainbowVale.java index 80771d765f7..d86f08f0aea 100644 --- a/Mage.Sets/src/mage/cards/r/RainbowVale.java +++ b/Mage.Sets/src/mage/cards/r/RainbowVale.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffectImpl; @@ -35,17 +34,15 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; import mage.target.common.TargetOpponent; +import java.util.UUID; + /** * * @author andyfries @@ -70,7 +67,7 @@ public class RainbowVale extends CardImpl { return new RainbowVale(this); } - class RainbowValeEffect extends OneShotEffect { + static class RainbowValeEffect extends OneShotEffect { public RainbowValeEffect() { super(Outcome.PutManaInPool); diff --git a/Mage.Sets/src/mage/cards/r/RakdosCharm.java b/Mage.Sets/src/mage/cards/r/RakdosCharm.java index 8add96e2b8d..0df8a765354 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosCharm.java +++ b/Mage.Sets/src/mage/cards/r/RakdosCharm.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; @@ -45,6 +44,8 @@ import mage.players.Player; import mage.target.TargetPlayer; import mage.target.common.TargetArtifactPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -79,7 +80,7 @@ public class RakdosCharm extends CardImpl { return new RakdosCharm(this); } - private class RakdosCharmDamageEffect extends OneShotEffect { + private static class RakdosCharmDamageEffect extends OneShotEffect { public RakdosCharmDamageEffect() { super(Outcome.Detriment); diff --git a/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java b/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java index 0fa13b8bca8..c00908b7475 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java +++ b/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java @@ -27,9 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; - -import mage.constants.CardType; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -39,10 +36,13 @@ import mage.abilities.mana.BlackManaAbility; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * @author LevelX2 */ @@ -68,7 +68,7 @@ public class RakdosKeyrune extends CardImpl { return new RakdosKeyrune(this); } - private class RakdosKeyruneToken extends Token { + private static class RakdosKeyruneToken extends Token { RakdosKeyruneToken() { super("", "3/1 black and red Devil artifact creature with first strike"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/r/RavenFamiliar.java b/Mage.Sets/src/mage/cards/r/RavenFamiliar.java index 83406f78bb3..5d640b2a508 100644 --- a/Mage.Sets/src/mage/cards/r/RavenFamiliar.java +++ b/Mage.Sets/src/mage/cards/r/RavenFamiliar.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; @@ -36,11 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.abilities.keyword.EchoAbility; import mage.abilities.keyword.FlyingAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,6 +44,8 @@ import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; +import java.util.UUID; + /** * * @author Plopman @@ -82,7 +79,7 @@ public class RavenFamiliar extends CardImpl { } - class RavenFamiliarEffect extends OneShotEffect { + static class RavenFamiliarEffect extends OneShotEffect { public RavenFamiliarEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/r/RelentlessRats.java b/Mage.Sets/src/mage/cards/r/RelentlessRats.java index 115c5bdca56..78014147d0c 100644 --- a/Mage.Sets/src/mage/cards/r/RelentlessRats.java +++ b/Mage.Sets/src/mage/cards/r/RelentlessRats.java @@ -28,13 +28,6 @@ package mage.cards.r; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -42,11 +35,14 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.InfoEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.NamePredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -82,7 +78,7 @@ public class RelentlessRats extends CardImpl { return new RelentlessRats(this); } - class RelentlessRatsEffect extends ContinuousEffectImpl { + static class RelentlessRatsEffect extends ContinuousEffectImpl { public RelentlessRatsEffect() { super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/cards/r/RockHydra.java b/Mage.Sets/src/mage/cards/r/RockHydra.java index b7c06ef61a2..5a6bc6e7fae 100644 --- a/Mage.Sets/src/mage/cards/r/RockHydra.java +++ b/Mage.Sets/src/mage/cards/r/RockHydra.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; @@ -51,6 +50,8 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author anonymous @@ -83,7 +84,7 @@ public class RockHydra extends CardImpl { return new RockHydra(this); } - class RockHydraEffect extends PreventionEffectImpl { + static class RockHydraEffect extends PreventionEffectImpl { public RockHydraEffect() { super(Duration.WhileOnBattlefield, Integer.MAX_VALUE, false, false); diff --git a/Mage.Sets/src/mage/cards/r/RoninWarclub.java b/Mage.Sets/src/mage/cards/r/RoninWarclub.java index a6684af41e4..a7ac27d2599 100644 --- a/Mage.Sets/src/mage/cards/r/RoninWarclub.java +++ b/Mage.Sets/src/mage/cards/r/RoninWarclub.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleStaticAbility; @@ -47,6 +46,8 @@ import mage.game.permanent.Permanent; import mage.target.Target; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -120,7 +121,7 @@ public class RoninWarclub extends CardImpl { } } - private class RoninWarclubAttachEffect extends OneShotEffect { + private static class RoninWarclubAttachEffect extends OneShotEffect { public RoninWarclubAttachEffect() { super(Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/cards/r/RootGreevil.java b/Mage.Sets/src/mage/cards/r/RootGreevil.java index f55bc585d72..365ef300dc5 100644 --- a/Mage.Sets/src/mage/cards/r/RootGreevil.java +++ b/Mage.Sets/src/mage/cards/r/RootGreevil.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -47,6 +46,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** * * @author Derpthemeus @@ -75,7 +76,7 @@ public class RootGreevil extends CardImpl { return new RootGreevil(this); } - class RootGreevilEffect extends OneShotEffect { + static class RootGreevilEffect extends OneShotEffect { public RootGreevilEffect() { super(Outcome.DestroyPermanent); diff --git a/Mage.Sets/src/mage/cards/r/RootingKavu.java b/Mage.Sets/src/mage/cards/r/RootingKavu.java index 579ec1f2b5e..3cc714cac37 100644 --- a/Mage.Sets/src/mage/cards/r/RootingKavu.java +++ b/Mage.Sets/src/mage/cards/r/RootingKavu.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesTriggeredAbility; @@ -44,6 +43,8 @@ import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * @author Derpthemeus @@ -69,7 +70,7 @@ public class RootingKavu extends CardImpl { return new RootingKavu(this); } - class RootingKavuEffect extends OneShotEffect { + static class RootingKavuEffect extends OneShotEffect { public RootingKavuEffect() { super(Outcome.Benefit); diff --git a/Mage.Sets/src/mage/cards/r/Rumination.java b/Mage.Sets/src/mage/cards/r/Rumination.java index 1501f15b8ca..2852708a4af 100644 --- a/Mage.Sets/src/mage/cards/r/Rumination.java +++ b/Mage.Sets/src/mage/cards/r/Rumination.java @@ -27,7 +27,6 @@ */ package mage.cards.r; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; @@ -40,6 +39,8 @@ import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInHand; +import java.util.UUID; + /** * * @author Styxo @@ -62,7 +63,7 @@ public class Rumination extends CardImpl { return new Rumination(this); } - class RuminationEffect extends OneShotEffect { + static class RuminationEffect extends OneShotEffect { public RuminationEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/s/ScarredPuma.java b/Mage.Sets/src/mage/cards/s/ScarredPuma.java index 05091edd449..c6ad79f70f2 100644 --- a/Mage.Sets/src/mage/cards/s/ScarredPuma.java +++ b/Mage.Sets/src/mage/cards/s/ScarredPuma.java @@ -27,8 +27,6 @@ */ package mage.cards.s; -import java.util.Objects; -import java.util.UUID; import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; @@ -43,6 +41,9 @@ import mage.filter.common.FilterAttackingCreature; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.Objects; +import java.util.UUID; + /** * * @author Derpthemeus @@ -68,7 +69,7 @@ public class ScarredPuma extends CardImpl { return new ScarredPuma(this); } - class ScarredPumaEffect extends RestrictionEffect { + static class ScarredPumaEffect extends RestrictionEffect { private final FilterAttackingCreature filter = new FilterAttackingCreature(); diff --git a/Mage.Sets/src/mage/cards/s/SecondChance.java b/Mage.Sets/src/mage/cards/s/SecondChance.java index f5038a8b8ff..b69916d76eb 100644 --- a/Mage.Sets/src/mage/cards/s/SecondChance.java +++ b/Mage.Sets/src/mage/cards/s/SecondChance.java @@ -27,10 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -40,9 +36,13 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.TargetController; +import mage.constants.Zone; import mage.game.Game; +import java.util.UUID; + /** * * @author Plopman @@ -69,7 +69,7 @@ public class SecondChance extends CardImpl { return new SecondChance(this); } - class FiveOrLessLifeCondition implements Condition { + static class FiveOrLessLifeCondition implements Condition { @Override public boolean apply(Game game, Ability source) { diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java b/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java index e254a88fcdb..cf83b24b45b 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java @@ -27,9 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; - -import mage.constants.CardType; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -38,10 +35,13 @@ import mage.abilities.mana.GreenManaAbility; import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * @author LevelX2 */ @@ -67,7 +67,7 @@ public class SelesnyaKeyrune extends CardImpl { return new SelesnyaKeyrune(this); } - private class SelesnyaKeyruneToken extends Token { + private static class SelesnyaKeyruneToken extends Token { SelesnyaKeyruneToken() { super("", "3/3 green and white Wolf artifact creature"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/s/ShapeAnew.java b/Mage.Sets/src/mage/cards/s/ShapeAnew.java index d1c19d9a195..f80cda39ca2 100644 --- a/Mage.Sets/src/mage/cards/s/ShapeAnew.java +++ b/Mage.Sets/src/mage/cards/s/ShapeAnew.java @@ -27,15 +27,10 @@ */ package mage.cards.s; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeTargetEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,6 +41,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPermanent; +import java.util.UUID; + /** * * @author ayratn @@ -78,7 +75,7 @@ public class ShapeAnew extends CardImpl { return new ShapeAnew(this); } - private class ShapeAnewEffect extends OneShotEffect { + private static class ShapeAnewEffect extends OneShotEffect { public ShapeAnewEffect() { super(Outcome.PutCardInPlay); diff --git a/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java b/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java index 22515aa1fb8..11c7556f1db 100644 --- a/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java +++ b/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -37,14 +36,12 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * author HCrescent @@ -67,7 +64,7 @@ public class ShapeshiftersMarrow extends CardImpl { return new ShapeshiftersMarrow(this); } - class ShapeshiftersMarrowEffect extends OneShotEffect { + static class ShapeshiftersMarrowEffect extends OneShotEffect { public ShapeshiftersMarrowEffect() { super(Outcome.BecomeCreature); diff --git a/Mage.Sets/src/mage/cards/s/SiegeModification.java b/Mage.Sets/src/mage/cards/s/SiegeModification.java index db9bf8cb71b..df945c792ac 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeModification.java +++ b/Mage.Sets/src/mage/cards/s/SiegeModification.java @@ -95,7 +95,7 @@ public class SiegeModification extends CardImpl { return new SiegeModification(this); } - private class BecomesCreatureIfVehicleEffect extends ContinuousEffectImpl { + private static class BecomesCreatureIfVehicleEffect extends ContinuousEffectImpl { private CardType addedType = CardType.CREATURE; diff --git a/Mage.Sets/src/mage/cards/s/SilumgarMonument.java b/Mage.Sets/src/mage/cards/s/SilumgarMonument.java index 98b96298f06..ded32dbdc1a 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarMonument.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarMonument.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,6 +41,8 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author fireshoes @@ -69,7 +70,7 @@ public class SilumgarMonument extends CardImpl { return new SilumgarMonument(this); } -private class OjutaiMonumentToken extends Token { +private static class OjutaiMonumentToken extends Token { OjutaiMonumentToken() { super("", "4/4 blue and black Dragon artifact creature with flying"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/s/SimicKeyrune.java b/Mage.Sets/src/mage/cards/s/SimicKeyrune.java index db23af8f3c1..b8444817ec7 100644 --- a/Mage.Sets/src/mage/cards/s/SimicKeyrune.java +++ b/Mage.Sets/src/mage/cards/s/SimicKeyrune.java @@ -27,10 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -40,8 +36,13 @@ import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author LevelX2 @@ -68,7 +69,7 @@ public class SimicKeyrune extends CardImpl { return new SimicKeyrune(this); } - private class SimicKeyruneToken extends Token { + private static class SimicKeyruneToken extends Token { SimicKeyruneToken() { super("Crab", "2/3 green and blue Crab artifact creature with hexproof"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/s/SithLord.java b/Mage.Sets/src/mage/cards/s/SithLord.java index ad00c69e3f3..cdffe94fe87 100644 --- a/Mage.Sets/src/mage/cards/s/SithLord.java +++ b/Mage.Sets/src/mage/cards/s/SithLord.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; @@ -42,6 +41,8 @@ import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author Styxo @@ -73,7 +74,7 @@ public class SithLord extends CardImpl { return new SithLord(this); } - class SithLordEffect extends OneShotEffect { + static class SithLordEffect extends OneShotEffect { SithLordEffect() { super(Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/cards/s/SithRavager.java b/Mage.Sets/src/mage/cards/s/SithRavager.java index 990d60658e5..9bfa8927b48 100644 --- a/Mage.Sets/src/mage/cards/s/SithRavager.java +++ b/Mage.Sets/src/mage/cards/s/SithRavager.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -42,6 +41,8 @@ import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; +import java.util.UUID; + /** * * @author Styxo @@ -68,7 +69,7 @@ public class SithRavager extends CardImpl { return new SithRavager(this); } - public class LostNonCombatLifeTriggeredAbility extends TriggeredAbilityImpl { + public static class LostNonCombatLifeTriggeredAbility extends TriggeredAbilityImpl { public LostNonCombatLifeTriggeredAbility() { super(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), false); diff --git a/Mage.Sets/src/mage/cards/s/SithRuins.java b/Mage.Sets/src/mage/cards/s/SithRuins.java index 8c633009e7b..62eb95363be 100644 --- a/Mage.Sets/src/mage/cards/s/SithRuins.java +++ b/Mage.Sets/src/mage/cards/s/SithRuins.java @@ -27,8 +27,6 @@ */ package mage.cards.s; -import java.util.ArrayList; -import java.util.UUID; import mage.MageObject; import mage.abilities.ActivatedAbilityImpl; import mage.abilities.costs.common.SacrificeSourceCost; @@ -48,6 +46,9 @@ import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author Styxo @@ -74,7 +75,7 @@ public class SithRuins extends CardImpl { return new SithRuins(this); } - public class SithRuinsAbility extends ActivatedAbilityImpl { + public static class SithRuinsAbility extends ActivatedAbilityImpl { public SithRuinsAbility(SithRuinsAbility ability) { super(ability); diff --git a/Mage.Sets/src/mage/cards/s/SkullRend.java b/Mage.Sets/src/mage/cards/s/SkullRend.java index 21b297aa098..956a8455ca3 100644 --- a/Mage.Sets/src/mage/cards/s/SkullRend.java +++ b/Mage.Sets/src/mage/cards/s/SkullRend.java @@ -27,19 +27,19 @@ */ package mage.cards.s; -import java.util.Objects; -import java.util.UUID; - -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; +import java.util.Objects; +import java.util.UUID; + /** * * @author LevelX2 @@ -64,7 +64,7 @@ public class SkullRend extends CardImpl { return new SkullRend(this); } - private class SkullRendEffect extends OneShotEffect { + private static class SkullRendEffect extends OneShotEffect { public SkullRendEffect() { super(Outcome.Damage); diff --git a/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java b/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java index e1bec632475..e63bf5ad5e3 100644 --- a/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java +++ b/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java @@ -28,10 +28,6 @@ package mage.cards.s; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -46,14 +42,18 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; +import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterSpiritOrArcaneCard; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * @author LevelX2 */ @@ -88,7 +88,7 @@ public class SkullmaneBaku extends CardImpl { return new SkullmaneBaku(this); } - class SkullmaneBakuUnboostEffect extends OneShotEffect { + static class SkullmaneBakuUnboostEffect extends OneShotEffect { public SkullmaneBakuUnboostEffect() { super(Outcome.UnboostCreature); diff --git a/Mage.Sets/src/mage/cards/s/SlumberingTora.java b/Mage.Sets/src/mage/cards/s/SlumberingTora.java index 5cfbe12df71..c28b823d00e 100644 --- a/Mage.Sets/src/mage/cards/s/SlumberingTora.java +++ b/Mage.Sets/src/mage/cards/s/SlumberingTora.java @@ -27,9 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; - -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.Cost; @@ -38,6 +35,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -45,6 +43,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCardInHand; +import java.util.UUID; + /** * * @author LevelX2 @@ -75,7 +75,7 @@ public class SlumberingTora extends CardImpl { return new SlumberingTora(this); } - private class SlumberingToraEffect extends ContinuousEffectImpl { + private static class SlumberingToraEffect extends ContinuousEffectImpl { public SlumberingToraEffect() { super(Duration.EndOfTurn, Outcome.BecomeCreature); diff --git a/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java b/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java index ac19daf9d83..b2c3ae27dc4 100644 --- a/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java +++ b/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; @@ -47,6 +46,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -79,7 +80,7 @@ public class SoulbrightFlamekin extends CardImpl { class SoulbrightFlamekinEffect extends OneShotEffect { - class ActivationInfo { + static class ActivationInfo { public int zoneChangeCounter; public int turn; public int activations; diff --git a/Mage.Sets/src/mage/cards/s/SoulsMajesty.java b/Mage.Sets/src/mage/cards/s/SoulsMajesty.java index 91708e64c8b..4ff1f85f4b5 100644 --- a/Mage.Sets/src/mage/cards/s/SoulsMajesty.java +++ b/Mage.Sets/src/mage/cards/s/SoulsMajesty.java @@ -28,18 +28,19 @@ package mage.cards.s; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; +import java.util.UUID; + /** * * @author Loki @@ -62,7 +63,7 @@ public class SoulsMajesty extends CardImpl { return new SoulsMajesty(this); } - private class SoulsMajestyEffect extends OneShotEffect { + private static class SoulsMajestyEffect extends OneShotEffect { public SoulsMajestyEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java b/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java index 718821c88ad..6baf7fdcbdd 100644 --- a/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java +++ b/Mage.Sets/src/mage/cards/s/SpoilsOfEvil.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import java.util.UUID; import mage.Mana; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; @@ -42,6 +41,8 @@ import mage.game.Game; import mage.players.Player; import mage.target.common.TargetOpponent; +import java.util.UUID; + /** * * @author Blinke @@ -71,7 +72,7 @@ public class SpoilsOfEvil extends CardImpl { return new SpoilsOfEvil(this); } - class SpoilsOfEvilEffect extends OneShotEffect { + static class SpoilsOfEvilEffect extends OneShotEffect { public SpoilsOfEvilEffect() { super(Outcome.GainLife); diff --git a/Mage.Sets/src/mage/cards/s/Subversion.java b/Mage.Sets/src/mage/cards/s/Subversion.java index ae9421cc92d..dda0aa2e376 100644 --- a/Mage.Sets/src/mage/cards/s/Subversion.java +++ b/Mage.Sets/src/mage/cards/s/Subversion.java @@ -27,18 +27,18 @@ */ package mage.cards.s; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; +import java.util.UUID; + /** * * @author Plopman @@ -63,7 +63,7 @@ public class Subversion extends CardImpl { } - class SubversionEffect extends OneShotEffect { + static class SubversionEffect extends OneShotEffect { public SubversionEffect() { super(Outcome.Damage); diff --git a/Mage.Sets/src/mage/cards/t/TerashisGrasp.java b/Mage.Sets/src/mage/cards/t/TerashisGrasp.java index 058b5fefb23..f702addaece 100644 --- a/Mage.Sets/src/mage/cards/t/TerashisGrasp.java +++ b/Mage.Sets/src/mage/cards/t/TerashisGrasp.java @@ -27,13 +27,12 @@ */ package mage.cards.t; -import java.util.UUID; -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Outcome; import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.game.Game; @@ -41,6 +40,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -67,7 +68,7 @@ public class TerashisGrasp extends CardImpl { return new TerashisGrasp(this); } - private class TerashisGraspEffect extends OneShotEffect { + private static class TerashisGraspEffect extends OneShotEffect { public TerashisGraspEffect() { super(Outcome.DestroyPermanent); diff --git a/Mage.Sets/src/mage/cards/t/ThunderTotem.java b/Mage.Sets/src/mage/cards/t/ThunderTotem.java index 0ec5d29577c..e3de3e64312 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderTotem.java +++ b/Mage.Sets/src/mage/cards/t/ThunderTotem.java @@ -27,7 +27,6 @@ */ package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,6 +41,8 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author fireshoes @@ -57,7 +58,7 @@ public class ThunderTotem extends CardImpl { // {1}{W}{W}: Thunder Totem becomes a 2/2 white Spirit artifact creature with flying and first strike until end of turn. this.addAbility(new SimpleActivatedAbility( Zone.BATTLEFIELD, - new BecomesCreatureSourceEffect(new ThunderTotemToken(), "", Duration.EndOfTurn), + new BecomesCreatureSourceEffect(new ThunderTotemToken(), "", Duration.EndOfTurn), new ManaCostsImpl("{1}{W}{W}"))); } @@ -70,7 +71,7 @@ public class ThunderTotem extends CardImpl { return new ThunderTotem(this); } -private class ThunderTotemToken extends Token { +private static class ThunderTotemToken extends Token { ThunderTotemToken() { super("", "2/2 white Spirit artifact creature with flying and first strike"); cardType.add(CardType.ARTIFACT); diff --git a/Mage.Sets/src/mage/cards/t/TimberpackWolf.java b/Mage.Sets/src/mage/cards/t/TimberpackWolf.java index a8f7ca7e8c7..3ce09b80538 100644 --- a/Mage.Sets/src/mage/cards/t/TimberpackWolf.java +++ b/Mage.Sets/src/mage/cards/t/TimberpackWolf.java @@ -27,8 +27,6 @@ */ package mage.cards.t; -import java.util.UUID; - import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -42,6 +40,8 @@ import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -76,7 +76,7 @@ public class TimberpackWolf extends CardImpl { } - class TimberpackWolfEffect extends ContinuousEffectImpl { + static class TimberpackWolfEffect extends ContinuousEffectImpl { public TimberpackWolfEffect() { super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); diff --git a/Mage.Sets/src/mage/cards/t/ToilsOfNightAndDay.java b/Mage.Sets/src/mage/cards/t/ToilsOfNightAndDay.java index 5ce5b0c0a05..a0d118e442f 100644 --- a/Mage.Sets/src/mage/cards/t/ToilsOfNightAndDay.java +++ b/Mage.Sets/src/mage/cards/t/ToilsOfNightAndDay.java @@ -27,20 +27,20 @@ */ package mage.cards.t; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -66,7 +66,7 @@ public class ToilsOfNightAndDay extends CardImpl { } - private class ToilsOfNightAndDayEffect extends OneShotEffect { + private static class ToilsOfNightAndDayEffect extends OneShotEffect { public ToilsOfNightAndDayEffect() { super(Outcome.Tap); diff --git a/Mage.Sets/src/mage/cards/t/TurnBurn.java b/Mage.Sets/src/mage/cards/t/TurnBurn.java index cbee3c51119..11eb1690de1 100644 --- a/Mage.Sets/src/mage/cards/t/TurnBurn.java +++ b/Mage.Sets/src/mage/cards/t/TurnBurn.java @@ -27,7 +27,6 @@ */ package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; @@ -40,6 +39,8 @@ import mage.game.permanent.token.Token; import mage.target.common.TargetCreatureOrPlayer; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -74,7 +75,7 @@ public class TurnBurn extends SplitCard { return new TurnBurn(this); } - private class WeirdToken extends Token { + private static class WeirdToken extends Token { private WeirdToken() { super("Weird", "a red Weird with base power and toughness 0/1"); diff --git a/Mage.Sets/src/mage/cards/u/UncheckedGrowth.java b/Mage.Sets/src/mage/cards/u/UncheckedGrowth.java index 2ff61e4e76d..734281f09e7 100644 --- a/Mage.Sets/src/mage/cards/u/UncheckedGrowth.java +++ b/Mage.Sets/src/mage/cards/u/UncheckedGrowth.java @@ -27,23 +27,19 @@ */ package mage.cards.u; -import java.util.UUID; - -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** * * @author LevelX2 @@ -71,7 +67,7 @@ public class UncheckedGrowth extends CardImpl { return new UncheckedGrowth(this); } - private class UncheckedGrowthTrampleEffect extends ContinuousEffectImpl { + private static class UncheckedGrowthTrampleEffect extends ContinuousEffectImpl { public UncheckedGrowthTrampleEffect() { super(Duration.EndOfTurn, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); diff --git a/Mage.Sets/src/mage/cards/u/UnderworldSlums.java b/Mage.Sets/src/mage/cards/u/UnderworldSlums.java index 7a62a007c2f..163c81824f5 100644 --- a/Mage.Sets/src/mage/cards/u/UnderworldSlums.java +++ b/Mage.Sets/src/mage/cards/u/UnderworldSlums.java @@ -27,8 +27,6 @@ */ package mage.cards.u; -import java.util.ArrayList; -import java.util.UUID; import mage.MageObject; import mage.abilities.ActivatedAbilityImpl; import mage.abilities.costs.common.SacrificeSourceCost; @@ -48,6 +46,9 @@ import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author Styxo @@ -74,7 +75,7 @@ public class UnderworldSlums extends CardImpl { return new UnderworldSlums(this); } - public class UnderworldSlumsAbility extends ActivatedAbilityImpl { + public static class UnderworldSlumsAbility extends ActivatedAbilityImpl { public UnderworldSlumsAbility(UnderworldSlumsAbility ability) { super(ability); diff --git a/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java b/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java index 86548de8edc..b4cd68ac921 100644 --- a/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java +++ b/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java @@ -27,18 +27,19 @@ */ package mage.cards.u; -import java.util.UUID; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author LevelX2 @@ -72,7 +73,7 @@ public class UtvaraHellkite extends CardImpl { public UtvaraHellkite copy() { return new UtvaraHellkite(this); } - public class UtvaraHellkiteDragonToken extends Token { + public static class UtvaraHellkiteDragonToken extends Token { private UtvaraHellkiteDragonToken() { super("Dragon", "6/6 red Dragon creature token with flying"); diff --git a/Mage.Sets/src/mage/cards/v/VolitionReins.java b/Mage.Sets/src/mage/cards/v/VolitionReins.java index c71e59cffcb..67c88f35006 100644 --- a/Mage.Sets/src/mage/cards/v/VolitionReins.java +++ b/Mage.Sets/src/mage/cards/v/VolitionReins.java @@ -28,7 +28,6 @@ package mage.cards.v; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -45,6 +44,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; +import java.util.UUID; + /** * @author nantuko */ @@ -75,7 +76,7 @@ public class VolitionReins extends CardImpl { return new VolitionReins(this); } - public class UntapVolitionReinsEffect extends OneShotEffect { + public static class UntapVolitionReinsEffect extends OneShotEffect { public UntapVolitionReinsEffect() { super(Outcome.Untap); diff --git a/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java b/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java index 75e66437979..4c91e350389 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java +++ b/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java @@ -27,7 +27,6 @@ */ package mage.cards.v; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; @@ -42,6 +41,8 @@ import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author Derpthemeus @@ -70,7 +71,7 @@ public class VulshokBattlemaster extends CardImpl { return new VulshokBattlemaster(this); } - class VulshokBattlemasterEffect extends OneShotEffect { + static class VulshokBattlemasterEffect extends OneShotEffect { public VulshokBattlemasterEffect() { super(Outcome.Benefit); diff --git a/Mage.Sets/src/mage/cards/w/Wirecat.java b/Mage.Sets/src/mage/cards/w/Wirecat.java index 184ce4fdb33..1604cae4273 100644 --- a/Mage.Sets/src/mage/cards/w/Wirecat.java +++ b/Mage.Sets/src/mage/cards/w/Wirecat.java @@ -27,7 +27,6 @@ */ package mage.cards.w; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -41,6 +40,8 @@ import mage.filter.common.FilterEnchantmentPermanent; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author Derpthemeus @@ -66,7 +67,7 @@ public class Wirecat extends CardImpl { return new Wirecat(this); } - class WirecatEffect extends RestrictionEffect { + static class WirecatEffect extends RestrictionEffect { public WirecatEffect() { super(Duration.WhileOnBattlefield); diff --git a/Mage.Sets/src/mage/cards/y/YixlidJailer.java b/Mage.Sets/src/mage/cards/y/YixlidJailer.java index 0d1183f5345..3273197c47e 100644 --- a/Mage.Sets/src/mage/cards/y/YixlidJailer.java +++ b/Mage.Sets/src/mage/cards/y/YixlidJailer.java @@ -27,7 +27,6 @@ */ package mage.cards.y; -import java.util.UUID; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.Ability; @@ -36,15 +35,12 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.players.Player; +import java.util.UUID; + /** * * @author emerald000 @@ -72,7 +68,7 @@ public class YixlidJailer extends CardImpl { return new YixlidJailer(this); } - class YixlidJailerEffect extends ContinuousEffectImpl { + static class YixlidJailerEffect extends ContinuousEffectImpl { YixlidJailerEffect() { super(Duration.WhileOnBattlefield, Outcome.LoseAbility); diff --git a/Mage.Sets/src/mage/cards/y/YoungPyromancer.java b/Mage.Sets/src/mage/cards/y/YoungPyromancer.java index 9e706bd72bb..abe7e2040ee 100644 --- a/Mage.Sets/src/mage/cards/y/YoungPyromancer.java +++ b/Mage.Sets/src/mage/cards/y/YoungPyromancer.java @@ -27,7 +27,6 @@ */ package mage.cards.y; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -40,6 +39,8 @@ import mage.filter.predicate.mageobject.CardTypePredicate; import mage.game.permanent.token.Token; import mage.util.RandomUtil; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -76,7 +77,7 @@ public class YoungPyromancer extends CardImpl { return new YoungPyromancer(this); } - class ElementalToken extends Token { + static class ElementalToken extends Token { public ElementalToken() { super("Elemental", "1/1 red Elemental creature"); diff --git a/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java b/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java index acfeaa1a7b1..fb61ce0e0c5 100644 --- a/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java +++ b/Mage.Sets/src/mage/cards/z/ZektarShrineExpedition.java @@ -27,7 +27,6 @@ */ package mage.cards.z; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.LandfallAbility; @@ -51,6 +50,8 @@ import mage.game.permanent.Permanent; import mage.game.permanent.token.Token; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** * * @author North @@ -109,7 +110,7 @@ class ZektarShrineExpeditionEffect extends OneShotEffect { return true; } - class ElementalToken extends Token { + static class ElementalToken extends Token { public ElementalToken() { super("Elemental", "7/1 red Elemental creature token with trample and haste"); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/deck/DeckValidatorTest.java b/Mage.Tests/src/test/java/org/mage/test/serverside/deck/DeckValidatorTest.java index b4b2379e717..3bc8f574de0 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/deck/DeckValidatorTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/deck/DeckValidatorTest.java @@ -27,8 +27,6 @@ */ package org.mage.test.serverside.deck; -import java.util.ArrayList; -import java.util.List; import mage.cards.decks.Deck; import mage.cards.decks.DeckValidator; import mage.cards.repository.CardInfo; @@ -39,13 +37,16 @@ import org.junit.Assert; import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; +import java.util.ArrayList; +import java.util.List; + /** * * @author LevelX2 */ public class DeckValidatorTest extends CardTestPlayerBase { - class CardNameAmount { + static class CardNameAmount { String name; String setCode; diff --git a/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java b/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java index 823a4ce22d3..cfbe003e571 100644 --- a/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java +++ b/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java @@ -27,7 +27,6 @@ */ package mage.abilities.common; -import java.util.UUID; import mage.abilities.ActivatedAbilityImpl; import mage.abilities.condition.Condition; import mage.abilities.costs.Cost; @@ -37,13 +36,15 @@ import mage.constants.Zone; import mage.game.Game; import mage.util.CardUtil; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com */ public class LimitedTimesPerTurnActivatedAbility extends ActivatedAbilityImpl { - class ActivationInfo { + static class ActivationInfo { public int turnNum; public int activationCounter; diff --git a/Mage/src/main/java/mage/abilities/mana/ActivateOncePerTurnManaAbility.java b/Mage/src/main/java/mage/abilities/mana/ActivateOncePerTurnManaAbility.java index 624f42164b0..56ec6843b09 100644 --- a/Mage/src/main/java/mage/abilities/mana/ActivateOncePerTurnManaAbility.java +++ b/Mage/src/main/java/mage/abilities/mana/ActivateOncePerTurnManaAbility.java @@ -28,7 +28,6 @@ package mage.abilities.mana; -import java.util.UUID; import mage.Mana; import mage.abilities.costs.Cost; import mage.abilities.effects.common.AddManaOfAnyColorEffect; @@ -37,13 +36,15 @@ import mage.constants.Zone; import mage.game.Game; import mage.util.CardUtil; +import java.util.UUID; + /** * * @author LevelX2 */ public class ActivateOncePerTurnManaAbility extends ActivatedManaAbilityImpl { - class ActivationInfo { + static class ActivationInfo { public int turnNum; public int activationCounter; diff --git a/Mage/src/main/java/mage/cards/decks/importer/DeckImporter.java b/Mage/src/main/java/mage/cards/decks/importer/DeckImporter.java index 89efd1bfc29..45600162174 100644 --- a/Mage/src/main/java/mage/cards/decks/importer/DeckImporter.java +++ b/Mage/src/main/java/mage/cards/decks/importer/DeckImporter.java @@ -28,11 +28,12 @@ package mage.cards.decks.importer; -import java.io.File; -import java.util.Scanner; import mage.cards.decks.DeckCardLists; import org.apache.log4j.Logger; +import java.io.File; +import java.util.Scanner; + /** * * @author BetaSteward_at_googlemail.com @@ -41,7 +42,7 @@ public abstract class DeckImporter { private static final Logger logger = Logger.getLogger(DeckImporter.class); - protected String errors; + protected StringBuilder sbMessage = new StringBuilder(); //TODO we should stop using this not garbage collectable StringBuilder. It just bloats protected int lineCount; public DeckCardLists importDeck(String file) { @@ -52,7 +53,7 @@ public abstract class DeckImporter { return deckList; } lineCount = 0; - StringBuilder sbMessage = new StringBuilder(); + sbMessage.setLength(0); try { try (Scanner scanner = new Scanner(f)) { @@ -70,12 +71,11 @@ public abstract class DeckImporter { } catch (Exception ex) { logger.fatal(null, ex); } - errors = sbMessage.toString(); return deckList; } public String getErrors(){ - return errors; + return sbMessage.toString(); } protected abstract void readLine(String line, DeckCardLists deckList); diff --git a/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java b/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java index 22040ac3a17..36f3e74bc53 100644 --- a/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java +++ b/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java @@ -290,7 +290,7 @@ public class SwissPairingMinimalWeightMatching { } } - class PlayerInfo { + static class PlayerInfo { public int id; public TournamentPlayer tournamentPlayer; From 11dc1e10f14a4dc34cd72c7404789146b394322f Mon Sep 17 00:00:00 2001 From: vraskulin Date: Tue, 28 Feb 2017 13:46:54 +0300 Subject: [PATCH 4/4] Few lambda's and removed explicit type from creating lists and hashmaps --- .../src/main/java/mage/client/MageFrame.java | 96 ++++------------ .../components/ability/AbilityPicker.java | 6 +- .../client/components/ext/dlg/DlgParams.java | 2 +- .../components/ext/dlg/impl/ChoiceDialog.java | 8 +- .../mage/client/deckeditor/CardSelector.java | 24 ++-- .../viewer/CollectionViewerPane.java | 11 +- .../mage/client/table/NewPlayerPanel.java | 21 ++-- .../client/table/TournamentPlayerPanel.java | 12 +- .../unusedFiles/DelayedViewerThread.java | 4 +- .../mage/client/util/gui/ArrowBuilder.java | 18 +-- .../mage/card/arcane/ModernCardRenderer.java | 2 +- .../card/dl/beans/EventListenerList.java | 20 ++-- .../collections/ListenableCollections.java | 19 +--- .../beans/properties/CompoundProperties.java | 10 +- .../properties/bound/BoundProperties.java | 18 ++- .../bound/PropertyChangeMapListener.java | 12 +- .../bound/PropertyChangeSetListener.java | 10 +- .../sources/AltMtgOnlTokensImageSource.java | 11 +- .../dl/sources/MtgOnlTokensImageSource.java | 11 +- .../mage/client/game/MultiConnectTest.java | 20 +--- .../mage/client/game/StartMultiGamesTest.java | 21 ++-- Mage.Common/src/mage/db/EntityManager.java | 4 +- Mage.Common/src/mage/db/Statistics.java | 8 +- Mage.Common/src/mage/db/model/Log.java | 3 +- .../mage/server/console/ConnectDialog.java | 50 ++------- .../mage/server/console/ConsoleFrame.java | 80 ++++--------- .../mage/server/console/ConsolePanel.java | 62 +++-------- .../src/mage/player/ai/Attackers2.java | 5 +- .../src/mage/player/ai/util/CombatInfo.java | 4 +- .../src/mage/player/ai/util/CombatUtil.java | 14 +-- .../java/mage/player/ai/CombatEvaluator.java | 9 +- .../java/mage/player/ai/ComputerPlayer.java | 8 +- .../player/ai/simulators/ActionSimulator.java | 9 +- .../ai/simulators/CombatGroupSimulator.java | 9 +- .../player/ai/simulators/CombatSimulator.java | 22 ++-- .../java/mage/player/ai/utils/RateCard.java | 4 +- .../src/mage/player/ai/MCTSPlayer.java | 14 +-- .../src/mage/player/ai/Attackers.java | 5 +- .../src/mage/player/ai/ComputerPlayer2.java | 15 ++- .../src/mage/player/ai/ComputerPlayer3.java | 5 +- .../src/mage/player/ai/SimulatedPlayer.java | 19 ++-- .../src/mage/player/ai/SimulationNode.java | 15 +-- Mage.Sets/src/mage/cards/a/AvengingArrow.java | 11 +- .../mage/cards/b/BeastbreakerOfBalaGed.java | 6 +- Mage.Sets/src/mage/cards/b/BrimstoneMage.java | 8 +- .../src/mage/cards/c/CapriciousEfreet.java | 13 ++- Mage.Sets/src/mage/cards/c/CaravanEscort.java | 8 +- .../src/mage/cards/c/CathedralMembrane.java | 2 +- .../src/mage/cards/c/CoralhelmCommander.java | 10 +- Mage.Sets/src/mage/cards/c/Counterflux.java | 14 +-- Mage.Sets/src/mage/cards/c/Counterlash.java | 10 +- .../src/mage/cards/d/DescentOfTheDragons.java | 7 +- .../src/mage/cards/d/DjinnIlluminatus.java | 20 +--- Mage.Sets/src/mage/cards/d/DoublingChant.java | 12 +- .../src/mage/cards/e/EatenBySpiders.java | 11 +- Mage.Sets/src/mage/cards/e/EchoMage.java | 7 +- .../src/mage/cards/e/EmptyShrineKannushi.java | 9 +- .../src/mage/cards/e/EnclaveCryptologist.java | 10 +- .../src/mage/cards/e/ExecutionersSwing.java | 13 ++- .../src/mage/cards/e/EyeOfSingularity.java | 9 +- Mage.Sets/src/mage/cards/f/FaithsReward.java | 7 +- Mage.Sets/src/mage/cards/f/FellShepherd.java | 15 +-- Mage.Sets/src/mage/cards/f/Fireball.java | 11 +- .../src/mage/cards/f/FulgentDistraction.java | 13 ++- .../src/mage/cards/g/GargoyleSentinel.java | 17 +-- .../src/mage/cards/g/GiltspireAvenger.java | 9 +- Mage.Sets/src/mage/cards/g/GravityWell.java | 18 +-- .../src/mage/cards/h/HalimarWavewatch.java | 6 +- .../src/mage/cards/h/HarmonicConvergence.java | 17 ++- .../src/mage/cards/i/IkiralOutrider.java | 8 +- .../src/mage/cards/j/JoragaTreespeaker.java | 13 ++- .../src/mage/cards/k/KabiraVindicator.java | 10 +- .../src/mage/cards/k/KarganDragonlord.java | 10 +- .../src/mage/cards/k/KazanduTuskcaller.java | 8 +- Mage.Sets/src/mage/cards/k/KillingWave.java | 8 +- .../src/mage/cards/k/KnightOfCliffhaven.java | 6 +- .../mage/cards/k/KynaiosAndTiroOfMeletis.java | 9 +- Mage.Sets/src/mage/cards/l/LeoninArbiter.java | 15 +-- .../mage/cards/l/LordOfShatterskullPass.java | 13 ++- Mage.Sets/src/mage/cards/m/MarchOfSouls.java | 9 +- Mage.Sets/src/mage/cards/m/MazesEnd.java | 15 +-- Mage.Sets/src/mage/cards/m/Mindreaver.java | 9 +- .../src/mage/cards/m/MitoticManipulation.java | 15 +-- .../src/mage/cards/m/MurderousSpoils.java | 9 +- Mage.Sets/src/mage/cards/n/NaturesWill.java | 15 +-- .../src/mage/cards/n/NirkanaCutthroat.java | 6 +- Mage.Sets/src/mage/cards/n/NullChampion.java | 6 +- .../mage/cards/o/OngoingInvestigation.java | 13 ++- Mage.Sets/src/mage/cards/o/Outwit.java | 2 +- .../src/mage/cards/p/PyxisOfPandemonium.java | 19 +--- Mage.Sets/src/mage/cards/r/Reciprocate.java | 9 +- .../src/mage/cards/r/ReverseTheSands.java | 9 +- Mage.Sets/src/mage/cards/s/SecondSunrise.java | 13 ++- Mage.Sets/src/mage/cards/s/ShoalSerpent.java | 14 +-- .../src/mage/cards/s/SkywatcherAdept.java | 6 +- .../src/mage/cards/s/SpellContortion.java | 11 +- .../src/mage/cards/s/StudentOfWarfare.java | 6 +- .../src/mage/cards/t/TheBattleOfYavin.java | 9 +- .../src/mage/cards/t/TheGreatAurora.java | 14 +-- .../src/mage/cards/t/ThoughtsOfRuin.java | 9 +- Mage.Sets/src/mage/cards/t/ThranTurbine.java | 7 +- Mage.Sets/src/mage/cards/t/TideOfWar.java | 9 +- .../src/mage/cards/t/TranscendentMaster.java | 11 +- Mage.Sets/src/mage/cards/t/TritonTactics.java | 15 +-- Mage.Sets/src/mage/cards/t/TurnToSlag.java | 12 +- .../src/mage/cards/w/WarleadersHelix.java | 11 +- .../src/mage/cards/w/WhimsOfTheFates.java | 10 +- .../java/com/xmage/ws/util/IPHolderUtil.java | 4 +- .../com/xmage/ws/util/json/JSONParser.java | 2 +- .../org/mage/test/cards/copy/CloneTest.java | 6 +- .../mage/test/load/LoadCallbackClient.java | 29 +++-- .../java/org/mage/test/load/LoadTest.java | 19 ++-- .../mage/test/serverside/PlayGameTest.java | 6 +- .../test/serverside/TestPlayRandomGame.java | 6 +- .../test/serverside/base/MageTestBase.java | 8 +- .../serverside/base/MageTestPlayerBase.java | 9 +- .../magefree/update/helpers/FileHelper.java | 18 +-- .../abilities/effects/ContinuousEffects.java | 2 +- .../CopySpellForEachItCouldTargetEffect.java | 12 +- .../main/java/mage/cards/ExpansionSet.java | 18 +-- .../main/java/mage/game/CardAttribute.java | 7 +- .../mage/game/GameCanadianHighlanderImpl.java | 105 +++++++++--------- Mage/src/main/java/mage/game/GameImpl.java | 57 ++-------- Mage/src/main/java/mage/game/GameState.java | 24 +--- .../mage/game/permanent/PermanentImpl.java | 24 +--- .../mage/game/tournament/TournamentImpl.java | 32 +----- .../tournament/pairing/RoundPairings.java | 2 +- .../SwissPairingMinimalWeightMatching.java | 15 +-- .../pairing/SwissPairingSimple.java | 10 +- .../targetpointer/SecondTargetPointer.java | 9 +- 130 files changed, 725 insertions(+), 1105 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index 529c630d998..bec3728b3d7 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -27,84 +27,19 @@ */ package mage.client; -import java.awt.AWTEvent; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Component; -import java.awt.Cursor; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.Rectangle; -import java.awt.SplashScreen; -import java.awt.Toolkit; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.ItemEvent; -import java.awt.event.KeyEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.image.BufferedImage; -import java.beans.PropertyVetoException; -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.prefs.Preferences; -import javax.imageio.ImageIO; -import javax.swing.AbstractButton; -import javax.swing.ImageIcon; -import javax.swing.InputMap; -import javax.swing.JButton; -import javax.swing.JCheckBoxMenuItem; -import javax.swing.JComponent; -import javax.swing.JDesktopPane; -import javax.swing.JEditorPane; -import javax.swing.JFrame; -import javax.swing.JInternalFrame; -import javax.swing.JLabel; -import javax.swing.JLayeredPane; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JToggleButton; -import javax.swing.KeyStroke; -import javax.swing.SwingConstants; -import javax.swing.SwingUtilities; -import javax.swing.UIManager; -import javax.swing.event.PopupMenuEvent; -import javax.swing.event.PopupMenuListener; import mage.cards.decks.Deck; import mage.cards.repository.CardCriteria; import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; import mage.client.cards.BigCard; import mage.client.chat.ChatPanelBasic; -import mage.client.components.MageComponents; -import mage.client.components.MageDesktopManager; -import mage.client.components.MageJDesktop; -import mage.client.components.MageRoundPane; -import mage.client.components.MageUI; +import mage.client.components.*; import mage.client.components.ext.dlg.DialogManager; import mage.client.components.tray.MageTray; import mage.client.constants.Constants.DeckEditorMode; import mage.client.deckeditor.DeckEditorPane; import mage.client.deckeditor.collection.viewer.CollectionViewerPane; -import mage.client.dialog.AboutDialog; -import mage.client.dialog.ConnectDialog; -import mage.client.dialog.ErrorDialog; -import mage.client.dialog.FeedbackDialog; -import mage.client.dialog.GameEndDialog; -import mage.client.dialog.MageDialog; -import mage.client.dialog.PreferencesDialog; -import mage.client.dialog.TableWaitingDialog; -import mage.client.dialog.UserRequestDialog; +import mage.client.dialog.*; import mage.client.draft.DraftPane; import mage.client.draft.DraftPanel; import mage.client.game.GamePane; @@ -114,11 +49,7 @@ import mage.client.preference.MagePreferences; import mage.client.remote.CallbackClientImpl; import mage.client.table.TablesPane; import mage.client.tournament.TournamentPane; -import mage.client.util.EDTExceptionHandler; -import mage.client.util.GUISizeHelper; -import mage.client.util.ImageCaches; -import mage.client.util.SettingsManager; -import mage.client.util.SystemUtil; +import mage.client.util.*; import mage.client.util.audio.MusicPlayer; import mage.client.util.gui.ArrowBuilder; import mage.client.util.gui.countryBox.CountryUtil; @@ -145,6 +76,25 @@ import org.mage.plugins.card.images.DownloadPictures; import org.mage.plugins.card.info.CardInfoPaneImpl; import org.mage.plugins.card.utils.impl.ImageManagerImpl; +import javax.imageio.ImageIO; +import javax.swing.*; +import javax.swing.event.PopupMenuEvent; +import javax.swing.event.PopupMenuListener; +import java.awt.*; +import java.awt.event.*; +import java.awt.image.BufferedImage; +import java.beans.PropertyVetoException; +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.prefs.Preferences; + /** * @author BetaSteward_at_googlemail.com */ @@ -472,7 +422,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient { String filename = "/background.jpg"; try { if (Plugins.getInstance().isThemePluginLoaded()) { - backgroundPane = (ImagePanel) Plugins.getInstance().updateTablePanel(new HashMap()); + backgroundPane = (ImagePanel) Plugins.getInstance().updateTablePanel(new HashMap<>()); } else { InputStream is = this.getClass().getResourceAsStream(filename); BufferedImage background = ImageIO.read(is); diff --git a/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java b/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java index 5617acd492a..d2c4262e4fa 100644 --- a/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java +++ b/Mage.Client/src/main/java/mage/client/components/ability/AbilityPicker.java @@ -92,7 +92,7 @@ public class AbilityPicker extends JXPanel implements MouseWheelListener { } public void show(AbilityPickerView choices, Point p) { - this.choices = new ArrayList(); + this.choices = new ArrayList<>(); this.selected = true; // to stop previous modal for (Map.Entry choice : choices.getChoices().entrySet()) { @@ -236,7 +236,7 @@ public class AbilityPicker extends JXPanel implements MouseWheelListener { public static class ImageRenderer2 extends JEditorPane implements ListCellRenderer { - public final Map cache = new HashMap(); + public final Map cache = new HashMap<>(); @Override public Component getListCellRendererComponent( @@ -398,7 +398,7 @@ public class AbilityPicker extends JXPanel implements MouseWheelListener { JFrame jframe = new JFrame("Test"); - List objectList = new ArrayList(); + List objectList = new ArrayList<>(); objectList.add("T: add {R} to your mana pool. 111111111111111111111111111"); objectList.add("T: add {B} to your mana pool. {source} deals 1 damage to you."); objectList.add("{T}: add {B} to your mana pool"); diff --git a/Mage.Client/src/main/java/mage/client/components/ext/dlg/DlgParams.java b/Mage.Client/src/main/java/mage/client/components/ext/dlg/DlgParams.java index 2bc7a82fba9..0eeac96eb3a 100644 --- a/Mage.Client/src/main/java/mage/client/components/ext/dlg/DlgParams.java +++ b/Mage.Client/src/main/java/mage/client/components/ext/dlg/DlgParams.java @@ -38,7 +38,7 @@ public class DlgParams { boolean isAI = false; - public HashSet manaChoices = new HashSet(); + public HashSet manaChoices = new HashSet<>(); public int getPlayerID() { return playerID; diff --git a/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/ChoiceDialog.java b/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/ChoiceDialog.java index d298cc4cc2e..10324cd9239 100644 --- a/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/ChoiceDialog.java +++ b/Mage.Client/src/main/java/mage/client/components/ext/dlg/impl/ChoiceDialog.java @@ -9,18 +9,18 @@ import mage.client.components.ext.dlg.DialogManager; import mage.client.components.ext.dlg.DlgParams; import mage.client.components.ext.dlg.IDialogPanel; import mage.client.plugins.impl.Plugins; -import mage.client.util.audio.AudioManager; import mage.client.util.Command; import mage.client.util.SettingsManager; +import mage.client.util.audio.AudioManager; import mage.view.CardView; import mage.view.CardsView; +import org.mage.card.arcane.CardPanel; import org.mage.plugins.card.utils.impl.ImageManagerImpl; import javax.swing.*; import java.awt.*; import java.util.ArrayList; import java.util.UUID; -import org.mage.card.arcane.CardPanel; /** * @author mw, noxx @@ -130,7 +130,7 @@ public class ChoiceDialog extends IDialogPanel { return; } - java.util.List toRemove = new ArrayList(); + java.util.List toRemove = new ArrayList<>(); for (int i = getComponentCount() - 1; i > 0; i--) { Component o = getComponent(i); if (o instanceof MageCard) { @@ -141,7 +141,7 @@ public class ChoiceDialog extends IDialogPanel { remove(toRemove.get(i)); } - java.util.List cardList = new ArrayList(cards.values()); + java.util.List cardList = new ArrayList<>(cards.values()); int width = SettingsManager.getInstance().getCardSize().width; int height = SettingsManager.getInstance().getCardSize().height; diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java index 2c1d985d301..91c77056289 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/CardSelector.java @@ -33,19 +33,6 @@ */ package mage.client.deckeditor; -import java.awt.Color; -import java.awt.Cursor; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ComponentEvent; -import java.awt.event.ComponentListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.*; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JTable; -import javax.swing.SwingUtilities; -import javax.swing.table.DefaultTableCellRenderer; import mage.MageObject; import mage.ObjectColor; import mage.cards.Card; @@ -72,6 +59,13 @@ import mage.filter.predicate.other.ExpansionSetPredicate; import mage.view.CardView; import mage.view.CardsView; +import javax.swing.*; +import javax.swing.table.DefaultTableCellRenderer; +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.util.List; + /** * * @author BetaSteward_at_googlemail.com, nantuko @@ -442,7 +436,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene tbWhite = new javax.swing.JToggleButton(); tbColorless = new javax.swing.JToggleButton(); jSeparator1 = new javax.swing.JToolBar.Separator(); - cbExpansionSet = new javax.swing.JComboBox(); + cbExpansionSet = new javax.swing.JComboBox<>(); jSeparator2 = new javax.swing.JToolBar.Separator(); btnBooster = new javax.swing.JButton(); btnClear = new javax.swing.JButton(); @@ -457,7 +451,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene jSeparator6 = new javax.swing.JToolBar.Separator(); chkPiles = new javax.swing.JCheckBox(); jSeparator3 = new javax.swing.JToolBar.Separator(); - cbSortBy = new javax.swing.JComboBox(); + cbSortBy = new javax.swing.JComboBox<>(); jSeparator4 = new javax.swing.JToolBar.Separator(); jToggleListView = new javax.swing.JToggleButton(); jToggleCardView = new javax.swing.JToggleButton(); diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/CollectionViewerPane.java b/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/CollectionViewerPane.java index c3115146bab..f851570985f 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/CollectionViewerPane.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/collection/viewer/CollectionViewerPane.java @@ -27,13 +27,14 @@ */ package mage.client.deckeditor.collection.viewer; -import java.awt.Component; -import java.util.HashMap; -import java.util.Map; -import javax.swing.JComponent; import mage.client.MagePane; import mage.client.plugins.impl.Plugins; +import javax.swing.*; +import java.awt.*; +import java.util.HashMap; +import java.util.Map; + /** * Collection viewer pane. * Contains background and components container. @@ -46,7 +47,7 @@ public class CollectionViewerPane extends MagePane { boolean initialized = false; this.setTitle("Collection Viewer"); if (Plugins.getInstance().isThemePluginLoaded()) { - Map uiComponents = new HashMap(); + Map uiComponents = new HashMap<>(); JComponent container = Plugins.getInstance().updateTablePanel(uiComponents); if (container != null) { collectionViewerPanel = new CollectionViewerPanel(); diff --git a/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java b/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java index f7c7a85a98f..0f9cdc31ba2 100644 --- a/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java @@ -34,14 +34,15 @@ package mage.client.table; -import java.io.File; -import java.io.IOException; -import javax.swing.JFileChooser; -import javax.swing.filechooser.FileFilter; import mage.client.MageFrame; import mage.client.deck.generator.DeckGenerator; import mage.client.util.Config; +import javax.swing.*; +import javax.swing.filechooser.FileFilter; +import java.io.File; +import java.io.IOException; + /** * * @author BetaSteward_at_googlemail.com @@ -150,18 +151,10 @@ public class NewPlayerPanel extends javax.swing.JPanel { lblPlayerDeck.setText("Deck:"); btnPlayerDeck.setText("..."); - btnPlayerDeck.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnPlayerDeckActionPerformed(evt); - } - }); + btnPlayerDeck.addActionListener(evt -> btnPlayerDeckActionPerformed(evt)); btnGenerate.setText("Generate"); - btnGenerate.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnGenerateActionPerformed(evt); - } - }); + btnGenerate.addActionListener(evt -> btnGenerateActionPerformed(evt)); lblLevel.setText("Skill:"); diff --git a/Mage.Client/src/main/java/mage/client/table/TournamentPlayerPanel.java b/Mage.Client/src/main/java/mage/client/table/TournamentPlayerPanel.java index 97b866a4fa7..91796275a6a 100644 --- a/Mage.Client/src/main/java/mage/client/table/TournamentPlayerPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/TournamentPlayerPanel.java @@ -34,12 +34,12 @@ package mage.client.table; -import java.util.UUID; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JComboBox; import mage.cards.decks.DeckCardLists; import mage.client.SessionHandler; +import javax.swing.*; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -99,11 +99,7 @@ public class TournamentPlayerPanel extends javax.swing.JPanel { jLabel1.setText("Type:"); cbPlayerType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); - cbPlayerType.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cbPlayerTypeActionPerformed(evt); - } - }); + cbPlayerType.addActionListener(evt -> cbPlayerTypeActionPerformed(evt)); lblPlayerNum.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N lblPlayerNum.setText("Player Num:"); diff --git a/Mage.Client/src/main/java/mage/client/unusedFiles/DelayedViewerThread.java b/Mage.Client/src/main/java/mage/client/unusedFiles/DelayedViewerThread.java index 8d0318e4ea2..33c2071179b 100644 --- a/Mage.Client/src/main/java/mage/client/unusedFiles/DelayedViewerThread.java +++ b/Mage.Client/src/main/java/mage/client/unusedFiles/DelayedViewerThread.java @@ -2,7 +2,7 @@ package mage.client.unusedFiles; //package mage.client.thread; -import java.awt.Component; +import java.awt.*; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -18,7 +18,7 @@ public class DelayedViewerThread extends Thread { private final Map delayedViewers; protected DelayedViewerThread() { - delayedViewers = new HashMap(); + delayedViewers = new HashMap<>(); start(); } diff --git a/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java b/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java index df4650ea3b0..7c3054ae9b5 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/ArrowBuilder.java @@ -30,9 +30,9 @@ public class ArrowBuilder { /** * Stores arrow panels per game */ - private final Map arrowPanels = new HashMap(); + private final Map arrowPanels = new HashMap<>(); - private final Map>> map = new HashMap>>(); + private final Map>> map = new HashMap<>(); private int currentWidth; private int currentHeight; @@ -103,16 +103,8 @@ public class ArrowBuilder { synchronized (map) { p.add(arrow); - Map> innerMap = map.get(gameId); - if (innerMap == null) { - innerMap = new HashMap>(); - map.put(gameId, innerMap); - } - java.util.List arrows = innerMap.get(type); - if (arrows == null) { - arrows = new ArrayList(); - innerMap.put(type, arrows); - } + Map> innerMap = map.computeIfAbsent(gameId, k -> new HashMap<>()); + java.util.List arrows = innerMap.computeIfAbsent(type, k -> new ArrayList<>()); arrows.add(arrow); } @@ -149,7 +141,7 @@ public class ArrowBuilder { for (Arrow arrow : arrows) { p.remove(arrow); } - innerMap.put(type, new ArrayList()); + innerMap.put(type, new ArrayList<>()); } p.revalidate(); p.repaint(); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java index bc6e75ee8ce..fd843418975 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java @@ -767,7 +767,7 @@ public class ModernCardRenderer extends CardRenderer { // Add the keyword rule if there are any keywords if (!textboxKeywords.isEmpty()) { String keywordRulesString = getKeywordRulesString(); - TextboxRule keywordsRule = new TextboxRule(keywordRulesString, new ArrayList()); + TextboxRule keywordsRule = new TextboxRule(keywordRulesString, new ArrayList<>()); allRules.add(0, keywordsRule); } diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/EventListenerList.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/EventListenerList.java index 18dc8d852a6..8dc68a4bf11 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/EventListenerList.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/EventListenerList.java @@ -9,12 +9,10 @@ import com.google.common.base.Function; import com.google.common.collect.AbstractIterator; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import java.util.ArrayList; -import static java.util.Arrays.*; -import java.util.EventListener; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; + +import java.util.*; + +import static java.util.Arrays.asList; /** * The class EventListenerList. @@ -35,13 +33,13 @@ public class EventListenerList extends javax.swing.event.EventListenerList { */ public Iterable getIterable(final Class... listenerClass) { //transform class -> iterable - List> l = Lists.transform(asList(listenerClass), new ClassToIterableFunction()); + List> l = Lists.transform(asList(listenerClass), new ClassToIterableFunction<>()); //compose iterable (use an arraylist to memoize the function's results) - final Iterable it = Iterables.concat(new ArrayList>(l)); + final Iterable it = Iterables.concat(new ArrayList<>(l)); //transform to singleton iterators - return () -> new SingletonIterator(it.iterator()); + return () -> new SingletonIterator<>(it.iterator()); } /** @@ -92,7 +90,7 @@ public class EventListenerList extends javax.swing.event.EventListenerList { private class ClassToIterableFunction implements Function, Iterable> { public Iterable apply(final Class from) { - return () -> new ListenerIterator(from); + return () -> new ListenerIterator<>(from); } } @@ -103,7 +101,7 @@ public class EventListenerList extends javax.swing.event.EventListenerList { private static class SingletonIterator extends AbstractIterator { private final Iterator it; - private final HashSet previous = new HashSet(); + private final HashSet previous = new HashSet<>(); public SingletonIterator(Iterator it) { this.it = it; diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/collections/ListenableCollections.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/collections/ListenableCollections.java index a4a9bb0c4bd..63ab9809d60 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/collections/ListenableCollections.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/collections/ListenableCollections.java @@ -8,16 +8,7 @@ package org.mage.plugins.card.dl.beans.collections; import java.io.Serializable; -import java.util.AbstractList; -import java.util.AbstractMap; -import java.util.AbstractSequentialList; -import java.util.AbstractSet; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import java.util.RandomAccess; -import java.util.Set; +import java.util.*; /** @@ -34,18 +25,18 @@ public final class ListenableCollections { public static List listenableList(List list, ListListener listener) { if (list instanceof RandomAccess) { - return new ListenableList(list, listener); + return new ListenableList<>(list, listener); } else { - return new ListenableSequentialList(list, listener); + return new ListenableSequentialList<>(list, listener); } } public static Set listenableSet(Set set, SetListener listener) { - return new ListenableSet(set, listener); + return new ListenableSet<>(set, listener); } public static Map listenableMap(Map map, MapListener listener) { - return new ListenableMap(map, listener); + return new ListenableMap<>(map, listener); } public interface ListListener extends Serializable { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/CompoundProperties.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/CompoundProperties.java index 5a6f021913a..aa9350feaee 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/CompoundProperties.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/CompoundProperties.java @@ -7,13 +7,9 @@ package org.mage.plugins.card.dl.beans.properties; -import static java.util.Arrays.*; +import java.util.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; +import static java.util.Arrays.asList; /** @@ -31,7 +27,7 @@ public class CompoundProperties extends AbstractProperties { } public CompoundProperties(List delegates) { - this.delegates = new ArrayList(delegates); + this.delegates = new ArrayList<>(delegates); Collections.reverse(this.delegates); } diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/BoundProperties.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/BoundProperties.java index 79d553ab280..318bba5da95 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/BoundProperties.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/BoundProperties.java @@ -7,17 +7,15 @@ package org.mage.plugins.card.dl.beans.properties.bound; -import static org.mage.plugins.card.dl.beans.collections.ListenableCollections.listenableList; -import static org.mage.plugins.card.dl.beans.collections.ListenableCollections.listenableMap; -import static org.mage.plugins.card.dl.beans.collections.ListenableCollections.listenableSet; +import org.mage.plugins.card.dl.beans.PropertyChangeSupport; +import org.mage.plugins.card.dl.beans.properties.AbstractProperties; +import org.mage.plugins.card.dl.beans.properties.Property; import java.util.List; import java.util.Map; import java.util.Set; -import org.mage.plugins.card.dl.beans.PropertyChangeSupport; -import org.mage.plugins.card.dl.beans.properties.AbstractProperties; -import org.mage.plugins.card.dl.beans.properties.Property; +import static org.mage.plugins.card.dl.beans.collections.ListenableCollections.*; /** @@ -39,18 +37,18 @@ public class BoundProperties extends AbstractProperties { } public Property property(String name, Property property) { - return new BoundProperty(s, name, property); + return new BoundProperty<>(s, name, property); } public List list(String name, List list) { - return listenableList(list, new PropertyChangeListListener(s, name)); + return listenableList(list, new PropertyChangeListListener<>(s, name)); } public Set set(String name, Set set) { - return listenableSet(set, new PropertyChangeSetListener(s, set, name)); + return listenableSet(set, new PropertyChangeSetListener<>(s, set, name)); } public Map map(String name, Map map) { - return listenableMap(map, new PropertyChangeMapListener(s, map, name)); + return listenableMap(map, new PropertyChangeMapListener<>(s, map, name)); } } diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeMapListener.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeMapListener.java index e0c9bedfe4f..65d14ebf420 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeMapListener.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeMapListener.java @@ -7,12 +7,12 @@ package org.mage.plugins.card.dl.beans.properties.bound; -import java.beans.PropertyChangeEvent; -import java.util.Map; - import org.mage.plugins.card.dl.beans.PropertyChangeSupport; import org.mage.plugins.card.dl.beans.collections.ListenableCollections.MapListener; +import java.beans.PropertyChangeEvent; +import java.util.Map; + /** * The class PropertyChangeMapListener. This listener alway fires events with {@link Map} -> {@link Map} as the @@ -35,15 +35,15 @@ public class PropertyChangeMapListener implements MapListener { } public void put(K key, V newValue) { - s.firePropertyChange(new MapPutEvent(s.getSourceBean(), propertyName, map, key, newValue)); + s.firePropertyChange(new MapPutEvent<>(s.getSourceBean(), propertyName, map, key, newValue)); } public void set(K key, V oldValue, V newValue) { - s.firePropertyChange(new MapSetEvent(s.getSourceBean(), propertyName, map, key, oldValue, newValue)); + s.firePropertyChange(new MapSetEvent<>(s.getSourceBean(), propertyName, map, key, oldValue, newValue)); } public void remove(K key, V oldValue) { - s.firePropertyChange(new MapRemoveEvent(s.getSourceBean(), propertyName, map, key, oldValue)); + s.firePropertyChange(new MapRemoveEvent<>(s.getSourceBean(), propertyName, map, key, oldValue)); } public static abstract class MapEvent extends PropertyChangeEvent { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeSetListener.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeSetListener.java index 6d23fd4361d..de2c9bde429 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeSetListener.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/beans/properties/bound/PropertyChangeSetListener.java @@ -7,12 +7,12 @@ package org.mage.plugins.card.dl.beans.properties.bound; -import java.beans.PropertyChangeEvent; -import java.util.Set; - import org.mage.plugins.card.dl.beans.PropertyChangeSupport; import org.mage.plugins.card.dl.beans.collections.ListenableCollections.SetListener; +import java.beans.PropertyChangeEvent; +import java.util.Set; + /** * The class PropertyChangeSetListener. This listener always fires events with {@link Set} -> {@link Set} as the @@ -35,11 +35,11 @@ public class PropertyChangeSetListener implements SetListener { } public void add(E newValue) { - s.firePropertyChange(new SetAddEvent(s.getSourceBean(), propertyName, set, newValue)); + s.firePropertyChange(new SetAddEvent<>(s.getSourceBean(), propertyName, set, newValue)); } public void remove(E oldValue) { - s.firePropertyChange(new SetRemoveEvent(s.getSourceBean(), propertyName, set, oldValue)); + s.firePropertyChange(new SetRemoveEvent<>(s.getSourceBean(), propertyName, set, oldValue)); } public static abstract class SetEvent extends PropertyChangeEvent { diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java index a52cc67102b..1723c987db0 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/AltMtgOnlTokensImageSource.java @@ -27,11 +27,12 @@ */ package org.mage.plugins.card.dl.sources; -import java.io.IOException; -import java.util.HashMap; import org.apache.log4j.Logger; import org.mage.plugins.card.images.CardDownloadData; +import java.io.IOException; +import java.util.HashMap; + /** * * @author spjspj @@ -104,9 +105,9 @@ public class AltMtgOnlTokensImageSource implements CardImageSource { if (copyUrlToImage != null) { return; } - copyUrlToImage = new HashMap(); - copyImageToUrl = new HashMap(); - copyUrlToImageDone = new HashMap(); + copyUrlToImage = new HashMap<>(); + copyImageToUrl = new HashMap<>(); + copyUrlToImageDone = new HashMap<>(); copyUrlToImage.put("SCG_CC_002-Penguin.jpg", "BIRD.WU.BIRD.CREATURE.1.1.full.jpg"); copyUrlToImage.put("SCG_CC_005-Vampire.jpg", "VAMPIRE.B.VAMPIRE.CREATURE.1.1.full.jpg"); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java index e6493b3d2cc..bb42786cb76 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/MtgOnlTokensImageSource.java @@ -27,11 +27,12 @@ */ package org.mage.plugins.card.dl.sources; -import java.io.IOException; -import java.util.HashMap; import org.apache.log4j.Logger; import org.mage.plugins.card.images.CardDownloadData; +import java.io.IOException; +import java.util.HashMap; + /** * * @author spjspj @@ -104,9 +105,9 @@ public class MtgOnlTokensImageSource implements CardImageSource { if (copyUrlToImage != null) { return; } - copyUrlToImage = new HashMap(); - copyImageToUrl = new HashMap(); - copyUrlToImageDone = new HashMap(); + copyUrlToImage = new HashMap<>(); + copyImageToUrl = new HashMap<>(); + copyUrlToImageDone = new HashMap<>(); copyUrlToImage.put("Angel_B_3_3.jpg", "ANGEL.B.ANGEL.CREATURE.3.3.full.jpg"); copyUrlToImage.put("Angel_W_3_3.jpg", "ANGEL.W.ANGEL.CREATURE.3.3.full.jpg"); copyUrlToImage.put("Angel_W_4_4.jpg", "ANGEL.W.ANGEL.CREATURE.4.4.full.jpg"); diff --git a/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java b/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java index 9db5d602eff..51d99cfe165 100644 --- a/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java +++ b/Mage.Client/src/test/java/mage/client/game/MultiConnectTest.java @@ -105,20 +105,12 @@ public class MultiConnectTest { } private void connect(final int index) throws Exception { - Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { - @Override - public void uncaughtException(Thread t, Throwable e) { - logger.fatal(null, e); - } - }); - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - String username = "player" + index; - ClientMock client = new ClientMock(username); - client.connect(); - latch.countDown(); - } + Thread.setDefaultUncaughtExceptionHandler((t, e) -> logger.fatal(null, e)); + SwingUtilities.invokeLater(() -> { + String username = "player" + index; + ClientMock client = new ClientMock(username); + client.connect(); + latch.countDown(); }); } diff --git a/Mage.Client/src/test/java/mage/client/game/StartMultiGamesTest.java b/Mage.Client/src/test/java/mage/client/game/StartMultiGamesTest.java index ae98d45766f..10e2d072f90 100644 --- a/Mage.Client/src/test/java/mage/client/game/StartMultiGamesTest.java +++ b/Mage.Client/src/test/java/mage/client/game/StartMultiGamesTest.java @@ -1,12 +1,13 @@ package mage.client.game; -import javax.swing.SwingUtilities; import mage.client.MageFrame; import mage.client.components.MageComponents; import mage.client.components.MageUI; import org.apache.log4j.Logger; import org.junit.Ignore; +import javax.swing.*; + /** * @author ayratn */ @@ -42,18 +43,12 @@ public class StartMultiGamesTest { private void startGame() throws Exception { frame = null; - Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { - public void uncaughtException(Thread t, Throwable e) { - logger.fatal(null, e); - } - }); - SwingUtilities.invokeLater(new Runnable() { - public void run() { - synchronized (sync) { - frame = new MageFrame(); - frame.setVisible(true); - sync.notify(); - } + Thread.setDefaultUncaughtExceptionHandler((t, e) -> logger.fatal(null, e)); + SwingUtilities.invokeLater(() -> { + synchronized (sync) { + frame = new MageFrame(); + frame.setVisible(true); + sync.notify(); } }); synchronized (sync) { diff --git a/Mage.Common/src/mage/db/EntityManager.java b/Mage.Common/src/mage/db/EntityManager.java index aea98be0c05..3938b9ab1ce 100644 --- a/Mage.Common/src/mage/db/EntityManager.java +++ b/Mage.Common/src/mage/db/EntityManager.java @@ -49,7 +49,7 @@ public enum EntityManager { } public List getAllLogs() { - List logs = new ArrayList(); + List logs = new ArrayList<>(); try { logs = logDao.queryForAll(); } catch (SQLException ex) { @@ -64,7 +64,7 @@ public enum EntityManager { } public List getAllFeedbacks() { - List feedbacks = new ArrayList(); + List feedbacks = new ArrayList<>(); try { feedbacks = feedbackDao.queryForAll(); } catch (SQLException ex) { diff --git a/Mage.Common/src/mage/db/Statistics.java b/Mage.Common/src/mage/db/Statistics.java index aaa36896dbd..cdfe7d2d7b1 100644 --- a/Mage.Common/src/mage/db/Statistics.java +++ b/Mage.Common/src/mage/db/Statistics.java @@ -33,7 +33,7 @@ public final class Statistics { private static List displayTop3(Map nicknames) { Collection values = nicknames.values(); - List games = new ArrayList(); + List games = new ArrayList<>(); games.addAll(values); Collections.sort(games, new Comparator() { @Override @@ -43,7 +43,7 @@ public final class Statistics { }); // Top-3 - List numbersToFind = new ArrayList(); + List numbersToFind = new ArrayList<>(); for (Integer numberOfGames : games) { numbersToFind.add(numberOfGames); if (numbersToFind.size() == 3) { @@ -51,7 +51,7 @@ public final class Statistics { } } - Map players = new LinkedHashMap(); + Map players = new LinkedHashMap<>(); for (Map.Entry entry : nicknames.entrySet()) { if (check(numbersToFind, entry.getValue())) { players.put(entry.getValue(), entry.getKey()); @@ -70,7 +70,7 @@ public final class Statistics { private static Map displayCommonNumbers(List logs) { int count = 0; - Map nicknames = new HashMap(); + Map nicknames = new HashMap<>(); for (Log log : logs) { if (log.getKey().equals("gameStarted")) { if (log.getArguments() != null) { diff --git a/Mage.Common/src/mage/db/model/Log.java b/Mage.Common/src/mage/db/model/Log.java index 21de8e02925..ff11495f1d1 100644 --- a/Mage.Common/src/mage/db/model/Log.java +++ b/Mage.Common/src/mage/db/model/Log.java @@ -2,6 +2,7 @@ package mage.db.model; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; + import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -54,7 +55,7 @@ public class Log { } public List getArguments() { - ArrayList arguments = new ArrayList(); + ArrayList arguments = new ArrayList<>(); if (arg0 != null) { arguments.add(arg0); } diff --git a/Mage.Server.Console/src/main/java/mage/server/console/ConnectDialog.java b/Mage.Server.Console/src/main/java/mage/server/console/ConnectDialog.java index 6851c2c1c39..a2f15557d07 100644 --- a/Mage.Server.Console/src/main/java/mage/server/console/ConnectDialog.java +++ b/Mage.Server.Console/src/main/java/mage/server/console/ConnectDialog.java @@ -34,7 +34,12 @@ package mage.server.console; -import java.awt.Cursor; +import mage.remote.Connection; +import mage.remote.Connection.ProxyType; +import org.apache.log4j.Logger; + +import javax.swing.*; +import java.awt.*; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; @@ -43,13 +48,6 @@ import java.util.Arrays; import java.util.List; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JDialog; -import javax.swing.JOptionPane; -import javax.swing.SwingWorker; -import mage.remote.Connection; -import mage.remote.Connection.ProxyType; -import org.apache.log4j.Logger; /** * @@ -166,40 +164,20 @@ public class ConnectDialog extends JDialog { }); btnConnect.setText("Connect"); - btnConnect.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnConnectActionPerformed(evt); - } - }); + btnConnect.addActionListener(evt -> btnConnectActionPerformed(evt)); btnCancel.setText("Cancel"); - btnCancel.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnCancelActionPerformed(evt); - } - }); + btnCancel.addActionListener(evt -> btnCancelActionPerformed(evt)); chkAutoConnect.setText("Automatically connect to this server next time"); - chkAutoConnect.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - chkAutoConnectActionPerformed(evt); - } - }); + chkAutoConnect.addActionListener(evt -> chkAutoConnectActionPerformed(evt)); jButton1.setText("Find..."); jButton1.setToolTipText("Find public server"); jButton1.setName("findServerBtn"); // NOI18N - jButton1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - findPublicServerActionPerformed(evt); - } - }); + jButton1.addActionListener(evt -> findPublicServerActionPerformed(evt)); - cbProxyType.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cbProxyTypeActionPerformed(evt); - } - }); + cbProxyType.addActionListener(evt -> cbProxyTypeActionPerformed(evt)); lblProxyType.setLabelFor(cbProxyType); lblProxyType.setText("Proxy:"); @@ -254,11 +232,7 @@ public class ConnectDialog extends JDialog { lblProxyPassword.setText("Password:"); - txtPasswordField.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - txtPasswordFieldActionPerformed(evt); - } - }); + txtPasswordField.addActionListener(evt -> txtPasswordFieldActionPerformed(evt)); javax.swing.GroupLayout pnlProxyAuthLayout = new javax.swing.GroupLayout(pnlProxyAuth); pnlProxyAuth.setLayout(pnlProxyAuthLayout); diff --git a/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java b/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java index 1e2a0a92e5c..3843dd04f14 100644 --- a/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java +++ b/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java @@ -34,16 +34,6 @@ package mage.server.console; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.prefs.Preferences; -import javax.swing.Box; -import javax.swing.JOptionPane; -import javax.swing.SwingUtilities; -import javax.swing.UIManager; import mage.interfaces.MageClient; import mage.interfaces.callback.ClientCallback; import mage.remote.Connection; @@ -52,6 +42,14 @@ import mage.remote.SessionImpl; import mage.utils.MageVersion; import org.apache.log4j.Logger; +import javax.swing.*; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.prefs.Preferences; + /** * * @author BetaSteward_at_googlemail.com @@ -101,12 +99,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { logger.fatal("", ex); } - pingTaskExecutor.scheduleAtFixedRate(new Runnable() { - @Override - public void run() { - session.ping(); - } - }, 60, 60, TimeUnit.SECONDS); + pingTaskExecutor.scheduleAtFixedRate(() -> session.ping(), 60, 60, TimeUnit.SECONDS); } public boolean connect(Connection connection) { @@ -157,11 +150,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { btnConnect.setFocusable(false); btnConnect.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnConnect.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - btnConnect.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnConnectActionPerformed(evt); - } - }); + btnConnect.addActionListener(evt -> btnConnectActionPerformed(evt)); jToolBar1.add(btnConnect); btnSendMessage.setActionCommand("SendMessage"); @@ -170,11 +159,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { btnSendMessage.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); btnSendMessage.setText("Send Message"); btnSendMessage.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - btnSendMessage.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnSendMessageActionPerformed(evt); - } - }); + btnSendMessage.addActionListener(evt -> btnSendMessageActionPerformed(evt)); jToolBar1.add(btnSendMessage); lblStatus.setText("Not Connected"); @@ -224,12 +209,9 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { logger.info("Starting MAGE server console version " + version); logger.info("Logging level: " + logger.getEffectiveLevel()); - java.awt.EventQueue.invokeLater(new Runnable() { - @Override - public void run() { - new ConsoleFrame().setVisible(true); - logger.info("Started MAGE server console"); - } + java.awt.EventQueue.invokeLater(() -> { + new ConsoleFrame().setVisible(true); + logger.info("Started MAGE server console"); }); } @@ -252,12 +234,9 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { enableButtons(); } else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - setStatusText(message); - enableButtons(); - } + SwingUtilities.invokeLater(() -> { + setStatusText(message); + enableButtons(); }); } } @@ -270,13 +249,10 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { disableButtons(); } else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - consolePanel1.stop(); - setStatusText("Not connected"); - disableButtons(); - } + SwingUtilities.invokeLater(() -> { + consolePanel1.stop(); + setStatusText("Not connected"); + disableButtons(); }); } } @@ -287,12 +263,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { JOptionPane.showMessageDialog(this, message); } else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - JOptionPane.showMessageDialog(getFrame(), message); - } - }); + SwingUtilities.invokeLater(() -> JOptionPane.showMessageDialog(getFrame(), message)); } } @@ -302,12 +273,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient { JOptionPane.showMessageDialog(this, message, "Error", JOptionPane.ERROR_MESSAGE); } else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - JOptionPane.showMessageDialog(getFrame(), message, "Error", JOptionPane.ERROR_MESSAGE); - } - }); + SwingUtilities.invokeLater(() -> JOptionPane.showMessageDialog(getFrame(), message, "Error", JOptionPane.ERROR_MESSAGE)); } } diff --git a/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java b/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java index 5e2b590c2b4..0d820cc5174 100644 --- a/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java +++ b/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java @@ -33,25 +33,23 @@ */ package mage.server.console; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.CancellationException; -import java.util.concurrent.ExecutionException; -import static javax.swing.JTable.AUTO_RESIZE_NEXT_COLUMN; -import static javax.swing.JTable.AUTO_RESIZE_OFF; -import javax.swing.SwingWorker; -import javax.swing.table.AbstractTableModel; -import javax.swing.table.TableRowSorter; import mage.remote.Session; import mage.view.TableView; import mage.view.UserView; import org.apache.log4j.Logger; +import javax.swing.*; +import javax.swing.table.AbstractTableModel; +import javax.swing.table.TableRowSorter; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; + +import static javax.swing.JTable.AUTO_RESIZE_NEXT_COLUMN; +import static javax.swing.JTable.AUTO_RESIZE_OFF; + /** * * @author BetaSteward_at_googlemail.com @@ -161,42 +159,22 @@ public class ConsolePanel extends javax.swing.JPanel { jPanel4.setVerifyInputWhenFocusTarget(false); btnDisconnect.setText("Disconnect"); - btnDisconnect.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnDisconnectActionPerformed(evt); - } - }); + btnDisconnect.addActionListener(evt -> btnDisconnectActionPerformed(evt)); btnEndSession.setText("End session"); - btnEndSession.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnEndSessionActionPerformed(evt); - } - }); + btnEndSession.addActionListener(evt -> btnEndSessionActionPerformed(evt)); btnMuteUser.setText("Mute user"); btnMuteUser.setActionCommand("Mute 1h"); - btnMuteUser.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnMuteUserActionPerformed(evt); - } - }); + btnMuteUser.addActionListener(evt -> btnMuteUserActionPerformed(evt)); btnDeActivate.setText("(de)activate"); btnDeActivate.setActionCommand("Mute 1h"); - btnDeActivate.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnDeActivateActionPerformed(evt); - } - }); + btnDeActivate.addActionListener(evt -> btnDeActivateActionPerformed(evt)); btnLockUser.setText("Lock user"); btnLockUser.setActionCommand("Mute 1h"); - btnLockUser.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnLockUserActionPerformed(evt); - } - }); + btnLockUser.addActionListener(evt -> btnLockUserActionPerformed(evt)); lblMinutes.setText("Minutes"); @@ -277,11 +255,7 @@ public class ConsolePanel extends javax.swing.JPanel { ); btnRemoveTable.setText("Remove Table"); - btnRemoveTable.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnRemoveTableActionPerformed(evt); - } - }); + btnRemoveTable.addActionListener(evt -> btnRemoveTableActionPerformed(evt)); javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); jPanel6.setLayout(jPanel6Layout); diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/Attackers2.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/Attackers2.java index aa9da00613a..0c880b10dad 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/Attackers2.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/Attackers2.java @@ -28,10 +28,11 @@ package mage.player.ai; +import mage.game.permanent.Permanent; + import java.util.ArrayList; import java.util.List; import java.util.TreeMap; -import mage.game.permanent.Permanent; /** * @@ -40,7 +41,7 @@ import mage.game.permanent.Permanent; public class Attackers2 extends TreeMap> { public List getAttackers() { - List attackers = new ArrayList(); + List attackers = new ArrayList<>(); for (List l: this.values()) { for (Permanent permanent: l) { attackers.add(permanent); diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatInfo.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatInfo.java index 0a0377ce266..f77f38df7fe 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatInfo.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatInfo.java @@ -12,12 +12,12 @@ import java.util.Map; */ public class CombatInfo { - private Map> combat = new HashMap>(); + private Map> combat = new HashMap<>(); public void addPair(Permanent attacker, Permanent blocker) { List blockers = combat.get(attacker); if (blockers == null) { - blockers = new ArrayList(); + blockers = new ArrayList<>(); combat.put(attacker, blockers); } blockers.add(blocker); diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java index 889f4eefe9f..eaaa3a375f9 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/util/CombatUtil.java @@ -23,7 +23,7 @@ import java.util.*; */ public final class CombatUtil { - private static final List emptyList = new ArrayList(); + private static final List emptyList = new ArrayList<>(); private static final Logger log = Logger.getLogger(CombatUtil.class); @@ -32,8 +32,8 @@ public final class CombatUtil { public static List canKillOpponent(Game game, List attackersList, List blockersList, Player defender) { - List blockableAttackers = new ArrayList(blockersList); - List unblockableAttackers = new ArrayList(); + List blockableAttackers = new ArrayList<>(blockersList); + List unblockableAttackers = new ArrayList<>(); for (Permanent attacker : attackersList) { if (!canBeBlocked(game, attacker, blockersList)) { unblockableAttackers.add(attacker); @@ -44,7 +44,7 @@ public final class CombatUtil { sortByPower(blockableAttackers, true); // imagine that most powerful will be blocked as 1-vs-1 - List attackersThatWontBeBlocked = new ArrayList(blockableAttackers); + List attackersThatWontBeBlocked = new ArrayList<>(blockableAttackers); for (int i = 0; (i < blockersList.size() && i < blockableAttackers.size()); i++) { attackersThatWontBeBlocked.remove(blockableAttackers.get(i)); } @@ -147,7 +147,7 @@ public final class CombatUtil { * @return true if attacker can be blocked by any blocker */ public static List getPossibleBlockers(Game game, Permanent attacker, List blockersList) { - List canBlock = new ArrayList(); + List canBlock = new ArrayList<>(); for (Permanent blocker : blockersList) { if (blocker.canBlock(attacker.getId(), game)) { canBlock.add(blocker); @@ -184,7 +184,7 @@ public final class CombatUtil { } private static List getBlockersThatWillSurvive(Game game, UUID attackerId, UUID defenderId, Permanent attacker, List possibleBlockers) { - List blockers = new ArrayList(); + List blockers = new ArrayList<>(); for (Permanent blocker : possibleBlockers) { SurviveInfo info = willItSurvive(game, attackerId, defenderId, attacker, blocker); //if (info.isAttackerDied() && !info.isBlockerDied()) { @@ -321,7 +321,7 @@ public final class CombatUtil { } private static List getBlockersThatWillSurvive2(Game game, UUID attackerId, UUID defenderId, Permanent attacker, List possibleBlockers) { - List blockers = new ArrayList(); + List blockers = new ArrayList<>(); for (Permanent blocker : possibleBlockers) { SurviveInfo info = willItSurvive2(game, attackerId, defenderId, attacker, blocker); //if (info.isAttackerDied() && !info.isBlockerDied()) { diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/CombatEvaluator.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/CombatEvaluator.java index 31fa1953a89..12032f470be 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/CombatEvaluator.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/CombatEvaluator.java @@ -28,15 +28,16 @@ package mage.player.ai; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.TrampleAbility; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -44,7 +45,7 @@ import mage.game.permanent.Permanent; public class CombatEvaluator { //preserve calculations for efficiency - private Map values = new HashMap(); + private Map values = new HashMap<>(); public int evaluate(Permanent creature, Game game) { if (!values.containsKey(creature.getId())) { diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index b270e765c0e..de54f2db07d 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -617,9 +617,7 @@ public class ComputerPlayer extends PlayerImpl implements Player { } if (target.getOriginalTarget() instanceof TargetSpell) { if (!game.getStack().isEmpty()) { - Iterator it = game.getStack().iterator(); - while (it.hasNext()) { - StackObject o = it.next(); + for (StackObject o : game.getStack()) { if (o instanceof Spell && !source.getId().equals(o.getStackAbility().getId())) { target.addTarget(o.getId(), source, game); return true; @@ -651,9 +649,7 @@ public class ComputerPlayer extends PlayerImpl implements Player { } } if (!game.getStack().isEmpty()) { - Iterator it = game.getStack().iterator(); - while (it.hasNext()) { - StackObject stackObject = it.next(); + for (StackObject stackObject : game.getStack()) { if (stackObject instanceof Spell && source != null && !source.getId().equals(stackObject.getStackAbility().getId())) { if (((TargetSpellOrPermanent) target).getFilter().match(stackObject, game)) { target.addTarget(stackObject.getId(), source, game); diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/ActionSimulator.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/ActionSimulator.java index 54368cc841d..b18c34dec53 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/ActionSimulator.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/ActionSimulator.java @@ -28,8 +28,6 @@ package mage.player.ai.simulators; -import java.util.ArrayList; -import java.util.List; import mage.abilities.ActivatedAbility; import mage.cards.Card; import mage.game.Game; @@ -38,6 +36,9 @@ import mage.player.ai.ComputerPlayer; import mage.player.ai.PermanentEvaluator; import mage.players.Player; +import java.util.ArrayList; +import java.util.List; + /** * * @author BetaSteward_at_googlemail.com @@ -45,8 +46,8 @@ import mage.players.Player; public class ActionSimulator { private ComputerPlayer player; - private List playableInstants = new ArrayList(); - private List playableAbilities = new ArrayList(); + private List playableInstants = new ArrayList<>(); + private List playableAbilities = new ArrayList<>(); private Game game; diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatGroupSimulator.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatGroupSimulator.java index 026f7dac5b7..625ca01c98f 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatGroupSimulator.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatGroupSimulator.java @@ -28,20 +28,21 @@ package mage.player.ai.simulators; +import mage.game.Game; +import mage.game.permanent.Permanent; + import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import mage.game.Game; -import mage.game.permanent.Permanent; /** * * @author BetaSteward_at_googlemail.com */ public class CombatGroupSimulator implements Serializable { - public List attackers = new ArrayList(); - public List blockers = new ArrayList(); + public List attackers = new ArrayList<>(); + public List blockers = new ArrayList<>(); public UUID defenderId; public boolean defenderIsPlaneswalker; public int unblockedDamage; diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatSimulator.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatSimulator.java index d2eb5ffdf94..e0f6ee30ef7 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatSimulator.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/simulators/CombatSimulator.java @@ -28,30 +28,26 @@ package mage.player.ai.simulators; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.UUID; - import mage.counters.CounterType; import mage.game.Game; import mage.game.combat.CombatGroup; import mage.game.permanent.Permanent; import mage.players.Player; +import java.io.Serializable; +import java.util.*; +import java.util.Map.Entry; + /** * * @author BetaSteward_at_googlemail.com */ public class CombatSimulator implements Serializable { - public List groups = new ArrayList(); - public List defenders = new ArrayList(); - public Map playersLife = new HashMap(); - public Map planeswalkerLoyalty = new HashMap(); + public List groups = new ArrayList<>(); + public List defenders = new ArrayList<>(); + public Map playersLife = new HashMap<>(); + public Map planeswalkerLoyalty = new HashMap<>(); public UUID attackerId; public int rating = 0; @@ -89,7 +85,7 @@ public class CombatSimulator implements Serializable { } public int evaluate() { - Map damage = new HashMap(); + Map damage = new HashMap<>(); int result = 0; for (CombatGroupSimulator group: groups) { if (!damage.containsKey(group.defenderId)) { diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java index faec662ba7a..c409e2d2642 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/utils/RateCard.java @@ -191,7 +191,7 @@ public final class RateCard { } return 2 * (converted - colorPenalty + 1); } - final Map singleCount = new HashMap(); + final Map singleCount = new HashMap<>(); int maxSingleCount = 0; for (String symbol : card.getManaCost().getSymbols()) { int count = 0; @@ -257,7 +257,7 @@ public final class RateCard { * @return */ public static int getDifferentColorManaCount(Card card) { - Set symbols = new HashSet(); + Set symbols = new HashSet<>(); for (String symbol : card.getManaCost().getSymbols()) { if (isColoredMana(symbol)) { symbols.add(symbol); diff --git a/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSPlayer.java b/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSPlayer.java index ad07de128bb..a33fbfb2038 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSPlayer.java @@ -78,7 +78,7 @@ public class MCTSPlayer extends ComputerPlayer { } public List getPlayableOptions(Game game) { - List all = new ArrayList(); + List all = new ArrayList<>(); List playables = getPlayableAbilities(game); for (Ability ability: playables) { List options = game.getPlayer(playerId).getPlayableOptions(ability, game); @@ -122,7 +122,7 @@ public class MCTSPlayer extends ComputerPlayer { } public List> getAttacks(Game game) { - List> engagements = new ArrayList>(); + List> engagements = new ArrayList<>(); List attackersList = super.getAvailableAttackers(game); //use binary digits to calculate powerset of attackers int powerElements = (int) Math.pow(2, attackersList.size()); @@ -133,7 +133,7 @@ public class MCTSPlayer extends ComputerPlayer { while (binary.length() < attackersList.size()) { binary.insert(0, '0'); } - List engagement = new ArrayList(); + List engagement = new ArrayList<>(); for (int j = 0; j < attackersList.size(); j++) { if (binary.charAt(j) == '1') { engagement.add(attackersList.get(j).getId()); @@ -145,14 +145,14 @@ public class MCTSPlayer extends ComputerPlayer { } public List>> getBlocks(Game game) { - List>> engagements = new ArrayList>>(); + List>> engagements = new ArrayList<>(); int numGroups = game.getCombat().getGroups().size(); if (numGroups == 0) { return engagements; } //add a node with no blockers - List> engagement = new ArrayList>(); + List> engagement = new ArrayList<>(); for (int i = 0; i < numGroups; i++) { engagement.add(new ArrayList()); } @@ -165,9 +165,9 @@ public class MCTSPlayer extends ComputerPlayer { } private List> copyEngagement(List> engagement) { - List> newEngagement = new ArrayList>(); + List> newEngagement = new ArrayList<>(); for (List group: engagement) { - newEngagement.add(new ArrayList(group)); + newEngagement.add(new ArrayList<>(group)); } return newEngagement; } diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/Attackers.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/Attackers.java index a20c15f41da..e5d009e5689 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/Attackers.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/Attackers.java @@ -28,10 +28,11 @@ package mage.player.ai; +import mage.game.permanent.Permanent; + import java.util.ArrayList; import java.util.List; import java.util.TreeMap; -import mage.game.permanent.Permanent; /** * @@ -40,7 +41,7 @@ import mage.game.permanent.Permanent; public class Attackers extends TreeMap> { public List getAttackers() { - List attackers = new ArrayList(); + List attackers = new ArrayList<>(); for (List l: this.values()) { for (Permanent permanent: l) { attackers.add(permanent); diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java index d37112a665a..681fcac0fbc 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java @@ -28,9 +28,6 @@ package mage.player.ai; -import mage.constants.Outcome; -import mage.constants.PhaseStep; -import mage.constants.RangeOfInfluence; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; import mage.abilities.common.PassAbility; @@ -38,6 +35,9 @@ import mage.abilities.effects.Effect; import mage.abilities.effects.SearchEffect; import mage.cards.Cards; import mage.choices.Choice; +import mage.constants.Outcome; +import mage.constants.PhaseStep; +import mage.constants.RangeOfInfluence; import mage.game.Game; import mage.game.combat.Combat; import mage.game.combat.CombatGroup; @@ -163,7 +163,7 @@ public class ComputerPlayer2 extends ComputerPlayer implements Player { logger.info(name + " simulated " + nodeCount + " nodes in " + thinkTime/1000000000.0 + "s - average " + nodeCount/(thinkTime/1000000000.0) + " nodes/s"); if (!root.children.isEmpty()) { root = root.children.get(0); - actions = new LinkedList(root.abilities); + actions = new LinkedList<>(root.abilities); combat = root.combat; if (logger.isDebugEnabled()) logger.debug("adding actions:" + actions); @@ -184,7 +184,7 @@ public class ComputerPlayer2 extends ComputerPlayer implements Player { logger.debug("simlating -- game value:" + game.getState().getValue(true) + " test value:" + test.gameValue); if (root.playerId.equals(playerId) && root.abilities != null && game.getState().getValue(true).hashCode() == test.gameValue) { logger.debug("simulating -- continuing previous action chain"); - actions = new LinkedList(root.abilities); + actions = new LinkedList<>(root.abilities); combat = root.combat; return true; } @@ -284,10 +284,9 @@ public class ComputerPlayer2 extends ComputerPlayer implements Player { } protected void addActionsTimed() { - FutureTask task = new FutureTask(new Callable() { + FutureTask task = new FutureTask<>(new Callable() { @Override - public Integer call() throws Exception - { + public Integer call() throws Exception { return addActions(root, Integer.MIN_VALUE, Integer.MAX_VALUE); } }); diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java index c38a835d74b..b5233608078 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java @@ -30,7 +30,6 @@ package mage.player.ai; import mage.constants.PhaseStep; import mage.constants.RangeOfInfluence; -import mage.abilities.Ability; import mage.game.Game; import mage.game.combat.Combat; import mage.game.combat.CombatGroup; @@ -141,7 +140,7 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { logger.info(name + " simulated " + nodeCount + " nodes in " + thinkTime/1000000000.0 + "s - average " + nodeCount/(thinkTime/1000000000.0) + " nodes/s"); if (!root.children.isEmpty()) { root = root.children.get(0); - actions = new LinkedList(root.abilities); + actions = new LinkedList<>(root.abilities); combat = root.combat; if (logger.isDebugEnabled()) logger.debug("adding pre-combat actions:" + actions); @@ -165,7 +164,7 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { logger.info(name + " simulated " + nodeCount + " nodes in " + thinkTime/1000000000.0 + "s - average " + nodeCount/(thinkTime/1000000000.0) + " nodes/s"); if (!root.children.isEmpty()) { root = root.children.get(0); - actions = new LinkedList(root.abilities); + actions = new LinkedList<>(root.abilities); combat = root.combat; if (logger.isDebugEnabled()) logger.debug("adding post-combat actions:" + actions); diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulatedPlayer.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulatedPlayer.java index fb43fcb694e..957c6044030 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulatedPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulatedPlayer.java @@ -28,8 +28,6 @@ package mage.player.ai; -import java.util.*; -import java.util.concurrent.ConcurrentLinkedQueue; import mage.abilities.Ability; import mage.abilities.SpellAbility; import mage.abilities.TriggeredAbility; @@ -43,6 +41,9 @@ import mage.game.stack.StackAbility; import mage.target.Target; import org.apache.log4j.Logger; +import java.util.*; +import java.util.concurrent.ConcurrentLinkedQueue; + /** * * @author BetaSteward_at_googlemail.com @@ -73,12 +74,12 @@ public class SimulatedPlayer extends ComputerPlayer { } public List simulatePriority(Game game) { - allActions = new ConcurrentLinkedQueue(); + allActions = new ConcurrentLinkedQueue<>(); Game sim = game.copy(); simulateOptions(sim, pass); - ArrayList list = new ArrayList(allActions); + ArrayList list = new ArrayList<>(allActions); //Collections.shuffle(list); Collections.reverse(list); return list; @@ -160,7 +161,7 @@ public class SimulatedPlayer extends ComputerPlayer { }*/ public List addAttackers(Game game) { - Map engagements = new HashMap(); + Map engagements = new HashMap<>(); //useful only for two player games - will only attack first opponent UUID defenderId = game.getOpponents(playerId).iterator().next(); List attackersList = super.getAvailableAttackers(defenderId, game); @@ -189,13 +190,13 @@ public class SimulatedPlayer extends ComputerPlayer { logger.debug("simulating -- attack:" + sim.getCombat().getGroups().size()); } } - return new ArrayList(engagements.values()); + return new ArrayList<>(engagements.values()); } public List addBlockers(Game game) { - Map engagements = new HashMap(); + Map engagements = new HashMap<>(); int numGroups = game.getCombat().getGroups().size(); - if (numGroups == 0) return new ArrayList(); + if (numGroups == 0) return new ArrayList<>(); //add a node with no blockers Game sim = game.copy(); @@ -205,7 +206,7 @@ public class SimulatedPlayer extends ComputerPlayer { List blockers = getAvailableBlockers(game); addBlocker(game, blockers, engagements); - return new ArrayList(engagements.values()); + return new ArrayList<>(engagements.values()); } protected void addBlocker(Game game, List blockers, Map engagements) { diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulationNode.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulationNode.java index 625f93ad5c1..d283009629d 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulationNode.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/SimulationNode.java @@ -28,13 +28,14 @@ package mage.player.ai; +import mage.abilities.Ability; +import mage.game.Game; +import mage.game.combat.Combat; + import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import mage.abilities.Ability; -import mage.game.Game; -import mage.game.combat.Combat; /** * @@ -48,10 +49,10 @@ public class SimulationNode implements Serializable { protected int gameValue; protected List abilities; protected int depth; - protected List children = new ArrayList(); + protected List children = new ArrayList<>(); protected SimulationNode parent; - protected List targets = new ArrayList(); - protected List choices = new ArrayList(); + protected List targets = new ArrayList<>(); + protected List choices = new ArrayList<>(); protected UUID playerId; protected Combat combat; @@ -74,7 +75,7 @@ public class SimulationNode implements Serializable { public SimulationNode(SimulationNode parent, Game game, Ability ability, UUID playerId) { this(parent, game, playerId); - this.abilities = new ArrayList(); + this.abilities = new ArrayList<>(); abilities.add(ability); } diff --git a/Mage.Sets/src/mage/cards/a/AvengingArrow.java b/Mage.Sets/src/mage/cards/a/AvengingArrow.java index 2eb1e583b83..c02c3f32117 100644 --- a/Mage.Sets/src/mage/cards/a/AvengingArrow.java +++ b/Mage.Sets/src/mage/cards/a/AvengingArrow.java @@ -27,20 +27,21 @@ */ package mage.cards.a; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.watchers.common.SourceDidDamageWatcher; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -92,7 +93,7 @@ class AvengingArrowTarget extends TargetPermanent { @Override public Set possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) { Set availablePossibleTargets = super.possibleTargets(sourceId, sourceControllerId, game); - Set possibleTargets = new HashSet(); + Set possibleTargets = new HashSet<>(); SourceDidDamageWatcher watcher = (SourceDidDamageWatcher) game.getState().getWatchers().get("SourceDidDamageWatcher"); if (watcher != null) { for (UUID targetId : availablePossibleTargets) { diff --git a/Mage.Sets/src/mage/cards/b/BeastbreakerOfBalaGed.java b/Mage.Sets/src/mage/cards/b/BeastbreakerOfBalaGed.java index 415c218d352..97039b69709 100644 --- a/Mage.Sets/src/mage/cards/b/BeastbreakerOfBalaGed.java +++ b/Mage.Sets/src/mage/cards/b/BeastbreakerOfBalaGed.java @@ -27,7 +27,6 @@ */ package mage.cards.b; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -38,6 +37,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -59,13 +59,13 @@ public class BeastbreakerOfBalaGed extends LevelerCard { // Level up {2}{G} ({2}{G}: Put a level counter on this. Level up only as a sorcery.) this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{G}"))); - Abilities levelAbilities = new AbilitiesImpl(); + Abilities levelAbilities = new AbilitiesImpl<>(); levelAbilities.add(TrampleAbility.getInstance()); this.addAbilities(LevelerCardBuilder.construct( // LEVEL 1-3 // 4/4 - new LevelerCardBuilder.LevelAbility(1, 3, new AbilitiesImpl(), 4, 4), + new LevelerCardBuilder.LevelAbility(1, 3, new AbilitiesImpl<>(), 4, 4), // LEVEL 1-3 // 4/4 // Trample diff --git a/Mage.Sets/src/mage/cards/b/BrimstoneMage.java b/Mage.Sets/src/mage/cards/b/BrimstoneMage.java index 20dcf952619..50bbd67a14b 100644 --- a/Mage.Sets/src/mage/cards/b/BrimstoneMage.java +++ b/Mage.Sets/src/mage/cards/b/BrimstoneMage.java @@ -28,8 +28,6 @@ package mage.cards.b; -import mage.constants.CardType; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -42,6 +40,8 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; import java.util.UUID; @@ -61,12 +61,12 @@ public class BrimstoneMage extends LevelerCard { this.toughness = new MageInt(2); this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}{R}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); ability.addTarget(new TargetCreatureOrPlayer()); abilities1.add(ability); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new TapSourceCost()); ability.addTarget(new TargetCreatureOrPlayer()); abilities2.add(ability); diff --git a/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java b/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java index c9b0a4a91d6..bf72e874756 100644 --- a/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java +++ b/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java @@ -27,17 +27,15 @@ */ package mage.cards.c; -import java.util.ArrayList; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; @@ -45,6 +43,9 @@ import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.util.RandomUtil; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author North @@ -101,7 +102,7 @@ class CapriciousEfreetEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - ArrayList targetPermanents = new ArrayList(); + ArrayList targetPermanents = new ArrayList<>(); Permanent permanent = game.getPermanent(source.getTargets().get(0).getFirstTarget()); if (permanent != null) { targetPermanents.add(permanent); diff --git a/Mage.Sets/src/mage/cards/c/CaravanEscort.java b/Mage.Sets/src/mage/cards/c/CaravanEscort.java index 7ea9ae818d1..2f19e16123f 100644 --- a/Mage.Sets/src/mage/cards/c/CaravanEscort.java +++ b/Mage.Sets/src/mage/cards/c/CaravanEscort.java @@ -27,16 +27,16 @@ */ package mage.cards.c; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.AbilitiesImpl; import mage.abilities.Ability; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.keyword.FirstStrikeAbility; -import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.LevelUpAbility; +import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -57,9 +57,9 @@ public class CaravanEscort extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}"))); - AbilitiesImpl levelAbilities = new AbilitiesImpl(FirstStrikeAbility.getInstance()); + AbilitiesImpl levelAbilities = new AbilitiesImpl<>(FirstStrikeAbility.getInstance()); this.addAbilities(LevelerCardBuilder.construct( - new LevelerCardBuilder.LevelAbility(1, 4, new AbilitiesImpl(), 2, 2), + new LevelerCardBuilder.LevelAbility(1, 4, new AbilitiesImpl<>(), 2, 2), new LevelerCardBuilder.LevelAbility(5, -1, levelAbilities, 5, 5) )); diff --git a/Mage.Sets/src/mage/cards/c/CathedralMembrane.java b/Mage.Sets/src/mage/cards/c/CathedralMembrane.java index e7ff5af80d3..d464bd56e72 100644 --- a/Mage.Sets/src/mage/cards/c/CathedralMembrane.java +++ b/Mage.Sets/src/mage/cards/c/CathedralMembrane.java @@ -135,7 +135,7 @@ class CathedralMembraneEffect extends OneShotEffect { class CathedralMembraneWatcher extends Watcher { - public List blockedCreatures = new ArrayList(); + public List blockedCreatures = new ArrayList<>(); public CathedralMembraneWatcher() { super("CathedralMembraneWatcher", WatcherScope.CARD); diff --git a/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java b/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java index 8ac789f7a54..230f82b3fcd 100644 --- a/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java +++ b/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java @@ -27,9 +27,6 @@ */ package mage.cards.c; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -42,6 +39,9 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; @@ -70,10 +70,10 @@ public class CoralhelmCommander extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(FlyingAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(FlyingAbility.getInstance()); abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); diff --git a/Mage.Sets/src/mage/cards/c/Counterflux.java b/Mage.Sets/src/mage/cards/c/Counterflux.java index a2c47ec17b2..add5f6ef302 100644 --- a/Mage.Sets/src/mage/cards/c/Counterflux.java +++ b/Mage.Sets/src/mage/cards/c/Counterflux.java @@ -27,12 +27,6 @@ */ package mage.cards.c; -import java.util.LinkedList; -import java.util.List; -import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -43,6 +37,8 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.abilities.keyword.OverloadAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -52,6 +48,10 @@ import mage.game.stack.Spell; import mage.game.stack.StackObject; import mage.target.TargetSpell; +import java.util.LinkedList; +import java.util.List; +import java.util.UUID; + /** * @@ -109,7 +109,7 @@ class CounterfluxEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - List spellsToCounter = new LinkedList(); + List spellsToCounter = new LinkedList<>(); for (StackObject stackObject : game.getStack()) { if (stackObject instanceof Spell && !stackObject.getControllerId().equals(source.getControllerId())) { spellsToCounter.add((Spell) stackObject); diff --git a/Mage.Sets/src/mage/cards/c/Counterlash.java b/Mage.Sets/src/mage/cards/c/Counterlash.java index 6d3831fa585..509becfb184 100644 --- a/Mage.Sets/src/mage/cards/c/Counterlash.java +++ b/Mage.Sets/src/mage/cards/c/Counterlash.java @@ -27,16 +27,13 @@ */ package mage.cards.c; -import java.util.ArrayList; -import java.util.UUID; - -import mage.constants.CardType; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; @@ -48,6 +45,9 @@ import mage.players.Player; import mage.target.TargetSpell; import mage.target.common.TargetCardInHand; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author BetaSteward @@ -97,7 +97,7 @@ class CounterlashEffect extends OneShotEffect { game.getStack().counter(source.getFirstTarget(), source.getSourceId(), game); if (player.chooseUse(Outcome.PutCardInPlay, "Cast a nonland card in your hand that shares a card type with that spell without paying its mana cost?", source, game)) { FilterCard filter = new FilterCard(); - ArrayList> types = new ArrayList>(); + ArrayList> types = new ArrayList<>(); for (CardType type: stackObject.getCardType()) { if (type != CardType.LAND) { types.add(new CardTypePredicate(type)); diff --git a/Mage.Sets/src/mage/cards/d/DescentOfTheDragons.java b/Mage.Sets/src/mage/cards/d/DescentOfTheDragons.java index 62042d90468..d4aed13bd3a 100644 --- a/Mage.Sets/src/mage/cards/d/DescentOfTheDragons.java +++ b/Mage.Sets/src/mage/cards/d/DescentOfTheDragons.java @@ -27,8 +27,6 @@ */ package mage.cards.d; -import java.util.HashMap; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -42,6 +40,9 @@ import mage.players.Player; import mage.target.Target; import mage.target.common.TargetCreaturePermanent; +import java.util.HashMap; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -87,7 +88,7 @@ class DescentOfTheDragonsEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - HashMap playersWithTargets = new HashMap(); + HashMap playersWithTargets = new HashMap<>(); for (Target target : source.getTargets()) { for (UUID permanentId : target.getTargets()) { Permanent permanent = game.getPermanent(permanentId); diff --git a/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java b/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java index c41201537f7..92800ddc916 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java +++ b/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java @@ -27,9 +27,6 @@ */ package mage.cards.d; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -38,17 +35,16 @@ import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.ReplicateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterInstantOrSorcerySpell; import mage.game.Game; import mage.game.stack.Spell; import mage.game.stack.StackObject; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + /** * * @author LevelX2 @@ -107,11 +103,7 @@ class DjinnIlluminatusGainReplicateEffect extends ContinuousEffectImpl { if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.getControllerId().equals(source.getControllerId())) { Spell spell = (Spell) stackObject; if (filter.match(stackObject, game)) { - ReplicateAbility replicateAbility = replicateAbilities.get(spell.getId()); - if (replicateAbility == null) { - replicateAbility = new ReplicateAbility(spell.getCard(), spell.getSpellAbility().getManaCosts().getText()); - replicateAbilities.put(spell.getId(), replicateAbility); - } + ReplicateAbility replicateAbility = replicateAbilities.computeIfAbsent(spell.getId(), k -> new ReplicateAbility(spell.getCard(), spell.getSpellAbility().getManaCosts().getText())); game.getState().addOtherAbility(spell.getCard(), replicateAbility, false); // Do not copy because paid and # of activations state is handled in the baility } } diff --git a/Mage.Sets/src/mage/cards/d/DoublingChant.java b/Mage.Sets/src/mage/cards/d/DoublingChant.java index 5c2884473a6..d72e388c43e 100644 --- a/Mage.Sets/src/mage/cards/d/DoublingChant.java +++ b/Mage.Sets/src/mage/cards/d/DoublingChant.java @@ -27,16 +27,17 @@ */ package mage.cards.d; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.NamePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -45,7 +46,6 @@ import mage.target.common.TargetCardInLibrary; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import mage.filter.predicate.mageobject.NamePredicate; /** * @@ -88,8 +88,8 @@ class DoublingChantEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - List chosenCards = new ArrayList(); - List namesFiltered = new ArrayList(); + List chosenCards = new ArrayList<>(); + List namesFiltered = new ArrayList<>(); Player player = game.getPlayer(source.getControllerId()); if (player == null) { diff --git a/Mage.Sets/src/mage/cards/e/EatenBySpiders.java b/Mage.Sets/src/mage/cards/e/EatenBySpiders.java index 066a40e8891..13a79c5bdf1 100644 --- a/Mage.Sets/src/mage/cards/e/EatenBySpiders.java +++ b/Mage.Sets/src/mage/cards/e/EatenBySpiders.java @@ -27,21 +27,22 @@ */ package mage.cards.e; -import java.util.LinkedList; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.LinkedList; +import java.util.UUID; + /** * * @author North @@ -93,7 +94,7 @@ class EatenBySpidersEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(source.getFirstTarget()); if (permanent != null) { - LinkedList attachments = new LinkedList(); + LinkedList attachments = new LinkedList<>(); attachments.addAll(permanent.getAttachments()); for (UUID attachmentId : attachments) { diff --git a/Mage.Sets/src/mage/cards/e/EchoMage.java b/Mage.Sets/src/mage/cards/e/EchoMage.java index 6fede827439..1edc7da3ad8 100644 --- a/Mage.Sets/src/mage/cards/e/EchoMage.java +++ b/Mage.Sets/src/mage/cards/e/EchoMage.java @@ -27,7 +27,6 @@ */ package mage.cards.e; -import java.util.UUID; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -51,6 +50,8 @@ import mage.game.Game; import mage.game.stack.Spell; import mage.target.TargetSpell; +import java.util.UUID; + /** * * @author North @@ -79,7 +80,7 @@ public class EchoMage extends LevelerCard { // LEVEL 2-3 // 2/4 // {U}{U}, {tap}: Copy target instant or sorcery spell. You may choose new targets for the copy. - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl("{U}{U}")); ability.addTarget(new TargetSpell(filter)); ability.addCost(new TapSourceCost()); @@ -87,7 +88,7 @@ public class EchoMage extends LevelerCard { // LEVEL 4+ // 2/5 // {U}{U}, {tap}: Copy target instant or sorcery spell twice. You may choose new targets for the copies. - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new EchoMageEffect(), new ManaCostsImpl("{U}{U}")); ability.addTarget(new TargetSpell(filter)); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java b/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java index 6338e9d72c0..f9742dfc28c 100644 --- a/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java +++ b/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java @@ -27,15 +27,13 @@ */ package mage.cards.e; -import java.util.ArrayList; -import java.util.UUID; -import mage.constants.CardType; import mage.MageInt; import mage.MageObject; import mage.ObjectColor; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.filter.Filter; import mage.filter.FilterCard; import mage.filter.FilterObject; @@ -45,6 +43,9 @@ import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author LevelX2 @@ -113,7 +114,7 @@ class EmptyShrineKannushiProtectionAbility extends ProtectionAbility { } } - ArrayList> colorPredicates = new ArrayList>(); + ArrayList> colorPredicates = new ArrayList<>(); if (color.isBlack()) { colorPredicates.add(new ColorPredicate(ObjectColor.BLACK)); } diff --git a/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java b/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java index cb3c2e3757d..b0b72289fea 100644 --- a/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java +++ b/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java @@ -28,8 +28,6 @@ package mage.cards.e; -import mage.constants.CardType; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -39,10 +37,12 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawDiscardControllerEffect; -import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.LevelUpAbility; +import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Zone; import java.util.UUID; @@ -63,10 +63,10 @@ public class EnclaveCryptologist extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{U}"))); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost()); - Abilities abilities1 = new AbilitiesImpl(ability); + Abilities abilities1 = new AbilitiesImpl<>(ability); ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); - Abilities abilities2 = new AbilitiesImpl(ability); + Abilities abilities2 = new AbilitiesImpl<>(ability); this.addAbilities(LevelerCardBuilder.construct( new LevelerCardBuilder.LevelAbility(1, 2, abilities1, 0, 1), diff --git a/Mage.Sets/src/mage/cards/e/ExecutionersSwing.java b/Mage.Sets/src/mage/cards/e/ExecutionersSwing.java index fda223339ac..1d38457d6bc 100644 --- a/Mage.Sets/src/mage/cards/e/ExecutionersSwing.java +++ b/Mage.Sets/src/mage/cards/e/ExecutionersSwing.java @@ -27,22 +27,23 @@ */ package mage.cards.e; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.watchers.common.SourceDidDamageWatcher; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -119,7 +120,7 @@ class TargetCreaturePermanentThatDealtDamageThisTurn extends TargetPermanent { @Override public Set possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) { Set availablePossibleTargets = super.possibleTargets(sourceId, sourceControllerId, game); - Set possibleTargets = new HashSet(); + Set possibleTargets = new HashSet<>(); SourceDidDamageWatcher watcher = (SourceDidDamageWatcher) game.getState().getWatchers().get("SourceDidDamageWatcher"); if (watcher != null) { for (UUID targetId : availablePossibleTargets) { diff --git a/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java b/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java index 0a3c265f13a..d48d4a71b5c 100644 --- a/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java +++ b/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java @@ -27,9 +27,6 @@ */ package mage.cards.e; -import java.util.HashMap; -import java.util.Objects; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.EntersBattlefieldTriggeredAbility; @@ -48,6 +45,10 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.target.targetpointer.FixedTarget; +import java.util.HashMap; +import java.util.Objects; +import java.util.UUID; + /** * * @author spjspj @@ -100,7 +101,7 @@ class EyeOfSingularityETBEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - HashMap cardNames = new HashMap(); + HashMap cardNames = new HashMap<>(); HashMap toDestroy = new HashMap<>(); for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { diff --git a/Mage.Sets/src/mage/cards/f/FaithsReward.java b/Mage.Sets/src/mage/cards/f/FaithsReward.java index 53943aadeb2..0ea52836eb5 100644 --- a/Mage.Sets/src/mage/cards/f/FaithsReward.java +++ b/Mage.Sets/src/mage/cards/f/FaithsReward.java @@ -27,12 +27,15 @@ */ package mage.cards.f; -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.WatcherScope; +import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; @@ -99,7 +102,7 @@ class FaithsRewardEffect extends OneShotEffect { } class FaithsRewardWatcher extends Watcher { - ArrayList cards = new ArrayList(); + ArrayList cards = new ArrayList<>(); public FaithsRewardWatcher() { super("FaithsRewardWatcher", WatcherScope.GAME); diff --git a/Mage.Sets/src/mage/cards/f/FellShepherd.java b/Mage.Sets/src/mage/cards/f/FellShepherd.java index c4db2081102..4fab1fb1c5f 100644 --- a/Mage.Sets/src/mage/cards/f/FellShepherd.java +++ b/Mage.Sets/src/mage/cards/f/FellShepherd.java @@ -27,9 +27,6 @@ */ package mage.cards.f; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; @@ -42,11 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.WatcherScope; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.game.Game; @@ -57,6 +50,10 @@ import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; import mage.watchers.Watcher; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -98,7 +95,7 @@ public class FellShepherd extends CardImpl { class FellShepherdWatcher extends Watcher { - private Set creatureIds = new HashSet(); + private Set creatureIds = new HashSet<>(); public FellShepherdWatcher() { super("YourCreaturesPutToGraveFromBattlefield", WatcherScope.PLAYER); diff --git a/Mage.Sets/src/mage/cards/f/Fireball.java b/Mage.Sets/src/mage/cards/f/Fireball.java index 56539e5869b..ed91c98e464 100644 --- a/Mage.Sets/src/mage/cards/f/Fireball.java +++ b/Mage.Sets/src/mage/cards/f/Fireball.java @@ -27,11 +27,6 @@ */ package mage.cards.f; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; @@ -44,6 +39,8 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreatureOrPlayer; +import java.util.*; + /** * * @author BetaSteward_at_googlemail.com @@ -158,9 +155,7 @@ class FireballTargetCreatureOrPlayer extends TargetCreatureOrPlayer { } possibleTargets.removeAll(getTargets()); - Iterator it = possibleTargets.iterator(); - while (it.hasNext()) { - UUID targetId = it.next(); + for (UUID targetId : possibleTargets) { TargetCreatureOrPlayer target = this.copy(); target.clearChosen(); target.addTarget(targetId, source, game, true); diff --git a/Mage.Sets/src/mage/cards/f/FulgentDistraction.java b/Mage.Sets/src/mage/cards/f/FulgentDistraction.java index d8737c2295c..7b9018ec284 100644 --- a/Mage.Sets/src/mage/cards/f/FulgentDistraction.java +++ b/Mage.Sets/src/mage/cards/f/FulgentDistraction.java @@ -28,20 +28,21 @@ package mage.cards.f; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author maurer.it_at_gmail.com @@ -84,7 +85,7 @@ class FulgentDistractionEffect extends OneShotEffect { for ( UUID target : targetPointer.getTargets(game, source) ) { Permanent creature = game.getPermanent(target); - List copiedAttachments = new ArrayList(creature.getAttachments()); + List copiedAttachments = new ArrayList<>(creature.getAttachments()); for ( UUID equipmentId : copiedAttachments ) { Permanent equipment = game.getPermanent(equipmentId); boolean isEquipment = false; diff --git a/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java b/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java index 61da303d660..771b115eabf 100644 --- a/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java +++ b/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java @@ -28,14 +28,6 @@ package mage.cards.g; -import java.util.Iterator; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -45,9 +37,12 @@ import mage.abilities.keyword.DefenderAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -98,11 +93,7 @@ class GargoyleSentinelEffect extends ContinuousEffectImpl { switch (layer) { case AbilityAddingRemovingEffects_6: if (sublayer == SubLayer.NA) { - for (Iterator i = permanent.getAbilities().iterator(); i.hasNext();) { - Ability entry = i.next(); - if (entry.getId().equals(DefenderAbility.getInstance().getId())) - i.remove(); - } + permanent.getAbilities().removeIf(entry -> entry.getId().equals(DefenderAbility.getInstance().getId())); permanent.getAbilities().add(FlyingAbility.getInstance()); } break; diff --git a/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java b/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java index 84e347c83ae..72d5b4bbcec 100644 --- a/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java +++ b/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java @@ -27,9 +27,6 @@ */ package mage.cards.g; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; @@ -47,6 +44,10 @@ import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.watchers.common.PlayerDamagedBySourceWatcher; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -106,7 +107,7 @@ class GiltspireAvengerTarget extends TargetPermanent { @Override public Set possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) { Set availablePossibleTargets = super.possibleTargets(sourceId, sourceControllerId, game); - Set possibleTargets = new HashSet(); + Set possibleTargets = new HashSet<>(); PlayerDamagedBySourceWatcher watcher = (PlayerDamagedBySourceWatcher) game.getState().getWatchers().get("PlayerDamagedBySource", sourceControllerId); for (UUID targetId : availablePossibleTargets) { Permanent permanent = game.getPermanent(targetId); diff --git a/Mage.Sets/src/mage/cards/g/GravityWell.java b/Mage.Sets/src/mage/cards/g/GravityWell.java index 05f60b23cb3..ce786964bb8 100644 --- a/Mage.Sets/src/mage/cards/g/GravityWell.java +++ b/Mage.Sets/src/mage/cards/g/GravityWell.java @@ -27,8 +27,6 @@ */ package mage.cards.g; -import java.util.Iterator; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.ContinuousEffectImpl; @@ -36,18 +34,15 @@ import mage.abilities.effects.Effect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -132,12 +127,7 @@ class GravityWellEffect extends ContinuousEffectImpl { switch (layer) { case AbilityAddingRemovingEffects_6: if (sublayer == SubLayer.NA) { - for (Iterator i = permanent.getAbilities().iterator(); i.hasNext();) { - Ability entry = i.next(); - if (entry.getId().equals(FlyingAbility.getInstance().getId())) { - i.remove(); - } - } + permanent.getAbilities().removeIf(entry -> entry.getId().equals(FlyingAbility.getInstance().getId())); } break; } diff --git a/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java b/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java index edb2290cec4..916d919c0e4 100644 --- a/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java +++ b/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java @@ -27,7 +27,6 @@ */ package mage.cards.h; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -38,6 +37,7 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -58,11 +58,11 @@ public class HalimarWavewatch extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}"))); - Abilities levelAbilities = new AbilitiesImpl(); + Abilities levelAbilities = new AbilitiesImpl<>(); levelAbilities.add(new IslandwalkAbility()); this.addAbilities(LevelerCardBuilder.construct( - new LevelerCardBuilder.LevelAbility(1, 4, new AbilitiesImpl(), 0, 6), + new LevelerCardBuilder.LevelAbility(1, 4, new AbilitiesImpl<>(), 0, 6), new LevelerCardBuilder.LevelAbility(5, -1, levelAbilities, 6, 6) )); setMaxLevelCounters(5); diff --git a/Mage.Sets/src/mage/cards/h/HarmonicConvergence.java b/Mage.Sets/src/mage/cards/h/HarmonicConvergence.java index ee067fb0248..fccf2fecd3c 100644 --- a/Mage.Sets/src/mage/cards/h/HarmonicConvergence.java +++ b/Mage.Sets/src/mage/cards/h/HarmonicConvergence.java @@ -27,10 +27,6 @@ */ package mage.cards.h; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -46,6 +42,11 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetCard; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + /** * * @author North @@ -93,13 +94,9 @@ class HarmonicConvergenceEffect extends OneShotEffect { source.getSourceId(), game); - HashMap> moveList = new HashMap>(); + HashMap> moveList = new HashMap<>(); for (Permanent permanent : enchantments) { - List list = moveList.get(permanent.getControllerId()); - if (list == null) { - list = new ArrayList(); - moveList.put(permanent.getControllerId(), list); - } + List list = moveList.computeIfAbsent(permanent.getControllerId(), k -> new ArrayList<>()); list.add(permanent); } diff --git a/Mage.Sets/src/mage/cards/i/IkiralOutrider.java b/Mage.Sets/src/mage/cards/i/IkiralOutrider.java index d42b4a8366d..dfd3748a5a3 100644 --- a/Mage.Sets/src/mage/cards/i/IkiralOutrider.java +++ b/Mage.Sets/src/mage/cards/i/IkiralOutrider.java @@ -28,17 +28,17 @@ package mage.cards.i; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; import mage.abilities.Ability; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.LevelUpAbility; +import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -58,10 +58,10 @@ public class IkiralOutrider extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{4}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(VigilanceAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(VigilanceAbility.getInstance()); this.addAbilities(LevelerCardBuilder.construct( diff --git a/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java b/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java index 198ecca2baf..f071b30fc55 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java +++ b/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java @@ -28,10 +28,6 @@ package mage.cards.j; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.Mana; import mage.abilities.Abilities; @@ -46,9 +42,14 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; +import java.util.UUID; + /** * @@ -77,13 +78,13 @@ public class JoragaTreespeaker extends LevelerCard { // LEVEL 1-4 // 1/2 // {T}: Add {G}{G} to your mana pool. - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new TapSourceCost())); // LEVEL 5+ // 1/4 // Elves you control have "{T}: Add {G}{G} to your mana pool." - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new TapSourceCost()), Duration.WhileOnBattlefield, filter))); diff --git a/Mage.Sets/src/mage/cards/k/KabiraVindicator.java b/Mage.Sets/src/mage/cards/k/KabiraVindicator.java index 571fa48b0b5..9641d3d24e5 100644 --- a/Mage.Sets/src/mage/cards/k/KabiraVindicator.java +++ b/Mage.Sets/src/mage/cards/k/KabiraVindicator.java @@ -27,9 +27,6 @@ */ package mage.cards.k; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -41,6 +38,9 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import java.util.UUID; @@ -62,10 +62,10 @@ public class KabiraVindicator extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{W}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true))); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true))); this.addAbilities(LevelerCardBuilder.construct( diff --git a/Mage.Sets/src/mage/cards/k/KarganDragonlord.java b/Mage.Sets/src/mage/cards/k/KarganDragonlord.java index 3a18da36d85..9d1d6edb9da 100644 --- a/Mage.Sets/src/mage/cards/k/KarganDragonlord.java +++ b/Mage.Sets/src/mage/cards/k/KarganDragonlord.java @@ -28,9 +28,6 @@ package mage.cards.k; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -44,6 +41,9 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; import java.util.UUID; @@ -63,10 +63,10 @@ public class KarganDragonlord extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{R}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(FlyingAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(FlyingAbility.getInstance()); abilities2.add(TrampleAbility.getInstance()); abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"))); diff --git a/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java b/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java index 5f524950813..236ec2504d7 100644 --- a/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java +++ b/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java @@ -27,8 +27,6 @@ */ package mage.cards.k; -import mage.constants.CardType; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -41,6 +39,8 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Zone; import mage.game.permanent.token.ElephantToken; import java.util.UUID; @@ -61,12 +61,12 @@ public class KazanduTuskcaller extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{G}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ElephantToken()), new TapSourceCost())); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ElephantToken(), 2), new TapSourceCost())); diff --git a/Mage.Sets/src/mage/cards/k/KillingWave.java b/Mage.Sets/src/mage/cards/k/KillingWave.java index b719c3b3343..637362da98b 100644 --- a/Mage.Sets/src/mage/cards/k/KillingWave.java +++ b/Mage.Sets/src/mage/cards/k/KillingWave.java @@ -27,13 +27,13 @@ */ package mage.cards.k; -import mage.constants.CardType; -import mage.constants.Outcome; import mage.abilities.Ability; import mage.abilities.dynamicvalue.common.ManacostVariableValue; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -93,8 +93,8 @@ class KillingWaveEffect extends OneShotEffect { int amount = (new ManacostVariableValue()).calculate(game, source, this); if (amount > 0) { - LinkedList sacrifices = new LinkedList(); - HashMap lifePaidAmounts = new HashMap(); + LinkedList sacrifices = new LinkedList<>(); + HashMap lifePaidAmounts = new HashMap<>(); FilterCreaturePermanent filter = new FilterCreaturePermanent(); for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { diff --git a/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java b/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java index 1d10e90a9b1..70903f82cbf 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java @@ -27,7 +27,6 @@ */ package mage.cards.k; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -39,6 +38,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -59,10 +59,10 @@ public class KnightOfCliffhaven extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(FlyingAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(FlyingAbility.getInstance()); abilities2.add(VigilanceAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java b/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java index 1d802133f1f..3b0beda3b75 100644 --- a/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java +++ b/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java @@ -27,9 +27,6 @@ */ package mage.cards.k; -import java.util.HashMap; -import java.util.Objects; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; @@ -50,6 +47,10 @@ import mage.players.PlayerList; import mage.target.Target; import mage.target.common.TargetCardInHand; +import java.util.HashMap; +import java.util.Objects; +import java.util.UUID; + /** * * @author spjspj @@ -110,7 +111,7 @@ class KynaiosAndTirosEffect extends OneShotEffect { Player currentPlayer = game.getPlayer(playerList.get()); UUID firstInactivePlayer = null; Target target = new TargetCardInHand(filter); - HashMap noLandPlayers = new HashMap(); + HashMap noLandPlayers = new HashMap<>(); while (controller.canRespond()) { if (currentPlayer != null && currentPlayer.canRespond() && game.getState().getPlayersInRange(controller.getId(), game).contains(currentPlayer.getId())) { diff --git a/Mage.Sets/src/mage/cards/l/LeoninArbiter.java b/Mage.Sets/src/mage/cards/l/LeoninArbiter.java index db3672a1d4c..8dbb86850a9 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninArbiter.java +++ b/Mage.Sets/src/mage/cards/l/LeoninArbiter.java @@ -27,11 +27,6 @@ */ package mage.cards.l; -import java.util.AbstractMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.SpecialAction; @@ -41,16 +36,14 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; +import java.util.*; + /** * * @author maurer.it_at_gmail.com, dustinconrad @@ -135,7 +128,7 @@ class LeoninArbiterIgnoreEffect extends OneShotEffect { Map.Entry> turnIgnoringPlayersPair = (Map.Entry>) game.getState().getValue(key); if (turnIgnoringPlayersPair == null || !activationState.equals(turnIgnoringPlayersPair.getKey())) { - turnIgnoringPlayersPair = new AbstractMap.SimpleImmutableEntry>(activationState, new HashSet()); + turnIgnoringPlayersPair = new AbstractMap.SimpleImmutableEntry<>(activationState, new HashSet<>()); game.getState().setValue(key, turnIgnoringPlayersPair); } diff --git a/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java b/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java index b63a31acf37..faf8e86abb2 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java +++ b/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java @@ -27,10 +27,6 @@ */ package mage.cards.l; -import java.util.List; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -42,11 +38,16 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; +import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.List; +import java.util.UUID; + /** * * @author North @@ -66,11 +67,11 @@ public class LordOfShatterskullPass extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{R}"))); // LEVEL 1-5 // 6/6 - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); // LEVEL 6+ // 6/6 // Whenever Lord of Shatterskull Pass attacks, it deals 6 damage to each creature defending player controls. - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(new AttacksTriggeredAbility(new LordOfShatterskullPassEffect(), false)); this.addAbilities(LevelerCardBuilder.construct( diff --git a/Mage.Sets/src/mage/cards/m/MarchOfSouls.java b/Mage.Sets/src/mage/cards/m/MarchOfSouls.java index db32fd5a2b5..4f4a9b9b04d 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfSouls.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfSouls.java @@ -27,9 +27,6 @@ */ package mage.cards.m; -import java.util.HashMap; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -41,6 +38,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.SpiritWhiteToken; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; + /** * * @author LoneFox @@ -85,7 +86,7 @@ class MarchOfSoulsEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { List creatures = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), source.getSourceId(), game); - HashMap playersWithCreatures = new HashMap(); + HashMap playersWithCreatures = new HashMap<>(); for(Permanent p : creatures) { UUID controllerId = p.getControllerId(); if(p.destroy(source.getSourceId(), game, true)) { diff --git a/Mage.Sets/src/mage/cards/m/MazesEnd.java b/Mage.Sets/src/mage/cards/m/MazesEnd.java index ba28845b4f3..0607d55c905 100644 --- a/Mage.Sets/src/mage/cards/m/MazesEnd.java +++ b/Mage.Sets/src/mage/cards/m/MazesEnd.java @@ -28,12 +28,6 @@ package mage.cards.m; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SimpleActivatedAbility; @@ -45,6 +39,9 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; @@ -52,6 +49,10 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCardInLibrary; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author LevelX2 @@ -111,7 +112,7 @@ class MazesEndEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - List names = new ArrayList(); + List names = new ArrayList<>(); for (Permanent permanent : game.getBattlefield().getAllActivePermanents(source.getControllerId())) { if (permanent.hasSubtype("Gate", game)) { if (!names.contains(permanent.getName())) { diff --git a/Mage.Sets/src/mage/cards/m/Mindreaver.java b/Mage.Sets/src/mage/cards/m/Mindreaver.java index 6de80efc193..593b3ef29d2 100644 --- a/Mage.Sets/src/mage/cards/m/Mindreaver.java +++ b/Mage.Sets/src/mage/cards/m/Mindreaver.java @@ -27,9 +27,6 @@ */ package mage.cards.m; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; @@ -57,6 +54,10 @@ import mage.target.TargetPlayer; import mage.target.TargetSpell; import mage.util.CardUtil; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -138,7 +139,7 @@ class MindreaverNamePredicate implements Predicate { @Override public boolean apply(MageObject input, Game game) { - Set cardNames = new HashSet(); + Set cardNames = new HashSet<>(); UUID exileId = CardUtil.getCardExileZoneId(game, sourceId); ExileZone exileZone = game.getExile().getExileZone(exileId); if (exileZone != null) { diff --git a/Mage.Sets/src/mage/cards/m/MitoticManipulation.java b/Mage.Sets/src/mage/cards/m/MitoticManipulation.java index df8a291fb12..fc3627fb568 100644 --- a/Mage.Sets/src/mage/cards/m/MitoticManipulation.java +++ b/Mage.Sets/src/mage/cards/m/MitoticManipulation.java @@ -27,16 +27,9 @@ */ package mage.cards.m; -import java.util.HashSet; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,6 +40,10 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetCard; +import java.util.HashSet; +import java.util.List; +import java.util.UUID; + /** * * @author North @@ -89,7 +86,7 @@ class MitoticManipulationEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { List permanents = game.getBattlefield().getActivePermanents(source.getControllerId(), game); - HashSet permanentNames = new HashSet(); + HashSet permanentNames = new HashSet<>(); FilterCard filter = new FilterCard("card to put onto the battlefield"); for (Permanent permanent : permanents) { permanentNames.add(permanent.getName()); diff --git a/Mage.Sets/src/mage/cards/m/MurderousSpoils.java b/Mage.Sets/src/mage/cards/m/MurderousSpoils.java index e2a7f29e7a4..19675103ba4 100644 --- a/Mage.Sets/src/mage/cards/m/MurderousSpoils.java +++ b/Mage.Sets/src/mage/cards/m/MurderousSpoils.java @@ -27,9 +27,6 @@ */ package mage.cards.m; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.effects.ContinuousEffect; @@ -48,6 +45,10 @@ import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; import mage.target.targetpointer.FixedTarget; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author wetterlicht @@ -94,7 +95,7 @@ class MurderousSpoilsEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Permanent target = game.getPermanent(source.getFirstTarget()); if (target != null) { - List attachments = new ArrayList(); + List attachments = new ArrayList<>(); for (UUID uuid : target.getAttachments()) { Permanent attached = game.getBattlefield().getPermanent(uuid); if (attached.getSubtype(game).contains("Equipment")) { diff --git a/Mage.Sets/src/mage/cards/n/NaturesWill.java b/Mage.Sets/src/mage/cards/n/NaturesWill.java index 04206d7fdf4..b60c1499172 100644 --- a/Mage.Sets/src/mage/cards/n/NaturesWill.java +++ b/Mage.Sets/src/mage/cards/n/NaturesWill.java @@ -27,10 +27,6 @@ */ package mage.cards.n; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.Effect; @@ -47,6 +43,11 @@ import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -74,7 +75,7 @@ public class NaturesWill extends CardImpl { class NaturesWillTriggeredAbility extends TriggeredAbilityImpl { private boolean madeDamge = false; - private Set damagedPlayers = new HashSet(); + private Set damagedPlayers = new HashSet<>(); public NaturesWillTriggeredAbility() { super(Zone.BATTLEFIELD, new NaturesWillEffect(), false); @@ -83,7 +84,7 @@ class NaturesWillTriggeredAbility extends TriggeredAbilityImpl { public NaturesWillTriggeredAbility(final NaturesWillTriggeredAbility ability) { super(ability); this.madeDamge = ability.madeDamge; - this.damagedPlayers = new HashSet(); + this.damagedPlayers = new HashSet<>(); this.damagedPlayers.addAll(ability.damagedPlayers); } @@ -109,7 +110,7 @@ class NaturesWillTriggeredAbility extends TriggeredAbilityImpl { } if (event.getType().equals(EventType.COMBAT_DAMAGE_STEP_POST)) { if (madeDamge) { - Set damagedPlayersCopy = new HashSet(); + Set damagedPlayersCopy = new HashSet<>(); damagedPlayersCopy.addAll(damagedPlayers); for(Effect effect: this.getEffects()) { effect.setValue("damagedPlayers", damagedPlayersCopy); diff --git a/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java b/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java index 6de9b1f43ae..46b28a2520a 100644 --- a/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java +++ b/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java @@ -28,7 +28,6 @@ package mage.cards.n; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -40,6 +39,7 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -58,10 +58,10 @@ public class NirkanaCutthroat extends LevelerCard { this.toughness = new MageInt(2); this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{B}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(DeathtouchAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(FirstStrikeAbility.getInstance()); abilities2.add(DeathtouchAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/n/NullChampion.java b/Mage.Sets/src/mage/cards/n/NullChampion.java index 20ccc4829ea..3430bd1da05 100644 --- a/Mage.Sets/src/mage/cards/n/NullChampion.java +++ b/Mage.Sets/src/mage/cards/n/NullChampion.java @@ -28,7 +28,6 @@ package mage.cards.n; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -40,6 +39,7 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import mage.constants.Zone; import java.util.UUID; @@ -59,9 +59,9 @@ public class NullChampion extends LevelerCard { this.toughness = new MageInt(1); this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); this.addAbilities(LevelerCardBuilder.construct( diff --git a/Mage.Sets/src/mage/cards/o/OngoingInvestigation.java b/Mage.Sets/src/mage/cards/o/OngoingInvestigation.java index cfaea445eb2..56b8527f32c 100644 --- a/Mage.Sets/src/mage/cards/o/OngoingInvestigation.java +++ b/Mage.Sets/src/mage/cards/o/OngoingInvestigation.java @@ -27,9 +27,6 @@ */ package mage.cards.o; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.SimpleActivatedAbility; @@ -50,6 +47,10 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.target.common.TargetCardInYourGraveyard; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author fireshoes @@ -82,7 +83,7 @@ public class OngoingInvestigation extends CardImpl { class OngoingInvestigationTriggeredAbility extends TriggeredAbilityImpl { private boolean madeDamage = false; - private Set damagedPlayers = new HashSet(); + private Set damagedPlayers = new HashSet<>(); public OngoingInvestigationTriggeredAbility() { super(Zone.BATTLEFIELD, new InvestigateEffect(), false); @@ -91,7 +92,7 @@ class OngoingInvestigationTriggeredAbility extends TriggeredAbilityImpl { public OngoingInvestigationTriggeredAbility(final OngoingInvestigationTriggeredAbility ability) { super(ability); this.madeDamage = ability.madeDamage; - this.damagedPlayers = new HashSet(); + this.damagedPlayers = new HashSet<>(); this.damagedPlayers.addAll(ability.damagedPlayers); } @@ -117,7 +118,7 @@ class OngoingInvestigationTriggeredAbility extends TriggeredAbilityImpl { } if (event.getType().equals(EventType.COMBAT_DAMAGE_STEP_POST)) { if (madeDamage) { - Set damagedPlayersCopy = new HashSet(); + Set damagedPlayersCopy = new HashSet<>(); damagedPlayersCopy.addAll(damagedPlayers); for(Effect effect: this.getEffects()) { effect.setValue("damagedPlayers", damagedPlayersCopy); diff --git a/Mage.Sets/src/mage/cards/o/Outwit.java b/Mage.Sets/src/mage/cards/o/Outwit.java index cf140a7a4aa..0d0d0156dbd 100644 --- a/Mage.Sets/src/mage/cards/o/Outwit.java +++ b/Mage.Sets/src/mage/cards/o/Outwit.java @@ -141,7 +141,7 @@ public class Outwit extends CardImpl { @Override public Set possibleTargets(UUID sourceControllerId, Game game) { - Set possibleTargets = new HashSet(); + Set possibleTargets = new HashSet<>(); for (StackObject stackObject : game.getStack()) { if (stackObject instanceof Spell && filter.match((Spell) stackObject, game)) { if (targetsPlayer(stackObject.getId(), game)) { diff --git a/Mage.Sets/src/mage/cards/p/PyxisOfPandemonium.java b/Mage.Sets/src/mage/cards/p/PyxisOfPandemonium.java index 73c19fe3224..0ab8b036c28 100644 --- a/Mage.Sets/src/mage/cards/p/PyxisOfPandemonium.java +++ b/Mage.Sets/src/mage/cards/p/PyxisOfPandemonium.java @@ -27,9 +27,6 @@ */ package mage.cards.p; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -37,11 +34,7 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; +import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,6 +43,10 @@ import mage.game.Game; import mage.players.Player; import mage.util.CardUtil; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + /** * * @author LevelX2 @@ -117,11 +114,7 @@ class PyxisOfPandemoniumExileEffect extends OneShotEffect { if (player.getLibrary().size() > 0) { Card card = player.getLibrary().getFromTop(game); String exileKey = playerId.toString() + CardUtil.getExileZoneId(game, source.getSourceId(), source.getSourceObjectZoneChangeCounter()).toString(); - UUID exileId = exileIds.get(exileKey); - if (exileId == null) { - exileId = UUID.randomUUID(); - exileIds.put(exileKey, exileId); - } + UUID exileId = exileIds.computeIfAbsent(exileKey, k -> UUID.randomUUID()); player.moveCardsToExile(card, source, game, false, exileId, sourceObject.getIdName() + " (" + player.getName() + ')'); card.setFaceDown(true, game); } diff --git a/Mage.Sets/src/mage/cards/r/Reciprocate.java b/Mage.Sets/src/mage/cards/r/Reciprocate.java index 8df2f2ba0b8..050ca5fcd40 100644 --- a/Mage.Sets/src/mage/cards/r/Reciprocate.java +++ b/Mage.Sets/src/mage/cards/r/Reciprocate.java @@ -27,9 +27,6 @@ */ package mage.cards.r; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.effects.common.ExileTargetEffect; @@ -42,6 +39,10 @@ import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.watchers.common.PlayerDamagedBySourceWatcher; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * @author LevelX2 */ @@ -89,7 +90,7 @@ class ReciprocateTarget extends TargetPermanent { @Override public Set possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) { Set availablePossibleTargets = super.possibleTargets(sourceId, sourceControllerId, game); - Set possibleTargets = new HashSet(); + Set possibleTargets = new HashSet<>(); PlayerDamagedBySourceWatcher watcher = (PlayerDamagedBySourceWatcher) game.getState().getWatchers().get("PlayerDamagedBySource", sourceControllerId); for (UUID targetId : availablePossibleTargets) { Permanent permanent = game.getPermanent(targetId); diff --git a/Mage.Sets/src/mage/cards/r/ReverseTheSands.java b/Mage.Sets/src/mage/cards/r/ReverseTheSands.java index 970864b1260..c4b09c30f2c 100644 --- a/Mage.Sets/src/mage/cards/r/ReverseTheSands.java +++ b/Mage.Sets/src/mage/cards/r/ReverseTheSands.java @@ -27,9 +27,6 @@ */ package mage.cards.r; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -41,6 +38,10 @@ import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -86,7 +87,7 @@ class ReverseTheSandsEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Choice lifeChoice = new ChoiceImpl(true); - Set choices = new HashSet(); + Set choices = new HashSet<>(); for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); if (player != null) { diff --git a/Mage.Sets/src/mage/cards/s/SecondSunrise.java b/Mage.Sets/src/mage/cards/s/SecondSunrise.java index 29963084b31..4ce88d3d745 100644 --- a/Mage.Sets/src/mage/cards/s/SecondSunrise.java +++ b/Mage.Sets/src/mage/cards/s/SecondSunrise.java @@ -27,20 +27,23 @@ */ package mage.cards.s; -import java.util.ArrayList; -import java.util.UUID; - -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.WatcherScope; +import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.watchers.Watcher; +import java.util.ArrayList; +import java.util.UUID; + /** * * @author LevelX2 @@ -101,7 +104,7 @@ class SecondSunriseEffect extends OneShotEffect { } class SecondSunriseWatcher extends Watcher { - ArrayList cards = new ArrayList(); + ArrayList cards = new ArrayList<>(); public SecondSunriseWatcher() { super("SecondSunriseWatcher", WatcherScope.GAME); diff --git a/Mage.Sets/src/mage/cards/s/ShoalSerpent.java b/Mage.Sets/src/mage/cards/s/ShoalSerpent.java index faa9e423d95..af0a932b603 100644 --- a/Mage.Sets/src/mage/cards/s/ShoalSerpent.java +++ b/Mage.Sets/src/mage/cards/s/ShoalSerpent.java @@ -27,10 +27,6 @@ */ package mage.cards.s; -import java.util.Iterator; -import java.util.UUID; - -import mage.constants.*; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.LandfallAbility; @@ -38,9 +34,12 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -95,12 +94,7 @@ class ShoalSerpentEffect extends ContinuousEffectImpl { switch (layer) { case AbilityAddingRemovingEffects_6: if (sublayer == SubLayer.NA) { - for (Iterator i = permanent.getAbilities().iterator(); i.hasNext();) { - Ability entry = i.next(); - if (entry.getId().equals(DefenderAbility.getInstance().getId())) { - i.remove(); - } - } + permanent.getAbilities().removeIf(entry -> entry.getId().equals(DefenderAbility.getInstance().getId())); } break; } diff --git a/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java b/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java index 6d73cd9753f..d68523cb9ab 100644 --- a/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java +++ b/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java @@ -27,7 +27,6 @@ */ package mage.cards.s; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -38,6 +37,7 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -58,10 +58,10 @@ public class SkywatcherAdept extends LevelerCard { this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(FlyingAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(FlyingAbility.getInstance()); this.addAbilities(LevelerCardBuilder.construct( diff --git a/Mage.Sets/src/mage/cards/s/SpellContortion.java b/Mage.Sets/src/mage/cards/s/SpellContortion.java index 7dd9587bbf8..778996f88a3 100644 --- a/Mage.Sets/src/mage/cards/s/SpellContortion.java +++ b/Mage.Sets/src/mage/cards/s/SpellContortion.java @@ -27,10 +27,6 @@ */ package mage.cards.s; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.constants.CardType; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.dynamicvalue.common.MultikickerCount; import mage.abilities.effects.common.CounterUnlessPaysEffect; @@ -38,8 +34,13 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.target.TargetSpell; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -71,7 +72,7 @@ public class SpellContortion extends CardImpl { @Override public List getRules() { - List rules = new ArrayList(); + List rules = new ArrayList<>(); rules.add("Counter target spell unless its controller pays {2}. Draw a card for each time Spell Contortion was kicked."); return rules; } diff --git a/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java b/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java index 7ccfcb29de6..0349bb2443e 100644 --- a/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java +++ b/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java @@ -28,7 +28,6 @@ package mage.cards.s; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; @@ -40,6 +39,7 @@ import mage.abilities.keyword.LevelUpAbility; import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -58,10 +58,10 @@ public class StudentOfWarfare extends LevelerCard { this.toughness = new MageInt(1); this.addAbility(new LevelUpAbility(new ManaCostsImpl("{W}"))); - Abilities abilities1 = new AbilitiesImpl(); + Abilities abilities1 = new AbilitiesImpl<>(); abilities1.add(FirstStrikeAbility.getInstance()); - Abilities abilities2 = new AbilitiesImpl(); + Abilities abilities2 = new AbilitiesImpl<>(); abilities2.add(DoubleStrikeAbility.getInstance()); this.addAbilities(LevelerCardBuilder.construct( diff --git a/Mage.Sets/src/mage/cards/t/TheBattleOfYavin.java b/Mage.Sets/src/mage/cards/t/TheBattleOfYavin.java index 3e392612479..0d4ecaa8c72 100644 --- a/Mage.Sets/src/mage/cards/t/TheBattleOfYavin.java +++ b/Mage.Sets/src/mage/cards/t/TheBattleOfYavin.java @@ -27,9 +27,6 @@ */ package mage.cards.t; -import java.util.LinkedList; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.dynamicvalue.common.ManacostVariableValue; import mage.abilities.effects.OneShotEffect; @@ -43,6 +40,10 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetOpponent; +import java.util.LinkedList; +import java.util.List; +import java.util.UUID; + /** * * @author Styxo @@ -93,7 +94,7 @@ class TheBattleOfYavinEffect extends OneShotEffect { int amount = (new ManacostVariableValue()).calculate(game, source, this); if (amount > 0) { - LinkedList sacrifices = new LinkedList(); + LinkedList sacrifices = new LinkedList<>(); FilterNonlandPermanent filter = new FilterNonlandPermanent(); List permanents = game.getBattlefield().getAllActivePermanents(filter, opponent.getId(), game); diff --git a/Mage.Sets/src/mage/cards/t/TheGreatAurora.java b/Mage.Sets/src/mage/cards/t/TheGreatAurora.java index eba6c35b877..aa6345841a1 100644 --- a/Mage.Sets/src/mage/cards/t/TheGreatAurora.java +++ b/Mage.Sets/src/mage/cards/t/TheGreatAurora.java @@ -27,12 +27,6 @@ */ package mage.cards.t; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ExileSpellEffect; @@ -50,6 +44,8 @@ import mage.players.Player; import mage.target.TargetCard; import mage.target.common.TargetCardInHand; +import java.util.*; + /** * * @author LevelX2 @@ -98,11 +94,7 @@ class TheGreatAuroraEffect extends OneShotEffect { Map> permanentsOwned = new HashMap<>(); Collection permanents = game.getBattlefield().getActivePermanents(source.getControllerId(), game); for (Permanent permanent : permanents) { - List list = permanentsOwned.get(permanent.getOwnerId()); - if (list == null) { - list = new ArrayList<>(); - permanentsOwned.put(permanent.getOwnerId(), list); - } + List list = permanentsOwned.computeIfAbsent(permanent.getOwnerId(), k -> new ArrayList<>()); list.add(permanent); } diff --git a/Mage.Sets/src/mage/cards/t/ThoughtsOfRuin.java b/Mage.Sets/src/mage/cards/t/ThoughtsOfRuin.java index 6a54e2a4e05..ab969163def 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtsOfRuin.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtsOfRuin.java @@ -27,9 +27,6 @@ */ package mage.cards.t; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -44,6 +41,10 @@ import mage.players.Player; import mage.target.Target; import mage.target.common.TargetLandPermanent; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author LevelX2 @@ -93,7 +94,7 @@ class ThoughtsOfRuinEffect extends OneShotEffect { if (controller != null) { int amount = controller.getHand().size(); if (amount > 0) { - List permanentsToSacrifice = new ArrayList(); + List permanentsToSacrifice = new ArrayList<>(); // select all lands to sacrifice for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); diff --git a/Mage.Sets/src/mage/cards/t/ThranTurbine.java b/Mage.Sets/src/mage/cards/t/ThranTurbine.java index c8a34e87ec9..8853d1bbee1 100644 --- a/Mage.Sets/src/mage/cards/t/ThranTurbine.java +++ b/Mage.Sets/src/mage/cards/t/ThranTurbine.java @@ -27,8 +27,6 @@ */ package mage.cards.t; -import java.util.HashSet; -import java.util.UUID; import mage.ConditionalMana; import mage.Mana; import mage.abilities.Ability; @@ -53,6 +51,9 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.HashSet; +import java.util.UUID; + /** * * @author spjspjs @@ -98,7 +99,7 @@ class ThranTurbineEffect extends OneShotEffect { if (player != null) { Choice numberChoice = new ChoiceImpl(); - HashSet numbers = new HashSet(); + HashSet numbers = new HashSet<>(); numbers.add(Integer.toString(1)); numbers.add(Integer.toString(2)); numberChoice.setChoices(numbers); diff --git a/Mage.Sets/src/mage/cards/t/TideOfWar.java b/Mage.Sets/src/mage/cards/t/TideOfWar.java index c3cc6e4fa2f..eb129dd1859 100644 --- a/Mage.Sets/src/mage/cards/t/TideOfWar.java +++ b/Mage.Sets/src/mage/cards/t/TideOfWar.java @@ -27,9 +27,6 @@ */ package mage.cards.t; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.Effect; @@ -46,6 +43,10 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + /** * * @author LevelX2 @@ -126,7 +127,7 @@ class TideOfWarEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - Set toSacrifice = new HashSet(); + Set toSacrifice = new HashSet<>(); if (controller.flipCoin(game)) { // each blocking creature is sacrificed by its controller for (CombatGroup combatGroup: game.getCombat().getGroups()) { diff --git a/Mage.Sets/src/mage/cards/t/TranscendentMaster.java b/Mage.Sets/src/mage/cards/t/TranscendentMaster.java index afff8790010..d9b15b89df6 100644 --- a/Mage.Sets/src/mage/cards/t/TranscendentMaster.java +++ b/Mage.Sets/src/mage/cards/t/TranscendentMaster.java @@ -27,15 +27,18 @@ */ package mage.cards.t; -import mage.constants.CardType; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.AbilitiesImpl; import mage.abilities.Ability; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.keyword.*; +import mage.abilities.keyword.IndestructibleAbility; +import mage.abilities.keyword.LevelUpAbility; +import mage.abilities.keyword.LevelerCardBuilder; +import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; +import mage.constants.CardType; import java.util.UUID; @@ -60,12 +63,12 @@ public class TranscendentMaster extends LevelerCard { // LEVEL 6-11 // 6/6 // Lifelink - Abilities abilities1 = new AbilitiesImpl(LifelinkAbility.getInstance()); + Abilities abilities1 = new AbilitiesImpl<>(LifelinkAbility.getInstance()); // LEVEL 12+ // 9/9 // Lifelink // Transcendent Master is indestructible. - Abilities abilities2 = new AbilitiesImpl( + Abilities abilities2 = new AbilitiesImpl<>( LifelinkAbility.getInstance(), IndestructibleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/TritonTactics.java b/Mage.Sets/src/mage/cards/t/TritonTactics.java index bcbee127477..91e186877f5 100644 --- a/Mage.Sets/src/mage/cards/t/TritonTactics.java +++ b/Mage.Sets/src/mage/cards/t/TritonTactics.java @@ -27,13 +27,6 @@ */ package mage.cards.t; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffect; @@ -58,6 +51,8 @@ import mage.target.targetpointer.FixedTargets; import mage.util.CardUtil; import mage.watchers.Watcher; +import java.util.*; + /** * * @author LevelX2 @@ -254,11 +249,7 @@ class BlockedCreaturesWatcher extends Watcher { } else { attackerMap = new HashMap<>(); } - attackers = attackerMap.get(zoneChangeCounter); - if (attackers == null) { - attackers = new HashSet<>(); - attackerMap.put(zoneChangeCounter, attackers); - } + attackers = attackerMap.computeIfAbsent(zoneChangeCounter, k -> new HashSet<>()); attackers.add(CardUtil.getCardZoneString(null, attackerId, game)); game.getState().setValue("blockedAttackers" + getSourceId().toString(), attackerMap); } diff --git a/Mage.Sets/src/mage/cards/t/TurnToSlag.java b/Mage.Sets/src/mage/cards/t/TurnToSlag.java index 71b3eed9afa..63d54a20ff5 100644 --- a/Mage.Sets/src/mage/cards/t/TurnToSlag.java +++ b/Mage.Sets/src/mage/cards/t/TurnToSlag.java @@ -28,20 +28,20 @@ package mage.cards.t; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -import mage.constants.CardType; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author Loki @@ -80,7 +80,7 @@ class TurnToSlagEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Permanent target = game.getPermanent(source.getFirstTarget()); if (target != null) { - List attachments = new ArrayList(); + List attachments = new ArrayList<>(); for (UUID uuid : target.getAttachments()) { Permanent attached = game.getBattlefield().getPermanent(uuid); if (attached.getSubtype(game).contains("Equipment")) { diff --git a/Mage.Sets/src/mage/cards/w/WarleadersHelix.java b/Mage.Sets/src/mage/cards/w/WarleadersHelix.java index 8643224790a..1f6537a1fc7 100644 --- a/Mage.Sets/src/mage/cards/w/WarleadersHelix.java +++ b/Mage.Sets/src/mage/cards/w/WarleadersHelix.java @@ -27,16 +27,17 @@ */ package mage.cards.w; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.constants.CardType; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; +import mage.constants.CardType; import mage.target.common.TargetCreatureOrPlayer; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /** * * @author jeffwadsworth @@ -64,7 +65,7 @@ public class WarleadersHelix extends CardImpl { @Override public List getRules() { - List rules = new ArrayList(); + List rules = new ArrayList<>(); rules.add("Warleader's Helix deals 4 damage to target creature or player and you gain 4 life."); return rules; } diff --git a/Mage.Sets/src/mage/cards/w/WhimsOfTheFates.java b/Mage.Sets/src/mage/cards/w/WhimsOfTheFates.java index 327b53cef57..cdfc1301645 100644 --- a/Mage.Sets/src/mage/cards/w/WhimsOfTheFates.java +++ b/Mage.Sets/src/mage/cards/w/WhimsOfTheFates.java @@ -27,12 +27,6 @@ */ package mage.cards.w; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -49,6 +43,8 @@ import mage.target.Target; import mage.target.TargetPermanent; import mage.util.RandomUtil; +import java.util.*; + /** * * @author LevelX2 @@ -121,7 +117,7 @@ class WhimsOfTheFateEffect extends OneShotEffect { if (currentPlayer != null && game.getState().getPlayersInRange(controller.getId(), game).contains(currentPlayer.getId())) { Map> playerPiles = new HashMap<>(); for (int i = 1; i < 4; i++) { - playerPiles.put(i, new LinkedHashSet()); + playerPiles.put(i, new LinkedHashSet<>()); } playerPermanents.put(currentPlayer.getId(), playerPiles); for (int i = 1; i < 3; i++) { diff --git a/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java b/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java index 406a8b9bd16..ac9ea26bbac 100644 --- a/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java +++ b/Mage.Stats/src/main/java/com/xmage/ws/util/IPHolderUtil.java @@ -8,8 +8,8 @@ package com.xmage.ws.util; */ public final class IPHolderUtil { - private static final ThreadLocal ipThreadLocal = new ThreadLocal(); - private static final ThreadLocal userAgentThreadLocal = new ThreadLocal(); + private static final ThreadLocal ipThreadLocal = new ThreadLocal<>(); + private static final ThreadLocal userAgentThreadLocal = new ThreadLocal<>(); private IPHolderUtil() {} diff --git a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java b/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java index 3654f325855..ce68bedbfb1 100644 --- a/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java +++ b/Mage.Stats/src/main/java/com/xmage/ws/util/json/JSONParser.java @@ -34,7 +34,7 @@ public class JSONParser { private CachePolicy cachePolicy = CachePolicy.CACHE_ONE_LEVEL_ONLY; - private Map cache = new HashMap(); + private Map cache = new HashMap<>(); public void parseJSON(String jsonString) throws JSONValidationException { parseJSON(jsonString, true); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/copy/CloneTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/copy/CloneTest.java index 536c5136b3d..8863198b27b 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/copy/CloneTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/copy/CloneTest.java @@ -1,6 +1,5 @@ package org.mage.test.cards.copy; -import java.util.Iterator; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffectsList; import mage.cards.Card; @@ -140,9 +139,8 @@ public class CloneTest extends CardTestPlayerBase { Logger.getLogger(CloneTest.class).debug("EXISTING CONTINUOUS EFFECTS:"); for (ContinuousEffectsList effectsList : currentGame.getContinuousEffects().allEffectsLists) { - Iterator it = effectsList.iterator(); - while (it.hasNext()) { - ContinuousEffect effect = (ContinuousEffect) it.next(); + for (Object anEffectsList : effectsList) { + ContinuousEffect effect = (ContinuousEffect) anEffectsList; Logger.getLogger(CloneTest.class).debug("- " + effect.toString()); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java b/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java index 8f6943bd0d5..e047c2737df 100644 --- a/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java +++ b/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java @@ -103,24 +103,21 @@ public class LoadCallbackClient implements CallbackClient { } private void startControlThread() { - new Thread(new Runnable() { - @Override - public void run() { - while (true) { - controlCount++; - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - if (controlCount > 5) { - log.warn("Game seems freezed. Sending boolean message to server."); - session.sendPlayerBoolean(gameId, false); - controlCount = 0; - } + new Thread(() -> { + while (true) { + controlCount++; + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + if (controlCount > 5) { + log.warn("Game seems freezed. Sending boolean message to server."); + session.sendPlayerBoolean(gameId, false); + controlCount = 0; } - } + }).start(); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java b/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java index bdf0c032576..5e551f1874c 100644 --- a/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java @@ -1,7 +1,9 @@ package org.mage.test.load; import mage.cards.Card; +import mage.cards.Sets; import mage.cards.decks.Deck; +import mage.cards.decks.DeckCardInfo; import mage.cards.decks.DeckCardLists; import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; @@ -13,7 +15,6 @@ import mage.player.ai.ComputerPlayer; import mage.remote.Connection; import mage.remote.Session; import mage.remote.SessionImpl; -import mage.cards.Sets; import mage.view.GameTypeView; import mage.view.TableView; import org.apache.log4j.Logger; @@ -24,7 +25,6 @@ import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.UUID; -import mage.cards.decks.DeckCardInfo; /** * Intended to test Mage server under different load patterns. @@ -142,14 +142,11 @@ public class LoadTest { for (int i = 0; i < EXECUTION_COUNT_PLAY_GAME; i++) { final int j = i; - Thread t = new Thread(new Runnable() { - @Override - public void run() { - try { - testSimpleGame0(deckList, j); - } catch (InterruptedException e) { - e.printStackTrace(); - } + Thread t = new Thread(() -> { + try { + testSimpleGame0(deckList, j); + } catch (InterruptedException e) { + e.printStackTrace(); } }); t.start(); @@ -288,7 +285,7 @@ public class LoadTest { */ private Deck generateRandomDeck() { String selectedColors = "BR"; - List allowedColors = new ArrayList(); + List allowedColors = new ArrayList<>(); log.info("Building deck with colors: " + selectedColors); for (int i = 0; i < selectedColors.length(); i++) { char c = selectedColors.charAt(i); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/PlayGameTest.java b/Mage.Tests/src/test/java/org/mage/test/serverside/PlayGameTest.java index d07589f5572..59802a09c85 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/PlayGameTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/PlayGameTest.java @@ -1,8 +1,9 @@ package org.mage.test.serverside; -import mage.constants.ColoredManaSymbol; import mage.cards.Card; +import mage.cards.Sets; import mage.cards.decks.Deck; +import mage.constants.ColoredManaSymbol; import mage.constants.MultiplayerAttackOption; import mage.constants.RangeOfInfluence; import mage.game.Game; @@ -11,7 +12,6 @@ import mage.game.GameOptions; import mage.game.TwoPlayerDuel; import mage.player.ai.ComputerPlayer; import mage.players.Player; -import mage.cards.Sets; import org.junit.Ignore; import org.junit.Test; import org.mage.test.serverside.base.MageTestBase; @@ -80,7 +80,7 @@ public class PlayGameTest extends MageTestBase { private Deck generateRandomDeck() { String selectedColors = colorChoices.get(new Random().nextInt(colorChoices.size())).toUpperCase(); - List allowedColors = new ArrayList(); + List allowedColors = new ArrayList<>(); logger.info("Building deck with colors: " + selectedColors); for (int i = 0; i < selectedColors.length(); i++) { char c = selectedColors.charAt(i); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/TestPlayRandomGame.java b/Mage.Tests/src/test/java/org/mage/test/serverside/TestPlayRandomGame.java index e409b738285..8d6a213307f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/TestPlayRandomGame.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/TestPlayRandomGame.java @@ -1,8 +1,9 @@ package org.mage.test.serverside; -import mage.constants.ColoredManaSymbol; import mage.cards.Card; +import mage.cards.Sets; import mage.cards.decks.Deck; +import mage.constants.ColoredManaSymbol; import mage.constants.MultiplayerAttackOption; import mage.constants.RangeOfInfluence; import mage.game.Game; @@ -11,7 +12,6 @@ import mage.game.GameOptions; import mage.game.TwoPlayerDuel; import mage.player.ai.ComputerPlayer; import mage.players.Player; -import mage.cards.Sets; import org.junit.Ignore; import org.junit.Test; import org.mage.test.serverside.base.MageTestBase; @@ -71,7 +71,7 @@ public class TestPlayRandomGame extends MageTestBase { private Deck generateRandomDeck() { String selectedColors = colorChoices.get(new Random().nextInt(colorChoices.size())).toUpperCase(); - List allowedColors = new ArrayList(); + List allowedColors = new ArrayList<>(); logger.info("Building deck with colors: " + selectedColors); for (int i = 0; i < selectedColors.length(); i++) { char c = selectedColors.charAt(i); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java index 00ee97cd165..472db3d0bcb 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java @@ -27,7 +27,6 @@ import org.mage.test.player.TestPlayer; import java.io.File; import java.io.FileNotFoundException; -import java.io.FilenameFilter; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -163,12 +162,7 @@ public abstract class MageTestBase { directory.mkdirs(); } File[] files = directory.listFiles( - new FilenameFilter() { - @Override - public boolean accept(File dir, String name) { - return name.endsWith(".game"); - } - } + (dir, name) -> name.endsWith(".game") ); for (File file : files) { file.delete(); diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java index 698271e5214..f97664b7894 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestPlayerBase.java @@ -25,8 +25,6 @@ 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; @@ -150,12 +148,7 @@ public abstract class MageTestPlayerBase { directory.mkdirs(); } File[] files = directory.listFiles( - new FilenameFilter() { - @Override - public boolean accept(File dir, String name) { - return name.endsWith(".game"); - } - } + (dir, name) -> name.endsWith(".game") ); for (File file : files) { file.delete(); diff --git a/Mage.Updater/src/main/java/com/magefree/update/helpers/FileHelper.java b/Mage.Updater/src/main/java/com/magefree/update/helpers/FileHelper.java index 9de551c2d9f..63b9d873e13 100644 --- a/Mage.Updater/src/main/java/com/magefree/update/helpers/FileHelper.java +++ b/Mage.Updater/src/main/java/com/magefree/update/helpers/FileHelper.java @@ -18,22 +18,12 @@ public final class FileHelper { /** * Filters out dirs. */ - private static final FileFilter anyFileFilter = new FileFilter() { - @Override - public boolean accept(File f) { - return f.isFile(); - } - }; + private static final FileFilter anyFileFilter = f -> f.isFile(); /** * Filters out jars. */ - private static final FilenameFilter jarFileFilter = new FilenameFilter() { - @Override - public boolean accept(File dir, String name) { - return name.endsWith(".jar"); - } - }; + private static final FilenameFilter jarFileFilter = (dir, name) -> name.endsWith(".jar"); /** * Gets .jar files from specified folder. @@ -42,7 +32,7 @@ public final class FileHelper { * @return */ public static List findJarsInDir(String dir) { - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); File directory = new File(dir); if (directory.exists() && directory.isDirectory()) { for (File jar : directory.listFiles(jarFileFilter)) { @@ -59,7 +49,7 @@ public final class FileHelper { * @return */ public static List findAllFilesInDir(String dir) { - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); File directory = new File(dir); if (directory.exists() && directory.isDirectory()) { for (File jar : directory.listFiles(anyFileFilter)) { diff --git a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java index cd041b6d59c..fc7378c4aee 100644 --- a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java @@ -212,7 +212,7 @@ public class ContinuousEffects implements Serializable { updateTimestamps(layerEffects); - Collections.sort(layerEffects, sorter); + layerEffects.sort(sorter); return layerEffects; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java index 05bbaaf28e1..8a99938b2a6 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CopySpellForEachItCouldTargetEffect.java @@ -27,14 +27,6 @@ */ package mage.abilities.effects.common; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; import mage.MageItem; import mage.MageObject; import mage.abilities.Ability; @@ -51,6 +43,8 @@ import mage.target.Target; import mage.target.TargetImpl; import mage.util.TargetAddress; +import java.util.*; + /** * @author duncant * @param @@ -158,7 +152,7 @@ public abstract class CopySpellForEachItCouldTargetEffect ex targetInstance.add(objId, game); } if (!playerTargetCopyMap.containsKey(copy.getControllerId())) { - playerTargetCopyMap.put(copy.getControllerId(), new HashMap()); + playerTargetCopyMap.put(copy.getControllerId(), new HashMap<>()); } playerTargetCopyMap.get(copy.getControllerId()).put(objId, copy); } diff --git a/Mage/src/main/java/mage/cards/ExpansionSet.java b/Mage/src/main/java/mage/cards/ExpansionSet.java index 384601df49c..6b6f0d2c0b8 100644 --- a/Mage/src/main/java/mage/cards/ExpansionSet.java +++ b/Mage/src/main/java/mage/cards/ExpansionSet.java @@ -27,13 +27,6 @@ */ package mage.cards; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Date; -import java.util.EnumMap; -import java.util.GregorianCalendar; -import java.util.Iterator; -import java.util.List; import mage.cards.repository.CardCriteria; import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; @@ -41,6 +34,9 @@ import mage.constants.Rarity; import mage.constants.SetType; import mage.util.RandomUtil; +import java.io.Serializable; +import java.util.*; + /** * @author BetaSteward_at_googlemail.com */ @@ -403,13 +399,7 @@ public abstract class ExpansionSet implements Serializable { savedCardsInfos = CardRepository.instance.findCards(criteria); // Workaround after card number is numeric if (maxCardNumberInBooster != Integer.MAX_VALUE) { - Iterator iterator = savedCardsInfos.iterator(); - while (iterator.hasNext()) { - CardInfo next = iterator.next(); - if (Integer.valueOf(next.getCardNumber()) > maxCardNumberInBooster && !rarity.equals(Rarity.LAND)) { - iterator.remove(); - } - } + savedCardsInfos.removeIf(next -> Integer.valueOf(next.getCardNumber()) > maxCardNumberInBooster && !rarity.equals(Rarity.LAND)); } savedCards.put(rarity, savedCardsInfos); diff --git a/Mage/src/main/java/mage/game/CardAttribute.java b/Mage/src/main/java/mage/game/CardAttribute.java index 6ed2cd7326d..0289d11b1fc 100644 --- a/Mage/src/main/java/mage/game/CardAttribute.java +++ b/Mage/src/main/java/mage/game/CardAttribute.java @@ -5,11 +5,12 @@ */ package mage.game; +import mage.ObjectColor; +import mage.cards.Card; + import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import mage.ObjectColor; -import mage.cards.Card; /** * This class saves changed attributes of cards (e.g. in graveyard, exile or player hands or libraries). @@ -23,7 +24,7 @@ public class CardAttribute implements Serializable { public CardAttribute(Card card) { color = card.getColor(null).copy(); - subtype = new ArrayList(card.getSubtype(null)); + subtype = new ArrayList<>(card.getSubtype(null)); } public CardAttribute(CardAttribute cardAttribute) { diff --git a/Mage/src/main/java/mage/game/GameCanadianHighlanderImpl.java b/Mage/src/main/java/mage/game/GameCanadianHighlanderImpl.java index e2877b17fa1..40aecac9efb 100644 --- a/Mage/src/main/java/mage/game/GameCanadianHighlanderImpl.java +++ b/Mage/src/main/java/mage/game/GameCanadianHighlanderImpl.java @@ -27,17 +27,14 @@ */ package mage.game; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Set; -import java.util.UUID; import mage.constants.MultiplayerAttackOption; import mage.constants.PhaseStep; import mage.constants.RangeOfInfluence; import mage.game.turn.TurnMod; import mage.players.Player; +import java.util.*; + public abstract class GameCanadianHighlanderImpl extends GameImpl { protected boolean startingPlayerSkipsDraw = true; @@ -58,59 +55,61 @@ public abstract class GameCanadianHighlanderImpl extends GameImpl { } private String getNextMulligan(String mulligan) { - if (mulligan.equals("7")) { - return "6a"; - } else if (mulligan.equals("6a")) { - return "6b"; - } else if (mulligan.equals("6b")) { - return "5a"; - } else if (mulligan.equals("5a")) { - return "5b"; - } else if (mulligan.equals("5b")) { - return "4a"; - } else if (mulligan.equals("4a")) { - return "4b"; - } else if (mulligan.equals("4b")) { - return "3a"; - } else if (mulligan.equals("3a")) { - return "3b"; - } else if (mulligan.equals("3b")) { - return "2a"; - } else if (mulligan.equals("2a")) { - return "2b"; - } else if (mulligan.equals("2b")) { - return "1a"; - } else if (mulligan.equals("1a")) { - return "1b"; + switch (mulligan) { + case "7": + return "6a"; + case "6a": + return "6b"; + case "6b": + return "5a"; + case "5a": + return "5b"; + case "5b": + return "4a"; + case "4a": + return "4b"; + case "4b": + return "3a"; + case "3a": + return "3b"; + case "3b": + return "2a"; + case "2a": + return "2b"; + case "2b": + return "1a"; + case "1a": + return "1b"; } return "0"; } private int getNextMulliganNum(String mulligan) { - if (mulligan.equals("7")) { - return 6; - } else if (mulligan.equals("6a")) { - return 6; - } else if (mulligan.equals("6b")) { - return 5; - } else if (mulligan.equals("5a")) { - return 5; - } else if (mulligan.equals("5b")) { - return 4; - } else if (mulligan.equals("4a")) { - return 4; - } else if (mulligan.equals("4b")) { - return 3; - } else if (mulligan.equals("3a")) { - return 3; - } else if (mulligan.equals("3b")) { - return 2; - } else if (mulligan.equals("2a")) { - return 2; - } else if (mulligan.equals("2b")) { - return 1; - } else if (mulligan.equals("1a")) { - return 1; + switch (mulligan) { + case "7": + return 6; + case "6a": + return 6; + case "6b": + return 5; + case "5a": + return 5; + case "5b": + return 4; + case "4a": + return 4; + case "4b": + return 3; + case "3a": + return 3; + case "3b": + return 2; + case "2a": + return 2; + case "2b": + return 1; + case "1a": + return 1; } return 0; } diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 56fdedf86f4..337158a0d35 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -27,19 +27,9 @@ */ package mage.game; -import java.io.IOException; -import java.io.Serializable; -import java.util.*; -import java.util.Map.Entry; - import mage.MageException; import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.ActivatedAbility; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.OpeningHandAction; -import mage.abilities.SpellAbility; -import mage.abilities.TriggeredAbility; +import mage.abilities.*; import mage.abilities.common.AttachableToRestrictedAbility; import mage.abilities.common.CantHaveMoreThanAmountCountersSourceAbility; import mage.abilities.effects.ContinuousEffect; @@ -53,24 +43,10 @@ import mage.abilities.keyword.TransformAbility; import mage.abilities.mana.DelayedTriggeredManaAbility; import mage.abilities.mana.TriggeredManaAbility; import mage.actions.impl.MageAction; -import mage.cards.Card; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.cards.MeldCard; -import mage.cards.SplitCard; -import mage.cards.SplitCardHalf; +import mage.cards.*; import mage.cards.decks.Deck; import mage.choices.Choice; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.MultiplayerAttackOption; -import mage.constants.Outcome; -import mage.constants.PhaseStep; -import mage.constants.PlayerAction; -import mage.constants.RangeOfInfluence; -import mage.constants.SpellAbilityType; -import mage.constants.Zone; +import mage.constants.*; import mage.counters.CounterType; import mage.counters.Counters; import mage.designations.Designation; @@ -89,14 +65,8 @@ import mage.game.combat.Combat; import mage.game.command.CommandObject; import mage.game.command.Commander; import mage.game.command.Emblem; -import mage.game.events.DamageEvent; -import mage.game.events.GameEvent; -import mage.game.events.Listener; -import mage.game.events.PlayerQueryEvent; -import mage.game.events.PlayerQueryEventSource; -import mage.game.events.TableEvent; +import mage.game.events.*; import mage.game.events.TableEvent.EventType; -import mage.game.events.TableEventSource; import mage.game.permanent.Battlefield; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentCard; @@ -119,15 +89,14 @@ import mage.util.MessageToClient; import mage.util.RandomUtil; import mage.util.functions.ApplyToPermanent; import mage.watchers.Watchers; -import mage.watchers.common.BlockedAttackerWatcher; -import mage.watchers.common.BloodthirstWatcher; -import mage.watchers.common.CastSpellLastTurnWatcher; -import mage.watchers.common.DamageDoneWatcher; -import mage.watchers.common.MorbidWatcher; -import mage.watchers.common.PlayerDamagedBySourceWatcher; -import mage.watchers.common.PlayerLostLifeWatcher; +import mage.watchers.common.*; import org.apache.log4j.Logger; +import java.io.IOException; +import java.io.Serializable; +import java.util.*; +import java.util.Map.Entry; + public abstract class GameImpl implements Game, Serializable { private static final int ROLLBACK_TURNS_MAX = 4; @@ -2584,11 +2553,7 @@ public abstract class GameImpl implements Game, Serializable { // remembers if a object was in a zone during the resolution of an effect // e.g. Wrath destroys all and you the question is is the replacement effect to apply because the source was also moved by the same effect // because it ahppens all at the same time the replcaement effect has still to be applied - Set idSet = shortLivingLKI.get(zone); - if (idSet == null) { - idSet = new HashSet<>(); - shortLivingLKI.put(zone, idSet); - } + Set idSet = shortLivingLKI.computeIfAbsent(zone, k -> new HashSet<>()); idSet.add(objectId); if (object instanceof Permanent) { Map lkiExtendedMap = lkiExtended.get(objectId); diff --git a/Mage/src/main/java/mage/game/GameState.java b/Mage/src/main/java/mage/game/GameState.java index 4b545ea1619..fbda67dc8c7 100644 --- a/Mage/src/main/java/mage/game/GameState.java +++ b/Mage/src/main/java/mage/game/GameState.java @@ -27,21 +27,8 @@ */ package mage.game; -import java.io.Serializable; -import java.util.*; - import mage.MageObject; -import mage.abilities.Abilities; -import mage.abilities.Ability; -import mage.abilities.ActivatedAbility; -import mage.abilities.DelayedTriggeredAbilities; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.MageSingleton; -import mage.abilities.Mode; -import mage.abilities.SpecialActions; -import mage.abilities.StaticAbility; -import mage.abilities.TriggeredAbilities; -import mage.abilities.TriggeredAbility; +import mage.abilities.*; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffects; import mage.abilities.effects.Effect; @@ -71,6 +58,9 @@ import mage.util.ThreadLocalStringBuilder; import mage.watchers.Watcher; import mage.watchers.Watchers; +import java.io.Serializable; +import java.util.*; + /** * * @author BetaSteward_at_googlemail.com @@ -1091,11 +1081,7 @@ public class GameState implements Serializable, Copyable { } public CardAttribute getCreateCardAttribute(Card card) { - CardAttribute cardAtt = cardAttribute.get(card.getId()); - if (cardAtt == null) { - cardAtt = new CardAttribute(card); - cardAttribute.put(card.getId(), cardAtt); - } + CardAttribute cardAtt = cardAttribute.computeIfAbsent(card.getId(), k -> new CardAttribute(card)); return cardAtt; } diff --git a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java index e7fbfc40beb..85c011229ed 100644 --- a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java +++ b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java @@ -27,7 +27,6 @@ */ package mage.game.permanent; -import java.util.*; import mage.MageObject; import mage.MageObjectReference; import mage.ObjectColor; @@ -36,25 +35,10 @@ import mage.abilities.Ability; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.RestrictionEffect; -import mage.abilities.keyword.DeathtouchAbility; -import mage.abilities.keyword.DefenderAbility; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.HexproofAbility; -import mage.abilities.keyword.IndestructibleAbility; -import mage.abilities.keyword.InfectAbility; -import mage.abilities.keyword.LifelinkAbility; -import mage.abilities.keyword.MorphAbility; -import mage.abilities.keyword.ProtectionAbility; -import mage.abilities.keyword.ShroudAbility; -import mage.abilities.keyword.WitherAbility; +import mage.abilities.keyword.*; import mage.cards.Card; import mage.cards.CardImpl; -import mage.constants.AsThoughEffectType; -import mage.constants.CardType; -import mage.constants.EffectType; -import mage.constants.EnterEventType; -import mage.constants.Rarity; -import mage.constants.Zone; +import mage.constants.*; import mage.counters.Counter; import mage.counters.CounterType; import mage.counters.Counters; @@ -71,6 +55,8 @@ import mage.players.Player; import mage.util.GameLog; import mage.util.ThreadLocalStringBuilder; +import java.util.*; + /** * @author BetaSteward_at_googlemail.com */ @@ -1216,7 +1202,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent { @Override public boolean clearImprinted(Game game) { - this.connectedCards.put("imprint", new ArrayList()); + this.connectedCards.put("imprint", new ArrayList<>()); return true; } diff --git a/Mage/src/main/java/mage/game/tournament/TournamentImpl.java b/Mage/src/main/java/mage/game/tournament/TournamentImpl.java index 3c48e1611b6..bae294f7c36 100644 --- a/Mage/src/main/java/mage/game/tournament/TournamentImpl.java +++ b/Mage/src/main/java/mage/game/tournament/TournamentImpl.java @@ -27,38 +27,23 @@ */ package mage.game.tournament; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -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.concurrent.CopyOnWriteArrayList; import mage.cards.ExpansionSet; import mage.cards.decks.Deck; import mage.constants.TournamentPlayerState; import mage.game.draft.Draft; import mage.game.draft.DraftCube; -import mage.game.events.Listener; -import mage.game.events.PlayerQueryEvent; -import mage.game.events.PlayerQueryEventSource; -import mage.game.events.TableEvent; +import mage.game.events.*; import mage.game.events.TableEvent.EventType; -import mage.game.events.TableEventSource; import mage.game.match.Match; import mage.game.match.MatchPlayer; -import mage.game.result.ResultProtos.MatchPlayerProto; -import mage.game.result.ResultProtos.MatchProto; -import mage.game.result.ResultProtos.MatchQuitStatus; -import mage.game.result.ResultProtos.TourneyProto; -import mage.game.result.ResultProtos.TourneyRoundProto; +import mage.game.result.ResultProtos.*; import mage.players.Player; import mage.util.RandomUtil; import org.apache.log4j.Logger; +import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; + /** * * @author BetaSteward_at_googlemail.com @@ -404,12 +389,7 @@ public abstract class TournamentImpl implements Tournament { player.setConstructing(); new Thread( - new Runnable() { - @Override - public void run() { - player.getPlayer().construct(TournamentImpl.this, player.getDeck()); - } - } + () -> player.getPlayer().construct(TournamentImpl.this, player.getDeck()) ).start(); } // add autosubmit trigger diff --git a/Mage/src/main/java/mage/game/tournament/pairing/RoundPairings.java b/Mage/src/main/java/mage/game/tournament/pairing/RoundPairings.java index b6c77874e18..315a5536b27 100644 --- a/Mage/src/main/java/mage/game/tournament/pairing/RoundPairings.java +++ b/Mage/src/main/java/mage/game/tournament/pairing/RoundPairings.java @@ -41,7 +41,7 @@ import java.util.List; public class RoundPairings { public RoundPairings() { - this(new ArrayList(), new ArrayList()); + this(new ArrayList<>(), new ArrayList<>()); } public RoundPairings(List pairings, List playerByes) { diff --git a/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java b/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java index 36f3e74bc53..8693def0da6 100644 --- a/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java +++ b/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingMinimalWeightMatching.java @@ -60,7 +60,7 @@ public class SwissPairingMinimalWeightMatching { public SwissPairingMinimalWeightMatching(List players, List rounds, boolean isLastRound) { playersCount = players.size(); - swissPlayers = new ArrayList(); + swissPlayers = new ArrayList<>(); for (TournamentPlayer tournamentPlayer : players) { PlayerInfo swissPlayer = new PlayerInfo(); swissPlayer.tournamentPlayer = tournamentPlayer; @@ -98,15 +98,12 @@ public class SwissPairingMinimalWeightMatching { } // sort by points and then by sos points - Collections.sort(swissPlayers, new Comparator() { - @Override - public int compare(PlayerInfo p1, PlayerInfo p2) { - int result = p2.points - p1.points; - if (result != 0) { - return result; - } - return p2.sosPoints - p1.sosPoints; + swissPlayers.sort((p1, p2) -> { + int result = p2.points - p1.points; + if (result != 0) { + return result; } + return p2.sosPoints - p1.sosPoints; }); // order could be changed, update ids and mapping diff --git a/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingSimple.java b/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingSimple.java index 249fa0b116d..494178bfd7e 100644 --- a/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingSimple.java +++ b/Mage/src/main/java/mage/game/tournament/pairing/SwissPairingSimple.java @@ -33,8 +33,6 @@ import mage.game.tournament.TournamentPairing; import mage.game.tournament.TournamentPlayer; import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; import java.util.List; /** @@ -59,13 +57,7 @@ public class SwissPairingSimple { List playerByes = new ArrayList<>(); // sort players by tournament points - Collections.sort(players, new Comparator() { - @Override - public int compare(TournamentPlayer p1, TournamentPlayer p2) { - return p2.getPoints() - p1.getPoints(); - } - - }); + players.sort((p1, p2) -> p2.getPoints() - p1.getPoints()); // create pairings while (!players.isEmpty()) { TournamentPlayer player1 = players.get(0); diff --git a/Mage/src/main/java/mage/target/targetpointer/SecondTargetPointer.java b/Mage/src/main/java/mage/target/targetpointer/SecondTargetPointer.java index 0e097f16cb4..db301a70553 100644 --- a/Mage/src/main/java/mage/target/targetpointer/SecondTargetPointer.java +++ b/Mage/src/main/java/mage/target/targetpointer/SecondTargetPointer.java @@ -1,14 +1,11 @@ package mage.target.targetpointer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; import mage.abilities.Ability; import mage.cards.Card; import mage.game.Game; +import java.util.*; + public class SecondTargetPointer implements TargetPointer { private Map zoneChangeCounter = new HashMap<>(); @@ -21,7 +18,7 @@ public class SecondTargetPointer implements TargetPointer { } public SecondTargetPointer(SecondTargetPointer firstTargetPointer) { - this.zoneChangeCounter = new HashMap(); + this.zoneChangeCounter = new HashMap<>(); for (Map.Entry entry : firstTargetPointer.zoneChangeCounter.entrySet()) { this.zoneChangeCounter.put(entry.getKey(), entry.getValue()); }