From c5ad28a65e2bd759ec741f85c86552e3e592c040 Mon Sep 17 00:00:00 2001 From: Alumi Date: Sun, 14 Mar 2021 04:53:55 +0000 Subject: [PATCH 01/32] Re-implement skip turn using replacement effect --- .../main/java/forge/ai/ability/UntapAi.java | 2 + .../java/forge/game/ability/AbilityKey.java | 1 + .../game/ability/effects/SkipTurnEffect.java | 37 +++++++++++- .../java/forge/game/phase/PhaseHandler.java | 56 +++++-------------- .../game/replacement/ReplaceBeginTurn.java | 34 +++++++++++ .../game/replacement/ReplacementHandler.java | 6 ++ .../game/replacement/ReplacementResult.java | 3 +- .../game/replacement/ReplacementType.java | 1 + forge-gui/res/cardsfolder/s/stranglehold.txt | 4 +- forge-gui/res/cardsfolder/t/time_vault.txt | 6 +- forge-gui/res/cardsfolder/u/ugins_nexus.txt | 3 +- 11 files changed, 101 insertions(+), 52 deletions(-) create mode 100644 forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java diff --git a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java index ecb45dd2ec8..2e557996182 100644 --- a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java @@ -71,6 +71,8 @@ public class UntapAi extends SpellAbilityAi { if (!sa.usesTargeting()) { if (mandatory) { return true; + } else if ("Never".equals(sa.getParam("AILogic"))) { + return false; } // TODO: use Defined to determine, if this is an unfavorable result diff --git a/forge-game/src/main/java/forge/game/ability/AbilityKey.java b/forge-game/src/main/java/forge/game/ability/AbilityKey.java index b0f526793b0..64ebf3d1fb9 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityKey.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityKey.java @@ -61,6 +61,7 @@ public enum AbilityKey { EffectOnly("EffectOnly"), Exploited("Exploited"), Explorer("Explorer"), + ExtraTurn("ExtraTurn"), Event("Event"), Fighter("Fighter"), Fighters("Fighters"), diff --git a/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java index 9c100db4b34..f8c854c0993 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java @@ -1,9 +1,19 @@ package forge.game.ability.effects; +import forge.game.Game; +import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; +import forge.game.card.Card; import forge.game.player.Player; +import forge.game.replacement.ReplacementEffect; +import forge.game.replacement.ReplacementHandler; +import forge.game.replacement.ReplacementLayer; +import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; +import forge.game.trigger.TriggerType; +import forge.game.zone.ZoneType; +import forge.util.Lang; import java.util.List; @@ -25,12 +35,33 @@ public class SkipTurnEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { + final Card hostCard = sa.getHostCard(); + final Game game = hostCard.getGame(); + final String name = hostCard.getName() + "'s Effect"; + final String image = hostCard.getImageKey(); final int numTurns = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumTurns"), sa); + String repeffstr = "Event$ BeginTurn | ActiveZones$ Command | ValidPlayer$ You " + + "| Description$ Skip your next " + (numTurns > 1 ? Lang.getNumeral(numTurns) + " turns." : "turn."); + String effect = "DB$ StoreSVar | SVar$ NumTurns | Type$ CountSVar | Expression$ NumTurns/Minus.1"; + String exile = "DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile " + + "| ConditionCheckSVar$ NumTurns | ConditionSVarCompare$ EQ0"; + List tgtPlayers = getTargetPlayers(sa); for (final Player player : tgtPlayers) { - for(int i = 0; i < numTurns; i++) { - player.addKeyword("Skip your next turn."); - } + final Card eff = createEffect(sa, player, name, image); + eff.setSVar("NumTurns", "Number$" + numTurns); + SpellAbility calcTurn = AbilityFactory.getAbility(effect, eff); + calcTurn.setSubAbility((AbilitySub) AbilityFactory.getAbility(exile, eff)); + + ReplacementEffect re = ReplacementHandler.parseReplacement(repeffstr, eff, true); + re.setLayer(ReplacementLayer.Other); + re.setOverridingAbility(calcTurn); + eff.addReplacementEffect(re); + eff.updateStateForView(); + + game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); + game.getAction().moveTo(ZoneType.Command, eff, sa); + game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone); } } } diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index 4cfb6dfd91a..7f3c7e8bc5b 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -36,8 +36,9 @@ import forge.game.cost.Cost; import forge.game.event.*; import forge.game.keyword.Keyword; import forge.game.player.Player; -import forge.game.player.PlayerController.BinaryChoiceType; import forge.game.player.PlayerController.ManaPaymentPurpose; +import forge.game.replacement.ReplacementResult; +import forge.game.replacement.ReplacementType; import forge.game.spellability.SpellAbility; import forge.game.spellability.LandAbility; import forge.game.staticability.StaticAbility; @@ -837,55 +838,28 @@ public class PhaseHandler implements java.io.Serializable { private Player getNextActivePlayer() { ExtraTurn extraTurn = !extraTurns.isEmpty() ? extraTurns.pop() : null; Player nextPlayer = extraTurn != null ? extraTurn.getPlayer() : game.getNextPlayerAfter(playerTurn); + // The bottom of the extra turn stack is the normal turn + boolean isExtraTurn = !extraTurns.isEmpty(); - // update ExtraTurn Count for all players - for (final Player p : game.getPlayers()) { - p.setExtraTurnCount(getExtraTurnForPlayer(p)); - } + // update ExtraTurn Count + nextPlayer.setExtraTurnCount(getExtraTurnForPlayer(nextPlayer)); - if (extraTurn != null) { - // The bottom of the extra turn stack is the normal turn - nextPlayer.setExtraTurn(!extraTurns.isEmpty()); - if (nextPlayer.hasKeyword("If you would begin an extra turn, skip that turn instead.")) { - return getNextActivePlayer(); - } - for (Trigger deltrig : extraTurn.getDelayedTriggers()) { - game.getTriggerHandler().registerThisTurnDelayedTrigger(deltrig); - } - } - else { - nextPlayer.setExtraTurn(false); - } - - if (nextPlayer.hasKeyword("Skip your next turn.")) { - nextPlayer.removeKeyword("Skip your next turn.", false); + // Replacement effects + final Map repRunParams = AbilityKey.mapFromAffected(nextPlayer); + repRunParams.put(AbilityKey.ExtraTurn, isExtraTurn); + ReplacementResult repres = game.getReplacementHandler().run(ReplacementType.BeginTurn, repRunParams); + if (repres != ReplacementResult.NotReplaced) { if (extraTurn == null) { setPlayerTurn(nextPlayer); } return getNextActivePlayer(); } - // TODO: This shouldn't filter by Time Vault, just in case Time Vault doesn't have it's normal ability. - CardCollection vaults = CardLists.filter(nextPlayer.getCardsIn(ZoneType.Battlefield, "Time Vault"), Presets.TAPPED); - if (!vaults.isEmpty()) { - Card crd = vaults.getFirst(); - SpellAbility fakeSA = new SpellAbility.EmptySa(crd, nextPlayer); - boolean untapTimeVault = nextPlayer.getController().chooseBinary(fakeSA, "Skip a turn to untap a Time Vault?", BinaryChoiceType.UntapTimeVault, false); - if (untapTimeVault) { - if (vaults.size() > 1) { - Card c = nextPlayer.getController().chooseSingleEntityForEffect(vaults, fakeSA, "Which Time Vault do you want to Untap?", null); - if (c != null) - crd = c; - } - crd.untap(); - if (extraTurn == null) { - setPlayerTurn(nextPlayer); - } - return getNextActivePlayer(); - } - } - + nextPlayer.setExtraTurn(isExtraTurn); if (extraTurn != null) { + for (Trigger deltrig : extraTurn.getDelayedTriggers()) { + game.getTriggerHandler().registerThisTurnDelayedTrigger(deltrig); + } if (extraTurn.isSkipUntap()) { nextPlayer.addKeyword("Skip the untap step of this turn."); } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java new file mode 100644 index 00000000000..ce01a8e1453 --- /dev/null +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java @@ -0,0 +1,34 @@ +package forge.game.replacement; + +import forge.game.ability.AbilityKey; +import forge.game.card.Card; +import forge.game.spellability.SpellAbility; + +import java.util.Map; + +public class ReplaceBeginTurn extends ReplacementEffect { + + public ReplaceBeginTurn(final Map mapParams, final Card host, final boolean intrinsic) { + super(mapParams, host, intrinsic); + } + + @Override + public boolean canReplace(Map runParams) { + if (hasParam("ValidPlayer")) { + if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { + return false; + } + } + if (hasParam("ExtraTurn")) { + if (!(boolean) runParams.get(AbilityKey.ExtraTurn)) { + return false; + } + } + return true; + } + + @Override + public void setReplacingObjects(Map runParams, SpellAbility sa) { + sa.setReplacingObject(AbilityKey.Player, runParams.get(AbilityKey.Affected)); + } +} diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java index d23d1f933dc..a8f8f7c06ec 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java @@ -349,6 +349,12 @@ public class ReplacementHandler { } } + if (mapParams.containsKey("Skip")) { + if (mapParams.get("Skip").equals("True")) { + return ReplacementResult.Skipped; // Event is skipped. + } + } + Player player = host.getController(); player.getController().playSpellAbilityNoStack(effectSA, true); diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementResult.java b/forge-game/src/main/java/forge/game/replacement/ReplacementResult.java index a60f85d12ce..86c771dda91 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementResult.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementResult.java @@ -8,5 +8,6 @@ public enum ReplacementResult { Replaced, NotReplaced, Prevented, - Updated + Updated, + Skipped } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementType.java b/forge-game/src/main/java/forge/game/replacement/ReplacementType.java index f218fb5e1f9..43c603fc5b4 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementType.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementType.java @@ -14,6 +14,7 @@ public enum ReplacementType { AddCounter(ReplaceAddCounter.class), AssignDealDamage(ReplaceAssignDealDamage.class), Attached(ReplaceAttached.class), + BeginTurn(ReplaceBeginTurn.class), Counter(ReplaceCounter.class), CopySpell(ReplaceCopySpell.class), CreateToken(ReplaceToken.class), diff --git a/forge-gui/res/cardsfolder/s/stranglehold.txt b/forge-gui/res/cardsfolder/s/stranglehold.txt index 78db97549dd..e40280c030d 100644 --- a/forge-gui/res/cardsfolder/s/stranglehold.txt +++ b/forge-gui/res/cardsfolder/s/stranglehold.txt @@ -2,7 +2,7 @@ Name:Stranglehold ManaCost:3 R Types:Enchantment S:Mode$ Continuous | Affected$ Opponent | AddKeyword$ CantSearchLibrary | Description$ Your opponents can't search libraries. -S:Mode$ Continuous | Affected$ Opponent | AddKeyword$ If you would begin an extra turn, skip that turn instead. | Description$ If an opponent would begin an extra turn, that player skips that turn instead. +R:Event$ BeginTurn | ActiveZones$ Battlefield | ValidPlayer$ Opponent | ExtraTurn$ True | Skip$ True | Description$ If an opponent would begin an extra turn, that player skips that turn instead. +SVar:NonStackingEffect:True AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/stranglehold.jpg Oracle:Your opponents can't search libraries.\nIf an opponent would begin an extra turn, that player skips that turn instead. diff --git a/forge-gui/res/cardsfolder/t/time_vault.txt b/forge-gui/res/cardsfolder/t/time_vault.txt index 30e898d2bfc..2a427e1289f 100644 --- a/forge-gui/res/cardsfolder/t/time_vault.txt +++ b/forge-gui/res/cardsfolder/t/time_vault.txt @@ -1,11 +1,11 @@ Name:Time Vault ManaCost:2 Types:Artifact -Text:If you would begin your turn while CARDNAME is tapped, you may skip that turn instead. If you do, untap CARDNAME. -K:CARDNAME doesn't untap during your untap step. K:CARDNAME enters the battlefield tapped. +K:CARDNAME doesn't untap during your untap step. +R:Event$ BeginTurn | ActiveZones$ Battlefield | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Optional$ True | ReplaceWith$ DBUntap | Description$ If you would begin your turn while CARDNAME is tapped, you may skip that turn instead. If you do, untap CARDNAME. +SVar:DBUntap:DB$ Untap | Defined$ Self | AILogic$ Never A:AB$ AddTurn | Cost$ T | NumTurns$ 1 | SpellDescription$ Take an extra turn after this one. SVar:PlayMain1:ALWAYS AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/time_vault.jpg Oracle:Time Vault enters the battlefield tapped.\nTime Vault doesn't untap during your untap step.\nIf you would begin your turn while Time Vault is tapped, you may skip that turn instead. If you do, untap Time Vault.\n{T}: Take an extra turn after this one. diff --git a/forge-gui/res/cardsfolder/u/ugins_nexus.txt b/forge-gui/res/cardsfolder/u/ugins_nexus.txt index 95f442e2327..c074d831794 100644 --- a/forge-gui/res/cardsfolder/u/ugins_nexus.txt +++ b/forge-gui/res/cardsfolder/u/ugins_nexus.txt @@ -1,11 +1,10 @@ Name:Ugin's Nexus ManaCost:5 Types:Legendary Artifact -S:Mode$ Continuous | Affected$ Player | AddKeyword$ If you would begin an extra turn, skip that turn instead. | Description$ If a player would begin an extra turn, that player skips that turn instead. +R:Event$ BeginTurn | ActiveZones$ Battlefield | ExtraTurn$ True | Skip$ True | Description$ If a player would begin an extra turn, that player skips that turn instead. R:Event$ Moved | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | ReplaceWith$ DBExile | Description$ If CARDNAME would be put into a graveyard from the battlefield, instead exile it and take an extra turn after this one. SVar:DBExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBAddTurn SVar:DBAddTurn:DB$ AddTurn | Defined$ ReplacedCardLKIController | NumTurns$ 1 AI:RemoveDeck:Random SVar:SacMe:5 -SVar:Picture:http://www.wizards.com/global/images/magic/general/ugins_nexus.jpg Oracle:If a player would begin an extra turn, that player skips that turn instead.\nIf Ugin's Nexus would be put into a graveyard from the battlefield, instead exile it and take an extra turn after this one. From 5cbc578a9cd54142e1f4adc9d81708b0a489f0e0 Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Sun, 14 Mar 2021 09:08:37 +0300 Subject: [PATCH 02/32] - Exclude promos from Quest Mode starting pool and random reward pool --- .../src/main/java/forge/card/CardDb.java | 17 ++++++++------- .../main/java/forge/quest/BoosterUtils.java | 4 ++-- .../main/java/forge/quest/QuestUtilCards.java | 21 ++++++++++++------- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index cdb48cfa730..e204dec3bc8 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -18,18 +18,12 @@ package forge.card; import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import com.google.common.collect.ListMultimap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimaps; - +import com.google.common.collect.*; import forge.card.CardEdition.CardInSet; import forge.card.CardEdition.Type; import forge.deck.generation.IDeckGenPool; import forge.item.PaperCard; import forge.util.*; - import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; @@ -547,6 +541,15 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { return roAllCards; } + public Collection getAllNonPromoCards() { + return Lists.newArrayList(Iterables.filter(this.roAllCards, new Predicate() { + @Override + public boolean apply(final PaperCard paperCard) { + return editions.getEditionByCodeOrThrow(paperCard.getEdition()).getType() != Type.PROMOS; + } + })); + } + public String getName(final String cardName) { if (alternateName.containsKey(cardName)) { return alternateName.get(cardName); diff --git a/forge-gui/src/main/java/forge/quest/BoosterUtils.java b/forge-gui/src/main/java/forge/quest/BoosterUtils.java index 84d6cb768bd..cf23ad1eee4 100644 --- a/forge-gui/src/main/java/forge/quest/BoosterUtils.java +++ b/forge-gui/src/main/java/forge/quest/BoosterUtils.java @@ -115,7 +115,7 @@ public final class BoosterUtils { filter = formatStartingPool.getFilterPrinted(); } - final List cardPool = Lists.newArrayList(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), filter)); + final List cardPool = Lists.newArrayList(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), filter)); if (userPrefs != null && userPrefs.grantCompleteSet()) { for (PaperCard card : cardPool) { @@ -478,7 +478,7 @@ public final class BoosterUtils { PrintSheet ps = new PrintSheet("Quest rewards"); Predicate predicate = preds.size() == 1 ? preds.get(0) : Predicates.and(preds); - ps.addAll(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), predicate)); + ps.addAll(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), predicate)); rewards.addAll(ps.random(qty, true)); } else if (temp.length == 2 && temp[0].equalsIgnoreCase("duplicate") && temp[1].equalsIgnoreCase("card")) { // Type 2: a duplicate card of the players choice diff --git a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java index ac51a6ba441..5234cc7ce40 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java @@ -23,7 +23,10 @@ import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.card.*; +import forge.card.CardEdition; +import forge.card.CardRarity; +import forge.card.ICardDatabase; +import forge.card.MagicColor; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameFormat; @@ -44,7 +47,9 @@ import forge.util.ItemPool; import forge.util.MyRandom; import org.apache.commons.lang3.tuple.Pair; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.Map.Entry; /** @@ -218,7 +223,7 @@ public final class QuestUtilCards { final Predicate myFilter = applyFormatFilter(QuestUtilCards.RARE_PREDICATE); - final PaperCard card = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter)); + final PaperCard card = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter)); addSingleCard(card, 1); return card; } @@ -231,7 +236,7 @@ public final class QuestUtilCards { */ public List addRandomCommon(final int n) { final Predicate myFilter = applyFormatFilter(QuestUtilCards.COMMON_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); addAllCards(newCards); return newCards; } @@ -244,7 +249,7 @@ public final class QuestUtilCards { */ public List addRandomUncommon(final int n) { final Predicate myFilter = applyFormatFilter(QuestUtilCards.UNCOMMON_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); addAllCards(newCards); return newCards; } @@ -259,7 +264,7 @@ public final class QuestUtilCards { public List addRandomRare(final int n) { final Predicate myFilter = applyFormatFilter(QuestUtilCards.RARE_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); addAllCards(newCards); return newCards; } @@ -274,7 +279,7 @@ public final class QuestUtilCards { public List addRandomRareNotMythic(final int n) { final Predicate myFilter = applyFormatFilter(QuestUtilCards.ONLY_RARE_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); addAllCards(newCards); return newCards; } @@ -289,7 +294,7 @@ public final class QuestUtilCards { public List addRandomMythicRare(final int n) { final Predicate myFilter = applyFormatFilter(QuestUtilCards.MYTHIC_PREDICATE); - final Iterable cardPool = Iterables.filter(FModel.getMagicDb().getCommonCards().getAllCards(), myFilter); + final Iterable cardPool = Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter); if (!cardPool.iterator().hasNext()) { return null; From 1cd7e4e23498355f954e01c360cee9a259185f47 Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Sun, 14 Mar 2021 09:53:10 +0300 Subject: [PATCH 03/32] - An option to exclude promos from quest reward pool --- .../home/quest/VSubmenuQuestPrefs.java | 2 ++ .../forge/screens/quest/QuestPrefsScreen.java | 1 + forge-gui/res/languages/de-DE.properties | 1 + forge-gui/res/languages/en-US.properties | 1 + forge-gui/res/languages/es-ES.properties | 1 + forge-gui/res/languages/it-IT.properties | 1 + forge-gui/res/languages/ja-JP.properties | 1 + forge-gui/res/languages/zh-CN.properties | 1 + .../main/java/forge/quest/QuestUtilCards.java | 36 +++++++++++++++---- .../forge/quest/data/QuestPreferences.java | 8 +++-- 10 files changed, 45 insertions(+), 8 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java index caab3c441ac..fb9d77463e6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java @@ -221,6 +221,8 @@ public enum VSubmenuQuestPrefs implements IVSubmenu { pnlRewards.add(new PrefInput(QPref.REWARDS_TURN1, QuestPreferencesErrType.REWARDS), fieldConstraints); pnlRewards.add(new FLabel.Builder().text(localizer.getMessage("lblMaxLifeDiffBonus")).fontAlign(SwingConstants.RIGHT).build(), labelConstraints); pnlRewards.add(new PrefInput(QPref.REWARDS_HEALTH_DIFF_MAX, QuestPreferencesErrType.REWARDS), fieldConstraints); + pnlRewards.add(new FLabel.Builder().text(localizer.getMessage("lblExcludePromosFromRewardPool")).fontAlign(SwingConstants.RIGHT).build(), labelConstraints); + pnlRewards.add(new PrefInput(QPref.EXCLUDE_PROMOS_FROM_POOL, QuestPreferencesErrType.REWARDS), fieldConstraints); } private void populateDifficulty() { pnlDifficulty.setOpaque(false); diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java index f267bf2fc80..4ad16f6f9af 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java @@ -70,6 +70,7 @@ public class QuestPrefsScreen extends FScreen { scroller.add(new PrefsOption(localizer.getMessage("lblWinbyTurn10"), QPref.REWARDS_TURN10, PrefsGroup.REWARDS)); scroller.add(new PrefsOption(localizer.getMessage("lblWinbyTurn5"), QPref.REWARDS_TURN5, PrefsGroup.REWARDS)); scroller.add(new PrefsOption(localizer.getMessage("lblFirstTurnWin"), QPref.REWARDS_TURN1, PrefsGroup.REWARDS)); + scroller.add(new PrefsOption(localizer.getMessage("lblExcludePromosFromRewardPool"), QPref.EXCLUDE_PROMOS_FROM_POOL, PrefsGroup.REWARDS)); //Booster Pack Ratios scroller.add(new PrefsHeader(localizer.getMessage("lblBoosterPackRatios"), FSkinImage.QUEST_BOOK, PrefsGroup.BOOSTER)); diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 3a2b59192e3..1f91f8971f8 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -701,6 +701,7 @@ lblWinbyTurn10=Sieg bis Zug 10 lblWinbyTurn5=Sieg bis Zug 5 lblFirstTurnWin=Sieg im ersten Zug lblMaxLifeDiffBonus=Max. Lebensdifferenzbonus +lblExcludePromosFromRewardPool=Exclude Promos lblEasy=Einfach lblMedium=Mittel lblHard=Hart diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 5e5798bc1fe..af39603f29d 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -701,6 +701,7 @@ lblWinbyTurn10=Win by Turn 10 lblWinbyTurn5=Win by Turn 5 lblFirstTurnWin=First Turn Win lblMaxLifeDiffBonus=Max Life Diff. Bonus +lblExcludePromosFromRewardPool=Exclude Promos lblEasy=Easy lblMedium=Medium lblHard=Hard diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 93bb5643c6a..f4de80612c1 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -701,6 +701,7 @@ lblWinbyTurn10=Victoria en el turno 10 lblWinbyTurn5=Victoria en el turno 5 lblFirstTurnWin=Victoria en el primer turno lblMaxLifeDiffBonus=Bonus por máxima diferencia en vidas +lblExcludePromosFromRewardPool=Exclude Promos lblEasy=Fácil lblMedium=Medio lblHard=Difícil diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index ef1e3094fa3..63c7184945c 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -701,6 +701,7 @@ lblWinbyTurn10=Vinci al turno 10 lblWinbyTurn5=Vinci al turno 5 lblFirstTurnWin=Primo turno Vinci lblMaxLifeDiffBonus=Max Life Diff. indennità +lblExcludePromosFromRewardPool=Exclude Promos lblEasy=Facile lblMedium=medio lblHard=Difficile diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index c3c0e34f5d5..6e04d1d8e51 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -701,6 +701,7 @@ lblWinbyTurn10=10ターン以内に勝利 lblWinbyTurn5=5ターン以内に勝利 lblFirstTurnWin=1ターン目に勝利 lblMaxLifeDiffBonus=ノーダメージ報酬 +lblExcludePromosFromRewardPool=Exclude Promos lblEasy=簡単 lblMedium=普通 lblHard=難しい diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index d425253b20d..5b8f82cdb5d 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -701,6 +701,7 @@ lblWinbyTurn10=10回合内胜利 lblWinbyTurn5=5回合内胜利 lblFirstTurnWin=第一回合胜利 lblMaxLifeDiffBonus=最大生命值差。奖金 +lblExcludePromosFromRewardPool=Exclude Promos lblEasy=简单 lblMedium=中等 lblHard=难 diff --git a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java index 5234cc7ce40..a0048b88292 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java @@ -48,6 +48,7 @@ import forge.util.MyRandom; import org.apache.commons.lang3.tuple.Pair; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map.Entry; @@ -220,10 +221,13 @@ public final class QuestUtilCards { * @return the card printed */ public PaperCard addRandomRare() { + final boolean usePromos = questPreferences.getPrefInt(QPref.EXCLUDE_PROMOS_FROM_POOL) == 0; + final Collection pool = usePromos ? FModel.getMagicDb().getCommonCards().getAllCards() + : FModel.getMagicDb().getCommonCards().getAllNonPromoCards(); final Predicate myFilter = applyFormatFilter(QuestUtilCards.RARE_PREDICATE); - final PaperCard card = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter)); + final PaperCard card = Aggregates.random(Iterables.filter(pool, myFilter)); addSingleCard(card, 1); return card; } @@ -235,8 +239,12 @@ public final class QuestUtilCards { * @return the list of cards added */ public List addRandomCommon(final int n) { + final boolean usePromos = questPreferences.getPrefInt(QPref.EXCLUDE_PROMOS_FROM_POOL) == 0; + final Collection pool = usePromos ? FModel.getMagicDb().getCommonCards().getAllCards() + : FModel.getMagicDb().getCommonCards().getAllNonPromoCards(); + final Predicate myFilter = applyFormatFilter(QuestUtilCards.COMMON_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(pool, myFilter), n); addAllCards(newCards); return newCards; } @@ -248,8 +256,12 @@ public final class QuestUtilCards { * @return the list of cards added */ public List addRandomUncommon(final int n) { + final boolean usePromos = questPreferences.getPrefInt(QPref.EXCLUDE_PROMOS_FROM_POOL) == 0; + final Collection pool = usePromos ? FModel.getMagicDb().getCommonCards().getAllCards() + : FModel.getMagicDb().getCommonCards().getAllNonPromoCards(); + final Predicate myFilter = applyFormatFilter(QuestUtilCards.UNCOMMON_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(pool, myFilter), n); addAllCards(newCards); return newCards; } @@ -262,9 +274,13 @@ public final class QuestUtilCards { * @return the list */ public List addRandomRare(final int n) { + final boolean usePromos = questPreferences.getPrefInt(QPref.EXCLUDE_PROMOS_FROM_POOL) == 0; + final Collection pool = usePromos ? FModel.getMagicDb().getCommonCards().getAllCards() + : FModel.getMagicDb().getCommonCards().getAllNonPromoCards(); + final Predicate myFilter = applyFormatFilter(QuestUtilCards.RARE_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(pool, myFilter), n); addAllCards(newCards); return newCards; } @@ -277,9 +293,13 @@ public final class QuestUtilCards { * @return the list */ public List addRandomRareNotMythic(final int n) { + final boolean usePromos = questPreferences.getPrefInt(QPref.EXCLUDE_PROMOS_FROM_POOL) == 0; + final Collection pool = usePromos ? FModel.getMagicDb().getCommonCards().getAllCards() + : FModel.getMagicDb().getCommonCards().getAllNonPromoCards(); + final Predicate myFilter = applyFormatFilter(QuestUtilCards.ONLY_RARE_PREDICATE); - final List newCards = Aggregates.random(Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter), n); + final List newCards = Aggregates.random(Iterables.filter(pool, myFilter), n); addAllCards(newCards); return newCards; } @@ -292,9 +312,13 @@ public final class QuestUtilCards { * @return the list */ public List addRandomMythicRare(final int n) { + final boolean usePromos = questPreferences.getPrefInt(QPref.EXCLUDE_PROMOS_FROM_POOL) == 0; + final Collection pool = usePromos ? FModel.getMagicDb().getCommonCards().getAllCards() + : FModel.getMagicDb().getCommonCards().getAllNonPromoCards(); + final Predicate myFilter = applyFormatFilter(QuestUtilCards.MYTHIC_PREDICATE); - final Iterable cardPool = Iterables.filter(FModel.getMagicDb().getCommonCards().getAllNonPromoCards(), myFilter); + final Iterable cardPool = Iterables.filter(pool, myFilter); if (!cardPool.iterator().hasNext()) { return null; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java b/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java index a60d03fbf92..d2286c94407 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java +++ b/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java @@ -177,7 +177,7 @@ public class QuestPreferences extends PreferencesStore i WILD_OPPONENTS_MULTIPLIER("2.0"), WILD_OPPONENTS_NUMBER("0"), - //The number of cards to keep before selling + // The number of cards to keep before selling PLAYSET_SIZE("4"), PLAYSET_ANY_NUMBER_SIZE("500"), PLAYSET_BASIC_LAND_SIZE("50"), @@ -187,7 +187,10 @@ public class QuestPreferences extends PreferencesStore i SIMULATE_AI_VS_AI_RESULTS("0"), DRAFT_ROTATION("0"), FOIL_FILTER_DEFAULT("0"), - RATING_FILTER_DEFAULT("1"); + RATING_FILTER_DEFAULT("1"), + + // Exclude promos from staring quest pool and the pool for random rewards + EXCLUDE_PROMOS_FROM_POOL("1"); private final String strDefaultVal; @@ -295,6 +298,7 @@ public class QuestPreferences extends PreferencesStore i case FOIL_FILTER_DEFAULT: case RATING_FILTER_DEFAULT: case ITEM_LEVEL_RESTRICTION: + case EXCLUDE_PROMOS_FROM_POOL: if (val != 0 && val != 1) { return "Only values 0 or 1 are acceptable; 1 for enabled, 0 for disabled."; } From 147a85e0e5035e3105e66008c613d2632bfdc061 Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Sun, 14 Mar 2021 09:55:18 +0300 Subject: [PATCH 04/32] - Clarification and announcement. --- forge-gui/release-files/ANNOUNCEMENTS.txt | 3 ++- forge-gui/src/main/java/forge/quest/data/QuestPreferences.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/forge-gui/release-files/ANNOUNCEMENTS.txt b/forge-gui/release-files/ANNOUNCEMENTS.txt index 5a649afaa61..a81aa6230f0 100644 --- a/forge-gui/release-files/ANNOUNCEMENTS.txt +++ b/forge-gui/release-files/ANNOUNCEMENTS.txt @@ -2,4 +2,5 @@ Get in the discord if you aren't yet. Planar Conquest now has a new plane accessible - Ikoria. In Planar Conquest, it's now possible to collect C19 cards on Eldraine and ZNE/ZNC cards on Zendikar. -In Planar Conquest, the Eldraine plane now holds a little secret that's rather unhinged. It may be difficult to find though. \ No newline at end of file +In Planar Conquest, the Eldraine plane now holds a little secret that's rather unhinged. It may be difficult to find though. +Quest Mode now has a preference option to enable or disable promos in random reward pool. \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java b/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java index d2286c94407..8611560a5de 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java +++ b/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java @@ -189,7 +189,7 @@ public class QuestPreferences extends PreferencesStore i FOIL_FILTER_DEFAULT("0"), RATING_FILTER_DEFAULT("1"), - // Exclude promos from staring quest pool and the pool for random rewards + // Exclude promos from the random reward pool EXCLUDE_PROMOS_FROM_POOL("1"); private final String strDefaultVal; From 174ecd4de6dcc08e3c752eca588eea15eba1aa85 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Sun, 14 Mar 2021 07:24:35 +0000 Subject: [PATCH 05/32] Update Ikoria Lair of Behemoths.txt --- forge-gui/res/editions/Ikoria Lair of Behemoths.txt | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/forge-gui/res/editions/Ikoria Lair of Behemoths.txt b/forge-gui/res/editions/Ikoria Lair of Behemoths.txt index 17d4c92ea03..634dd16946d 100644 --- a/forge-gui/res/editions/Ikoria Lair of Behemoths.txt +++ b/forge-gui/res/editions/Ikoria Lair of Behemoths.txt @@ -422,23 +422,18 @@ Prerelease=6 Boosters, 1 RareMythic+ 7 Plains|IKO|1 7 Plains|IKO|2 7 Plains|IKO|3 -7 Plains|IKO|4 7 Island|IKO|1 7 Island|IKO|2 7 Island|IKO|3 -7 Island|IKO|4 7 Swamp|IKO|1 7 Swamp|IKO|2 7 Swamp|IKO|3 -7 Swamp|IKO|4 7 Mountain|IKO|1 7 Mountain|IKO|2 7 Mountain|IKO|3 -7 Mountain|IKO|4 7 Forest|IKO|1 7 Forest|IKO|2 7 Forest|IKO|3 -7 Forest|IKO|4 [tokens] feather @@ -451,4 +446,4 @@ w_1_1_cat_bird_flying w_1_1_cat_lifelink w_1_1_human_soldier w_1_1_human_soldier -w_1_1_human_soldier \ No newline at end of file +w_1_1_human_soldier From 4688779358834d1a109233b3b0c49666dfe88a3d Mon Sep 17 00:00:00 2001 From: Hythonia Date: Sun, 14 Mar 2021 11:50:12 +0100 Subject: [PATCH 06/32] UntapAi modifications --- forge-ai/src/main/java/forge/ai/ability/UntapAi.java | 11 ++++------- forge-gui/res/cardsfolder/g/grindclock.txt | 1 + .../res/cardsfolder/k/kiki_jiki_mirror_breaker.txt | 2 +- forge-gui/res/cardsfolder/m/mana_vault.txt | 2 +- forge-gui/res/cardsfolder/p/prototype_portal.txt | 2 +- forge-gui/res/cardsfolder/t/time_vault.txt | 2 +- forge-gui/res/cardsfolder/t/tolarian_academy.txt | 3 ++- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java index ecb45dd2ec8..691feda55ac 100644 --- a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java @@ -314,13 +314,10 @@ public class UntapAi extends SpellAbilityAi { } private static Card detectPriorityUntapTargets(final List untapList) { - // untap Time Vault or another broken card? - Yes please! - String[] priorityList = {"Time Vault", "Mana Vault", "Icy Manipulator", "Steel Overseer", "Grindclock", "Prototype Portal"}; - for (String name : priorityList) { - for (Card c : untapList) { - if (c.getName().equals(name)) { - return c; - } + // See if there are cards that are *especially* worth untapping, like Time Vault + for (Card c : untapList) { + if ("True".equals(c.getSVar("UntapMe"))) { + return c; } } diff --git a/forge-gui/res/cardsfolder/g/grindclock.txt b/forge-gui/res/cardsfolder/g/grindclock.txt index e912c1b9baf..7337ae93404 100644 --- a/forge-gui/res/cardsfolder/g/grindclock.txt +++ b/forge-gui/res/cardsfolder/g/grindclock.txt @@ -5,4 +5,5 @@ A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescript A:AB$ Mill | Cost$ T | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player mills X cards, where X is the number of charge counters on Grindclock. SVar:X:Count$CardCounters.CHARGE DeckHas:Ability$Counters +SVar:UntapMe:True Oracle:{T}: Put a charge counter on Grindclock.\n{T}: Target player mills X cards, where X is the number of charge counters on Grindclock. diff --git a/forge-gui/res/cardsfolder/k/kiki_jiki_mirror_breaker.txt b/forge-gui/res/cardsfolder/k/kiki_jiki_mirror_breaker.txt index b21d030f25e..13fd2d5e3d4 100644 --- a/forge-gui/res/cardsfolder/k/kiki_jiki_mirror_breaker.txt +++ b/forge-gui/res/cardsfolder/k/kiki_jiki_mirror_breaker.txt @@ -4,5 +4,5 @@ Types:Legendary Creature Goblin Shaman PT:2/2 K:Haste A:AB$ CopyPermanent | Cost$ T | ValidTgts$ Creature.nonLegendary+YouCtrl | TgtPrompt$ Select target nonlegendary creature you control | AddKeywords$ Haste | AtEOT$ Sacrifice | AILogic$ BeforeCombat | SpellDescription$ Create a token that's a copy of target nonlegendary creature you control, except it has haste. Sacrifice it at the beginning of the next end step. -SVar:Picture:http://resources.wizards.com/magic/cards/chk/en-us/card50321.jpg +SVar:UntapMe:True Oracle:Haste\n{T}: Create a token that's a copy of target nonlegendary creature you control, except it has haste. Sacrifice it at the beginning of the next end step. diff --git a/forge-gui/res/cardsfolder/m/mana_vault.txt b/forge-gui/res/cardsfolder/m/mana_vault.txt index 1d3d224d168..12b06e554b9 100644 --- a/forge-gui/res/cardsfolder/m/mana_vault.txt +++ b/forge-gui/res/cardsfolder/m/mana_vault.txt @@ -7,7 +7,7 @@ T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | O T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Execute$ TrigDamage | TriggerDescription$ At the beginning of your draw step, if CARDNAME is tapped, it deals 1 damage to you. SVar:TrigUntap:AB$Untap | Cost$ 4 | Defined$ Self SVar:TrigDamage:DB$DealDamage | Defined$ You | NumDmg$ 1 -#TODO: The AI will untap this with Voltaic Key and will correctly untap it when it has enough available mana. Might improve the logic for when the AI actually taps it for mana, perhaps. +SVar:UntapMe:True AI:RemoveDeck:Random SVar:Picture:http://www.wizards.com/global/images/magic/general/mana_vault.jpg Oracle:Mana Vault doesn't untap during your untap step.\nAt the beginning of your upkeep, you may pay {4}. If you do, untap Mana Vault.\nAt the beginning of your draw step, if Mana Vault is tapped, it deals 1 damage to you.\n{T}: Add {C}{C}{C}. diff --git a/forge-gui/res/cardsfolder/p/prototype_portal.txt b/forge-gui/res/cardsfolder/p/prototype_portal.txt index b2c59c34bff..c8ff81a1486 100644 --- a/forge-gui/res/cardsfolder/p/prototype_portal.txt +++ b/forge-gui/res/cardsfolder/p/prototype_portal.txt @@ -9,8 +9,8 @@ T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCar SVar:DBForget:DB$ Pump | ForgetImprinted$ TriggeredCard T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True +SVar:UntapMe:True SVar:NeedsToPlayVar:Z GE2 SVar:Z:Count$ValidHand Artifact.YouCtrl AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/prototype_portal.jpg Oracle:Imprint — When Prototype Portal enters the battlefield, you may exile an artifact card from your hand.\n{X}, {T}: Create a token that's a copy of the exiled card. X is the converted mana cost of that card. diff --git a/forge-gui/res/cardsfolder/t/time_vault.txt b/forge-gui/res/cardsfolder/t/time_vault.txt index 30e898d2bfc..68f94bb254c 100644 --- a/forge-gui/res/cardsfolder/t/time_vault.txt +++ b/forge-gui/res/cardsfolder/t/time_vault.txt @@ -6,6 +6,6 @@ K:CARDNAME doesn't untap during your untap step. K:CARDNAME enters the battlefield tapped. A:AB$ AddTurn | Cost$ T | NumTurns$ 1 | SpellDescription$ Take an extra turn after this one. SVar:PlayMain1:ALWAYS +SVar:UntapMe:True AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/time_vault.jpg Oracle:Time Vault enters the battlefield tapped.\nTime Vault doesn't untap during your untap step.\nIf you would begin your turn while Time Vault is tapped, you may skip that turn instead. If you do, untap Time Vault.\n{T}: Take an extra turn after this one. diff --git a/forge-gui/res/cardsfolder/t/tolarian_academy.txt b/forge-gui/res/cardsfolder/t/tolarian_academy.txt index 5e5b74c16a1..26ed9d4bad5 100644 --- a/forge-gui/res/cardsfolder/t/tolarian_academy.txt +++ b/forge-gui/res/cardsfolder/t/tolarian_academy.txt @@ -4,5 +4,6 @@ Types:Legendary Land A:AB$ Mana | Cost$ T | Produced$ U | Amount$ X | SpellDescription$ Add {U} for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/tolarian_academy.jpg +DeckNeeds:Type$Artifact +SVar:BuffedBy:Artifact Oracle:{T}: Add {U} for each artifact you control. From 404e0bc453b1336b42af8ac53ff1e0a9e7cec935 Mon Sep 17 00:00:00 2001 From: Hythonia Date: Sun, 14 Mar 2021 11:56:15 +0100 Subject: [PATCH 07/32] Steel Overseer too --- forge-gui/res/cardsfolder/s/steel_overseer.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/s/steel_overseer.txt b/forge-gui/res/cardsfolder/s/steel_overseer.txt index 6e3438fa527..d8387c09888 100644 --- a/forge-gui/res/cardsfolder/s/steel_overseer.txt +++ b/forge-gui/res/cardsfolder/s/steel_overseer.txt @@ -4,5 +4,5 @@ Types:Artifact Creature Construct PT:1/1 A:AB$ PutCounterAll | Cost$ T | ValidCards$ Artifact.Creature+YouCtrl | CounterType$ P1P1 | CounterNum$ 1 | AILogic$ AtEOTOrBlock | SpellDescription$ Put a +1/+1 counter on each artifact creature you control. DeckHas:Ability$Counters -SVar:Picture:http://www.wizards.com/global/images/magic/general/steel_overseer.jpg +SVar:UntapMe:True Oracle:{T}: Put a +1/+1 counter on each artifact creature you control. From 9451a73f1eecdaa07eaeb73b251c5906759e6df8 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 15 Mar 2021 11:46:29 +0800 Subject: [PATCH 08/32] Improve convertByXitaxMethod --- .../src/main/java/forge/StaticData.java | 30 +++++++++++++++++++ .../src/main/java/forge/card/CardDb.java | 10 +++++++ forge-core/src/main/java/forge/deck/Deck.java | 14 ++++++--- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/forge-core/src/main/java/forge/StaticData.java b/forge-core/src/main/java/forge/StaticData.java index 83885198401..ad365454fc1 100644 --- a/forge-core/src/main/java/forge/StaticData.java +++ b/forge-core/src/main/java/forge/StaticData.java @@ -247,6 +247,36 @@ public class StaticData { return card; } + public PaperCard getCardFromLatestorEarliest(PaperCard card) { + + PaperCard c = this.getCommonCards().getCardFromEdition(card.getName(), null, CardDb.SetPreference.Latest, card.getArtIndex()); + + if (null != c && c.hasImage()) { + return c; + } + + c = this.getCommonCards().getCardFromEdition(card.getName(), null, CardDb.SetPreference.Latest, -1); + + if (null != c && c.hasImage()) { + return c; + } + + c = this.getCommonCards().getCardFromEdition(card.getName(), null, CardDb.SetPreference.LatestCoreExp, -1); + + if (null != c) { + return c; + } + + c = this.getCommonCards().getCardFromEdition(card.getName(), null, CardDb.SetPreference.EarliestCoreExp, -1); + + if (null != c) { + return c; + } + + // I give up! + return card; + } + public boolean getFilteredHandsEnabled(){ return filteredHandsEnabled; } diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index cdb48cfa730..771931b63da 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -402,6 +402,16 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { public PaperCard getCardFromEdition(final String cardName, final Date printedBefore, final SetPreference fromSet, int artIndex) { final CardRequest cr = CardRequest.fromString(cardName); List cards = getAllCards(cr.cardName); + if (printedBefore != null){ + cards = Lists.newArrayList(Iterables.filter(cards, new Predicate() { + @Override public boolean apply(PaperCard c) { + CardEdition ed = editions.get(c.getEdition()); + return ed.getDate().before(printedBefore); } + })); + } + + if (cards.size() == 0) // Don't bother continuing! No cards has been found! + return null; boolean cardsListReadOnly = true; if (StringUtils.isNotBlank(cr.edition)) { diff --git a/forge-core/src/main/java/forge/deck/Deck.java b/forge-core/src/main/java/forge/deck/Deck.java index f997a6582a5..7862752e704 100644 --- a/forge-core/src/main/java/forge/deck/Deck.java +++ b/forge-core/src/main/java/forge/deck/Deck.java @@ -252,7 +252,7 @@ public class Deck extends DeckBase implements Iterable p : parts.entrySet()) { if( p.getKey() == DeckSection.Planes || p.getKey() == DeckSection.Schemes || p.getKey() == DeckSection.Avatar) @@ -264,12 +264,18 @@ public class Deck extends DeckBase implements Iterable Date: Mon, 15 Mar 2021 13:39:34 +0100 Subject: [PATCH 09/32] Remove RememberMap, use EnteredSinceYourLastTurn instead --- .../src/main/java/forge/ai/SpellApiToAi.java | 1 - .../java/forge/ai/ability/StoreMapAi.java | 21 --------- .../main/java/forge/game/ability/ApiType.java | 1 - .../game/ability/effects/StoreMapEffect.java | 44 ------------------- .../src/main/java/forge/game/card/Card.java | 10 ----- .../java/forge/game/card/CardProperty.java | 30 ++++--------- .../main/java/forge/game/player/Player.java | 17 +++++-- .../cardsfolder/a/alena_kessig_trapper.txt | 2 +- forge-gui/res/cardsfolder/c/chaos_lord.txt | 2 +- .../res/cardsfolder/c/cradle_to_grave.txt | 2 +- .../res/cardsfolder/d/drownyard_behemoth.txt | 2 +- .../res/cardsfolder/f/force_of_despair.txt | 2 +- .../res/cardsfolder/f/forge_of_heroes.txt | 2 +- .../res/cardsfolder/f/fungus_elemental.txt | 2 +- .../res/cardsfolder/h/hixus_prison_warden.txt | 2 +- .../n/novijen_heart_of_progress.txt | 2 +- .../cardsfolder/o/oran_rief_the_vastwood.txt | 2 +- .../res/cardsfolder/p/premature_burial.txt | 7 +-- .../res/cardsfolder/r/ruins_of_oran_rief.txt | 2 +- .../res/cardsfolder/s/sakashimas_protege.txt | 2 +- .../res/cardsfolder/s/sweet_gum_recluse.txt | 4 +- .../java/forge/card/CardScriptParser.java | 1 - 22 files changed, 38 insertions(+), 122 deletions(-) delete mode 100644 forge-ai/src/main/java/forge/ai/ability/StoreMapAi.java delete mode 100644 forge-game/src/main/java/forge/game/ability/effects/StoreMapEffect.java diff --git a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java index 3c2d50f8fde..9a65948b86d 100644 --- a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java @@ -153,7 +153,6 @@ public enum SpellApiToAi { .put(ApiType.SetState, SetStateAi.class) .put(ApiType.Shuffle, ShuffleAi.class) .put(ApiType.SkipTurn, SkipTurnAi.class) - .put(ApiType.StoreMap, StoreMapAi.class) .put(ApiType.StoreSVar, StoreSVarAi.class) .put(ApiType.Subgame, AlwaysPlayAi.class) .put(ApiType.Surveil, SurveilAi.class) diff --git a/forge-ai/src/main/java/forge/ai/ability/StoreMapAi.java b/forge-ai/src/main/java/forge/ai/ability/StoreMapAi.java deleted file mode 100644 index 341dedd3b0e..00000000000 --- a/forge-ai/src/main/java/forge/ai/ability/StoreMapAi.java +++ /dev/null @@ -1,21 +0,0 @@ -package forge.ai.ability; - -import forge.ai.SpellAbilityAi; -import forge.game.player.Player; -import forge.game.spellability.SpellAbility; - -public class StoreMapAi extends SpellAbilityAi { - - @Override - protected boolean canPlayAI(Player ai, SpellAbility sa) { - - return true; - } - - @Override - protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { - - return true; - } - -} diff --git a/forge-game/src/main/java/forge/game/ability/ApiType.java b/forge-game/src/main/java/forge/game/ability/ApiType.java index 7b7924dc819..4b4e2b17045 100644 --- a/forge-game/src/main/java/forge/game/ability/ApiType.java +++ b/forge-game/src/main/java/forge/game/ability/ApiType.java @@ -155,7 +155,6 @@ public enum ApiType { Shuffle (ShuffleEffect.class), SkipTurn (SkipTurnEffect.class), StoreSVar (StoreSVarEffect.class), - StoreMap (StoreMapEffect.class), Subgame (SubgameEffect.class), Surveil (SurveilEffect.class), SwitchBlock (SwitchBlockEffect.class), diff --git a/forge-game/src/main/java/forge/game/ability/effects/StoreMapEffect.java b/forge-game/src/main/java/forge/game/ability/effects/StoreMapEffect.java deleted file mode 100644 index a74bb75cd6f..00000000000 --- a/forge-game/src/main/java/forge/game/ability/effects/StoreMapEffect.java +++ /dev/null @@ -1,44 +0,0 @@ -package forge.game.ability.effects; - -import java.util.ArrayList; -import java.util.List; - -import forge.game.GameEntity; -import forge.game.ability.AbilityUtils; -import forge.game.ability.SpellAbilityEffect; -import forge.game.card.Card; -import forge.game.spellability.SpellAbility; - -public class StoreMapEffect extends SpellAbilityEffect { - - @Override - public void resolve(SpellAbility sa) { - final Card source = sa.getHostCard(); - List entity = new ArrayList<>(); - List objects = new ArrayList<>(); - - if (sa.hasParam("RememberEntity")) { - entity.addAll(AbilityUtils.getDefinedPlayers(source, sa.getParam("RememberEntity"), sa)); - entity.addAll(AbilityUtils.getDefinedCards(source, sa.getParam("RememberEntity"), sa)); - } - - if (sa.hasParam("RememberObjects")) { - String type = sa.hasParam("ObjectType") ? sa.getParam("ObjectType") : "Card"; - if (type.equals("Card")) { - objects.addAll(AbilityUtils.getDefinedCards(source, sa.getParam("RememberObjects"), sa)); - } - } - - for (GameEntity e : entity) { - source.addRememberMap(e, objects); - } - - if (sa.hasParam("Clear")) { - for (GameEntity e : entity) { - source.getRememberMap().get(e).clear(); - } - } - - } - -} diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 279b721fced..f18bffc65e7 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -58,8 +58,6 @@ import forge.trackable.Tracker; import forge.util.*; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import forge.util.maps.HashMapOfLists; -import forge.util.maps.MapOfLists; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.mutable.MutableBoolean; import org.apache.commons.lang3.tuple.Pair; @@ -144,7 +142,6 @@ public class Card extends GameEntity implements Comparable, IHasSVars { private Map originalSVars = Maps.newHashMap(); private final Set rememberedObjects = Sets.newLinkedHashSet(); - private final MapOfLists rememberMap = new HashMapOfLists<>(CollectionSuppliers.arrayLists()); private Map flipResult; private Map receivedDamageFromThisTurn = Maps.newHashMap(); @@ -940,13 +937,6 @@ public class Card extends GameEntity implements Comparable, IHasSVars { convokedCards = null; } - public MapOfLists getRememberMap() { - return rememberMap; - } - public final void addRememberMap(final GameEntity e, final List o) { - rememberMap.addAll(e, o); - } - public final Iterable getRemembered() { return rememberedObjects; } diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 19b57e42e65..fbf89d97c0d 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1000,11 +1000,20 @@ public class CardProperty { } } return false; + } else if (property.equals("EnteredSinceYourLastTurn")) { + if (card.getTurnInZone() > controller.getLastTurnNr()) { + return false; + } } else if (property.equals("ThisTurnEntered")) { // only check if it entered the Zone this turn if (card.getTurnInZone() != game.getPhaseHandler().getTurn()) { return false; } + } else if (property.equals("NotThisTurnEntered")) { + // only check if it entered the Zone this turn + if (card.getTurnInZone() == game.getPhaseHandler().getTurn()) { + return false; + } } else if (property.startsWith("ThisTurnEnteredFrom")) { final String restrictions = property.split("ThisTurnEnteredFrom_")[1]; final String[] res = restrictions.split("_"); @@ -1098,14 +1107,6 @@ public class CardProperty { if (card.getDrawnThisTurn()) { return false; } - } else if (property.startsWith("enteredBattlefieldThisTurn")) { - if (!(card.getTurnInZone() == game.getPhaseHandler().getTurn())) { - return false; - } - } else if (property.startsWith("notEnteredBattlefieldThisTurn")) { - if (card.getTurnInZone() == game.getPhaseHandler().getTurn()) { - return false; - } } else if (property.startsWith("firstTurnControlled")) { if (!card.isFirstTurnControlled()) { return false; @@ -1706,19 +1707,6 @@ public class CardProperty { if (card.isRenowned()) { return false; } - } else if (property.startsWith("RememberMap")) { - System.out.println(source.getRememberMap()); - for (SpellAbility sa : source.getSpellAbilities()) { - if (sa.getActivatingPlayer() == null) continue; - for (Player p : AbilityUtils.getDefinedPlayers(source, property.split("RememberMap_")[1], sa)) { - if (source.getRememberMap() != null && source.getRememberMap().get(p) != null) { - if (source.getRememberMap().get(p).contains(card)) { - return true; - } - } - } - } - return false; } else if (property.equals("IsRemembered")) { if (!source.isRemembered(card)) { return false; diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 66f18bcdb13..1149ee3cf98 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -114,6 +114,9 @@ public class Player extends GameEntity implements Comparable { private int numTokenCreatedThisTurn = 0; private int numForetoldThisTurn = 0; private int numCardsInHandStartedThisTurnWith = 0; + + private int lastTurnNr = 0; + private final Map> notes = Maps.newHashMap(); private boolean revolt = false; @@ -2539,6 +2542,10 @@ public class Player extends GameEntity implements Comparable { return keywords.getAmount(k); } + public final int getLastTurnNr() { + return this.lastTurnNr; + } + public void onCleanupPhase() { for (Card c : getCardsIn(ZoneType.Hand)) { c.setDrawnThisTurn(false); @@ -2562,6 +2569,11 @@ public class Player extends GameEntity implements Comparable { resetAttackersDeclaredThisTurn(); resetAttackedOpponentsThisTurn(); setRevolt(false); + + // set last turn nr + if (game.getPhaseHandler().isPlayerTurn(this)) { + this.lastTurnNr = game.getPhaseHandler().getTurn(); + } } public boolean canCastSorcery() { @@ -2572,16 +2584,15 @@ public class Player extends GameEntity implements Comparable { //NOTE: for conditions the stack must only have the sa being checked public boolean couldCastSorcery(final SpellAbility sa) { final Card source = sa.getRootAbility().getHostCard(); - boolean onlyThis = true; for (final Card card : game.getCardsIn(ZoneType.Stack)) { if (!card.equals(source)) { - onlyThis = false; + return false; } } PhaseHandler now = game.getPhaseHandler(); - return onlyThis && now.isPlayerTurn(this) && now.getPhase().isMain(); + return now.isPlayerTurn(this) && now.getPhase().isMain(); } public final PlayerController getController() { diff --git a/forge-gui/res/cardsfolder/a/alena_kessig_trapper.txt b/forge-gui/res/cardsfolder/a/alena_kessig_trapper.txt index 3b079ef112a..e24ef429e33 100644 --- a/forge-gui/res/cardsfolder/a/alena_kessig_trapper.txt +++ b/forge-gui/res/cardsfolder/a/alena_kessig_trapper.txt @@ -5,5 +5,5 @@ PT:4/3 K:First Strike K:Partner A:AB$ Mana | Cost$ T | Produced$ R | Amount$ X | SpellDescription$ Add an amount of {R} equal to the greatest power among creatures you control that entered the battlefield this turn. -SVar:X:Count$GreatestPower_Creature.YouCtrl+enteredBattlefieldThisTurn +SVar:X:Count$GreatestPower_Creature.YouCtrl+ThisTurnEntered Oracle:First strike\n{T}: Add an amount of {R} equal to the greatest power among creatures you control that entered the battlefield this turn.\nPartner (You can have two commanders if both have partner.) diff --git a/forge-gui/res/cardsfolder/c/chaos_lord.txt b/forge-gui/res/cardsfolder/c/chaos_lord.txt index 95e2b4f5f89..89ed0c351ce 100644 --- a/forge-gui/res/cardsfolder/c/chaos_lord.txt +++ b/forge-gui/res/cardsfolder/c/chaos_lord.txt @@ -6,6 +6,6 @@ K:First Strike T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ ChangeControl | TriggerDescription$ At the beginning of your upkeep, target opponent gains control of CARDNAME if the number of permanents is even. SVar:ChangeControl:DB$ GainControl | Defined$ Self | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 SVar:X:Count$Valid Permanent/Mod.2 -S:Mode$ CanAttackIfHaste | ValidCard$ Card.Self+notEnteredBattlefieldThisTurn | Description$ CARDNAME can attack as though it had haste unless it entered the battlefield this turn. +S:Mode$ CanAttackIfHaste | ValidCard$ Card.Self+NotThisTurnEntered | Description$ CARDNAME can attack as though it had haste unless it entered the battlefield this turn. AI:RemoveDeck:All Oracle:First strike\nAt the beginning of your upkeep, target opponent gains control of Chaos Lord if the number of permanents is even.\nChaos Lord can attack as though it had haste unless it entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/c/cradle_to_grave.txt b/forge-gui/res/cardsfolder/c/cradle_to_grave.txt index 15bbc48ffa9..11d1dfc2191 100644 --- a/forge-gui/res/cardsfolder/c/cradle_to_grave.txt +++ b/forge-gui/res/cardsfolder/c/cradle_to_grave.txt @@ -1,6 +1,6 @@ Name:Cradle to Grave ManaCost:1 B Types:Instant -A:SP$ Destroy | Cost$ 1 B | ValidTgts$ Creature.nonBlack+enteredBattlefieldThisTurn | TgtPrompt$ Select target nonblack creature that entered the battlefield this turn | SpellDescription$ Destroy target nonblack creature that entered the battlefield this turn. +A:SP$ Destroy | Cost$ 1 B | ValidTgts$ Creature.nonBlack+ThisTurnEntered | TgtPrompt$ Select target nonblack creature that entered the battlefield this turn | SpellDescription$ Destroy target nonblack creature that entered the battlefield this turn. SVar:Picture:http://www.wizards.com/global/images/magic/general/cradle_to_grave.jpg Oracle:Destroy target nonblack creature that entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/d/drownyard_behemoth.txt b/forge-gui/res/cardsfolder/d/drownyard_behemoth.txt index 9b2e8be09b2..0e5442ae158 100644 --- a/forge-gui/res/cardsfolder/d/drownyard_behemoth.txt +++ b/forge-gui/res/cardsfolder/d/drownyard_behemoth.txt @@ -4,6 +4,6 @@ Types:Creature Eldrazi Crab PT:5/7 K:Flash K:Emerge:7 U -S:Mode$ Continuous | Affected$ Card.Self+enteredBattlefieldThisTurn | AddKeyword$ Hexproof | Description$ CARDNAME has hexproof as long as it entered the battlefield this turn. +S:Mode$ Continuous | Affected$ Card.Self+ThisTurnEntered | AddKeyword$ Hexproof | Description$ CARDNAME has hexproof as long as it entered the battlefield this turn. SVar:Picture:http://www.wizards.com/global/images/magic/general/drownyard_behemoth.jpg Oracle:Flash (You may cast this spell any time you could cast an instant.)\nEmerge {7}{U} (You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's converted mana cost.)\nDrownyard Behemoth has hexproof as long as it entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/f/force_of_despair.txt b/forge-gui/res/cardsfolder/f/force_of_despair.txt index 6f90288a4de..0b3c03f051e 100644 --- a/forge-gui/res/cardsfolder/f/force_of_despair.txt +++ b/forge-gui/res/cardsfolder/f/force_of_despair.txt @@ -2,5 +2,5 @@ Name:Force of Despair ManaCost:1 B B Types:Instant SVar:AltCost:Cost$ ExileFromHand<1/Card.Black+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a black card from your hand rather than pay this spell's mana cost. -A:SP$ DestroyAll | Cost$ 1 B B | ValidCards$ Creature.enteredBattlefieldThisTurn | SpellDescription$ Destroy all creatures that entered the battlefield this turn. +A:SP$ DestroyAll | Cost$ 1 B B | ValidCards$ Creature.ThisTurnEntered | SpellDescription$ Destroy all creatures that entered the battlefield this turn. Oracle:If it's not your turn, you may exile a black card from your hand rather than pay this spell's mana cost.\nDestroy all creatures that entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/f/forge_of_heroes.txt b/forge-gui/res/cardsfolder/f/forge_of_heroes.txt index 0d3b0636316..dcbcf8b1ca6 100644 --- a/forge-gui/res/cardsfolder/f/forge_of_heroes.txt +++ b/forge-gui/res/cardsfolder/f/forge_of_heroes.txt @@ -2,7 +2,7 @@ Name:Forge of Heroes ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Pump | Cost$ T | ValidTgts$ Card.IsCommander+enteredBattlefieldThisTurn | TgtPrompt$ Select target commander that entered the battlefield this turn | SubAbility$ DBPutCounter | StackDescription$ Select target commander that entered the battlefield this turn. | SpellDescription$ Choose target commander that entered the battlefield this turn. Put a +1/+1 counter on it if it's a creature and a loyalty counter on it if it's a planeswalker. +A:AB$ Pump | Cost$ T | ValidTgts$ Card.IsCommander+ThisTurnEntered | TgtPrompt$ Select target commander that entered the battlefield this turn | SubAbility$ DBPutCounter | StackDescription$ Select target commander that entered the battlefield this turn. | SpellDescription$ Choose target commander that entered the battlefield this turn. Put a +1/+1 counter on it if it's a creature and a loyalty counter on it if it's a planeswalker. SVar:DBPutCounter:DB$ PutCounter | Defined$ ParentTarget | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ ParentTarget | ConditionPresent$ Creature | ConditionCompare$ GE1 | SubAbility$ DBPutCounterCommander SVar:DBPutCounterCommander:DB$ PutCounter | Defined$ ParentTarget | CounterType$ LOYALTY | CounterNum$ 1 | ConditionDefined$ ParentTarget | ConditionPresent$ Planeswalker | ConditionCompare$ GE1 Oracle:{T}: Add {C}.\n{T}: Choose target commander that entered the battlefield this turn. Put a +1/+1 counter on it if it's a creature and a loyalty counter on it if it's a planeswalker. diff --git a/forge-gui/res/cardsfolder/f/fungus_elemental.txt b/forge-gui/res/cardsfolder/f/fungus_elemental.txt index 8a63d42badc..783fb2c39c3 100644 --- a/forge-gui/res/cardsfolder/f/fungus_elemental.txt +++ b/forge-gui/res/cardsfolder/f/fungus_elemental.txt @@ -2,7 +2,7 @@ Name:Fungus Elemental ManaCost:3 G Types:Creature Fungus Elemental PT:3/3 -A:AB$ PutCounter | Cost$ G Sac<1/Forest> | Defined$ Self | CounterType$ P2P2 | CounterNum$ 1 | IsPresent$ Card.Self+enteredBattlefieldThisTurn | SpellDescription$ Put a +2/+2 counter on CARDNAME. Activate this ability only if CARDNAME entered the battlefield this turn. +A:AB$ PutCounter | Cost$ G Sac<1/Forest> | Defined$ Self | CounterType$ P2P2 | CounterNum$ 1 | IsPresent$ Card.Self+ThisTurnEntered | SpellDescription$ Put a +2/+2 counter on CARDNAME. Activate this ability only if CARDNAME entered the battlefield this turn. AI:RemoveDeck:All SVar:Picture:http://www.wizards.com/global/images/magic/general/fungus_elemental.jpg Oracle:{G}, Sacrifice a Forest: Put a +2/+2 counter on Fungus Elemental. Activate this ability only if Fungus Elemental entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt b/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt index 12cd715020c..9bc2d8d7ead 100644 --- a/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt +++ b/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Legendary Creature Human Soldier PT:4/4 K:Flash -T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ You | CombatDamage$ True | IsPresent$ Card.Self+enteredBattlefieldThisTurn | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature deals combat damage to you, if CARDNAME entered the battlefield this turn, exile that creature until CARDNAME leaves the battlefield. +T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ You | CombatDamage$ True | IsPresent$ Card.Self+ThisTurnEntered | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature deals combat damage to you, if CARDNAME entered the battlefield this turn, exile that creature until CARDNAME leaves the battlefield. SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ TriggeredSourceLKICopy | ConditionPresent$ Card.Self | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ TriggeredCard | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ You | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield diff --git a/forge-gui/res/cardsfolder/n/novijen_heart_of_progress.txt b/forge-gui/res/cardsfolder/n/novijen_heart_of_progress.txt index bca5977fb60..d254af4c078 100644 --- a/forge-gui/res/cardsfolder/n/novijen_heart_of_progress.txt +++ b/forge-gui/res/cardsfolder/n/novijen_heart_of_progress.txt @@ -2,6 +2,6 @@ Name:Novijen, Heart of Progress ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ PutCounterAll | Cost$ G U T | CounterType$ P1P1 | CounterNum$ 1 | ValidCards$ Creature.enteredBattlefieldThisTurn | SpellDescription$ Put a +1/+1 counter on each creature that entered the battlefield this turn. +A:AB$ PutCounterAll | Cost$ G U T | CounterType$ P1P1 | CounterNum$ 1 | ValidCards$ Creature.ThisTurnEntered | SpellDescription$ Put a +1/+1 counter on each creature that entered the battlefield this turn. SVar:Picture:http://www.wizards.com/global/images/magic/general/novijen_heart_of_progress.jpg Oracle:{T}: Add {C}.\n{G}{U}, {T}: Put a +1/+1 counter on each creature that entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/o/oran_rief_the_vastwood.txt b/forge-gui/res/cardsfolder/o/oran_rief_the_vastwood.txt index 39db3cb02c4..a8d120cd6a8 100644 --- a/forge-gui/res/cardsfolder/o/oran_rief_the_vastwood.txt +++ b/forge-gui/res/cardsfolder/o/oran_rief_the_vastwood.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ G | SpellDescription$ Add {G}. -A:AB$PutCounterAll | Cost$ T | ValidCards$ Creature.Green+enteredBattlefieldThisTurn | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on each green creature that entered the battlefield this turn. +A:AB$PutCounterAll | Cost$ T | ValidCards$ Creature.Green+ThisTurnEntered | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on each green creature that entered the battlefield this turn. DeckHas:Ability$Counters SVar:Picture:http://www.wizards.com/global/images/magic/general/oran_rief_the_vastwood.jpg Oracle:Oran-Rief, the Vastwood enters the battlefield tapped.\n{T}: Add {G}.\n{T}: Put a +1/+1 counter on each green creature that entered the battlefield this turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/p/premature_burial.txt b/forge-gui/res/cardsfolder/p/premature_burial.txt index c0172f2cce5..687b4f170c8 100644 --- a/forge-gui/res/cardsfolder/p/premature_burial.txt +++ b/forge-gui/res/cardsfolder/p/premature_burial.txt @@ -1,10 +1,5 @@ Name:Premature Burial ManaCost:1 B Types:Sorcery -A:SP$ Destroy | Cost$ 1 B | ValidTgts$ Creature.RememberMap_You | TgtPrompt$ Select target nonblack creature that entered the battlefield since your last turn ended | SpellDescription$ Destroy target nonblack creature that entered the battlefield since your last turn ended. -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.nonBlack | Static$ True | Execute$ TrigRemember -SVar:TrigRemember:DB$ StoreMap | RememberEntity$ Player | RememberObjects$ TriggeredCard | ObjectType$ Card -T:Mode$ Phase | Phase$ Cleanup | Execute$ TrigCleanup | Static$ True -SVar:TrigCleanup:DB$ StoreMap | RememberEntity$ TriggeredPlayer | Clear$ True -SVar:Picture:http://www.wizards.com/global/images/magic/general/premature_burial.jpg +A:SP$ Destroy | Cost$ 1 B | ValidTgts$ Creature.nonBlack+EnteredSinceYourLastTurn | TgtPrompt$ Select target nonblack creature that entered the battlefield since your last turn ended | SpellDescription$ Destroy target nonblack creature that entered the battlefield since your last turn ended. Oracle:Destroy target nonblack creature that entered the battlefield since your last turn ended. diff --git a/forge-gui/res/cardsfolder/r/ruins_of_oran_rief.txt b/forge-gui/res/cardsfolder/r/ruins_of_oran_rief.txt index 3f1fabac1d7..b1d3a4942f9 100644 --- a/forge-gui/res/cardsfolder/r/ruins_of_oran_rief.txt +++ b/forge-gui/res/cardsfolder/r/ruins_of_oran_rief.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ PutCounter | Cost$ T | ValidTgts$ Creature.Colorless+enteredBattlefieldThisTurn | TgtPrompt$ Select target colorless creature that entered the battlefield this turn | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on target colorless creature that entered the battlefield this turn. +A:AB$ PutCounter | Cost$ T | ValidTgts$ Creature.Colorless+ThisTurnEntered | TgtPrompt$ Select target colorless creature that entered the battlefield this turn | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on target colorless creature that entered the battlefield this turn. DeckHas:Ability$Mana.Colorless DeckHints:Color$Colorless & Keyword$Devoid SVar:Picture:http://www.wizards.com/global/images/magic/general/ruins_of_oran_rief.jpg diff --git a/forge-gui/res/cardsfolder/s/sakashimas_protege.txt b/forge-gui/res/cardsfolder/s/sakashimas_protege.txt index ac34a3434af..78c061e49e8 100644 --- a/forge-gui/res/cardsfolder/s/sakashimas_protege.txt +++ b/forge-gui/res/cardsfolder/s/sakashimas_protege.txt @@ -5,5 +5,5 @@ PT:3/1 K:Flash K:Cascade K:ETBReplacement:Copy:DBCopy:Optional -SVar:DBCopy:DB$ Clone | Choices$ Permanent.enteredBattlefieldThisTurn+Other | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any permanent that entered the battlefield this turn. +SVar:DBCopy:DB$ Clone | Choices$ Permanent.ThisTurnEntered+Other | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any permanent that entered the battlefield this turn. Oracle:Flash\nCascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.)\nYou may have Sakashima's Protege enter the battlefield as a copy of any permanent that entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/s/sweet_gum_recluse.txt b/forge-gui/res/cardsfolder/s/sweet_gum_recluse.txt index b7b831c7a6a..d138b876ea8 100755 --- a/forge-gui/res/cardsfolder/s/sweet_gum_recluse.txt +++ b/forge-gui/res/cardsfolder/s/sweet_gum_recluse.txt @@ -6,7 +6,7 @@ K:Flash K:Cascade K:Reach T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerDescription$ When CARDNAME enters the battlefield, put three +1/+1 counters on each of any number of target creatures that entered the battlefield this turn. -SVar:TrigPutCounter:DB$PutCounter | CounterNum$ 3 | CounterType$ P1P1 | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Creature.enteredBattlefieldThisTurn | TgtPrompt$ Select any number of target creatures that entered the battlefield this turn | -SVar:X:Count$Valid Creature.enteredBattlefieldThisTurn +SVar:TrigPutCounter:DB$PutCounter | CounterNum$ 3 | CounterType$ P1P1 | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Creature.ThisTurnEntered | TgtPrompt$ Select any number of target creatures that entered the battlefield this turn | +SVar:X:Count$Valid Creature.ThisTurnEntered DeckHas:Ability$Counters Oracle:Flash\nCascade\nReach\nWhen Sweet-Gum Recluse enters the battlefield, put three +1/+1 counters on each of any number of target creatures that entered the battlefield this turn. diff --git a/forge-gui/src/main/java/forge/card/CardScriptParser.java b/forge-gui/src/main/java/forge/card/CardScriptParser.java index 27f28978c9d..02c877af4b2 100644 --- a/forge-gui/src/main/java/forge/card/CardScriptParser.java +++ b/forge-gui/src/main/java/forge/card/CardScriptParser.java @@ -415,7 +415,6 @@ public final class CardScriptParser { "canProduceSameManaTypeWith", "SecondSpellCastThisTurn", "ThisTurnCast", "withFlashback", "tapped", "untapped", "faceDown", "faceUp", "hasLevelUp", "DrawnThisTurn", "notDrawnThisTurn", - "enteredBattlefieldThisTurn", "notEnteredBattlefieldThisTurn", "firstTurnControlled", "notFirstTurnControlled", "startedTheTurnUntapped", "attackedOrBlockedSinceYourLastUpkeep", "blockedOrBeenBlockedSinceYourLastUpkeep", From 34a813baeb8076fa73d85ac8b17116bdccf8b09f Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Mon, 15 Mar 2021 15:36:55 +0000 Subject: [PATCH 10/32] ChangeZoneEffect: add UntilHostLeavesPlay to use GameCommand instead of StaticTrigger --- .../src/main/java/forge/game/GameAction.java | 14 ++++++--- .../game/ability/SpellAbilityEffect.java | 30 +++++++++++++++++++ .../ability/effects/ChangeZoneAllEffect.java | 10 ++++++- .../ability/effects/ChangeZoneEffect.java | 16 ++++++++-- .../src/main/java/forge/game/card/Card.java | 18 +++++++++++ .../main/java/forge/game/card/CardView.java | 4 +++ .../forge/trackable/TrackableProperty.java | 1 + .../cardsfolder/a/aligned_hedron_network.txt | 8 +---- .../cardsfolder/a/angel_of_condemnation.txt | 6 +--- .../res/cardsfolder/a/angel_of_sanctions.txt | 9 ++---- ...ynian_missionaries_lunarch_inquisitors.txt | 9 +----- .../res/cardsfolder/b/banisher_priest.txt | 7 +---- .../res/cardsfolder/b/banishing_light.txt | 7 +---- forge-gui/res/cardsfolder/b/brain_maggot.txt | 8 +---- forge-gui/res/cardsfolder/c/cast_out.txt | 9 ++---- .../cardsfolder/c/chained_to_the_rocks.txt | 7 +---- .../res/cardsfolder/c/colossal_whale.txt | 7 +---- .../res/cardsfolder/c/conclave_tribunal.txt | 6 +--- .../res/cardsfolder/c/consulate_crackdown.txt | 8 +---- .../res/cardsfolder/c/crown_of_vigor.txt | 2 +- .../res/cardsfolder/d/deputy_of_detention.txt | 9 ++---- .../res/cardsfolder/f/fairgrounds_warden.txt | 7 +---- .../res/cardsfolder/f/faith_unbroken.txt | 7 +---- forge-gui/res/cardsfolder/g/glass_casket.txt | 6 +--- .../res/cardsfolder/g/glorious_protector.txt | 12 +------- forge-gui/res/cardsfolder/g/grasp_of_fate.txt | 7 +---- .../res/cardsfolder/g/grasping_giant.txt | 7 +---- .../res/cardsfolder/h/hieromancers_cage.txt | 6 +--- .../res/cardsfolder/h/hixus_prison_warden.txt | 6 +--- forge-gui/res/cardsfolder/h/hostage_taker.txt | 9 ++---- .../res/cardsfolder/i/isolation_zone.txt | 7 +---- .../res/cardsfolder/j/journey_to_oblivion.txt | 6 +--- .../res/cardsfolder/k/kitesail_freebooter.txt | 8 +---- forge-gui/res/cardsfolder/o/on_thin_ice.txt | 6 +--- forge-gui/res/cardsfolder/p/prison_realm.txt | 14 ++------- .../res/cardsfolder/q/quarantine_field.txt | 7 +---- forge-gui/res/cardsfolder/s/seal_away.txt | 9 ++---- .../res/cardsfolder/s/sigrid_god_favored.txt | 6 +--- forge-gui/res/cardsfolder/s/silkwrap.txt | 7 +---- forge-gui/res/cardsfolder/s/stasis_snare.txt | 9 ++---- .../res/cardsfolder/s/suspension_field.txt | 7 +---- .../res/cardsfolder/t/thopter_arrest.txt | 9 ++---- .../res/cardsfolder/t/trapjaw_tyrant.txt | 11 ++----- .../y/yannik_scavenging_sentinel.txt | 5 +--- .../main/java/forge/card/CardDetailUtil.java | 7 +++++ 45 files changed, 140 insertions(+), 240 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index d1d224633c9..386c7cec020 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -362,10 +362,6 @@ public class GameAction { } } zoneFrom.remove(c); - if (!zoneTo.is(ZoneType.Exile) && !zoneTo.is(ZoneType.Stack)) { - c.setExiledWith(null); - c.setExiledBy(null); - } // cleanup Encoding if (c.hasEncodedCard()) { @@ -379,6 +375,16 @@ public class GameAction { e.removeEncodedCard(c); } } + + if (!zoneTo.is(ZoneType.Exile) && !zoneTo.is(ZoneType.Stack)) { + Card with = c.getExiledWith(); + if (with != null) { + with.removeUntilLeavesBattlefield(c); + } + + c.setExiledWith(null); + c.setExiledBy(null); + } } // if an adventureCard is put from Stack somewhere else, need to reset to Original State diff --git a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java index c506d8d2162..9ba55ea5a4f 100644 --- a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java @@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import com.google.common.collect.Table; import forge.GameCommand; import forge.card.CardType; @@ -20,6 +21,7 @@ import forge.game.GameObject; import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardFactoryUtil; +import forge.game.card.CardZoneTable; import forge.game.combat.Combat; import forge.game.player.Player; import forge.game.player.PlayerCollection; @@ -613,4 +615,32 @@ public abstract class SpellAbilityEffect { } return combatChanged; } + + protected static GameCommand untilHostLeavesPlayCommand(final CardZoneTable triggerList, final Card hostCard) { + final Game game = hostCard.getGame(); + hostCard.addUntilLeavesBattlefield(triggerList.allCards()); + return new GameCommand() { + + private static final long serialVersionUID = 1L; + + @Override + public void run() { + CardZoneTable untilTable = new CardZoneTable(); + for (Table.Cell cell : triggerList.cellSet()) { + for (Card c : cell.getValue()) { + // better check if card didn't changed zones again? + Card newCard = c.getZone().getCards().get(c); + if (newCard == null || !newCard.equalsWithTimestamp(c)) { + continue; + } + // no cause there? + Card movedCard = game.getAction().moveTo(cell.getRowKey(), newCard, null); + untilTable.put(cell.getColumnKey(), cell.getRowKey(), movedCard); + } + } + untilTable.triggerChangesZoneAll(game); + } + + }; + } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java index b33e6c4b51c..08c356ac3f3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java @@ -37,6 +37,11 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { + //if host is not on the battlefield don't apply + if (sa.hasParam("UntilHostLeavesPlay") && !sa.getHostCard().isInPlay()) { + return; + } + final ZoneType destination = ZoneType.smartValueOf(sa.getParam("Destination")); final List origin = ZoneType.listValueOf(sa.getParam("Origin")); @@ -260,6 +265,10 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { triggerList.triggerChangesZoneAll(game); + if (sa.hasParam("UntilHostLeavesPlay")) { + source.addLeavesPlayCommand(untilHostLeavesPlayCommand(triggerList, source)); + } + // if Shuffle parameter exists, and any amount of cards were owned by // that player, then shuffle that library if (sa.hasParam("Shuffle")) { @@ -270,5 +279,4 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { } } } - } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 7e8f35ded82..25e2ff9b3a0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -409,6 +409,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { + //if host is not on the battlefield don't apply + if (sa.hasParam("UntilHostLeavesPlay") && !sa.getHostCard().isInPlay()) { + return; + } + if (isHidden(sa) && !sa.hasParam("Ninjutsu")) { changeHiddenOriginResolve(sa); } else { @@ -711,7 +716,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { movedCard.addCounter(cType, cAmount, player, true, counterTable); } - if (sa.hasParam("ExileFaceDown")) { + if (sa.hasParam("ExileFaceDown") || sa.hasParam("FaceDown")) { movedCard.turnFaceDown(true); } if (sa.hasParam("Foretold")) { @@ -744,7 +749,6 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } } - if (remember != null) { hostCard.addRemembered(movedCard); // addRememberedFromCardState ? @@ -797,9 +801,13 @@ public class ChangeZoneEffect extends SpellAbilityEffect { triggerList.triggerChangesZoneAll(game); counterTable.triggerCountersPutAll(game); + if (sa.hasParam("AtEOT") && !triggerList.isEmpty()) { registerDelayedTrigger(sa, sa.getParam("AtEOT"), triggerList.allCards()); } + if (sa.hasParam("UntilHostLeavesPlay")) { + hostCard.addLeavesPlayCommand(untilHostLeavesPlayCommand(triggerList, hostCard)); + } // for things like Gaea's Blessing if (destination.equals(ZoneType.Library) && sa.hasParam("Shuffle") && "True".equals(sa.getParam("Shuffle"))) { @@ -1388,6 +1396,10 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } triggerList.triggerChangesZoneAll(game); + if (sa.hasParam("UntilHostLeavesPlay")) { + source.addLeavesPlayCommand(untilHostLeavesPlayCommand(triggerList, source)); + } + // remove Controlled While Searching if (controlTimestamp != null) { player.removeController(controlTimestamp); diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index f18bffc65e7..a22936abe18 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -98,6 +98,8 @@ public class Card extends GameEntity implements Comparable, IHasSVars { private CardCollection mustBlockCards, gainControlTargets, chosenCards, blockedThisTurn, blockedByThisTurn; private CardCollection mergedCards; + private CardCollection untilLeavesBattlefield = new CardCollection(); + // if this card is attached or linked to something, what card is it currently attached to private Card encoding, cloneOrigin, haunting, effectSource, pairedWith, meldedWith; private Card mergedTo; @@ -7002,4 +7004,20 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } return edition.getBorderColor(); } + + public final void addUntilLeavesBattlefield(final Card c) { + untilLeavesBattlefield = view.addCard(untilLeavesBattlefield, c, TrackableProperty.UntilLeavesBattlefield); + } + public final void addUntilLeavesBattlefield(final Iterable cards) { + untilLeavesBattlefield = view.addCards(untilLeavesBattlefield, cards, TrackableProperty.UntilLeavesBattlefield); + } + public final void removeUntilLeavesBattlefield(final Card c) { + untilLeavesBattlefield = view.removeCard(untilLeavesBattlefield, c, TrackableProperty.UntilLeavesBattlefield); + } + public final void removeUntilLeavesBattlefield(final Iterable cards) { + untilLeavesBattlefield = view.removeCards(untilLeavesBattlefield, cards, TrackableProperty.UntilLeavesBattlefield); + } + public final void clearUntilLeavesBattlefield() { + untilLeavesBattlefield = view.clearCards(untilLeavesBattlefield, TrackableProperty.UntilLeavesBattlefield); + } } diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 70f1caab37e..cdf23125bcb 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -519,6 +519,10 @@ public class CardView extends GameEntityView { return get(TrackableProperty.EncodedCards); } + public FCollectionView getUntilLeavesBattlefield() { + return get(TrackableProperty.UntilLeavesBattlefield); + } + public GameEntityView getEntityAttachedTo() { return get(TrackableProperty.EntityAttachedTo); } diff --git a/forge-game/src/main/java/forge/trackable/TrackableProperty.java b/forge-game/src/main/java/forge/trackable/TrackableProperty.java index 67a16053d6f..8e3daaf2417 100644 --- a/forge-game/src/main/java/forge/trackable/TrackableProperty.java +++ b/forge-game/src/main/java/forge/trackable/TrackableProperty.java @@ -65,6 +65,7 @@ public enum TrackableProperty { PlayerMayLook(TrackableTypes.PlayerViewCollectionType, FreezeMode.IgnoresFreeze), EntityAttachedTo(TrackableTypes.GameEntityViewType), EncodedCards(TrackableTypes.CardViewCollectionType), + UntilLeavesBattlefield(TrackableTypes.CardViewCollectionType), GainControlTargets(TrackableTypes.CardViewCollectionType), CloneOrigin(TrackableTypes.CardViewType), diff --git a/forge-gui/res/cardsfolder/a/aligned_hedron_network.txt b/forge-gui/res/cardsfolder/a/aligned_hedron_network.txt index 4b9ddae0cbb..1e31c6328ff 100644 --- a/forge-gui/res/cardsfolder/a/aligned_hedron_network.txt +++ b/forge-gui/res/cardsfolder/a/aligned_hedron_network.txt @@ -2,17 +2,11 @@ Name:Aligned Hedron Network ManaCost:4 Types:Artifact T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile all creatures with power 5 or greater until CARDNAME leaves the battlefield. (Those creatures return under their owners' control.) -SVar:TrigExile:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | ChangeType$ Creature.powerGE5 | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Those creatures are exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True +SVar:TrigExile:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Creature.powerGE5 | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:NeedsToPlayVar:Z GE1 SVar:Z:SVar$Z1/Minus.Z2 SVar:Z1:Count$Valid Creature.OppCtrl+powerGE5+inZoneBattlefield SVar:Z2:Count$Valid Creature.YouCtrl+powerGE5+inZoneBattlefield AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/aligned_hedron_network.jpg Oracle:When Aligned Hedron Network enters the battlefield, exile all creatures with power 5 or greater until Aligned Hedron Network leaves the battlefield. (Those creatures return under their owners' control.) diff --git a/forge-gui/res/cardsfolder/a/angel_of_condemnation.txt b/forge-gui/res/cardsfolder/a/angel_of_condemnation.txt index fdde9c7ce0a..254971232f7 100644 --- a/forge-gui/res/cardsfolder/a/angel_of_condemnation.txt +++ b/forge-gui/res/cardsfolder/a/angel_of_condemnation.txt @@ -8,9 +8,5 @@ A:AB$ ChangeZone | Cost$ 2 W T | ValidTgts$ Creature.Other | Mandatory$ True | T SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigBounce | RememberObjects$ RememberedLKI | TriggerDescription$ Return exiled creature to the battlefield. | SubAbility$ DBCleanup SVar:TrigBounce:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ DelayTriggerRememberedLKI SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -A:AB$ ChangeZone | Cost$ 2 W T Exert<1/CARDNAME> | Mandatory$ True | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature | ConditionPresent$ Card.Self | SubAbility$ DBEffect | SpellDescription$ Exile another target creature until CARDNAME leaves the battlefield. (An exerted creature won't untap during your next untap step.) -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +A:AB$ ChangeZone | Cost$ 2 W T Exert<1/CARDNAME> | Mandatory$ True | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature | UntilHostLeavesPlay$ True | SpellDescription$ Exile another target creature until CARDNAME leaves the battlefield. (An exerted creature won't untap during your next untap step.) Oracle:Flying, vigilance\n{2}{W}, {T}: Exile another target creature. Return that card to the battlefield under its owner's control at the beginning of the next end step.\n{2}{W}, {T}, Exert Angel of Condemnation: Exile another target creature until Angel of Condemnation leaves the battlefield. (An exerted creature won't untap during your next untap step.) diff --git a/forge-gui/res/cardsfolder/a/angel_of_sanctions.txt b/forge-gui/res/cardsfolder/a/angel_of_sanctions.txt index 569ced846d9..36a287d0ae6 100644 --- a/forge-gui/res/cardsfolder/a/angel_of_sanctions.txt +++ b/forge-gui/res/cardsfolder/a/angel_of_sanctions.txt @@ -4,12 +4,7 @@ Types:Creature Angel PT:3/4 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True K:Embalm:5 W SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/angel_of_sanctions.jpg -Oracle:Flying\nWhen Angel of Sanctions enters the battlefield, you may exile target nonland permanent an opponent controls until Angel of Sanctions leaves the battlefield.\nEmbalm {5}{W} ({5}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a white Zombie Angel with no mana cost. Embalm only as a sorcery.) \ No newline at end of file +Oracle:Flying\nWhen Angel of Sanctions enters the battlefield, you may exile target nonland permanent an opponent controls until Angel of Sanctions leaves the battlefield.\nEmbalm {5}{W} ({5}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a white Zombie Angel with no mana cost. Embalm only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/a/avacynian_missionaries_lunarch_inquisitors.txt b/forge-gui/res/cardsfolder/a/avacynian_missionaries_lunarch_inquisitors.txt index dcae50cb5cb..1beff86d697 100644 --- a/forge-gui/res/cardsfolder/a/avacynian_missionaries_lunarch_inquisitors.txt +++ b/forge-gui/res/cardsfolder/a/avacynian_missionaries_lunarch_inquisitors.txt @@ -5,7 +5,6 @@ PT:3/3 T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | IsPresent$ Card.Self+equipped | TriggerZones$ Battlefield | Execute$ TrigTransform | TriggerDescription$ At the beginning of your end step, if CARDNAME is equipped, transform it. SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Transform DeckHints:Type$Equipment -SVar:Picture:http://www.wizards.com/global/images/magic/general/avacynian_missionaries.jpg AlternateMode:DoubleFaced SVar:EquipMe:Once Oracle:At the beginning of your end step, if Avacynian Missionaries is equipped, transform it. @@ -18,11 +17,5 @@ Colors:white Types:Creature Human Cleric PT:4/4 T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ When this creature transforms into CARDNAME, you may exile another target creature until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:Picture:http://www.wizards.com/global/images/magic/general/lunarch_inquisitors.jpg +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature | UntilHostLeavesPlay$ True Oracle:When this creature transforms into Lunarch Inquisitors, you may exile another target creature until Lunarch Inquisitors leaves the battlefield. - diff --git a/forge-gui/res/cardsfolder/b/banisher_priest.txt b/forge-gui/res/cardsfolder/b/banisher_priest.txt index 5ad783987e7..5888ca0825c 100644 --- a/forge-gui/res/cardsfolder/b/banisher_priest.txt +++ b/forge-gui/res/cardsfolder/b/banisher_priest.txt @@ -3,11 +3,6 @@ ManaCost:1 W W Types:Creature Human Cleric PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/banisher_priest.jpg Oracle:When Banisher Priest enters the battlefield, exile target creature an opponent controls until Banisher Priest leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/b/banishing_light.txt b/forge-gui/res/cardsfolder/b/banishing_light.txt index 93da03b222a..0bd3eaa65ea 100644 --- a/forge-gui/res/cardsfolder/b/banishing_light.txt +++ b/forge-gui/res/cardsfolder/b/banishing_light.txt @@ -2,12 +2,7 @@ Name:Banishing Light ManaCost:2 W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/banishing_light.jpg Oracle:When Banishing Light enters the battlefield, exile target nonland permanent an opponent controls until Banishing Light leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/b/brain_maggot.txt b/forge-gui/res/cardsfolder/b/brain_maggot.txt index e65e55bcf66..bb13d54de8b 100644 --- a/forge-gui/res/cardsfolder/b/brain_maggot.txt +++ b/forge-gui/res/cardsfolder/b/brain_maggot.txt @@ -3,12 +3,6 @@ ManaCost:1 B Types:Enchantment Creature Insect PT:1/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, target opponent reveals their hand and you choose a nonland card from it. Exile that card until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | ValidTgts$ Opponent | DefinedPlayer$ Targeted | Chooser$ You | TgtPrompt$ Select target opponent | ChangeType$ Card.nonLand | ChangeNum$ 1 | IsCurse$ True | ConditionPresent$ Card.Self | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Hand | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigExile:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | ValidTgts$ Opponent | DefinedPlayer$ Targeted | Chooser$ You | TgtPrompt$ Select target opponent | ChangeType$ Card.nonLand | ChangeNum$ 1 | IsCurse$ True | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/brain_maggot.jpg Oracle:When Brain Maggot enters the battlefield, target opponent reveals their hand and you choose a nonland card from it. Exile that card until Brain Maggot leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/c/cast_out.txt b/forge-gui/res/cardsfolder/c/cast_out.txt index b5aa3efa294..db42afe6f50 100644 --- a/forge-gui/res/cardsfolder/c/cast_out.txt +++ b/forge-gui/res/cardsfolder/c/cast_out.txt @@ -3,12 +3,7 @@ ManaCost:3 W Types:Enchantment K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True K:Cycling:W SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/cast_out.jpg -Oracle:Flash\nWhen Cast Out enters the battlefield, exile target nonland permanent an opponent controls until Cast Out leaves the battlefield.\nCycling {W} ({W}, Discard this card: Draw a card.) \ No newline at end of file +Oracle:Flash\nWhen Cast Out enters the battlefield, exile target nonland permanent an opponent controls until Cast Out leaves the battlefield.\nCycling {W} ({W}, Discard this card: Draw a card.) diff --git a/forge-gui/res/cardsfolder/c/chained_to_the_rocks.txt b/forge-gui/res/cardsfolder/c/chained_to_the_rocks.txt index 5ebb76e3c60..c64fd52b790 100644 --- a/forge-gui/res/cardsfolder/c/chained_to_the_rocks.txt +++ b/forge-gui/res/cardsfolder/c/chained_to_the_rocks.txt @@ -4,12 +4,7 @@ Types:Enchantment Aura K:Enchant Mountain you control A:SP$ Attach | Cost$ W | ValidTgts$ Mountain.YouCtrl | TgtPrompt$ Select target Mountain you control | AILogic$ Pump T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:NeedsToPlay:Creature.OppCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/chained_to_the_rocks.jpg Oracle:Enchant Mountain you control\nWhen Chained to the Rocks enters the battlefield, exile target creature an opponent controls until Chained to the Rocks leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/c/colossal_whale.txt b/forge-gui/res/cardsfolder/c/colossal_whale.txt index 2e3cfce9da5..00339b4e9b7 100644 --- a/forge-gui/res/cardsfolder/c/colossal_whale.txt +++ b/forge-gui/res/cardsfolder/c/colossal_whale.txt @@ -4,11 +4,6 @@ Types:Creature Whale PT:5/5 K:Islandwalk T:Mode$ Attacks | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, you may exile target creature defending player controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.DefenderCtrl | TgtPrompt$ Select target creature defending player control | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.DefenderCtrl | TgtPrompt$ Select target creature defending player control | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/colossal_whale.jpg Oracle:Islandwalk (This creature can't be blocked as long as defending player controls an Island.)\nWhenever Colossal Whale attacks, you may exile target creature defending player controls until Colossal Whale leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/c/conclave_tribunal.txt b/forge-gui/res/cardsfolder/c/conclave_tribunal.txt index 05ec9002537..b2d008c2c74 100644 --- a/forge-gui/res/cardsfolder/c/conclave_tribunal.txt +++ b/forge-gui/res/cardsfolder/c/conclave_tribunal.txt @@ -3,10 +3,6 @@ ManaCost:3 W Types:Enchantment K:Convoke T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True SVar:OblivionRing:TRUE Oracle:Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.)\nWhen Conclave Tribunal enters the battlefield, exile target nonland permanent an opponent controls until Conclave Tribunal leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/c/consulate_crackdown.txt b/forge-gui/res/cardsfolder/c/consulate_crackdown.txt index 2638e69db7c..fab8c3a93a8 100644 --- a/forge-gui/res/cardsfolder/c/consulate_crackdown.txt +++ b/forge-gui/res/cardsfolder/c/consulate_crackdown.txt @@ -2,15 +2,9 @@ Name:Consulate Crackdown ManaCost:3 W W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile all artifacts your opponents control until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | ChangeType$ Artifact.OppCtrl | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Those artifacts are exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True +SVar:TrigExile:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Artifact.OppCtrl | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:NeedsToPlayVar:Z GE2 SVar:Z:Count$Valid Artifact.OppCtrl AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/consulate_crackdown.jpg Oracle:When Consulate Crackdown enters the battlefield, exile all artifacts your opponents control until Consulate Crackdown leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/c/crown_of_vigor.txt b/forge-gui/res/cardsfolder/c/crown_of_vigor.txt index 621ea311851..33719483452 100644 --- a/forge-gui/res/cardsfolder/c/crown_of_vigor.txt +++ b/forge-gui/res/cardsfolder/c/crown_of_vigor.txt @@ -5,6 +5,6 @@ K:Enchant creature A:SP$ Attach | Cost$ 1 G | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Enchanted creature gets +1/+1. A:AB$ Pump | Cost$ Sac<1/CARDNAME> | Defined$ AttachedBy Sacrificed | NumAtt$ 1 | NumDef$ 1 | SubAbility$ DBPumpAll | SpellDescription$ Enchanted creature and other creatures that share a creature type with it get +1/+1 until end of turn. -SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+sharesCreatureTypeWith AttachedBy Sacrificed | NumAtt$ 1 | NumDef$ 1 +SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.NotDefinedAttachedBy Sacrificed+sharesCreatureTypeWith AttachedBy Sacrificed | NumAtt$ 1 | NumDef$ 1 AI:RemoveDeck:All Oracle:Enchant creature\nEnchanted creature gets +1/+1.\nSacrifice Crown of Vigor: Enchanted creature and other creatures that share a creature type with it get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/d/deputy_of_detention.txt b/forge-gui/res/cardsfolder/d/deputy_of_detention.txt index 4a12213e1c9..6de82d128a9 100644 --- a/forge-gui/res/cardsfolder/d/deputy_of_detention.txt +++ b/forge-gui/res/cardsfolder/d/deputy_of_detention.txt @@ -3,11 +3,6 @@ ManaCost:1 W U Types:Creature Vedalken Wizard PT:1/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls and all other nonland permanents that player controls with the same name as that permanent until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | RememberTargets$ True | SubAbility$ DBChangeZoneAll -SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Remembered.sameName+ControlledBy TargetedOrController | ConditionPresent$ Card.Self | RememberChanged$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Those permanents are exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | SubAbility$ DBChangeZoneAll | UntilHostLeavesPlay$ True +SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Permanent.nonLand+NotDefinedTargeted+sharesNameWith Targeted+ControlledBy TargetedOrController | UntilHostLeavesPlay$ True Oracle:When Deputy of Detention enters the battlefield, exile target nonland permanent an opponent controls and all other nonland permanents that player controls with the same name as that permanent until Deputy of Detention leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/f/fairgrounds_warden.txt b/forge-gui/res/cardsfolder/f/fairgrounds_warden.txt index 6ebcea92aac..91c2498c367 100644 --- a/forge-gui/res/cardsfolder/f/fairgrounds_warden.txt +++ b/forge-gui/res/cardsfolder/f/fairgrounds_warden.txt @@ -3,11 +3,6 @@ ManaCost:2 W Types:Creature Dwarf Soldier PT:1/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/fairgrounds_warden.jpg Oracle:When Fairgrounds Warden enters the battlefield, exile target creature an opponent controls until Fairgrounds Warden leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/f/faith_unbroken.txt b/forge-gui/res/cardsfolder/f/faith_unbroken.txt index 54bb21c096d..58d61490fc5 100644 --- a/forge-gui/res/cardsfolder/f/faith_unbroken.txt +++ b/forge-gui/res/cardsfolder/f/faith_unbroken.txt @@ -4,12 +4,7 @@ Types:Enchantment Aura K:Enchant creature you control A:SP$ Attach | Cost$ 3 W | ValidTgts$ Creature | AILogic$ Pump T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | Description$ Enchanted creature gets +2/+2. -SVar:Picture:http://www.wizards.com/global/images/magic/general/faith_unbroken.jpg Oracle:Enchant creature you control\nWhen Faith Unbroken enters the battlefield, exile target creature an opponent controls until Faith Unbroken leaves the battlefield.\nEnchanted creature gets +2/+2. diff --git a/forge-gui/res/cardsfolder/g/glass_casket.txt b/forge-gui/res/cardsfolder/g/glass_casket.txt index 3e270a172c2..5970f030a5b 100644 --- a/forge-gui/res/cardsfolder/g/glass_casket.txt +++ b/forge-gui/res/cardsfolder/g/glass_casket.txt @@ -2,11 +2,7 @@ Name:Glass Casket ManaCost:1 W Types:Artifact T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls with converted mana cost 3 or less until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl+cmcLE3 | TgtPrompt$ Select target creature an opponent controls with converted mana cost 3 or less | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl+cmcLE3 | TgtPrompt$ Select target creature an opponent controls with converted mana cost 3 or less | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:NeedsToPlay:Creature.OppCtrl+cmcLE3 Oracle:When Glass Casket enters the battlefield, exile target creature an opponent controls with converted mana cost 3 or less until Glass Casket leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/g/glorious_protector.txt b/forge-gui/res/cardsfolder/g/glorious_protector.txt index f7796e22b81..ecf075f3fa0 100644 --- a/forge-gui/res/cardsfolder/g/glorious_protector.txt +++ b/forge-gui/res/cardsfolder/g/glorious_protector.txt @@ -5,17 +5,7 @@ PT:3/4 K:Flash K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, you may exile any number of other non-Angel creatures you control until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | Hidden$ True | ChangeType$ Creature.nonAngel+YouCtrl | ChangeNum$ MaxTgts | SelectPrompt$ Choose any number of non-Angel creatures you control | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ RememberedCard | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -#Triggers to forget remembered on this -T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Exile | Destination$ Any | TriggerZones$ Battlefield | Static$ True | Execute$ TrigForget -SVar:TrigForget:DB$ Pump | ForgetObjects$ TriggeredCard -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Static$ True | Execute$ TrigForgetAll -SVar:TrigForgetAll:DB$ Cleanup | ClearRemembered$ True -SVar:X:Count$ValidExile Card.IsRemembered+ExiledWithSource/Times.2 +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Hidden$ True | ChangeType$ Creature.nonAngel+YouCtrl | ChangeNum$ MaxTgts | SelectPrompt$ Choose any number of non-Angel creatures you control | UntilHostLeavesPlay$ True SVar:MaxTgts:Count$Valid Creature.nonAngel+YouCtrl AI:RemoveDeck:Random K:Foretell:2 W diff --git a/forge-gui/res/cardsfolder/g/grasp_of_fate.txt b/forge-gui/res/cardsfolder/g/grasp_of_fate.txt index f147268125c..dcd711bc2b4 100644 --- a/forge-gui/res/cardsfolder/g/grasp_of_fate.txt +++ b/forge-gui/res/cardsfolder/g/grasp_of_fate.txt @@ -2,13 +2,8 @@ Name:Grasp of Fate ManaCost:1 W W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, for each opponent, exile up to one target nonland permanent that player controls until CARDNAME leaves the battlefield. (Those permanents return under their owners' control.) -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TargetMin$ 0 | TargetMax$ OneEach | TargetsWithDifferentControllers$ True | TgtPrompt$ Select up to one target nonland permanent each opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Those permanents are exiled until EFFECTSOURCE leaves the battlefield. -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TargetMin$ 0 | TargetMax$ OneEach | TargetsWithDifferentControllers$ True | TgtPrompt$ Select up to one target nonland permanent each opponent controls | UntilHostLeavesPlay$ True SVar:OneEach:PlayerCountOpponents$Amount SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/grasp_of_fate.jpg Oracle:When Grasp of Fate enters the battlefield, for each opponent, exile up to one target nonland permanent that player controls until Grasp of Fate leaves the battlefield. (Those permanents return under their owners' control.) diff --git a/forge-gui/res/cardsfolder/g/grasping_giant.txt b/forge-gui/res/cardsfolder/g/grasping_giant.txt index a18d49c90a3..bf6f6315546 100644 --- a/forge-gui/res/cardsfolder/g/grasping_giant.txt +++ b/forge-gui/res/cardsfolder/g/grasping_giant.txt @@ -4,10 +4,5 @@ Types:Creature Giant PT:5/7 K:Vigilance T:Mode$ AttackerBlockedByCreature | ValidCard$ Card.Self | ValidBlocker$ Creature | Execute$ TrigExile | TriggerDescription$ Whenever CARDNAME becomes blocked by a creature, exile that creature until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredBlockerLKICopy | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredBlockerLKICopy | Origin$ Battlefield | Destination$ Exile | UntilHostLeavesPlay$ True Oracle:Vigilance\nWhenever Grasping Giant becomes blocked by a creature, exile that creature until Grasping Giant leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/h/hieromancers_cage.txt b/forge-gui/res/cardsfolder/h/hieromancers_cage.txt index 23aba5b0876..a4719227a5b 100644 --- a/forge-gui/res/cardsfolder/h/hieromancers_cage.txt +++ b/forge-gui/res/cardsfolder/h/hieromancers_cage.txt @@ -2,11 +2,7 @@ Name:Hieromancer's Cage ManaCost:3 W Types:Enchantment T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until Hieromancer's Cage leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | SubAbility$ DBEffect | ConditionPresent$ Card.Self -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE Oracle:When Hieromancer's Cage enters the battlefield, exile target nonland permanent an opponent controls until Hieromancer's Cage leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt b/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt index 9bc2d8d7ead..a85c8b88ca0 100644 --- a/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt +++ b/forge-gui/res/cardsfolder/h/hixus_prison_warden.txt @@ -4,10 +4,6 @@ Types:Legendary Creature Human Soldier PT:4/4 K:Flash T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ You | CombatDamage$ True | IsPresent$ Card.Self+ThisTurnEntered | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature deals combat damage to you, if CARDNAME entered the battlefield this turn, exile that creature until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ TriggeredSourceLKICopy | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ TriggeredCard | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ You | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ TriggeredSourceLKICopy | UntilHostLeavesPlay$ True SVar:AmbushAI:BlockOnly Oracle:Flash (You may cast this spell any time you could cast an instant.)\nWhenever a creature deals combat damage to you, if Hixus, Prison Warden entered the battlefield this turn, exile that creature until Hixus leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/h/hostage_taker.txt b/forge-gui/res/cardsfolder/h/hostage_taker.txt index 289d0bc5c50..8183c5122cd 100644 --- a/forge-gui/res/cardsfolder/h/hostage_taker.txt +++ b/forge-gui/res/cardsfolder/h/hostage_taker.txt @@ -3,15 +3,10 @@ ManaCost:2 U B Types:Creature Human Pirate PT:2/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile another target creature or artifact until CARDNAME leaves the battlefield. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any type to cast that spell. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact.Other,Creature.Other | TgtPrompt$ Select another target artifact or creature | ConditionPresent$ Card.Self | RememberChanged$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | Triggers$ ComeBack,TriggerCastHT | RememberObjects$ Remembered | ImprintCards$ Self | Duration$ Permanent | SubAbility$ DBCleanup | SpellDescription$ You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any type to cast that spell. +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.Other,Artifact.Other | TgtPrompt$ Select another target creature or artifact | UntilHostLeavesPlay$ True | RememberChanged$ True | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreType$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may cast that card and you may spend mana as though it were mana of any type to cast it. -SVar:TriggerCastHT:Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ TrigRemoveSelf | Static$ True -SVar:TrigRemoveSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That artifact or creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ TrigRemoveSelf SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:PlayMain1:TRUE SVar:NeedsToPlay:Artifact.OppCtrl,Creature.OppCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/hostage_taker.jpg Oracle:When Hostage Taker enters the battlefield, exile another target creature or artifact until Hostage Taker leaves the battlefield. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any type to cast that spell. diff --git a/forge-gui/res/cardsfolder/i/isolation_zone.txt b/forge-gui/res/cardsfolder/i/isolation_zone.txt index 07564b12bb8..dbb2ca72103 100644 --- a/forge-gui/res/cardsfolder/i/isolation_zone.txt +++ b/forge-gui/res/cardsfolder/i/isolation_zone.txt @@ -2,12 +2,7 @@ Name:Isolation Zone ManaCost:2 W W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature or enchantment an opponent controls until CARDNAME leaves the battlefield. (That permanent returns under its owner's control.) -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl,Enchantment.OppCtrl | TgtPrompt$ Select target creature or enchantment an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl,Enchantment.OppCtrl | TgtPrompt$ Select target creature or enchantment an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/isolation_zone.jpg Oracle:When Isolation Zone enters the battlefield, exile target creature or enchantment an opponent controls until Isolation Zone leaves the battlefield. (That permanent returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/j/journey_to_oblivion.txt b/forge-gui/res/cardsfolder/j/journey_to_oblivion.txt index 7b910ad7ebb..26c1b5be828 100755 --- a/forge-gui/res/cardsfolder/j/journey_to_oblivion.txt +++ b/forge-gui/res/cardsfolder/j/journey_to_oblivion.txt @@ -3,11 +3,7 @@ ManaCost:4 W Types:Enchantment S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ X | EffectZone$ All | Description$ This spell costs {1} less to cast for each creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ This nonland permanent is exiled until EFFECTSOURCE leaves the battlefield. -SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ Remembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE SVar:X:Count$Party diff --git a/forge-gui/res/cardsfolder/k/kitesail_freebooter.txt b/forge-gui/res/cardsfolder/k/kitesail_freebooter.txt index 6d48d2d4e38..501b915833a 100644 --- a/forge-gui/res/cardsfolder/k/kitesail_freebooter.txt +++ b/forge-gui/res/cardsfolder/k/kitesail_freebooter.txt @@ -4,12 +4,6 @@ Types:Creature Human Pirate PT:1/2 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, target opponent reveals their hand. You choose a noncreature, nonland card from it. Exile that card until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | ValidTgts$ Opponent | DefinedPlayer$ Targeted | Chooser$ You | TgtPrompt$ Select target opponent | ChangeType$ Card.nonCreature+nonLand | ChangeNum$ 1 | IsCurse$ True | ConditionPresent$ Card.Self | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Remembered | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile | SubAbility$ DBCleanup -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Hand | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigExile:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | ValidTgts$ Opponent | DefinedPlayer$ Targeted | Chooser$ You | TgtPrompt$ Select target opponent | ChangeType$ Card.nonCreature+nonLand | ChangeNum$ 1 | IsCurse$ True | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/kitesail_freebooter.jpg Oracle:Flying\nWhen Kitesail Freebooter enters the battlefield, target opponent reveals their hand. You choose a noncreature, nonland card from it. Exile that card until Kitesail Freebooter leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/o/on_thin_ice.txt b/forge-gui/res/cardsfolder/o/on_thin_ice.txt index 0e7c5f37d4e..fba752549f0 100644 --- a/forge-gui/res/cardsfolder/o/on_thin_ice.txt +++ b/forge-gui/res/cardsfolder/o/on_thin_ice.txt @@ -4,11 +4,7 @@ Types:Snow Enchantment Aura K:Enchant snow land you control A:SP$ Attach | Cost$ W | ValidTgts$ Land.Snow+YouCtrl | TgtPrompt$ Select target snow land you control | AILogic$ Pump T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:NeedsToPlay:Creature.OppCtrl DeckHints:Type$Snow diff --git a/forge-gui/res/cardsfolder/p/prison_realm.txt b/forge-gui/res/cardsfolder/p/prison_realm.txt index 012723b2868..cf02976d900 100644 --- a/forge-gui/res/cardsfolder/p/prison_realm.txt +++ b/forge-gui/res/cardsfolder/p/prison_realm.txt @@ -1,18 +1,8 @@ Name:Prison Realm ManaCost:2 W Types: Enchantment -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$When CARDNAME enters the battlefield, exile target creature or planeswalker an opponent controls until CARDNAME leaves the battlefield. | SpellDescription$ When CARDNAME enters the battlefield, exile target creature or planeswalker an opponent controls until CARDNAME leaves the battlefield,\nWhen CARDNAME enters the battlefield, scry 1. - -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl,Planeswalker.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect - -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile - -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield - -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf - -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self - +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature or planeswalker an opponent controls until CARDNAME leaves the battlefield. | SpellDescription$ When CARDNAME enters the battlefield, exile target creature or planeswalker an opponent controls until CARDNAME leaves the battlefield. +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl,Planeswalker.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigScry | TriggerDescription$ When CARDNAME enters the battlefield, scry 1. SVar:TrigScry:DB$ Scry | ScryNum$ 1 diff --git a/forge-gui/res/cardsfolder/q/quarantine_field.txt b/forge-gui/res/cardsfolder/q/quarantine_field.txt index 16eb35e3be1..cb15083eac3 100644 --- a/forge-gui/res/cardsfolder/q/quarantine_field.txt +++ b/forge-gui/res/cardsfolder/q/quarantine_field.txt @@ -4,13 +4,8 @@ Types:Enchantment K:etbCounter:ISOLATION:X SVar:X:Count$xPaid T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, for each isolation counter on it, exile up to one target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TargetMin$ 0 | TargetMax$ Y | TgtPrompt$ Select target nonland permanent an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield. -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TargetMin$ 0 | TargetMax$ Y | TgtPrompt$ Select target nonland permanent an opponent controls | UntilHostLeavesPlay$ True SVar:Y:Count$CardCounters.ISOLATION SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/quarantine_field.jpg Oracle:Quarantine Field enters the battlefield with X isolation counters on it.\nWhen Quarantine Field enters the battlefield, for each isolation counter on it, exile up to one target nonland permanent an opponent controls until Quarantine Field leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/s/seal_away.txt b/forge-gui/res/cardsfolder/s/seal_away.txt index 4227578582b..a785876a1fb 100644 --- a/forge-gui/res/cardsfolder/s/seal_away.txt +++ b/forge-gui/res/cardsfolder/s/seal_away.txt @@ -3,12 +3,7 @@ ManaCost:1 W Types:Enchantment K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target tapped creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.tapped+OppCtrl | TgtPrompt$ Select target tapped creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.tapped+OppCtrl | TgtPrompt$ Select target tapped creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/seal_away.jpg -Oracle:Flash\nWhen Seal Away enters the battlefield, exile target tapped creature an opponent controls until Seal Away leaves the battlefield. \ No newline at end of file +Oracle:Flash\nWhen Seal Away enters the battlefield, exile target tapped creature an opponent controls until Seal Away leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/s/sigrid_god_favored.txt b/forge-gui/res/cardsfolder/s/sigrid_god_favored.txt index c3e57482239..a13af1f3281 100644 --- a/forge-gui/res/cardsfolder/s/sigrid_god_favored.txt +++ b/forge-gui/res/cardsfolder/s/sigrid_god_favored.txt @@ -6,10 +6,6 @@ K:Flash K:First Strike K:Protection:Creature.God:Protection from God creatures T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, exile up to one target attacking or blocking creature until NICKNAME leaves the battlefield. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.attacking,Creature.blocking | AITgts$ Creature.OppCtrl+attacking,Creature.OppCtrl+blocking | TgtPrompt$ Select target attacking or blocking creature | TargetMin$ 0 | TargetMax$ 1 | ConditionPresent$ Card.Self | AILogic$ ExileCombatThreat | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Target creature is exiled until EFFECTSOURCE leaves the battlefield. -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.attacking,Creature.blocking | AITgts$ Creature.OppCtrl+attacking,Creature.OppCtrl+blocking | TgtPrompt$ Select target attacking or blocking creature | TargetMin$ 0 | TargetMax$ 1 | UntilHostLeavesPlay$ True | AILogic$ ExileCombatThreat SVar:AmbushAI:True Oracle:Flash\nFirst strike, protection from God creatures\nWhen Sigrid, God-Favored enters the battlefield, exile up to one target attacking or blocking creature until Sigrid leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/s/silkwrap.txt b/forge-gui/res/cardsfolder/s/silkwrap.txt index 4190793a68b..38cc554677f 100644 --- a/forge-gui/res/cardsfolder/s/silkwrap.txt +++ b/forge-gui/res/cardsfolder/s/silkwrap.txt @@ -2,12 +2,7 @@ Name:Silkwrap ManaCost:1 W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature with converted mana cost 3 or less an opponent controls until CARDNAME leaves the battlefield. (That creature returns under its owner's control.) -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.cmcLE3+OppCtrl | TgtPrompt$ Select target creature with converted mana cost 3 or less an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.cmcLE3+OppCtrl | TgtPrompt$ Select target creature with converted mana cost 3 or less an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:NeedsToPlay:Creature.cmcLE3+OppCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/silkwrap.jpg Oracle:When Silkwrap enters the battlefield, exile target creature with converted mana cost 3 or less an opponent controls until Silkwrap leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/s/stasis_snare.txt b/forge-gui/res/cardsfolder/s/stasis_snare.txt index 0f39f6d73b7..a8aba35cb05 100644 --- a/forge-gui/res/cardsfolder/s/stasis_snare.txt +++ b/forge-gui/res/cardsfolder/s/stasis_snare.txt @@ -2,13 +2,8 @@ Name:Stasis Snare ManaCost:1 W W Types:Enchantment K:Flash -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. (That creature returns under its owner's control.) -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature an opponent controls until CARDNAME leaves the battlefield. +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/stasis_snare.jpg Oracle:Flash (You may cast this spell any time you could cast an instant.)\nWhen Stasis Snare enters the battlefield, exile target creature an opponent controls until Stasis Snare leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/s/suspension_field.txt b/forge-gui/res/cardsfolder/s/suspension_field.txt index 730e47a702b..7e9d57456b2 100644 --- a/forge-gui/res/cardsfolder/s/suspension_field.txt +++ b/forge-gui/res/cardsfolder/s/suspension_field.txt @@ -2,12 +2,7 @@ Name:Suspension Field ManaCost:1 W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may exile target creature with toughness 3 or greater until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.toughnessGE3 | TgtPrompt$ Select target creature with toughness 3 or greater | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.toughnessGE3 | TgtPrompt$ Select target creature with toughness 3 or greater | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/suspension_field.jpg Oracle:When Suspension Field enters the battlefield, you may exile target creature with toughness 3 or greater until Suspension Field leaves the battlefield. (That creature returns under its owner's control.) diff --git a/forge-gui/res/cardsfolder/t/thopter_arrest.txt b/forge-gui/res/cardsfolder/t/thopter_arrest.txt index 5bbeccbf1eb..191dd683785 100644 --- a/forge-gui/res/cardsfolder/t/thopter_arrest.txt +++ b/forge-gui/res/cardsfolder/t/thopter_arrest.txt @@ -2,12 +2,7 @@ Name:Thopter Arrest ManaCost:2 W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target artifact or creature an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Select target artifact or creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ That permanent is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact.OppCtrl,Creature.OppCtrl | TgtPrompt$ Select target artifact or creature an opponent controls | UntilHostLeavesPlay$ True SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/thopter_arrest.jpg -Oracle:When Thopter Arrest enters the battlefield, exile target artifact or creature an opponent controls until Thopter Arrest leaves the battlefield. \ No newline at end of file +Oracle:When Thopter Arrest enters the battlefield, exile target artifact or creature an opponent controls until Thopter Arrest leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/t/trapjaw_tyrant.txt b/forge-gui/res/cardsfolder/t/trapjaw_tyrant.txt index 567252ec29c..4c6555a68df 100644 --- a/forge-gui/res/cardsfolder/t/trapjaw_tyrant.txt +++ b/forge-gui/res/cardsfolder/t/trapjaw_tyrant.txt @@ -2,12 +2,7 @@ Name:Trapjaw Tyrant ManaCost:3 W W Types:Creature Dinosaur PT:5/5 -T:Mode$ DamageDoneOnce | Execute$ TrigExile | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Enrage — Whenever CARDNAME is dealt damage, exile target creature an opponent controls until Trapjaw Tyrant leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | ConditionPresent$ Card.Self | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ Targeted | ImprintCards$ Self | ConditionPresent$ Card.Self | Duration$ Permanent | ForgetOnMoved$ Exile -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ Those creatures are exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered | SubAbility$ ExileSelf -SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self +T:Mode$ DamageDoneOnce | Execute$ TrigExile | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Enrage — Whenever CARDNAME is dealt damage, exile target creature an opponent controls until CARDNAME leaves the battlefield. +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | UntilHostLeavesPlay$ True SVar:HasCombatEffect:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/trapjaw_tyrant.jpg -Oracle:Enrage — Whenever Trapjaw Tyrant is dealt damage, exile target creature an opponent controls until Trapjaw Tyrant leaves the battlefield. \ No newline at end of file +Oracle:Enrage — Whenever Trapjaw Tyrant is dealt damage, exile target creature an opponent controls until Trapjaw Tyrant leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/y/yannik_scavenging_sentinel.txt b/forge-gui/res/cardsfolder/y/yannik_scavenging_sentinel.txt index 8d26ee12aab..c91ca6a8a1b 100755 --- a/forge-gui/res/cardsfolder/y/yannik_scavenging_sentinel.txt +++ b/forge-gui/res/cardsfolder/y/yannik_scavenging_sentinel.txt @@ -6,10 +6,7 @@ K:Partner:Nikara, Lair Scavenger:Nikara K:Vigilance T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When CARDNAME enters the battlefield, exile another creature you control until CARDNAME leaves the battlefield. When you do, distribute +1/+1 counters among any number of target creatures, where X is the exiled creature's power. SVar:TrigChoose:DB$ ChooseCard | Choices$ Creature.YouCtrl+Other | ChoiceZone$ Battlefield | ChoiceTitle$ Select another creature you control | Mandatory$ True | SubAbility$ DBExile -SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Triggers$ ComeBack | RememberObjects$ ChosenCard | ImprintCards$ Self | ForgetOnMoved$ Exile | Duration$ Permanent | SubAbility$ DBImmediateTrigger -SVar:ComeBack:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsImprinted | Execute$ TrigReturn | TriggerZones$ Command | TriggerController$ TriggeredCardController | Static$ True | TriggerDescription$ This creature is exiled until EFFECTSOURCE leaves the battlefield -SVar:TrigReturn:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Exile | Destination$ Battlefield +SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | UntilHostLeavesPlay$ True | SubAbility$ DBImmediateTrigger SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigPutCounters | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | TriggerDescription$ When you do, distribute X +1/+1 counters among any number of target creatures, where X is the exiled creature's power. SVar:TrigPutCounters:DB$ PutCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature to distribute counters to | CounterType$ P1P1 | CounterNum$ X | TargetMin$ 1 | TargetMax$ X | DividedAsYouChoose$ X | SubAbility$ DBCleanup | SpellDescription$ Distribute X +1/+1 counters among any number of target creatures. SVar:X:RememberedLKI$CardPower diff --git a/forge-gui/src/main/java/forge/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/card/CardDetailUtil.java index e44e23b2514..0fe7ba5c0b0 100644 --- a/forge-gui/src/main/java/forge/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/card/CardDetailUtil.java @@ -544,6 +544,13 @@ public class CardDetailUtil { area.append("Encoded: ").append(card.getEncodedCards()); } + if (card.getUntilLeavesBattlefield() != null) { + if (area.length() != 0) { + area.append("\n"); + } + area.append("Until leaves the Battlefield: ").append(card.getUntilLeavesBattlefield()); + } + // must block if (card.getMustBlockCards() != null) { if (area.length() != 0) { From 0dfe28a8611085217586753ca72cbc2276293388 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Mon, 15 Mar 2021 18:22:24 +0000 Subject: [PATCH 11/32] CardTraitBase: matchesValid as instance method, better use for isValid Conflicts: forge-gui/res/cardsfolder/d/day_of_the_dragons.txt forge-gui/res/cardsfolder/d/deputy_of_detention.txt forge-gui/res/cardsfolder/i/induced_amnesia.txt forge-gui/res/cardsfolder/l/living_lore.txt forge-gui/res/cardsfolder/p/phyrexian_devourer.txt forge-gui/res/cardsfolder/p/prototype_portal.txt forge-gui/res/cardsfolder/s/search_the_city.txt forge-gui/res/cardsfolder/s/skyclave_apparition.txt forge-gui/res/cardsfolder/s/soul_foundry.txt forge-gui/res/cardsfolder/s/strata_scythe.txt forge-gui/res/cardsfolder/s/sutured_ghoul.txt --- .../main/java/forge/ai/AiBlockController.java | 7 +- .../src/main/java/forge/ai/ComputerUtil.java | 6 +- .../java/forge/ai/ComputerUtilCombat.java | 27 ++- .../java/forge/ai/PlayerControllerAi.java | 4 +- .../java/forge/ai/ability/ChangeZoneAi.java | 16 +- .../java/forge/ai/ability/ChooseCardAi.java | 8 +- .../java/forge/ai/ability/ChooseSourceAi.java | 2 +- .../main/java/forge/ai/ability/CloneAi.java | 4 +- .../forge/ai/ability/CopyPermanentAi.java | 2 +- .../forge/ai/ability/CountersPutAllAi.java | 8 +- .../java/forge/ai/ability/DamageDealAi.java | 2 +- .../java/forge/ai/ability/ManifestAi.java | 2 +- .../main/java/forge/ai/ability/PumpAllAi.java | 6 +- .../main/java/forge/ai/ability/TapAllAi.java | 8 +- .../java/forge/ai/ability/TwoPilesAi.java | 2 +- .../main/java/forge/ai/ability/VoteAi.java | 2 +- .../java/forge/ai/ability/ZoneExchangeAi.java | 2 +- .../main/java/forge/game/CardTraitBase.java | 36 ++-- .../src/main/java/forge/game/ForgeScript.java | 4 +- forge-game/src/main/java/forge/game/Game.java | 6 +- .../src/main/java/forge/game/GameAction.java | 2 +- .../forge/game/GameEntityCounterTable.java | 3 +- .../src/main/java/forge/game/GameObject.java | 6 +- .../java/forge/game/GameObjectPredicates.java | 3 +- .../java/forge/game/ability/AbilityUtils.java | 179 +++++++++--------- .../game/ability/effects/AttachEffect.java | 2 +- .../game/ability/effects/BalanceEffect.java | 2 +- .../ability/effects/ChangeZoneAllEffect.java | 4 +- .../ability/effects/ChangeZoneEffect.java | 6 +- .../ability/effects/ChooseCardNameEffect.java | 2 +- .../ability/effects/ChooseSourceEffect.java | 12 +- .../game/ability/effects/CloneEffect.java | 2 +- .../effects/ControlGainVariantEffect.java | 2 +- .../ability/effects/CopyPermanentEffect.java | 2 +- .../ability/effects/CountersPutAllEffect.java | 2 +- .../effects/CountersRemoveAllEffect.java | 2 +- .../ability/effects/DamageEachEffect.java | 2 +- .../forge/game/ability/effects/DigEffect.java | 2 +- .../game/ability/effects/DiscardEffect.java | 4 +- .../game/ability/effects/ManifestEffect.java | 2 +- .../ability/effects/MultiplePilesEffect.java | 2 +- .../game/ability/effects/MustBlockEffect.java | 2 +- .../ability/effects/PeekAndRevealEffect.java | 2 +- .../ability/effects/ProtectAllEffect.java | 2 +- .../ability/effects/RepeatEachEffect.java | 4 +- .../ability/effects/RestartGameEffect.java | 2 +- .../game/ability/effects/RevealEffect.java | 2 +- .../game/ability/effects/TwoPilesEffect.java | 2 +- .../game/ability/effects/UntapEffect.java | 2 +- .../game/ability/effects/VoteEffect.java | 2 +- .../ability/effects/ZoneExchangeEffect.java | 2 +- .../src/main/java/forge/game/card/Card.java | 6 +- .../java/forge/game/card/CardDamageMap.java | 3 +- .../java/forge/game/card/CardFactoryUtil.java | 8 +- .../main/java/forge/game/card/CardLists.java | 25 +-- .../java/forge/game/card/CardPredicates.java | 3 +- .../java/forge/game/card/CardProperty.java | 35 ++-- .../main/java/forge/game/card/CardState.java | 2 +- .../main/java/forge/game/card/CardUtil.java | 10 +- .../java/forge/game/card/CardZoneTable.java | 4 +- .../java/forge/game/combat/AttackingBand.java | 2 +- .../java/forge/game/combat/CombatUtil.java | 4 +- .../java/forge/game/cost/CostAdjustment.java | 14 +- .../java/forge/game/cost/CostUnattach.java | 4 +- .../src/main/java/forge/game/phase/Untap.java | 2 +- .../main/java/forge/game/player/Player.java | 4 +- .../forge/game/player/PlayerProperty.java | 8 +- .../game/replacement/ReplaceAddCounter.java | 34 +--- .../replacement/ReplaceAssignDealDamage.java | 6 +- .../game/replacement/ReplaceAttached.java | 12 +- .../game/replacement/ReplaceBeginTurn.java | 6 +- .../game/replacement/ReplaceCopySpell.java | 12 +- .../game/replacement/ReplaceCounter.java | 15 +- .../forge/game/replacement/ReplaceDamage.java | 44 ++--- .../game/replacement/ReplaceDealtDamage.java | 6 +- .../game/replacement/ReplaceDestroy.java | 49 ++--- .../game/replacement/ReplaceDiscard.java | 20 +- .../forge/game/replacement/ReplaceDraw.java | 23 +-- .../game/replacement/ReplaceDrawCards.java | 6 +- .../game/replacement/ReplaceGainLife.java | 12 +- .../game/replacement/ReplaceGameLoss.java | 6 +- .../forge/game/replacement/ReplaceMill.java | 7 +- .../forge/game/replacement/ReplaceMoved.java | 37 +--- .../game/replacement/ReplaceProduceMana.java | 25 +-- .../forge/game/replacement/ReplaceScry.java | 6 +- .../game/replacement/ReplaceSetInMotion.java | 6 +- .../game/replacement/ReplaceSurveil.java | 7 +- .../forge/game/replacement/ReplaceTap.java | 6 +- .../forge/game/replacement/ReplaceToken.java | 19 +- .../game/replacement/ReplaceTurnFaceUp.java | 6 +- .../forge/game/replacement/ReplaceUntap.java | 6 +- .../forge/game/spellability/SpellAbility.java | 4 +- .../spellability/SpellAbilityPredicates.java | 3 +- .../spellability/SpellAbilityRestriction.java | 2 +- .../game/staticability/StaticAbility.java | 8 +- .../StaticAbilityCantAttach.java | 10 +- .../StaticAbilityCantAttackBlock.java | 44 ++--- .../StaticAbilityCantBeCast.java | 25 +-- .../StaticAbilityCantPreventDamage.java | 14 +- .../StaticAbilityCantPutCounter.java | 32 ++-- .../StaticAbilityCantTarget.java | 57 +++--- .../StaticAbilityCastWithFlash.java | 12 +- .../StaticAbilityPreventDamage.java | 6 +- .../forge/game/trigger/TriggerAbandoned.java | 8 +- .../java/forge/game/trigger/TriggerAdapt.java | 8 +- .../forge/game/trigger/TriggerAttached.java | 17 +- .../game/trigger/TriggerAttackerBlocked.java | 9 +- .../TriggerAttackerBlockedByCreature.java | 32 ++-- .../trigger/TriggerAttackerBlockedOnce.java | 13 +- .../trigger/TriggerAttackerUnblocked.java | 16 +- .../trigger/TriggerAttackerUnblockedOnce.java | 29 +-- .../trigger/TriggerAttackersDeclared.java | 39 +--- .../forge/game/trigger/TriggerAttacks.java | 16 +- .../game/trigger/TriggerBecomeMonarch.java | 18 +- .../game/trigger/TriggerBecomeMonstrous.java | 7 +- .../game/trigger/TriggerBecomeRenowned.java | 7 +- .../game/trigger/TriggerBecomesTarget.java | 11 +- .../trigger/TriggerBecomesTargetOnce.java | 22 +-- .../forge/game/trigger/TriggerBlocks.java | 32 +--- .../forge/game/trigger/TriggerChampioned.java | 18 +- .../trigger/TriggerChangesController.java | 15 +- .../game/trigger/TriggerChangesZone.java | 6 +- .../game/trigger/TriggerChangesZoneAll.java | 2 +- .../forge/game/trigger/TriggerClashed.java | 7 +- .../game/trigger/TriggerCounterAdded.java | 41 +--- .../game/trigger/TriggerCounterAddedAll.java | 2 +- .../game/trigger/TriggerCounterAddedOnce.java | 41 +--- .../game/trigger/TriggerCounterRemoved.java | 7 +- .../trigger/TriggerCounterRemovedOnce.java | 7 +- .../forge/game/trigger/TriggerCountered.java | 30 +-- .../forge/game/trigger/TriggerCrewed.java | 22 +-- .../forge/game/trigger/TriggerCycled.java | 15 +- .../forge/game/trigger/TriggerDamageAll.java | 4 +- .../game/trigger/TriggerDamageDealtOnce.java | 11 +- .../forge/game/trigger/TriggerDamageDone.java | 13 +- .../game/trigger/TriggerDamageDoneOnce.java | 14 +- .../game/trigger/TriggerDamagePrevented.java | 15 +- .../trigger/TriggerDamagePreventedOnce.java | 17 +- .../forge/game/trigger/TriggerDestroyed.java | 12 +- .../forge/game/trigger/TriggerDevoured.java | 7 +- .../forge/game/trigger/TriggerDiscarded.java | 29 +-- .../game/trigger/TriggerDiscardedAll.java | 18 +- .../java/forge/game/trigger/TriggerDrawn.java | 15 +- .../forge/game/trigger/TriggerEvolved.java | 6 +- .../game/trigger/TriggerExcessDamage.java | 13 +- .../forge/game/trigger/TriggerExerted.java | 6 +- .../forge/game/trigger/TriggerExiled.java | 18 +- .../forge/game/trigger/TriggerExploited.java | 17 +- .../forge/game/trigger/TriggerExplores.java | 5 +- .../java/forge/game/trigger/TriggerFight.java | 7 +- .../forge/game/trigger/TriggerFightOnce.java | 14 +- .../game/trigger/TriggerFlippedCoin.java | 7 +- .../forge/game/trigger/TriggerForetell.java | 8 +- .../game/trigger/TriggerInvestigated.java | 10 +- .../forge/game/trigger/TriggerLandPlayed.java | 10 +- .../forge/game/trigger/TriggerLifeGained.java | 13 +- .../forge/game/trigger/TriggerLifeLost.java | 7 +- .../forge/game/trigger/TriggerLosesGame.java | 5 +- .../forge/game/trigger/TriggerMutates.java | 5 +- .../trigger/TriggerPayCumulativeUpkeep.java | 9 +- .../forge/game/trigger/TriggerPayEcho.java | 9 +- .../forge/game/trigger/TriggerPayLife.java | 4 +- .../java/forge/game/trigger/TriggerPhase.java | 5 +- .../forge/game/trigger/TriggerPhaseIn.java | 7 +- .../forge/game/trigger/TriggerPhaseOut.java | 14 +- .../forge/game/trigger/TriggerPlanarDice.java | 7 +- .../game/trigger/TriggerPlaneswalkedFrom.java | 10 +- .../game/trigger/TriggerPlaneswalkedTo.java | 12 +- .../game/trigger/TriggerRegenerated.java | 12 +- .../forge/game/trigger/TriggerRevealed.java | 6 +- .../forge/game/trigger/TriggerSacrificed.java | 27 ++- .../java/forge/game/trigger/TriggerScry.java | 5 +- .../game/trigger/TriggerSearchedLibrary.java | 7 +- .../game/trigger/TriggerSetInMotion.java | 7 +- .../forge/game/trigger/TriggerShuffled.java | 8 +- .../game/trigger/TriggerSpellAbilityCast.java | 42 ++-- .../game/trigger/TriggerSpellAbilityCopy.java | 19 +- .../forge/game/trigger/TriggerSurveil.java | 8 +- .../java/forge/game/trigger/TriggerTaps.java | 9 +- .../game/trigger/TriggerTapsForMana.java | 20 +- .../game/trigger/TriggerTokenCreated.java | 6 +- .../game/trigger/TriggerTransformed.java | 5 +- .../forge/game/trigger/TriggerTurnBegin.java | 5 +- .../forge/game/trigger/TriggerTurnFaceUp.java | 5 +- .../forge/game/trigger/TriggerUnattach.java | 18 +- .../forge/game/trigger/TriggerUntaps.java | 9 +- .../src/main/java/forge/player/HumanPlay.java | 10 +- 187 files changed, 806 insertions(+), 1448 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/AiBlockController.java b/forge-ai/src/main/java/forge/ai/AiBlockController.java index 6a238e13baf..d7925fd2792 100644 --- a/forge-ai/src/main/java/forge/ai/AiBlockController.java +++ b/forge-ai/src/main/java/forge/ai/AiBlockController.java @@ -20,7 +20,6 @@ package forge.ai; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import forge.card.CardStateName; -import forge.game.CardTraitBase; import forge.game.GameEntity; import forge.game.card.*; import forge.game.combat.Combat; @@ -263,14 +262,14 @@ public class AiBlockController { if (mode == TriggerType.DamageDone) { if ((!trigParams.containsKey("ValidSource") - || CardTraitBase.matchesValid(attacker, trigParams.get("ValidSource").split(","), attacker)) + || trigger.matchesValid(attacker, trigParams.get("ValidSource").split(","))) && attacker.getNetCombatDamage() > 0 && (!trigParams.containsKey("ValidTarget") - || CardTraitBase.matchesValid(combat.getDefenderByAttacker(attacker), trigParams.get("ValidTarget").split(","), attacker))) { + || trigger.matchesValid(combat.getDefenderByAttacker(attacker), trigParams.get("ValidTarget").split(",")))) { value += 50; } } else if (mode == TriggerType.AttackerUnblocked) { - if (CardTraitBase.matchesValid(attacker, trigParams.get("ValidCard").split(","), attacker)) { + if (trigger.matchesValid(attacker, trigParams.get("ValidCard").split(","))) { value += 50; } } diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 387734cf125..795b2d959e0 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -2056,8 +2056,8 @@ public class ComputerUtil { final CardCollection candidates = new CardCollection(); final CardCollectionView handList = ai.getCardsIn(ZoneType.Hand); - final CardCollection lands = CardLists.getValidCards(handList, "Card.Land", ai, null); - final CardCollection nonLands = CardLists.getValidCards(handList, "Card.nonLand", ai, null); + final CardCollection lands = CardLists.getValidCards(handList, "Card.Land", ai, null, null); + final CardCollection nonLands = CardLists.getValidCards(handList, "Card.nonLand", ai, null, null); CardLists.sortByCmcDesc(nonLands); if (lands.size() >= 3 && lands.size() <= 4) { @@ -2996,7 +2996,7 @@ public class ComputerUtil { } }); } else { - list = CardLists.getValidCards(srcList, sa.getParam("AITgts"), sa.getActivatingPlayer(), source); + list = CardLists.getValidCards(srcList, sa.getParam("AITgts"), sa.getActivatingPlayer(), source, sa); } if (!list.isEmpty() || sa.hasParam("AITgtsStrict") || alwaysStrict) { diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index fe240b141db..d37e8ccedff 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -25,7 +25,6 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import forge.game.CardTraitBase; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityKey; @@ -790,9 +789,9 @@ public class ComputerUtilCombat { return false; // The trigger should have triggered already } if (trigParams.containsKey("ValidCard")) { - if (!CardTraitBase.matchesValid(attacker, trigParams.get("ValidCard").split(","), source) - && !(combat.isAttacking(source) && CardTraitBase.matchesValid(source, - trigParams.get("ValidCard").split(","), source) + if (!trigger.matchesValid(attacker, trigParams.get("ValidCard").split(",")) + && !(combat.isAttacking(source) && trigger.matchesValid(source, + trigParams.get("ValidCard").split(",")) && !trigParams.containsKey("Alone"))) { return false; } @@ -800,7 +799,7 @@ public class ComputerUtilCombat { if (trigParams.containsKey("Attacked")) { if (combat.isAttacking(attacker)) { GameEntity attacked = combat.getDefenderByAttacker(attacker); - if (!CardTraitBase.matchesValid(attacked, trigParams.get("Attacked").split(","), source)) { + if (!trigger.matchesValid(attacked, trigParams.get("Attacked").split(","))) { return false; } } else { @@ -820,7 +819,7 @@ public class ComputerUtilCombat { if ((defender == null) && mode == TriggerType.AttackerUnblocked) { willTrigger = true; if (trigParams.containsKey("ValidCard")) { - if (!CardTraitBase.matchesValid(attacker, trigParams.get("ValidCard").split(","), source)) { + if (!trigger.matchesValid(attacker, trigParams.get("ValidCard").split(","))) { return false; } } @@ -842,7 +841,7 @@ public class ComputerUtilCombat { return false; } } - if (!CardTraitBase.matchesValid(attacker, validBlocked.split(","), source)) { + if (!trigger.matchesValid(attacker, validBlocked.split(","))) { return false; } } @@ -856,35 +855,35 @@ public class ComputerUtilCombat { return false; } } - if (!CardTraitBase.matchesValid(defender, validBlocker.split(","), source)) { + if (!trigger.matchesValid(defender, validBlocker.split(","))) { return false; } } } else if (mode == TriggerType.AttackerBlocked || mode == TriggerType.AttackerBlockedByCreature) { willTrigger = true; if (trigParams.containsKey("ValidBlocker")) { - if (!CardTraitBase.matchesValid(defender, trigParams.get("ValidBlocker").split(","), source)) { + if (!trigger.matchesValid(defender, trigParams.get("ValidBlocker").split(","))) { return false; } } if (trigParams.containsKey("ValidCard")) { - if (!CardTraitBase.matchesValid(attacker, trigParams.get("ValidCard").split(","), source)) { + if (!trigger.matchesValid(attacker, trigParams.get("ValidCard").split(","))) { return false; } } } else if (mode == TriggerType.DamageDone) { willTrigger = true; if (trigParams.containsKey("ValidSource")) { - if (!(CardTraitBase.matchesValid(defender, trigParams.get("ValidSource").split(","), source) + if (!(trigger.matchesValid(defender, trigParams.get("ValidSource").split(",")) && defender.getNetCombatDamage() > 0 && (!trigParams.containsKey("ValidTarget") - || CardTraitBase.matchesValid(attacker, trigParams.get("ValidTarget").split(","), source)))) { + || trigger.matchesValid(attacker, trigParams.get("ValidTarget").split(","))))) { return false; } - if (!(CardTraitBase.matchesValid(attacker, trigParams.get("ValidSource").split(","), source) + if (!(trigger.matchesValid(attacker, trigParams.get("ValidSource").split(",")) && attacker.getNetCombatDamage() > 0 && (!trigParams.containsKey("ValidTarget") - || CardTraitBase.matchesValid(defender, trigParams.get("ValidTarget").split(","), source)))) { + || trigger.matchesValid(defender, trigParams.get("ValidTarget").split(","))))) { return false; } } diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index 06192d87258..9fc64c9d3fd 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -1159,7 +1159,7 @@ public class PlayerControllerAi extends PlayerController { } else if (logic.equals("MostProminentInHumanDeck")) { return ComputerUtilCard.getMostProminentCardName(oppLibrary); } else if (logic.equals("MostProminentCreatureInComputerDeck")) { - CardCollectionView cards = CardLists.getValidCards(aiLibrary, "Creature", player, sa.getHostCard()); + CardCollectionView cards = CardLists.getValidCards(aiLibrary, "Creature", player, sa.getHostCard(), sa); return ComputerUtilCard.getMostProminentCardName(cards); } else if (logic.equals("BestCreatureInComputerDeck")) { Card bestCreature = ComputerUtilCard.getBestCreatureAI(aiLibrary); @@ -1167,7 +1167,7 @@ public class PlayerControllerAi extends PlayerController { } else if (logic.equals("RandomInComputerDeck")) { return Aggregates.random(aiLibrary).getName(); } else if (logic.equals("MostProminentSpellInComputerDeck")) { - CardCollectionView cards = CardLists.getValidCards(aiLibrary, "Card.Instant,Card.Sorcery", player, sa.getHostCard()); + CardCollectionView cards = CardLists.getValidCards(aiLibrary, "Card.Instant,Card.Sorcery", player, sa.getHostCard(), sa); return ComputerUtilCard.getMostProminentCardName(cards); } else if (logic.equals("CursedScroll")) { return SpecialCardAi.CursedScroll.chooseCard(player, sa); diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index cee3174323f..17cf3deab63 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -357,7 +357,7 @@ public class ChangeZoneAi extends SpellAbilityAi { if (type != null && p == ai) { // AI only "knows" about his information - list = CardLists.getValidCards(list, type, source.getController(), source); + list = CardLists.getValidCards(list, type, source.getController(), source, sa); list = CardLists.filter(list, new Predicate() { @Override public boolean apply(final Card c) { @@ -370,7 +370,7 @@ public class ChangeZoneAi extends SpellAbilityAi { } // TODO: prevent ai seaching its own library when Ob Nixilis, Unshackled is in play if (origin != null && origin.isKnown()) { - list = CardLists.getValidCards(list, type, source.getController(), source); + list = CardLists.getValidCards(list, type, source.getController(), source, sa); } if (!activateForCost && list.isEmpty()) { @@ -1107,7 +1107,7 @@ public class ChangeZoneAi extends SpellAbilityAi { // Only care about combatants during combat if (game.getPhaseHandler().inCombat() && origin.contains(ZoneType.Battlefield)) { - CardCollection newList = CardLists.getValidCards(list, "Card.attacking,Card.blocking", null, null); + CardCollection newList = CardLists.getValidCards(list, "Card.attacking,Card.blocking", null, null, null); if (!newList.isEmpty() || !sa.isTrigger()) { list = newList; } @@ -1705,7 +1705,7 @@ public class ChangeZoneAi extends SpellAbilityAi { Card source = sa.getHostCard(); String definedSac = StringUtils.split(source.getSVar("AIPreference"), "$")[1]; - CardCollection listToSac = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardPredicates.restriction(definedSac.split(","), ai, source, sa)); + CardCollection listToSac = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), definedSac, ai, source, sa); listToSac.sort(Collections.reverseOrder(CardLists.CmcComparatorInv)); CardCollection listToRet = CardLists.filter(ai.getCardsIn(ZoneType.Graveyard), Presets.CREATURES); @@ -1742,7 +1742,7 @@ public class ChangeZoneAi extends SpellAbilityAi { String definedGoal = sa.getParam("ChangeType"); boolean anyCMC = !definedGoal.contains(".cmc"); - CardCollection listToSac = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardPredicates.restriction(definedSac.split(","), ai, source, sa)); + CardCollection listToSac = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), definedSac, ai, source, sa); listToSac.sort(!sacWorst ? CardLists.CmcComparatorInv : Collections.reverseOrder(CardLists.CmcComparatorInv)); for (Card sacCandidate : listToSac) { @@ -1756,12 +1756,12 @@ public class ChangeZoneAi extends SpellAbilityAi { curGoal = definedGoal.replace("X", String.format("%d", goalCMC)); } - CardCollection listGoal = CardLists.filter(ai.getCardsIn(ZoneType.Library), CardPredicates.restriction(curGoal.split(","), ai, source, sa)); + CardCollection listGoal = CardLists.getValidCards(ai.getCardsIn(ZoneType.Library), curGoal, ai, source, sa); if (!anyCMC) { - listGoal = CardLists.getValidCards(listGoal, curGoal, source.getController(), source); + listGoal = CardLists.getValidCards(listGoal, curGoal, source.getController(), source, sa); } else { - listGoal = CardLists.getValidCards(listGoal, curGoal + (curGoal.contains(".") ? "+" : ".") + "cmcGE" + goalCMC, source.getController(), source); + listGoal = CardLists.getValidCards(listGoal, curGoal + (curGoal.contains(".") ? "+" : ".") + "cmcGE" + goalCMC, source.getController(), source, sa); } listGoal = CardLists.filter(listGoal, new Predicate() { diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java index a25c0e71424..18586b6a20a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java @@ -66,7 +66,7 @@ public class ChooseCardAi extends SpellAbilityAi { } CardCollectionView choices = ai.getGame().getCardsIn(choiceZone); if (sa.hasParam("Choices")) { - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), host.getController(), host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), host.getController(), host, sa); } if (sa.hasParam("TargetControls")) { choices = CardLists.filterControlledBy(choices, ai.getOpponents()); @@ -79,7 +79,7 @@ public class ChooseCardAi extends SpellAbilityAi { final String filter = aiLogic.equals("Clone") ? "Permanent.YouDontCtrl,Permanent.nonLegendary" : "Permanent.YouDontCtrl+notnamedVesuva,Permanent.nonLegendary+notnamedVesuva"; - choices = CardLists.getValidCards(choices, filter, host.getController(), host); + choices = CardLists.getValidCards(choices, filter, host.getController(), host, sa); return !choices.isEmpty(); } else if (aiLogic.equals("Never")) { return false; @@ -112,7 +112,7 @@ public class ChooseCardAi extends SpellAbilityAi { return !choices.isEmpty(); } else if (aiLogic.equals("RandomNonLand")) { - return !CardLists.getValidCards(choices, "Card.nonLand", host.getController(), host).isEmpty(); + return !CardLists.getValidCards(choices, "Card.nonLand", host.getController(), host, sa).isEmpty(); } else if (aiLogic.equals("Duneblast")) { CardCollection aiCreatures = ai.getCreaturesInPlay(); CardCollection oppCreatures = ai.getWeakestOpponent().getCreaturesInPlay(); @@ -186,7 +186,7 @@ public class ChooseCardAi extends SpellAbilityAi { choice = null; } } else if ("RandomNonLand".equals(logic)) { - options = CardLists.getValidCards(options, "Card.nonLand", host.getController(), host); + options = CardLists.getValidCards(options, "Card.nonLand", host.getController(), host, sa); choice = Aggregates.random(options); } else if (logic.equals("Untap")) { final String filter = "Permanent.YouCtrl,Permanent.tapped"; diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java index 7781490d425..8d2bf970e0e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java @@ -105,7 +105,7 @@ public class ChooseSourceAi extends SpellAbilityAi { } CardCollectionView choices = game.getCardsIn(ZoneType.Battlefield); if (sa.hasParam("Choices")) { - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), host.getController(), host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), host.getController(), host, sa); } final Combat combat = game.getCombat(); choices = CardLists.filter(choices, new Predicate() { diff --git a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java index 3a3de604029..a97839b66ab 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java @@ -124,11 +124,11 @@ public class CloneAi extends SpellAbilityAi { private boolean cloneTgtAI(final SpellAbility sa) { // Specific logic for cards if ("CloneAttacker".equals(sa.getParam("AILogic"))) { - CardCollection valid = CardLists.getValidCards(sa.getHostCard().getController().getCardsIn(ZoneType.Battlefield), sa.getParam("ValidTgts"), sa.getHostCard().getController(), sa.getHostCard()); + CardCollection valid = CardLists.getValidCards(sa.getHostCard().getController().getCardsIn(ZoneType.Battlefield), sa.getParam("ValidTgts"), sa.getHostCard().getController(), sa.getHostCard(), sa); sa.getTargets().add(ComputerUtilCard.getBestCreatureAI(valid)); return true; } else if ("CloneBestCreature".equals(sa.getParam("AILogic"))) { - CardCollection valid = CardLists.getValidCards(sa.getHostCard().getController().getGame().getCardsIn(ZoneType.Battlefield), sa.getParam("ValidTgts"), sa.getHostCard().getController(), sa.getHostCard()); + CardCollection valid = CardLists.getValidCards(sa.getHostCard().getController().getGame().getCardsIn(ZoneType.Battlefield), sa.getParam("ValidTgts"), sa.getHostCard().getController(), sa.getHostCard(), sa); sa.getTargets().add(ComputerUtilCard.getBestCreatureAI(valid)); return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java index 3b31616a6d4..3bc49b3f392 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java @@ -173,7 +173,7 @@ public class CopyPermanentAi extends SpellAbilityAi { } else if (sa.hasParam("Choices")) { // only check for options, does not select there CardCollectionView choices = game.getCardsIn(ZoneType.Battlefield); - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host, sa); Collection betterChoices = getBetterOptions(aiPlayer, sa, choices, !mandatory); if (betterChoices.isEmpty()) { return mandatory; diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java index 87d25eaa100..ce72b27f805 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java @@ -38,11 +38,11 @@ public class CountersPutAllAi extends SpellAbilityAi { final TargetRestrictions tgt = sa.getTargetRestrictions(); if ("OwnCreatsAndOtherPWs".equals(sa.getParam("AILogic"))) { - hList = CardLists.getValidCards(ai.getWeakestOpponent().getCardsIn(ZoneType.Battlefield), "Creature.YouCtrl,Planeswalker.YouCtrl+Other", source.getController(), source); - cList = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), "Creature.YouCtrl,Planeswalker.YouCtrl+Other", source.getController(), source); + hList = CardLists.getValidCards(ai.getWeakestOpponent().getCardsIn(ZoneType.Battlefield), "Creature.YouCtrl,Planeswalker.YouCtrl+Other", source.getController(), source, sa); + cList = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), "Creature.YouCtrl,Planeswalker.YouCtrl+Other", source.getController(), source, sa); } else { - hList = CardLists.getValidCards(ai.getWeakestOpponent().getCardsIn(ZoneType.Battlefield), valid, source.getController(), source); - cList = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), valid, source.getController(), source); + hList = CardLists.getValidCards(ai.getWeakestOpponent().getCardsIn(ZoneType.Battlefield), valid, source.getController(), source, sa); + cList = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), valid, source.getController(), source, sa); } if (abCost != null) { diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java index 471cf90696f..ee015483a26 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java @@ -161,7 +161,7 @@ public class DamageDealAi extends DamageAiBase { } } else if ("WildHunt".equals(logic)) { // This dummy ability will just deal 0 damage, but holds the logic for the AI for Master of Wild Hunt - List wolves = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), "Creature.Wolf+untapped+YouCtrl+Other", ai, source); + List wolves = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), "Creature.Wolf+untapped+YouCtrl+Other", ai, source, sa); dmg = Aggregates.sum(wolves, CardPredicates.Accessors.fnGetNetPower); } else if ("Triskelion".equals(logic)) { final int n = source.getCounters(CounterEnumType.P1P1); diff --git a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java index 7ab70c49801..79e7fad1e2d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java @@ -141,7 +141,7 @@ public class ManifestAi extends SpellAbilityAi { } CardCollection choices = new CardCollection(game.getCardsIn(choiceZone)); if (sa.hasParam("Choices")) { - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), ai, host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), ai, host, sa); } if (choices.isEmpty()) { return false; diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java b/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java index 0189574dc65..98bd675ed51 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java @@ -69,8 +69,8 @@ public class PumpAllAi extends PumpAiBase { } final Player opp = ai.getWeakestOpponent(); - CardCollection comp = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), valid, source.getController(), source); - CardCollection human = CardLists.getValidCards(opp.getCardsIn(ZoneType.Battlefield), valid, source.getController(), source); + CardCollection comp = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), valid, source.getController(), source, sa); + CardCollection human = CardLists.getValidCards(opp.getCardsIn(ZoneType.Battlefield), valid, source.getController(), source, sa); final TargetRestrictions tgt = sa.getTargetRestrictions(); if (tgt != null && sa.canTarget(opp) && sa.hasParam("IsCurse")) { @@ -144,7 +144,7 @@ public class PumpAllAi extends PumpAiBase { return (ComputerUtilCard.evaluateCreatureList(comp) + 200) < ComputerUtilCard.evaluateCreatureList(human); } // end Curse - return !CardLists.getValidCards(getPumpCreatures(ai, sa, defense, power, keywords, false), valid, source.getController(), source).isEmpty(); + return !CardLists.getValidCards(getPumpCreatures(ai, sa, defense, power, keywords, false), valid, source.getController(), source, sa).isEmpty(); } // pumpAllCanPlayAI() @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java index 8361e437dcd..43ba7f68d0f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java @@ -48,7 +48,7 @@ public class TapAllAi extends SpellAbilityAi { validTappables = opp.getCardsIn(ZoneType.Battlefield); } - validTappables = CardLists.getValidCards(validTappables, valid, source.getController(), source); + validTappables = CardLists.getValidCards(validTappables, valid, source.getController(), source, sa); validTappables = CardLists.filter(validTappables, Presets.UNTAPPED); if (sa.hasParam("AILogic")) { @@ -98,10 +98,10 @@ public class TapAllAi extends SpellAbilityAi { return true; } - private CardCollectionView getTapAllTargets(final String valid, final Card source) { + private CardCollectionView getTapAllTargets(final String valid, final Card source, SpellAbility sa) { final Game game = source.getGame(); CardCollectionView tmpList = game.getCardsIn(ZoneType.Battlefield); - tmpList = CardLists.getValidCards(tmpList, valid, source.getController(), source); + tmpList = CardLists.getValidCards(tmpList, valid, source.getController(), source, sa); tmpList = CardLists.filter(tmpList, Presets.UNTAPPED); return tmpList; } @@ -115,7 +115,7 @@ public class TapAllAi extends SpellAbilityAi { valid = sa.getParam("ValidCards"); } - CardCollectionView validTappables = getTapAllTargets(valid, source); + CardCollectionView validTappables = getTapAllTargets(valid, source, sa); final TargetRestrictions tgt = sa.getTargetRestrictions(); diff --git a/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java b/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java index 0b1ac1ad906..b871171de7b 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java @@ -50,7 +50,7 @@ public class TwoPilesAi extends SpellAbilityAi { else { pool = p.getCardsIn(zone); } - pool = CardLists.getValidCards(pool, valid, card.getController(), card); + pool = CardLists.getValidCards(pool, valid, card.getController(), card, sa); int size = pool.size(); return size > 2; } diff --git a/forge-ai/src/main/java/forge/ai/ability/VoteAi.java b/forge-ai/src/main/java/forge/ai/ability/VoteAi.java index 33d23dd3b22..c31126beb28 100644 --- a/forge-ai/src/main/java/forge/ai/ability/VoteAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/VoteAi.java @@ -24,7 +24,7 @@ public class VoteAi extends SpellAbilityAi { return true; } else if ("Judgment".equals(logic)) { return !CardLists.getValidCards(host.getGame().getCardsIn(ZoneType.Battlefield), - sa.getParam("VoteCard"), host.getController(), host).isEmpty(); + sa.getParam("VoteCard"), host.getController(), host, sa).isEmpty(); } else if ("Torture".equals(logic)) { return aiPlayer.getGame().getPhaseHandler().getPhase().isAfter(PhaseType.MAIN1); } diff --git a/forge-ai/src/main/java/forge/ai/ability/ZoneExchangeAi.java b/forge-ai/src/main/java/forge/ai/ability/ZoneExchangeAi.java index 613ad8d8af9..fe9fff071d5 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ZoneExchangeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ZoneExchangeAi.java @@ -31,7 +31,7 @@ public class ZoneExchangeAi extends SpellAbilityAi { final ZoneType zone2 = sa.hasParam("Zone2") ? ZoneType.smartValueOf(sa.getParam("Zone2")) : ZoneType.Hand; CardCollection list = new CardCollection(ai.getCardsIn(zone2)); if (type != null) { - list = CardLists.getValidCards(list, type, ai, source); + list = CardLists.getValidCards(list, type, ai, source, sa); } object2 = ComputerUtilCard.getBestAI(list); if (object1 == null || object2 == null || !object1.isInZone(zone1) || !object1.getOwner().equals(ai)) { diff --git a/forge-game/src/main/java/forge/game/CardTraitBase.java b/forge-game/src/main/java/forge/game/CardTraitBase.java index b5711814373..d42471e0bf3 100644 --- a/forge-game/src/main/java/forge/game/CardTraitBase.java +++ b/forge-game/src/main/java/forge/game/CardTraitBase.java @@ -159,15 +159,32 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView, * a {@link forge.game.card.Card} object. * @return a boolean. */ - public static boolean matchesValid(final Object o, final String[] valids, final Card srcCard) { + public boolean matchesValid(final Object o, final String[] valids, final Card srcCard) { if (o instanceof GameObject) { final GameObject c = (GameObject) o; - return c.isValid(valids, srcCard.getController(), srcCard, null); + return c.isValid(valids, srcCard.getController(), srcCard, this); + } else if (o instanceof Iterable) { + for (Object o2 : (Iterable)o) { + if (matchesValid(o2, valids, srcCard)) { + return true; + } + } } return false; } + public boolean matchesValid(final Object o, final String[] valids) { + return matchesValid(o, valids, getHostCard()); + } + + public boolean matchesValidParam(String param, final Object o) { + if (hasParam(param) && !matchesValid(o, getParam(param).split(","))) { + return false; + } + return true; + } + /** * Sets the suppressed. * @@ -312,7 +329,7 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView, list.addAll(p.getCardsIn(presentZone)); } } - list = CardLists.getValidCards(list, sIsPresent.split(","), this.getHostCard().getController(), this.getHostCard(), null); + list = CardLists.getValidCards(list, sIsPresent.split(","), this.getHostCard().getController(), this.getHostCard(), this); final String rightString = presentCompare.substring(2); @@ -349,7 +366,7 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView, } } - list = CardLists.getValidCards(list, sIsPresent.split(","), this.getHostCard().getController(), this.getHostCard(), null); + list = CardLists.getValidCards(list, sIsPresent.split(","), this.getHostCard().getController(), this.getHostCard(), this); final String rightString = presentCompare.substring(2); int right = AbilityUtils.calculateAmount(getHostCard(), rightString, this); @@ -361,32 +378,29 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView, } if (params.containsKey("CheckDefinedPlayer")) { - SpellAbility mockAbility = this.getHostCard().getFirstSpellAbility(); - mockAbility.setActivatingPlayer(hostController); final String sIsPresent = params.get("CheckDefinedPlayer"); - int playersize = AbilityUtils.getDefinedPlayers(game.getCardState(this.getHostCard()), sIsPresent, - mockAbility).size(); + int playersize = AbilityUtils.getDefinedPlayers(getHostCard(), sIsPresent, this).size(); String comparator = "GE1"; if (params.containsKey("DefinedPlayerCompare")) { comparator = params.get("DefinedPlayerCompare"); } final String svarOperator = comparator.substring(0, 2); final String svarOperand = comparator.substring(2); - final int operandValue = AbilityUtils.calculateAmount(game.getCardState(this.getHostCard()), svarOperand, this); + final int operandValue = AbilityUtils.calculateAmount(getHostCard(), svarOperand, this); if (!Expressions.compare(playersize, svarOperator, operandValue)) { return false; } } if (params.containsKey("CheckSVar")) { - final int sVar = AbilityUtils.calculateAmount(game.getCardState(this.getHostCard()), params.get("CheckSVar"), this); + final int sVar = AbilityUtils.calculateAmount(getHostCard(), params.get("CheckSVar"), this); String comparator = "GE1"; if (params.containsKey("SVarCompare")) { comparator = params.get("SVarCompare"); } final String svarOperator = comparator.substring(0, 2); final String svarOperand = comparator.substring(2); - final int operandValue = AbilityUtils.calculateAmount(game.getCardState(this.getHostCard()), svarOperand, this); + final int operandValue = AbilityUtils.calculateAmount(getHostCard(), svarOperand, this); if (!Expressions.compare(sVar, svarOperator, operandValue)) { return false; } diff --git a/forge-game/src/main/java/forge/game/ForgeScript.java b/forge-game/src/main/java/forge/game/ForgeScript.java index 3b061b84642..ea64739495d 100644 --- a/forge-game/src/main/java/forge/game/ForgeScript.java +++ b/forge-game/src/main/java/forge/game/ForgeScript.java @@ -14,7 +14,7 @@ import forge.util.Expressions; public class ForgeScript { public static boolean cardStateHasProperty(CardState cardState, String property, Player sourceController, - Card source, SpellAbility spellAbility) { + Card source, CardTraitBase spellAbility) { final boolean isColorlessSource = cardState.getCard().hasKeyword("Colorless Damage Source", cardState); final ColorSet colors = cardState.getCard().determineColor(cardState); @@ -125,7 +125,7 @@ public class ForgeScript { public static boolean spellAbilityHasProperty(SpellAbility sa, String property, Player sourceController, - Card source, SpellAbility spellAbility) { + Card source, CardTraitBase spellAbility) { if (property.equals("ManaAbility")) { return sa.isManaAbility(); } else if (property.equals("nonManaAbility")) { diff --git a/forge-game/src/main/java/forge/game/Game.java b/forge-game/src/main/java/forge/game/Game.java index da2387e4302..3d5e7c34a02 100644 --- a/forge-game/src/main/java/forge/game/Game.java +++ b/forge-game/src/main/java/forge/game/Game.java @@ -1042,15 +1042,15 @@ public class Game { } } - public int getCounterAddedThisTurn(CounterType cType, String validPlayer, String validCard, Card source, Player sourceController, SpellAbility spellAbility) { + public int getCounterAddedThisTurn(CounterType cType, String validPlayer, String validCard, Card source, Player sourceController, CardTraitBase ctb) { int result = 0; if (!countersAddedThisTurn.containsRow(cType)) { return result; } for (Map.Entry>> e : countersAddedThisTurn.row(cType).entrySet()) { - if (e.getKey().isValid(validPlayer.split(","), sourceController, source, spellAbility)) { + if (e.getKey().isValid(validPlayer.split(","), sourceController, source, ctb)) { for (Pair p : e.getValue()) { - if (p.getKey().isValid(validCard.split(","), sourceController, source, spellAbility)) { + if (p.getKey().isValid(validCard.split(","), sourceController, source, ctb)) { result += p.getValue(); } } diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 386c7cec020..b4ac8c50bcb 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -1149,7 +1149,7 @@ public class GameAction { } if (c.hasKeyword("The number of loyalty counters on CARDNAME is equal to the number of Beebles you control.")) { - int beeble = CardLists.getValidCardCount(game.getCardsIn(ZoneType.Battlefield), "Beeble.YouCtrl", c.getController(), c); + int beeble = CardLists.getValidCardCount(game.getCardsIn(ZoneType.Battlefield), "Beeble.YouCtrl", c.getController(), c, null); int loyal = c.getCounters(CounterEnumType.LOYALTY); if (loyal < beeble) { GameEntityCounterTable counterTable = new GameEntityCounterTable(); diff --git a/forge-game/src/main/java/forge/game/GameEntityCounterTable.java b/forge-game/src/main/java/forge/game/GameEntityCounterTable.java index 6e8c7051552..cea3fda90cc 100644 --- a/forge-game/src/main/java/forge/game/GameEntityCounterTable.java +++ b/forge-game/src/main/java/forge/game/GameEntityCounterTable.java @@ -10,7 +10,6 @@ import com.google.common.collect.Table; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CounterType; -import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; public class GameEntityCounterTable extends ForwardingTable { @@ -63,7 +62,7 @@ public class GameEntityCounterTable extends ForwardingTable filterTable(CounterType type, String valid, Card host, SpellAbility sa) { + public Map filterTable(CounterType type, String valid, Card host, CardTraitBase sa) { Map result = Maps.newHashMap(); for (Map.Entry e : column(type).entrySet()) { diff --git a/forge-game/src/main/java/forge/game/GameObject.java b/forge-game/src/main/java/forge/game/GameObject.java index dc9688fb0da..bf5141cd913 100644 --- a/forge-game/src/main/java/forge/game/GameObject.java +++ b/forge-game/src/main/java/forge/game/GameObject.java @@ -22,7 +22,7 @@ public abstract class GameObject { * @param spellAbility * @return true, if is valid */ - public boolean isValid(final String[] restrictions, final Player sourceController, final Card source, SpellAbility spellAbility) { + public boolean isValid(final String[] restrictions, final Player sourceController, final Card source, CardTraitBase spellAbility) { for (final String restriction : restrictions) { if (this.isValid(restriction, sourceController, source, spellAbility)) { return true; @@ -43,7 +43,7 @@ public abstract class GameObject { * @param spellAbility * @return true, if is valid */ - public boolean isValid(final String restriction, final Player sourceController, final Card source, SpellAbility spellAbility) { + public boolean isValid(final String restriction, final Player sourceController, final Card source, CardTraitBase spellAbility) { return false; } @@ -59,7 +59,7 @@ public abstract class GameObject { * @param spellAbility * @return true, if successful */ - public boolean hasProperty(final String property, final Player sourceController, final Card source, SpellAbility spellAbility) { + public boolean hasProperty(final String property, final Player sourceController, final Card source, CardTraitBase spellAbility) { return false; } } \ No newline at end of file diff --git a/forge-game/src/main/java/forge/game/GameObjectPredicates.java b/forge-game/src/main/java/forge/game/GameObjectPredicates.java index 9331bcb6a89..69d4d11a830 100644 --- a/forge-game/src/main/java/forge/game/GameObjectPredicates.java +++ b/forge-game/src/main/java/forge/game/GameObjectPredicates.java @@ -21,7 +21,6 @@ import com.google.common.base.Predicate; import forge.game.card.Card; import forge.game.player.Player; -import forge.game.spellability.SpellAbility; /** @@ -33,7 +32,7 @@ import forge.game.spellability.SpellAbility; */ public final class GameObjectPredicates { - public static final Predicate restriction(final String[] restrictions, final Player sourceController, final Card source, final SpellAbility spellAbility) { + public static final Predicate restriction(final String[] restrictions, final Player sourceController, final Card source, final CardTraitBase spellAbility) { return new Predicate() { @Override public boolean apply(final GameObject c) { diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 3f66eac4066..b60dc3a70da 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -18,7 +18,6 @@ import forge.game.CardTraitBase; import forge.game.Game; import forge.game.GameEntity; import forge.game.GameObject; -import forge.game.TriggerReplacementBase; import forge.game.ability.AbilityFactory.AbilityRecordType; import forge.game.card.*; import forge.game.cost.Cost; @@ -86,7 +85,7 @@ public class AbilityUtils { // But then we only need update one function at a time once the casting is // everywhere. // Probably will move to One function solution sometime in the future - public static CardCollection getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) { + public static CardCollection getDefinedCards(final Card hostCard, final String def, final CardTraitBase sa) { CardCollection cards = new CardCollection(); String defined = (def == null) ? "Self" : applyAbilityTextChangeEffects(def, sa); // default to Self final String[] incR = defined.split("\\.", 2); @@ -101,7 +100,11 @@ public class AbilityUtils { c = game.getCardState(hostCard); } else if (defined.equals("OriginalHost")) { - c = sa.getRootAbility().getOriginalHost(); + if (sa instanceof SpellAbility) { + c = ((SpellAbility)sa).getRootAbility().getOriginalHost(); + } else { + c = sa.getOriginalHost(); + } } else if (defined.equals("EffectSource")) { if (hostCard.isEmblem() || hostCard.getType().hasSubtype("Effect")) { @@ -129,10 +132,12 @@ public class AbilityUtils { } else if (defined.equals("Enchanted")) { c = hostCard.getEnchantingCard(); - if ((c == null) && (sa != null) && (sa.getRootAbility() != null) - && (sa.getRootAbility().getPaidList("Sacrificed") != null) - && !sa.getRootAbility().getPaidList("Sacrificed").isEmpty()) { - c = sa.getRootAbility().getPaidList("Sacrificed").get(0).getEnchantingCard(); + if (c == null && sa instanceof SpellAbility) { + SpellAbility root = ((SpellAbility)sa).getRootAbility(); + CardCollection sacrificed = root.getPaidList("Sacrificed"); + if (sacrificed != null && !sacrificed.isEmpty()) { + c = sacrificed.getFirst().getEnchantingCard(); + } } } else if (defined.endsWith("OfLibrary")) { @@ -144,26 +149,26 @@ public class AbilityUtils { return cards; } } - else if (defined.equals("Targeted")) { - final SpellAbility saTargeting = sa.getSATargetingCard(); + else if (defined.equals("Targeted") && sa instanceof SpellAbility) { + final SpellAbility saTargeting = ((SpellAbility)sa).getSATargetingCard(); if (saTargeting != null) { Iterables.addAll(cards, saTargeting.getTargets().getTargetCards()); } } - else if (defined.equals("ThisTargetedCard")) { // do not add parent targeted - if (sa != null && sa.getTargets() != null) { - Iterables.addAll(cards, sa.getTargets().getTargetCards()); + else if (defined.equals("ThisTargetedCard") && sa instanceof SpellAbility) { // do not add parent targeted + if (((SpellAbility)sa).getTargets() != null) { + Iterables.addAll(cards, ((SpellAbility)sa).getTargets().getTargetCards()); } } - else if (defined.equals("ParentTarget")) { - final SpellAbility parent = sa.getParentTargetingCard(); + else if (defined.equals("ParentTarget") && sa instanceof SpellAbility) { + final SpellAbility parent = ((SpellAbility)sa).getParentTargetingCard(); if (parent != null) { Iterables.addAll(cards, parent.getTargets().getTargetCards()); } } - else if (defined.startsWith("Triggered") && (sa != null)) { - final SpellAbility root = sa.getRootAbility(); + else if (defined.startsWith("Triggered") && sa instanceof SpellAbility) { + final SpellAbility root = ((SpellAbility)sa).getRootAbility(); if (defined.contains("LKICopy")) { //Triggered*LKICopy int lkiPosition = defined.indexOf("LKICopy"); AbilityKey type = AbilityKey.fromString(defined.substring(9, lkiPosition)); @@ -192,8 +197,8 @@ public class AbilityUtils { } } } - else if (defined.startsWith("Replaced") && (sa != null)) { - final SpellAbility root = sa.getRootAbility(); + else if (defined.startsWith("Replaced") && sa instanceof SpellAbility) { + final SpellAbility root = ((SpellAbility)sa).getRootAbility(); AbilityKey type = AbilityKey.fromString(defined.substring(8)); final Object crd = root.getReplacingObject(type); @@ -239,8 +244,8 @@ public class AbilityUtils { cards.add((Card) o); } } - } else if (defined.equals("DelayTriggerRememberedLKI")) { - SpellAbility root = sa.getRootAbility(); + } else if (defined.equals("DelayTriggerRememberedLKI") && sa instanceof SpellAbility) { + SpellAbility root = ((SpellAbility)sa).getRootAbility(); if (root != null) { for (Object o : root.getTriggerRemembered()) { if (o instanceof Card) { @@ -250,8 +255,8 @@ public class AbilityUtils { } else { System.err.println("Warning: couldn't find trigger SA in the chain of SpellAbility " + sa); } - } else if (defined.equals("DelayTriggerRemembered")) { - SpellAbility root = sa.getRootAbility(); + } else if (defined.equals("DelayTriggerRemembered") && sa instanceof SpellAbility) { + SpellAbility root = ((SpellAbility)sa).getRootAbility(); if (root != null) { for (Object o : root.getTriggerRemembered()) { if (o instanceof Card) { @@ -313,31 +318,36 @@ public class AbilityUtils { } } else { CardCollection list = null; - if (defined.startsWith("SacrificedCards")) { - list = sa.getRootAbility().getPaidList("SacrificedCards"); - } else if (defined.startsWith("Sacrificed")) { - list = sa.getRootAbility().getPaidList("Sacrificed"); - } else if (defined.startsWith("Revealed")) { - list = sa.getRootAbility().getPaidList("Revealed"); - } else if (defined.startsWith("DiscardedCards")) { - list = sa.getRootAbility().getPaidList("DiscardedCards"); - } else if (defined.startsWith("Discarded")) { - list = sa.getRootAbility().getPaidList("Discarded"); - } else if (defined.startsWith("ExiledCards")) { - list = sa.getRootAbility().getPaidList("ExiledCards"); - } else if (defined.startsWith("Exiled")) { - list = sa.getRootAbility().getPaidList("Exiled"); - } else if (defined.startsWith("Milled")) { - list = sa.getRootAbility().getPaidList("Milled"); - } else if (defined.startsWith("TappedCards")) { - list = sa.getRootAbility().getPaidList("TappedCards"); - } else if (defined.startsWith("Tapped")) { - list = sa.getRootAbility().getPaidList("Tapped"); - } else if (defined.startsWith("UntappedCards")) { - list = sa.getRootAbility().getPaidList("UntappedCards"); - } else if (defined.startsWith("Untapped")) { - list = sa.getRootAbility().getPaidList("Untapped"); - } else if (defined.startsWith("Valid ")) { + if (sa instanceof SpellAbility) { + SpellAbility root = ((SpellAbility)sa).getRootAbility(); + if (defined.startsWith("SacrificedCards")) { + list = root.getPaidList("SacrificedCards"); + } else if (defined.startsWith("Sacrificed")) { + list = root.getPaidList("Sacrificed"); + } else if (defined.startsWith("Revealed")) { + list = root.getPaidList("Revealed"); + } else if (defined.startsWith("DiscardedCards")) { + list = root.getPaidList("DiscardedCards"); + } else if (defined.startsWith("Discarded")) { + list = root.getPaidList("Discarded"); + } else if (defined.startsWith("ExiledCards")) { + list = root.getPaidList("ExiledCards"); + } else if (defined.startsWith("Exiled")) { + list = root.getPaidList("Exiled"); + } else if (defined.startsWith("Milled")) { + list = root.getPaidList("Milled"); + } else if (defined.startsWith("TappedCards")) { + list = root.getPaidList("TappedCards"); + } else if (defined.startsWith("Tapped")) { + list = root.getPaidList("Tapped"); + } else if (defined.startsWith("UntappedCards")) { + list = root.getPaidList("UntappedCards"); + } else if (defined.startsWith("Untapped")) { + list = root.getPaidList("Untapped"); + } + } + + if (defined.startsWith("Valid ")) { String validDefined = defined.substring("Valid ".length()); list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validDefined.split(","), hostCard.getController(), hostCard, sa); } else if (defined.startsWith("ValidAll ")) { @@ -348,8 +358,6 @@ public class AbilityUtils { String zone = s[0].substring("Valid".length()); String validDefined = s[1]; list = CardLists.getValidCards(game.getCardsIn(ZoneType.smartValueOf(zone)), validDefined.split(","), hostCard.getController(), hostCard, sa); - } else { - return cards; } if (list != null) { @@ -806,7 +814,7 @@ public class AbilityUtils { * a {@link forge.game.spellability.SpellAbility} object. * @return a {@link java.util.ArrayList} object. */ - public static FCollection getDefinedObjects(final Card card, final String def, final SpellAbility sa) { + public static FCollection getDefinedObjects(final Card card, final String def, final CardTraitBase sa) { final FCollection objects = new FCollection<>(); final String defined = (def == null) ? "Self" : def; @@ -816,7 +824,7 @@ public class AbilityUtils { return objects; } - public static FCollection getDefinedEntities(final Card card, final String def, final SpellAbility sa) { + public static FCollection getDefinedEntities(final Card card, final String def, final CardTraitBase sa) { final FCollection objects = new FCollection<>(); final String defined = (def == null) ? "Self" : def; @@ -965,32 +973,32 @@ public class AbilityUtils { * a {@link forge.game.spellability.SpellAbility} object. * @return a {@link java.util.ArrayList} object. */ - public static PlayerCollection getDefinedPlayers(final Card card, final String def, final SpellAbility sa) { + public static PlayerCollection getDefinedPlayers(final Card card, final String def, final CardTraitBase sa) { final PlayerCollection players = new PlayerCollection(); final String defined = (def == null) ? "You" : applyAbilityTextChangeEffects(def, sa); final Game game = card == null ? null : card.getGame(); - final Player player = sa == null ? card.getController() : sa.getActivatingPlayer(); + final Player player = sa instanceof SpellAbility ? ((SpellAbility)sa).getActivatingPlayer() : card.getController(); if (defined.equals("TargetedOrController")) { players.addAll(getDefinedPlayers(card, "Targeted", sa)); players.addAll(getDefinedPlayers(card, "TargetedController", sa)); } - else if (defined.equals("Targeted") || defined.equals("TargetedPlayer")) { - final SpellAbility saTargeting = sa.getSATargetingPlayer(); + else if ((defined.equals("Targeted") || defined.equals("TargetedPlayer")) && sa instanceof SpellAbility) { + final SpellAbility saTargeting = ((SpellAbility)sa).getSATargetingPlayer(); if (saTargeting != null) { players.addAll(saTargeting.getTargets().getTargetPlayers()); } } - else if (defined.equals("ParentTarget")) { - final SpellAbility parent = sa.getParentTargetingPlayer(); + else if (defined.equals("ParentTarget") && sa instanceof SpellAbility) { + final SpellAbility parent = ((SpellAbility)sa).getParentTargetingPlayer(); if (parent != null) { players.addAll(parent.getTargets().getTargetPlayers()); } } - else if (defined.equals("ThisTargetedPlayer")) { // do not add parent targeted - if (sa != null && sa.getTargets() != null) { - Iterables.addAll(players, sa.getTargets().getTargetPlayers()); + else if (defined.equals("ThisTargetedPlayer") && sa instanceof SpellAbility) { // do not add parent targeted + if (((SpellAbility)sa).getTargets() != null) { + Iterables.addAll(players, ((SpellAbility)sa).getTargets().getTargetPlayers()); } } else if (defined.equals("TargetedController")) { @@ -1006,11 +1014,11 @@ public class AbilityUtils { players.add(c.getOwner()); } } - else if (defined.equals("TargetedAndYou")) { - final SpellAbility saTargeting = sa.getSATargetingPlayer(); + else if (defined.equals("TargetedAndYou") && sa instanceof SpellAbility) { + final SpellAbility saTargeting = ((SpellAbility)sa).getSATargetingPlayer(); if (saTargeting != null) { players.addAll(saTargeting.getTargets().getTargetPlayers()); - players.add(sa.getActivatingPlayer()); + players.add(((SpellAbility)sa).getActivatingPlayer()); } } else if (defined.equals("ParentTargetedController")) { @@ -1024,8 +1032,8 @@ public class AbilityUtils { else if (defined.startsWith("Remembered")) { addPlayer(card.getRemembered(), defined, players); } - else if (defined.startsWith("DelayTriggerRemembered")) { - SpellAbility root = sa.getRootAbility(); + else if (defined.startsWith("DelayTriggerRemembered") && sa instanceof SpellAbility) { + SpellAbility root = ((SpellAbility)sa).getRootAbility(); if (root != null) { addPlayer(root.getTriggerRemembered(), defined, players); } else { @@ -1042,12 +1050,12 @@ public class AbilityUtils { players.add(rem.getOwner()); } } - else if (defined.startsWith("Triggered")) { + else if (defined.startsWith("Triggered") && sa instanceof SpellAbility) { String defParsed = defined.endsWith("AndYou") ? defined.substring(0, defined.indexOf("AndYou")) : defined; if (defined.endsWith("AndYou")) { - players.add(sa.getActivatingPlayer()); + players.add(((SpellAbility)sa).getActivatingPlayer()); } - final SpellAbility root = sa.getRootAbility(); + final SpellAbility root = ((SpellAbility)sa).getRootAbility(); Object o = null; if (defParsed.endsWith("Controller")) { String triggeringType = defParsed.substring(9); @@ -1108,8 +1116,8 @@ public class AbilityUtils { players.addAll(player.getOpponents()); players.removeAll(getDefinedPlayers(card, defined.substring(6), sa)); } - else if (defined.startsWith("Replaced")) { - final SpellAbility root = sa.getRootAbility(); + else if (defined.startsWith("Replaced") && sa instanceof SpellAbility) { + final SpellAbility root = ((SpellAbility)sa).getRootAbility(); Object o = null; if (defined.endsWith("Controller")) { String replacingType = defined.substring(8); @@ -1252,7 +1260,7 @@ public class AbilityUtils { * @return a {@link java.util.ArrayList} object. */ public static FCollection getDefinedSpellAbilities(final Card card, final String def, - final SpellAbility sa) { + final CardTraitBase sa) { final FCollection sas = new FCollection<>(); final String defined = (def == null) ? "Self" : applyAbilityTextChangeEffects(def, sa); // default to Self final Game game = card.getGame(); @@ -1261,14 +1269,14 @@ public class AbilityUtils { // TODO - this probably needs to be fleshed out a bit, but the basics // work - if (defined.equals("Self")) { - s = sa; + if (defined.equals("Self") && sa instanceof SpellAbility) { + s = (SpellAbility)sa; } - else if (defined.equals("Parent")) { - s = sa.getRootAbility(); + else if (defined.equals("Parent") && sa instanceof SpellAbility) { + s = ((SpellAbility)sa).getRootAbility(); } - else if (defined.equals("Targeted")) { - final SpellAbility saTargeting = sa.getSATargetingSA(); + else if (defined.equals("Targeted") && sa instanceof SpellAbility) { + final SpellAbility saTargeting = ((SpellAbility)sa).getSATargetingSA(); if (saTargeting != null) { for (SpellAbility targetSpell : saTargeting.getTargets().getTargetSpells()) { SpellAbilityStackInstance stackInstance = game.getStack().getInstanceFromSpellAbility(targetSpell); @@ -1284,8 +1292,8 @@ public class AbilityUtils { } } } - else if (defined.startsWith("Triggered")) { - final SpellAbility root = sa.getRootAbility(); + else if (defined.startsWith("Triggered") && sa instanceof SpellAbility) { + final SpellAbility root = ((SpellAbility)sa).getRootAbility(); final String triggeringType = defined.substring(9); final Object o = root.getTriggeringObject(AbilityKey.fromString(triggeringType)); @@ -1584,6 +1592,7 @@ public class AbilityUtils { final String s2 = AbilityUtils.applyAbilityTextChangeEffects(s, ctb); final String[] l = s2.split("/"); final String expr = CardFactoryUtil.extractOperators(s2); + final Player player = ctb instanceof SpellAbility ? ((SpellAbility)ctb).getActivatingPlayer() : ctb.getHostCard().getController(); final String[] sq; sq = l[0].split("\\."); @@ -1781,13 +1790,6 @@ public class AbilityUtils { } } - if (l[0].startsWith("CountersAddedThisTurn")) { - final String[] parts = l[0].split(" "); - CounterType cType = CounterType.getType(parts[1]); - - return CardFactoryUtil.doXMath(game.getCounterAddedThisTurn(cType, parts[2], parts[3], c, sa.getActivatingPlayer(), sa), expr, c); - } - if (sq[0].startsWith("CastTotalManaSpent")) { return CardFactoryUtil.doXMath(c.getCastSA() != null ? c.getCastSA().getTotalManaSpent() : 0, expr, c); } @@ -1804,12 +1806,13 @@ public class AbilityUtils { return CardFactoryUtil.doXMath(v, expr, c); } } - if (ctb instanceof TriggerReplacementBase) { + + if (ctb instanceof CardTraitBase) { if (l[0].startsWith("CountersAddedThisTurn")) { final String[] parts = l[0].split(" "); CounterType cType = CounterType.getType(parts[1]); - return CardFactoryUtil.doXMath(game.getCounterAddedThisTurn(cType, parts[2], parts[3], c, ctb.getHostCard().getController(), null), expr, c); + return CardFactoryUtil.doXMath(game.getCounterAddedThisTurn(cType, parts[2], parts[3], c, player, ctb), expr, c); } } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java index 2e7ee9eb139..9c7cb2bc908 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java @@ -199,7 +199,7 @@ public class AttachEffect extends SpellAbilityEffect { final FCollection players = new FCollection<>(); for (Player player : game.getPlayers()) { - if (player.isValid(tgt.getValidTgts(), aura.getActivatingPlayer(), source, null)) { + if (player.isValid(tgt.getValidTgts(), aura.getActivatingPlayer(), source, aura)) { players.add(player); } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java index 83a0eaadad5..cf0be288275 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java @@ -41,7 +41,7 @@ public class BalanceEffect extends SpellAbilityEffect { for(int i = 0; i < players.size(); i++) { // Find the minimum of each Valid per player - validCards.add(CardLists.getValidCards(players.get(i).getCardsIn(zone), valid, activator, source)); + validCards.add(CardLists.getValidCards(players.get(i).getCardsIn(zone), valid, activator, source, sa)); min = Math.min(min, validCards.get(i).size()); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java index 08c356ac3f3..e3179745c88 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java @@ -79,7 +79,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { } if (origin.contains(ZoneType.Library) && sa.hasParam("Search") && sa.getActivatingPlayer().canSearchLibraryWith(sa, null)) { - CardCollection libCards = CardLists.getValidCards(cards, "Card.inZoneLibrary", sa.getActivatingPlayer(), source); + CardCollection libCards = CardLists.getValidCards(cards, "Card.inZoneLibrary", sa.getActivatingPlayer(), source, sa); CardCollection libCardsYouOwn = CardLists.filterControlledBy(libCards, sa.getActivatingPlayer()); if (!libCardsYouOwn.isEmpty()) { // Only searching one's own library would fire Archive Trap's altcost sa.getActivatingPlayer().incLibrarySearched(); @@ -93,7 +93,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { game.getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); } if (origin.contains(ZoneType.Hand) && sa.hasParam("Search")) { - CardCollection handCards = CardLists.filterControlledBy(CardLists.getValidCards(cards, "Card.inZoneHand", sa.getActivatingPlayer(), source), + CardCollection handCards = CardLists.filterControlledBy(CardLists.getValidCards(cards, "Card.inZoneHand", sa.getActivatingPlayer(), source, sa), sa.getActivatingPlayer().getOpponents()); if (!handCards.isEmpty()) { sa.getActivatingPlayer().getController().reveal(handCards, ZoneType.Hand, handCards.get(0).getOwner()); diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 25e2ff9b3a0..eb0ee56b4f2 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -583,7 +583,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { if (sa.hasParam("AttachedTo")) { CardCollection list = AbilityUtils.getDefinedCards(hostCard, sa.getParam("AttachedTo"), sa); if (list.isEmpty()) { - list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), sa.getParam("AttachedTo"), gameCard.getController(), gameCard); + list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), sa.getParam("AttachedTo"), gameCard.getController(), gameCard, sa); } if (!list.isEmpty()) { Map params = Maps.newHashMap(); @@ -1104,7 +1104,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } if (totalcmc != null) { if (totcmc >= 0) { - fetchList = CardLists.getValidCards(fetchList, "Card.cmcLE" + totcmc, source.getController(), source); + fetchList = CardLists.getValidCards(fetchList, "Card.cmcLE" + totcmc, source.getController(), source, sa); } } @@ -1213,7 +1213,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { if (sa.hasParam("AttachedTo")) { CardCollection list = AbilityUtils.getDefinedCards(source, sa.getParam("AttachedTo"), sa); if (list.isEmpty()) { - list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), sa.getParam("AttachedTo"), c.getController(), c); + list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), sa.getParam("AttachedTo"), c.getController(), c, sa); } if (!list.isEmpty()) { Card attachedTo = null; diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java index 6526ab32cd2..0d6804b7237 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java @@ -99,7 +99,7 @@ public class ChooseCardNameEffect extends SpellAbilityEffect { } } else if (chooseFromDefined) { CardCollection choices = AbilityUtils.getDefinedCards(host, sa.getParam("ChooseFromDefinedCards"), sa); - choices = CardLists.getValidCards(choices, valid, host.getController(), host); + choices = CardLists.getValidCards(choices, valid, host.getController(), host, sa); List faces = Lists.newArrayList(); // get Card for (final Card c : choices) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java index 34004b1a310..9a05ed7d74c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java @@ -10,7 +10,6 @@ import forge.game.card.CardLists; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; -import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.Localizer; @@ -36,7 +35,6 @@ public class ChooseSourceEffect extends SpellAbilityEffect { final Card host = sa.getHostCard(); final Game game = sa.getActivatingPlayer().getGame(); - final TargetRestrictions tgt = sa.getTargetRestrictions(); final List tgtPlayers = getTargetPlayers(sa); CardCollection stackSources = new CardCollection(); @@ -85,11 +83,11 @@ public class ChooseSourceEffect extends SpellAbilityEffect { } if (sa.hasParam("Choices")) { - permanentSources = CardLists.getValidCards(permanentSources, sa.getParam("Choices"), host.getController(), host); + permanentSources = CardLists.getValidCards(permanentSources, sa.getParam("Choices"), host.getController(), host, sa); - stackSources = CardLists.getValidCards(stackSources, sa.getParam("Choices"), host.getController(), host); - referencedSources = CardLists.getValidCards(referencedSources, sa.getParam("Choices"), host.getController(), host); - commandZoneSources = CardLists.getValidCards(commandZoneSources, sa.getParam("Choices"), host.getController(), host); + stackSources = CardLists.getValidCards(stackSources, sa.getParam("Choices"), host.getController(), host, sa); + referencedSources = CardLists.getValidCards(referencedSources, sa.getParam("Choices"), host.getController(), host, sa); + commandZoneSources = CardLists.getValidCards(commandZoneSources, sa.getParam("Choices"), host.getController(), host, sa); } if (sa.hasParam("TargetControls")) { permanentSources = CardLists.filterControlledBy(permanentSources, tgtPlayers.get(0)); @@ -133,7 +131,7 @@ public class ChooseSourceEffect extends SpellAbilityEffect { for (final Player p : tgtPlayers) { final CardCollection chosen = new CardCollection(); - if (tgt == null || p.canBeTargetedBy(sa)) { + if (!sa.usesTargeting() || p.canBeTargetedBy(sa)) { for (int i = 0; i < validAmount; i++) { final String choiceTitle = sa.hasParam("ChoiceTitle") ? sa.getParam("ChoiceTitle") : Localizer.getInstance().getMessage("lblChooseSource") + " "; Card o = null; diff --git a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java index 719c4f63ad4..ee4a201cf1e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -81,7 +81,7 @@ public class CloneEffect extends SpellAbilityEffect { } } - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host, sa); String title = sa.hasParam("ChoiceTitle") ? sa.getParam("ChoiceTitle") : Localizer.getInstance().getMessage("lblChooseaCard") + " "; cardToCopy = activator.getController().chooseSingleEntityForEffect(choices, sa, title, false, null); diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlGainVariantEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlGainVariantEffect.java index b5e861c8cf7..f4118e23a37 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlGainVariantEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlGainVariantEffect.java @@ -44,7 +44,7 @@ public class ControlGainVariantEffect extends SpellAbilityEffect { } CardCollection tgtCards = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), - sa.getParam("AllValid"), source.getController(), source); + sa.getParam("AllValid"), source.getController(), source, sa); if ("NextPlayerInChosenDirection".equals(controller) && (source.getChosenDirection() != null) ) {// Aminatou, the Fateshifter for (final Player p : players) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index 33cbabcf1d8..289f8687e78 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -136,7 +136,7 @@ public class CopyPermanentEffect extends TokenEffectBase { // For Mimic Vat with mutated creature, need to choose one imprinted card CardCollectionView choices = sa.hasParam("Defined") ? getDefinedCardsOrTargeted(sa) : game.getCardsIn(ZoneType.Battlefield); - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host, sa); if (!choices.isEmpty()) { String title = sa.hasParam("ChoiceTitle") ? sa.getParam("ChoiceTitle") : Localizer.getInstance().getMessage("lblChooseaCard"); diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutAllEffect.java index 4d69ba3d4e1..736a95da3aa 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutAllEffect.java @@ -51,7 +51,7 @@ public class CountersPutAllEffect extends SpellAbilityEffect { } CardCollectionView cards = game.getCardsIn(zone); - cards = CardLists.getValidCards(cards, valid, host.getController(), sa.getHostCard()); + cards = CardLists.getValidCards(cards, valid, host.getController(), sa.getHostCard(), sa); if (sa.usesTargeting()) { final Player pl = sa.getTargets().getFirstTargetedPlayer(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java index 61ecba8da14..dfe7a8afb7a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java @@ -52,7 +52,7 @@ public class CountersRemoveAllEffect extends SpellAbilityEffect { final Game game = sa.getActivatingPlayer().getGame(); CardCollectionView cards = game.getCardsIn(zone); - cards = CardLists.getValidCards(cards, valid, sa.getHostCard().getController(), sa.getHostCard()); + cards = CardLists.getValidCards(cards, valid, sa.getHostCard().getController(), sa.getHostCard(), sa); if (sa.usesTargeting()) { final Player pl = sa.getTargets().getFirstTargetedPlayer(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java index 913b6e979a2..2a8347f95b9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java @@ -66,7 +66,7 @@ public class DamageEachEffect extends DamageBaseEffect { FCollectionView sources = game.getCardsIn(ZoneType.Battlefield); if (sa.hasParam("ValidCards")) { - sources = CardLists.getValidCards(sources, sa.getParam("ValidCards"), card.getController(), card); + sources = CardLists.getValidCards(sources, sa.getParam("ValidCards"), card.getController(), card, sa); } final List tgts = getTargets(sa, "DefinedPlayers"); diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java index c58532ed15f..21231fe8584 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java @@ -135,7 +135,7 @@ public class DigEffect extends SpellAbilityEffect { } else if (sa.hasParam("RevealValid")) { final String revealValid = sa.getParam("RevealValid"); - final CardCollection toReveal = CardLists.getValidCards(top, revealValid, host.getController(), host); + final CardCollection toReveal = CardLists.getValidCards(top, revealValid, host.getController(), host, sa); if (!toReveal.isEmpty()) { game.getAction().reveal(toReveal, host.getController()); if (sa.hasParam("RememberRevealed")) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java index 890a6a57712..18fd4f984fb 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java @@ -179,7 +179,7 @@ public class DiscardEffect extends SpellAbilityEffect { if (!p.canDiscardBy(sa)) { continue; } - CardCollectionView dPHand = CardLists.getValidCards(p.getCardsIn(ZoneType.Hand), "Card.IsNotRemembered", p, source); + CardCollectionView dPHand = CardLists.getValidCards(p.getCardsIn(ZoneType.Hand), "Card.IsNotRemembered", p, source, sa); if (dPHand.size() > 1) { dPHand = GameActionUtil.orderCardsByTheirOwners(game, dPHand, ZoneType.Graveyard, sa); } @@ -207,7 +207,7 @@ public class DiscardEffect extends SpellAbilityEffect { if (runDiscard) { final String valid = sa.hasParam("DiscardValid") ? sa.getParam("DiscardValid") : "Card"; - List list = CardLists.getValidCards(p.getCardsIn(ZoneType.Hand), valid, source.getController(), source); + List list = CardLists.getValidCards(p.getCardsIn(ZoneType.Hand), valid, source.getController(), source, sa); list = CardLists.filter(list, Presets.NON_TOKEN); CardCollection toDiscard = new CardCollection(); for (int i = 0; i < numCards; i++) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ManifestEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ManifestEffect.java index e4c0b312ee0..afa5ff2840e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ManifestEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ManifestEffect.java @@ -33,7 +33,7 @@ public class ManifestEffect extends SpellAbilityEffect { } CardCollection choices = new CardCollection(game.getCardsIn(choiceZone)); if (sa.hasParam("Choices")) { - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, source); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, source, sa); } if (choices.isEmpty()) { continue; diff --git a/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java index d38c971d04b..a659f2fea1d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java @@ -80,7 +80,7 @@ public class MultiplePilesEffect extends SpellAbilityEffect { } else { pool = new CardCollection(p.getCardsIn(zone)); } - pool = CardLists.getValidCards(pool, valid, source.getController(), source); + pool = CardLists.getValidCards(pool, valid, source.getController(), source, sa); List pileList = Lists.newArrayList(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java index 1a950048965..655a0005b45 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java @@ -41,7 +41,7 @@ public class MustBlockEffect extends SpellAbilityEffect { } CardCollectionView choices = game.getCardsIn(ZoneType.Battlefield); - choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host); + choices = CardLists.getValidCards(choices, sa.getParam("Choices"), activator, host, sa); if (!choices.isEmpty()) { String title = sa.hasParam("ChoiceTitle") ? sa.getParam("ChoiceTitle") : Localizer.getInstance().getMessage("lblChooseaCard") +" "; Map params = Maps.newHashMap(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java index bfcab69c0a8..b9e88a9ec51 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java @@ -54,7 +54,7 @@ public class PeekAndRevealEffect extends SpellAbilityEffect { peekCards.add(library.get(i)); } - CardCollectionView revealableCards = CardLists.getValidCards(peekCards, revealValid, sa.getActivatingPlayer(), sa.getHostCard()); + CardCollectionView revealableCards = CardLists.getValidCards(peekCards, revealValid, sa.getActivatingPlayer(), sa.getHostCard(), sa); boolean doReveal = !sa.hasParam("NoReveal") && !revealableCards.isEmpty(); if (!sa.hasParam("NoPeek")) { peekingPlayer.getController().reveal(peekCards, ZoneType.Library, peekingPlayer, CardTranslation.getTranslatedName(source.getName()) + " - " + Localizer.getInstance().getMessage("lblRevealingCardFrom") + " "); diff --git a/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java index 5a037887b68..30ec45b2e90 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java @@ -87,7 +87,7 @@ public class ProtectAllEffect extends SpellAbilityEffect { } if (!valid.equals("")) { CardCollectionView list = game.getCardsIn(ZoneType.Battlefield); - list = CardLists.getValidCards(list, valid, sa.getActivatingPlayer(), host); + list = CardLists.getValidCards(list, valid, sa.getActivatingPlayer(), host, sa); for (final Card tgtC : list) { if (tgtC.isInPlay()) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java index 6e1f0782511..ba61da94f50 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java @@ -54,7 +54,7 @@ public class RepeatEachEffect extends SpellAbilityEffect { zone.add(ZoneType.Battlefield); } repeatCards = CardLists.getValidCards(game.getCardsIn(zone), - sa.getParam("RepeatCards"), source.getController(), source); + sa.getParam("RepeatCards"), source.getController(), source, sa); } else if (sa.hasParam(("RepeatSpellAbilities"))) { repeatSas = Lists.newArrayList(); @@ -70,7 +70,7 @@ public class RepeatEachEffect extends SpellAbilityEffect { repeatCards = AbilityUtils.getDefinedCards(source, sa.getParam("DefinedCards"), sa); if (sa.hasParam("AdditionalRestriction")) { // lki cards might not be in game repeatCards = CardLists.getValidCards(repeatCards, - sa.getParam("AdditionalRestriction"), source.getController(), source); + sa.getParam("AdditionalRestriction"), source.getController(), source, sa); } } boolean loopOverCards = repeatCards != null && !repeatCards.isEmpty(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java index a9ae2fa758f..1f911bbf429 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java @@ -42,7 +42,7 @@ public class RestartGameEffect extends SpellAbilityEffect { CardCollection newLibrary = new CardCollection(p.getCardsIn(restartZones, false)); List filteredCards = null; if (leaveZone != null) { - filteredCards = CardLists.getValidCards(p.getCardsIn(leaveZone), leaveRestriction.split(","), p, sa.getHostCard(), null); + filteredCards = CardLists.getValidCards(p.getCardsIn(leaveZone), leaveRestriction, p, sa.getHostCard(), sa); newLibrary.addAll(filteredCards); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java index 8aefd31a571..872fc5c664e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java @@ -53,7 +53,7 @@ public class RevealEffect extends SpellAbilityEffect { CardCollection valid = new CardCollection(cardsInHand); if (sa.hasParam("RevealValid")) { - valid = CardLists.getValidCards(valid, sa.getParam("RevealValid"), p, host); + valid = CardLists.getValidCards(valid, sa.getParam("RevealValid"), p, host, sa); } if (valid.isEmpty()) diff --git a/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java index 500be595980..5c9efa9e3d0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java @@ -83,7 +83,7 @@ public class TwoPilesEffect extends SpellAbilityEffect { } else { pool0 = p.getCardsIn(zone); } - CardCollection pool = CardLists.getValidCards(pool0, valid, card.getController(), card); + CardCollection pool = CardLists.getValidCards(pool0, valid, card.getController(), card, sa); int size = pool.size(); if (size == 0) { return; diff --git a/forge-game/src/main/java/forge/game/ability/effects/UntapEffect.java b/forge-game/src/main/java/forge/game/ability/effects/UntapEffect.java index 0b12f681a9d..ec58540d227 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/UntapEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/UntapEffect.java @@ -72,7 +72,7 @@ public class UntapEffect extends SpellAbilityEffect { for (final Player p : AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("Defined"), sa)) { CardCollectionView list = CardLists.getValidCards(p.getGame().getCardsIn(ZoneType.Battlefield), - valid, sa.getActivatingPlayer(), sa.getHostCard()); + valid, sa.getActivatingPlayer(), sa.getHostCard(), sa); list = CardLists.filter(list, Presets.TAPPED); final CardCollectionView selected = p.getController().chooseCardsForEffect(list, sa, Localizer.getInstance().getMessage("lblSelectCardToUntap"), mandatory ? num : 0, num, !mandatory, null); diff --git a/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java b/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java index 9a611532836..415650827c0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java @@ -59,7 +59,7 @@ public class VoteEffect extends SpellAbilityEffect { voteType.addAll(Arrays.asList(sa.getParam("VoteType").split(","))); } else if (sa.hasParam("VoteCard")) { ZoneType zone = sa.hasParam("Zone") ? ZoneType.smartValueOf(sa.getParam("Zone")) : ZoneType.Battlefield; - voteType.addAll(CardLists.getValidCards(game.getCardsIn(zone), sa.getParam("VoteCard"), host.getController(), host)); + voteType.addAll(CardLists.getValidCards(game.getCardsIn(zone), sa.getParam("VoteCard"), host.getController(), host, sa)); } if (voteType.isEmpty()) { return; diff --git a/forge-game/src/main/java/forge/game/ability/effects/ZoneExchangeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ZoneExchangeEffect.java index b2a41fed62d..694fa05e8aa 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ZoneExchangeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ZoneExchangeEffect.java @@ -64,7 +64,7 @@ public class ZoneExchangeEffect extends SpellAbilityEffect { filter = "Card"; } - list = CardLists.getValidCards(list, filter, p, source); + list = CardLists.getValidCards(list, filter, p, source, sa); if (list.isEmpty()) { // Nothing to exchange the object? return; diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index a22936abe18..5510f104153 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -2265,7 +2265,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { continue; } final Card host = stAb.getHostCard(); - if (isValid(stAb.getParam("ValidAttacker").split(","), host.getController(), host, null)) { + if (isValid(stAb.getParam("ValidAttacker").split(","), host.getController(), host, stAb)) { String currentName = (host.getName()); String desc1 = TextUtil.fastReplace(stAb.toString(), "CARDNAME", currentName); String desc = TextUtil.fastReplace(desc1,"NICKNAME", currentName.split(",")[0]); @@ -4678,7 +4678,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { // Takes one argument like Permanent.Blue+withFlying @Override - public final boolean isValid(final String restriction, final Player sourceController, final Card source, SpellAbility spellAbility) { + public final boolean isValid(final String restriction, final Player sourceController, final Card source, CardTraitBase spellAbility) { if (isImmutable() && source != null && !source.isRemembered(this) && !(restriction.startsWith("Emblem") || restriction.startsWith("Effect"))) { // special case exclusion return false; @@ -4718,7 +4718,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { // Takes arguments like Blue or withFlying @Override - public boolean hasProperty(final String property, final Player sourceController, final Card source, SpellAbility spellAbility) { + public boolean hasProperty(final String property, final Player sourceController, final Card source, CardTraitBase spellAbility) { return CardProperty.cardHasProperty(this, property, sourceController, source, spellAbility); } diff --git a/forge-game/src/main/java/forge/game/card/CardDamageMap.java b/forge-game/src/main/java/forge/game/card/CardDamageMap.java index 141327d4592..09f8a83d014 100644 --- a/forge-game/src/main/java/forge/game/card/CardDamageMap.java +++ b/forge-game/src/main/java/forge/game/card/CardDamageMap.java @@ -13,6 +13,7 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.common.collect.Table; +import forge.game.CardTraitBase; import forge.game.Game; import forge.game.GameEntity; import forge.game.GameObjectPredicates; @@ -114,7 +115,7 @@ public class CardDamageMap extends ForwardingTable { return result; } - public CardDamageMap filteredMap(String validSource, String validTarget, Card host, SpellAbility sa) { + public CardDamageMap filteredMap(String validSource, String validTarget, Card host, CardTraitBase sa) { CardDamageMap result = new CardDamageMap(); Set filteredSource = null; Set filteredTarget = null; diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 47b965d42ae..039a634db18 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -821,13 +821,13 @@ public class CardFactoryUtil { if (l[0].startsWith("MostProminentCreatureType")) { String restriction = l[0].split(" ")[1]; - CardCollection list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), restriction, cc, c); + CardCollection list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), restriction, cc, c, null); return doXMath(getMostProminentCreatureTypeSize(list), m, c); } if (l[0].startsWith("SecondMostProminentColor")) { String restriction = l[0].split(" ")[1]; - CardCollection list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), restriction, cc, c); + CardCollection list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), restriction, cc, c, null); int[] colorSize = SortColorsFromList(list); return doXMath(colorSize[colorSize.length - 2], m, c); } @@ -986,7 +986,7 @@ public class CardFactoryUtil { if (sq[0].contains("YourDamageSourcesThisTurn")) { Iterable allSrc = cc.getAssignedDamageSources(); String restriction = sq[0].split(" ")[1]; - CardCollection filtered = CardLists.getValidCards(allSrc, restriction, cc, c); + CardCollection filtered = CardLists.getValidCards(allSrc, restriction, cc, c, null); return doXMath(filtered.size(), m, c); } @@ -1831,7 +1831,7 @@ public class CardFactoryUtil { final String[] splitString = string.split("/", 2); String valid = splitString[0].substring(6); - final List list = CardLists.getValidCardsAsList(paidList, valid, source.getController(), source); + final List list = CardLists.getValidCardsAsList(paidList, valid, source.getController(), source, null); return doXMath(list.size(), splitString.length > 1 ? splitString[1] : null, source); } diff --git a/forge-game/src/main/java/forge/game/card/CardLists.java b/forge-game/src/main/java/forge/game/card/CardLists.java index 84c89a2a8bd..e99723f2fc3 100644 --- a/forge-game/src/main/java/forge/game/card/CardLists.java +++ b/forge-game/src/main/java/forge/game/card/CardLists.java @@ -26,6 +26,7 @@ import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import forge.game.CardTraitBase; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.spellability.SpellAbility; @@ -212,32 +213,20 @@ public class CardLists { return CardLists.filterAsList(cardList, CardPredicates.isControlledByAnyOf(player)); } - public static CardCollection getValidCards(Iterable cardList, String[] restrictions, Player sourceController, Card source, SpellAbility spellAbility) { + public static CardCollection getValidCards(Iterable cardList, String[] restrictions, Player sourceController, Card source, CardTraitBase spellAbility) { return CardLists.filter(cardList, CardPredicates.restriction(restrictions, sourceController, source, spellAbility)); } - public static List getValidCardsAsList(Iterable cardList, String[] restrictions, Player sourceController, Card source) { - return CardLists.filterAsList(cardList, CardPredicates.restriction(restrictions, sourceController, source, null)); - } - - public static int getValidCardCount(Iterable cardList, String[] restrictions, Player sourceController, Card source) { - return CardLists.count(cardList, CardPredicates.restriction(restrictions, sourceController, source, null)); - } - - public static CardCollection getValidCards(Iterable cardList, String restriction, Player sourceController, Card source) { - return CardLists.filter(cardList, CardPredicates.restriction(restriction.split(","), sourceController, source, null)); - } - - public static CardCollection getValidCards(Iterable cardList, String restriction, Player sourceController, Card source, SpellAbility sa) { + public static CardCollection getValidCards(Iterable cardList, String restriction, Player sourceController, Card source, CardTraitBase sa) { return CardLists.filter(cardList, CardPredicates.restriction(restriction.split(","), sourceController, source, sa)); } - public static List getValidCardsAsList(Iterable cardList, String restriction, Player sourceController, Card source) { - return CardLists.filterAsList(cardList, CardPredicates.restriction(restriction.split(","), sourceController, source, null)); + public static List getValidCardsAsList(Iterable cardList, String restriction, Player sourceController, Card source, CardTraitBase sa) { + return CardLists.filterAsList(cardList, CardPredicates.restriction(restriction.split(","), sourceController, source, sa)); } - public static int getValidCardCount(Iterable cardList, String restriction, Player sourceController, Card source) { - return CardLists.count(cardList, CardPredicates.restriction(restriction.split(","), sourceController, source, null)); + public static int getValidCardCount(Iterable cardList, String restriction, Player sourceController, Card source, CardTraitBase sa) { + return CardLists.count(cardList, CardPredicates.restriction(restriction.split(","), sourceController, source, sa)); } public static CardCollection getTargetableCards(Iterable cardList, SpellAbility source) { diff --git a/forge-game/src/main/java/forge/game/card/CardPredicates.java b/forge-game/src/main/java/forge/game/card/CardPredicates.java index 80684efc9d2..ed1d9a3fb2c 100644 --- a/forge-game/src/main/java/forge/game/card/CardPredicates.java +++ b/forge-game/src/main/java/forge/game/card/CardPredicates.java @@ -22,6 +22,7 @@ import java.util.Comparator; import com.google.common.base.Function; import com.google.common.base.Predicate; +import forge.game.CardTraitBase; import forge.game.combat.CombatUtil; import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; @@ -207,7 +208,7 @@ public final class CardPredicates { }; } - public static final Predicate restriction(final String[] restrictions, final Player sourceController, final Card source, final SpellAbility spellAbility) { + public static final Predicate restriction(final String[] restrictions, final Player sourceController, final Card source, final CardTraitBase spellAbility) { return new Predicate() { @Override public boolean apply(final Card c) { diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index fbf89d97c0d..f5666c97f13 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -7,6 +7,7 @@ import forge.card.ColorSet; import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; +import forge.game.CardTraitBase; import forge.game.Direction; import forge.game.EvenOdd; import forge.game.Game; @@ -35,7 +36,7 @@ import java.util.List; public class CardProperty { - public static boolean cardHasProperty(Card card, String property, Player sourceController, Card source, SpellAbility spellAbility) { + public static boolean cardHasProperty(Card card, String property, Player sourceController, Card source, CardTraitBase spellAbility) { final Game game = card.getGame(); final Combat combat = game.getCombat(); // lki can't be null but it does return this @@ -407,8 +408,8 @@ public class CardProperty { if (!card.equals(source.getEffectSource())) { return false; } - } else if (property.equals("CanBeSacrificedBy")) { - if (!card.canBeSacrificedBy(spellAbility)) { + } else if (property.equals("CanBeSacrificedBy") && spellAbility instanceof SpellAbility) { + if (!card.canBeSacrificedBy((SpellAbility)spellAbility)) { return false; } } else if (property.startsWith("AttachedBy")) { @@ -886,13 +887,13 @@ public class CardProperty { } else { final String restriction = property.split("sharesNameWith ")[1]; if (restriction.equals("YourGraveyard")) { - return !CardLists.filter(sourceController.getCardsIn(ZoneType.Graveyard), CardPredicates.sharesNameWith(card)).isEmpty(); + return Iterables.any(sourceController.getCardsIn(ZoneType.Graveyard), CardPredicates.sharesNameWith(card)); } else if (restriction.equals(ZoneType.Graveyard.toString())) { - return !CardLists.filter(game.getCardsIn(ZoneType.Graveyard), CardPredicates.sharesNameWith(card)).isEmpty(); + return Iterables.any(game.getCardsIn(ZoneType.Graveyard), CardPredicates.sharesNameWith(card)); } else if (restriction.equals(ZoneType.Battlefield.toString())) { - return !CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.sharesNameWith(card)).isEmpty(); + return Iterables.any(game.getCardsIn(ZoneType.Battlefield), CardPredicates.sharesNameWith(card)); } else if (restriction.equals("ThisTurnCast")) { - return !CardLists.filter(CardUtil.getThisTurnCast("Card", source), CardPredicates.sharesNameWith(card)).isEmpty(); + return Iterables.any(CardUtil.getThisTurnCast("Card", source), CardPredicates.sharesNameWith(card)); } else if (restriction.equals("MovedToGrave")) { for (final SpellAbility sa : source.getCurrentState().getNonManaAbilities()) { final SpellAbility root = sa.getRootAbility(); @@ -915,10 +916,10 @@ public class CardProperty { return !CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.NON_TOKEN, CardPredicates.sharesNameWith(card)).isEmpty(); } else if (restriction.equals("TriggeredCard")) { - if (spellAbility == null) { + if (!(spellAbility instanceof SpellAbility)) { System.out.println("Looking at TriggeredCard but no SA?"); } else { - Card triggeredCard = ((Card) spellAbility.getTriggeringObject(AbilityKey.Card)); + Card triggeredCard = ((Card)((SpellAbility)spellAbility).getTriggeringObject(AbilityKey.Card)); if (triggeredCard != null && card.sharesNameWith(triggeredCard)) { return true; } @@ -939,9 +940,9 @@ public class CardProperty { final String restriction = property.split("doesNotShareNameWith ")[1]; if (restriction.startsWith("Remembered") || restriction.startsWith("Imprinted")) { CardCollection list = AbilityUtils.getDefinedCards(source, restriction, spellAbility); - return CardLists.filter(list, CardPredicates.sharesNameWith(card)).isEmpty(); + return !Iterables.any(list, CardPredicates.sharesNameWith(card)); } else if (restriction.equals("YourGraveyard")) { - return CardLists.filter(sourceController.getCardsIn(ZoneType.Graveyard), CardPredicates.sharesNameWith(card)).isEmpty(); + return !Iterables.any(sourceController.getCardsIn(ZoneType.Graveyard), CardPredicates.sharesNameWith(card)); } else if (restriction.equals("OtherYourBattlefield")) { // Obviously it's going to share a name with itself, so consider that in the CardCollection list = CardLists.filter(sourceController.getCardsIn(ZoneType.Battlefield), CardPredicates.sharesNameWith(card)); @@ -1807,8 +1808,11 @@ public class CardProperty { return false; } else if (property.startsWith("NotTriggered")) { final String key = property.substring("NotTriggered".length()); - Object obj = spellAbility.getTriggeringObject(AbilityKey.fromString(key)); - if (card.equals(obj)) { + if (spellAbility instanceof SpellAbility) { + if (card.equals(((SpellAbility)spellAbility).getTriggeringObject(AbilityKey.fromString(key)))) { + return false; + } + } else { return false; } } else if (property.startsWith("NotDefined")) { @@ -1817,6 +1821,9 @@ public class CardProperty { return false; } } else if (property.equals("CanPayManaCost")) { + if (!(spellAbility instanceof SpellAbility)) { + return false; + } final class CheckCanPayManaCost { private List manaPaid; private List manaCost; @@ -1857,7 +1864,7 @@ public class CardProperty { return false; } boolean check() { - manaPaid = Lists.newArrayList(spellAbility.getPayingMana()); + manaPaid = Lists.newArrayList(((SpellAbility)spellAbility).getPayingMana()); manaCost = Lists.newArrayList(card.getManaCost()); Collections.sort(manaCost); //It seems the above codes didn't add generic mana cost ? diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index dd27b678a01..708a20ec035 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -640,7 +640,7 @@ public class CardState extends GameObject implements IHasSVars { * @see forge.game.GameObject#hasProperty(java.lang.String, forge.game.player.Player, forge.game.card.Card, forge.game.spellability.SpellAbility) */ @Override - public boolean hasProperty(String property, Player sourceController, Card source, SpellAbility spellAbility) { + public boolean hasProperty(String property, Player sourceController, Card source, CardTraitBase spellAbility) { return ForgeScript.cardStateHasProperty(this, property, sourceController, source, spellAbility); } diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index 0eb227ae96f..5198cfe69f5 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -119,7 +119,7 @@ public final class CardUtil { else { res.addAll(game.getStackZone().getCardsAddedThisTurn(from)); } - res = CardLists.getValidCardsAsList(res, valid, src.getController(), src); + res = CardLists.getValidCardsAsList(res, valid, src.getController(), src, null); return res; } @@ -143,16 +143,16 @@ public final class CardUtil { else { res.addAll(game.getStackZone().getCardsAddedLastTurn(from)); } - res = CardLists.getValidCardsAsList(res, valid, src.getController(), src); + res = CardLists.getValidCardsAsList(res, valid, src.getController(), src, null); return res; } public static List getThisTurnCast(final String valid, final Card src) { - return CardLists.getValidCardsAsList(src.getGame().getStack().getSpellsCastThisTurn(), valid, src.getController(), src); + return CardLists.getValidCardsAsList(src.getGame().getStack().getSpellsCastThisTurn(), valid, src.getController(), src, null); } public static List getLastTurnCast(final String valid, final Card src) { - return CardLists.getValidCardsAsList(src.getGame().getStack().getSpellsCastLastTurn(), valid, src.getController(), src); + return CardLists.getValidCardsAsList(src.getGame().getStack().getSpellsCastLastTurn(), valid, src.getController(), src, null); } @@ -410,7 +410,7 @@ public final class CardUtil { sa.setActivatingPlayer(sa.getHostCard().getController()); } final Game game = sa.getActivatingPlayer().getGame(); - cards = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validCard, abMana.getActivatingPlayer(), card); + cards = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validCard, abMana.getActivatingPlayer(), card, sa); } // remove anything cards that is already in parents diff --git a/forge-game/src/main/java/forge/game/card/CardZoneTable.java b/forge-game/src/main/java/forge/game/card/CardZoneTable.java index 9ad790b5126..ef0925b4839 100644 --- a/forge-game/src/main/java/forge/game/card/CardZoneTable.java +++ b/forge-game/src/main/java/forge/game/card/CardZoneTable.java @@ -10,9 +10,9 @@ import com.google.common.collect.HashBasedTable; import com.google.common.collect.Iterables; import com.google.common.collect.Table; +import forge.game.CardTraitBase; import forge.game.Game; import forge.game.ability.AbilityKey; -import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; @@ -61,7 +61,7 @@ public class CardZoneTable extends ForwardingTable origin, ZoneType destination, String valid, Card host, SpellAbility sa) { + public CardCollection filterCards(Iterable origin, ZoneType destination, String valid, Card host, CardTraitBase sa) { CardCollection allCards = new CardCollection(); if (destination != null) { if (!containsColumn(destination)) { diff --git a/forge-game/src/main/java/forge/game/combat/AttackingBand.java b/forge-game/src/main/java/forge/game/combat/AttackingBand.java index 3e9f861600f..96ca2ad84e2 100644 --- a/forge-game/src/main/java/forge/game/combat/AttackingBand.java +++ b/forge-game/src/main/java/forge/game/combat/AttackingBand.java @@ -55,7 +55,7 @@ public class AttackingBand { // Check if a bands with other keyword exists in band, and each creature in the band fits the valid quality if (!CardLists.getKeyword(band, keyword).isEmpty() && - CardLists.getValidCards(band, valid, source.getController(), source).size() == band.size()) { + CardLists.getValidCards(band, valid, source.getController(), source, null).size() == band.size()) { return true; } } diff --git a/forge-game/src/main/java/forge/game/combat/CombatUtil.java b/forge-game/src/main/java/forge/game/combat/CombatUtil.java index 298816baf72..f665514681d 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-game/src/main/java/forge/game/combat/CombatUtil.java @@ -833,7 +833,7 @@ public class CombatUtil { if (keyword.startsWith("MustBeBlockedBy ")) { final String valid = keyword.substring("MustBeBlockedBy ".length()); if (blocker.isValid(valid, null, null, null) && - CardLists.getValidCardCount(combat.getBlockers(attacker), valid, null, null) == 0) { + CardLists.getValidCardCount(combat.getBlockers(attacker), valid, null, null, null) == 0) { attackersWithLure.add(attacker); break; } @@ -954,7 +954,7 @@ public class CombatUtil { if (keyword.startsWith("MustBeBlockedBy ")) { final String valid = keyword.substring("MustBeBlockedBy ".length()); if (blocker.isValid(valid, null, null, null) && - CardLists.getValidCardCount(combat.getBlockers(attacker), valid, null, null) == 0) { + CardLists.getValidCardCount(combat.getBlockers(attacker), valid, null, null, null) == 0) { mustBeBlockedBy = true; break; } diff --git a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java index 80e7da18b82..4b861642602 100644 --- a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java +++ b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java @@ -421,17 +421,13 @@ public class CostAdjustment { final Card card = sa.getHostCard(); final Game game = hostCard.getGame(); - if (st.hasParam("ValidCard") - && !card.isValid(st.getParam("ValidCard").split(","), controller, hostCard, sa)) { + if (st.hasParam("ValidCard") && !st.matchesValid(card, st.getParam("ValidCard").split(","))) { return false; } - if (st.hasParam("ValidSpell")) { - if (!sa.isValid(st.getParam("ValidSpell").split(","), controller, hostCard, sa)) { - return false; - } + if (st.hasParam("ValidSpell") && !st.matchesValid(sa, st.getParam("ValidSpell").split(","))) { + return false; } - if (st.hasParam("Activator") && ((activator == null) - || !activator.isValid(st.getParam("Activator"), controller, hostCard, sa))) { + if (st.hasParam("Activator") && !st.matchesValid(activator, st.getParam("Activator").split(","))) { return false; } if (st.hasParam("NonActivatorTurn") && ((activator == null) @@ -458,7 +454,7 @@ public class CostAdjustment { if (st.hasParam("ValidSpell")) { list = CardLists.filterAsList(list, CardPredicates.castSA( - SpellAbilityPredicates.isValid(st.getParam("ValidSpell").split(","), controller, hostCard, sa)) + SpellAbilityPredicates.isValid(st.getParam("ValidSpell").split(","), controller, hostCard, st)) ); } diff --git a/forge-game/src/main/java/forge/game/cost/CostUnattach.java b/forge-game/src/main/java/forge/game/cost/CostUnattach.java index d4ab4bd8b76..b80030ea5f5 100644 --- a/forge-game/src/main/java/forge/game/cost/CostUnattach.java +++ b/forge-game/src/main/java/forge/game/cost/CostUnattach.java @@ -79,7 +79,7 @@ public class CostUnattach extends CostPartWithList { Card originalEquipment = ability.getOriginalHost(); return originalEquipment.isEquipping(); } else { - return CardLists.getValidCards(source.getEquippedBy(), type, payer, source).size() > 0; + return CardLists.getValidCards(source.getEquippedBy(), type, payer, source, ability).size() > 0; } } @@ -95,7 +95,7 @@ public class CostUnattach extends CostPartWithList { return originalEquipment; } } else { - List attachees = CardLists.getValidCards(source.getEquippedBy(), this.getType(), activator, source); + List attachees = CardLists.getValidCards(source.getEquippedBy(), this.getType(), activator, source, ability); if (attachees.size() > 0) { // Just pick the first one, although maybe give a dialog return attachees.get(0); diff --git a/forge-game/src/main/java/forge/game/phase/Untap.java b/forge-game/src/main/java/forge/game/phase/Untap.java index e69b1cc2687..bb926a0866a 100644 --- a/forge-game/src/main/java/forge/game/phase/Untap.java +++ b/forge-game/src/main/java/forge/game/phase/Untap.java @@ -182,7 +182,7 @@ public class Untap extends Phase { Map remaining = Maps.newHashMap(restrictUntap); for (Entry entry : remaining.entrySet()) { if (entry.getValue() == 0) { - cardList.removeAll(CardLists.getValidCards(cardList, entry.getKey(), player, null)); + cardList.removeAll(CardLists.getValidCards(cardList, entry.getKey(), player, null, null)); restrictUntap.remove(entry.getKey()); } } diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 1149ee3cf98..60a3ca5ab58 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -2242,7 +2242,7 @@ public class Player extends GameEntity implements Comparable { } @Override - public final boolean isValid(final String restriction, final Player sourceController, final Card source, SpellAbility spellAbility) { + public final boolean isValid(final String restriction, final Player sourceController, final Card source, CardTraitBase spellAbility) { final String[] incR = restriction.split("\\.", 2); @@ -2283,7 +2283,7 @@ public class Player extends GameEntity implements Comparable { } @Override - public final boolean hasProperty(final String property, final Player sourceController, final Card source, SpellAbility spellAbility) { + public final boolean hasProperty(final String property, final Player sourceController, final Card source, CardTraitBase spellAbility) { return PlayerProperty.playerHasProperty(this, property, sourceController, source, spellAbility); } diff --git a/forge-game/src/main/java/forge/game/player/PlayerProperty.java b/forge-game/src/main/java/forge/game/player/PlayerProperty.java index 6d9265d04e9..6c414ca7b2a 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerProperty.java +++ b/forge-game/src/main/java/forge/game/player/PlayerProperty.java @@ -1,12 +1,12 @@ package forge.game.player; +import forge.game.CardTraitBase; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardCollectionView; import forge.game.card.CardLists; import forge.game.card.CardPredicates; -import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Expressions; import forge.util.TextUtil; @@ -16,7 +16,7 @@ import java.util.List; public class PlayerProperty { - public static boolean playerHasProperty(Player player, String property, Player sourceController, Card source, SpellAbility spellAbility) { + public static boolean playerHasProperty(Player player, String property, Player sourceController, Card source, CardTraitBase spellAbility) { Game game = player.getGame(); if (property.equals("You")) { @@ -236,7 +236,7 @@ public class PlayerProperty { } } else if (property.startsWith("controls")) { final String[] type = property.substring(8).split("_"); - final CardCollectionView list = CardLists.getValidCards(player.getCardsIn(ZoneType.Battlefield), type[0], sourceController, source); + final CardCollectionView list = CardLists.getValidCards(player.getCardsIn(ZoneType.Battlefield), type[0], sourceController, source, spellAbility); String comparator = type[1]; int y = AbilityUtils.calculateAmount(source, comparator.substring(2), null); if (!Expressions.compare(list.size(), comparator, y)) { @@ -244,7 +244,7 @@ public class PlayerProperty { } } else if (property.startsWith("HasCardsIn")) { // HasCardsIn[zonetype]_[cardtype]_[comparator] final String[] type = property.substring(10).split("_"); - final CardCollectionView list = CardLists.getValidCards(player.getCardsIn(ZoneType.smartValueOf(type[0])), type[1], sourceController, source); + final CardCollectionView list = CardLists.getValidCards(player.getCardsIn(ZoneType.smartValueOf(type[0])), type[1], sourceController, source, spellAbility); String comparator = type[2]; int y = AbilityUtils.calculateAmount(source, comparator.substring(2), null); if (!Expressions.compare(list.size(), comparator, y)) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java b/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java index 55cd031279b..b4431b89851 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java @@ -40,32 +40,18 @@ public class ReplaceAddCounter extends ReplacementEffect { } } - if (hasParam("ValidCard")) { - Object o = runParams.get(AbilityKey.Affected); - if (!(o instanceof Card)) { - return false; - } - if (!matchesValid(o, getParam("ValidCard").split(","), getHostCard())) { - return false; - } - } else if (hasParam("ValidPlayer")) { - Object o = runParams.get(AbilityKey.Affected); - if (!(o instanceof Player)) { - return false; - } - if (!matchesValid(o, getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } - } else if (hasParam("ValidObject")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidObject").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; + } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; + } + if (!matchesValidParam("ValidObject", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.Source), getParam("ValidSource").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } if (hasParam("ValidCounterType")) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java index 52512122e10..da8bc685c4a 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java @@ -27,10 +27,8 @@ public class ReplaceAssignDealDamage extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java b/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java index 6bdf445fbed..d9cb0d2b702 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java @@ -27,15 +27,11 @@ public class ReplaceAttached extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidTarget")) { - if (!matchesValid(runParams.get(AbilityKey.AttachTarget), getParam("ValidTarget").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.AttachTarget))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java index ce01a8e1453..4b702e32577 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java @@ -14,10 +14,8 @@ public class ReplaceBeginTurn extends ReplacementEffect { @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } if (hasParam("ExtraTurn")) { if (!(boolean) runParams.get(AbilityKey.ExtraTurn)) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceCopySpell.java b/forge-game/src/main/java/forge/game/replacement/ReplaceCopySpell.java index 7fec930bf0a..c188ae46a80 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceCopySpell.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceCopySpell.java @@ -20,15 +20,11 @@ public class ReplaceCopySpell extends ReplacementEffect { if (((int) runParams.get(AbilityKey.Amount)) <= 0) { return false; } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidSpell")) { - if (!matchesValid(runParams.get(AbilityKey.SpellAbility), getParam("ValidSpell").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSpell", runParams.get(AbilityKey.SpellAbility))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java b/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java index c5968fd1d16..a85b1ffd557 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java @@ -44,18 +44,15 @@ public class ReplaceCounter extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - final SpellAbility spellAbility = (SpellAbility) runParams.get(AbilityKey.TgtSA); - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidCause")) { - if (!matchesValid(runParams.get(AbilityKey.Cause), getParam("ValidCause").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; } + if (hasParam("ValidType")) { + final SpellAbility spellAbility = (SpellAbility) runParams.get(AbilityKey.TgtSA); String type = getParam("ValidType"); if (type.equals("Spell") && !spellAbility.isSpell()) { return false; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java index c0d8e1ebcb0..44aa17d5fd9 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java @@ -58,40 +58,24 @@ public class ReplaceDamage extends ReplacementEffect { // If no actual damage is dealt, there is nothing to replace return false; } - if (hasParam("ValidSource")) { - String validSource = getParam("ValidSource"); - validSource = AbilityUtils.applyAbilityTextChangeEffects(validSource, this); - if (!matchesValid(runParams.get(AbilityKey.DamageSource), validSource.split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.DamageSource))) { + return false; } - if (hasParam("ValidTarget")) { - String validTarget = getParam("ValidTarget"); - validTarget = AbilityUtils.applyAbilityTextChangeEffects(validTarget, this); - if (!matchesValid(runParams.get(AbilityKey.Affected), validTarget.split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidCause")) { - if (!runParams.containsKey(AbilityKey.Cause)) { - return false; - } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; + } + if (hasParam("CauseIsSource")) { SpellAbility cause = (SpellAbility) runParams.get(AbilityKey.Cause); - String validCause = getParam("ValidCause"); - validCause = AbilityUtils.applyAbilityTextChangeEffects(validCause, this); - if (!matchesValid(cause, validCause.split(","), getHostCard())) { + if (!cause.getHostCard().equals(runParams.get(AbilityKey.DamageSource))) { return false; } - if (hasParam("CauseIsSource")) { - if (!cause.getHostCard().equals(runParams.get(AbilityKey.DamageSource))) { - return false; - } - } } if (hasParam("RelativeToSource")) { Card source = (Card) runParams.get(AbilityKey.DamageSource); String validRelative = getParam("RelativeToSource"); - validRelative = AbilityUtils.applyAbilityTextChangeEffects(validRelative, this); if (!matchesValid(runParams.get(AbilityKey.DamageTarget), validRelative.split(","), source)) { return false; } @@ -107,14 +91,8 @@ public class ReplaceDamage extends ReplacementEffect { } } if (hasParam("IsCombat")) { - if (getParam("IsCombat").equals("True")) { - if (!((Boolean) runParams.get(AbilityKey.IsCombat))) { - return false; - } - } else { - if ((Boolean) runParams.get(AbilityKey.IsCombat)) { - return false; - } + if (getParam("IsCombat").equals("True") != ((Boolean) runParams.get(AbilityKey.IsCombat))) { + return false; } } if (hasParam("IsEquipping") && !getHostCard().isEquipping()) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java index d07c99a097e..a8778ab2359 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java @@ -27,10 +27,8 @@ public class ReplaceDealtDamage extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java index e9c22681fb7..9d5094b92d0 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java @@ -44,37 +44,30 @@ public class ReplaceDestroy extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; + } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; + } + + // extra check for Regeneration + if (hasParam("Regeneration")) { + Card card = (Card) runParams.get(AbilityKey.Card); + if (!runParams.containsKey(AbilityKey.Regeneration) || !(Boolean)runParams.get(AbilityKey.Regeneration)) { return false; } + if (!card.canBeShielded()) { + return false; + } + if (card.isCreature()) { + if (card.getNetToughness() <= 0) + return false; + } } - if (hasParam("ValidCard")) { - Card card = (Card)runParams.get(AbilityKey.Card); - if (!matchesValid(card, getParam("ValidCard").split(","), getHostCard())) { - return false; - } - // extra check for Regeneration - if (hasParam("Regeneration")) { - if (!runParams.containsKey(AbilityKey.Regeneration)) { - return false; - } - if (!(Boolean)runParams.get(AbilityKey.Regeneration)) { - return false; - } - if (!card.canBeShielded()) { - return false; - } - if (card.isCreature()) { - if (card.getNetToughness() <= 0) - return false; - } - } - } - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.Source), getParam("ValidSource").split(","), getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java index 762f38b645b..261ed35da5a 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java @@ -44,21 +44,17 @@ public class ReplaceDiscard extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), this.getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.Source), getParam("ValidSource").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } + if (hasParam("Cycling")) { if (getParam("Cycling").equalsIgnoreCase("True") != runParams.containsKey(AbilityKey.Cycling)) { return false; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java index c930b352334..6191110c83d 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java @@ -47,27 +47,16 @@ public class ReplaceDraw extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - final Game game = this.getHostCard().getGame(); - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } - - if (hasParam("ValidCause")) { - if (!runParams.containsKey(AbilityKey.Cause)) { - return false; - } - SpellAbility cause = (SpellAbility) runParams.get(AbilityKey.Cause); - if (cause == null) { - return false; - } - if (!matchesValid(cause, getParam("ValidCause").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; } if (hasParam("NotFirstCardInDrawStep")) { + final Game game = getHostCard().getGame(); + final Player p = (Player)runParams.get(AbilityKey.Affected); if (p.numDrawnThisDrawStep() == 0 && game.getPhaseHandler().is(PhaseType.DRAW, p)) { return false; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java index fecf53a8bf2..5ebe5101b5c 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java @@ -45,10 +45,8 @@ public class ReplaceDrawCards extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } if (hasParam("Number")) { final int n = (Integer)runParams.get(AbilityKey.Number); diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java b/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java index 083ad7b23d2..fc8a9e87360 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java @@ -47,15 +47,11 @@ public class ReplaceGainLife extends ReplacementEffect { if (((int)runParams.get(AbilityKey.LifeGained)) <= 0) { return false; } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.Source), getParam("ValidSource").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } if ("True".equals(getParam("SourceController"))) { if (runParams.get(AbilityKey.Source) == null || !runParams.get(AbilityKey.Affected).equals(((Card)runParams.get(AbilityKey.Source)).getController())) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java b/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java index 3860af6c119..2162a133873 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java @@ -26,10 +26,8 @@ public class ReplaceGameLoss extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java b/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java index e2aa8cf2009..6e9cd20f296 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java @@ -43,11 +43,8 @@ public class ReplaceMill extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java b/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java index c0f7e71d725..3645d59d36a 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java @@ -30,16 +30,17 @@ public class ReplaceMoved extends ReplacementEffect { @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } - - if (hasParam("ValidLKI")) { - if (!matchesValid(runParams.get(AbilityKey.CardLKI), getParam("ValidLKI").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidLKI", runParams.get(AbilityKey.CardLKI))) { + return false; + } + if (!matchesValidParam("ValidStackSa", runParams.get(AbilityKey.StackSa))) { + return false; + } + if (!matchesValidParam("Cause", runParams.get(AbilityKey.Cause))) { + return false; } if (hasParam("Origin")) { @@ -73,24 +74,6 @@ public class ReplaceMoved extends ReplacementEffect { return false; } } - - if (hasParam("ValidStackSa")) { - if (!matchesValid(runParams.get(AbilityKey.StackSa), getParam("ValidStackSa").split(","), getHostCard())) { - return false; - } - } - - if (hasParam("Cause")) { - if (!matchesValid(runParams.get(AbilityKey.Cause), getParam("Cause").split(","), getHostCard())) { - return false; - } - } - - if (hasParam("NotCause")) { - if (matchesValid(runParams.get(AbilityKey.Cause), getParam("NotCause").split(","), getHostCard())) { - return false; - } - } if (hasParam("Cycling")) { // Cycling is by cost, not by effect so cause is null if (getParam("Cycling").equalsIgnoreCase("True") != runParams.containsKey(AbilityKey.Cycling)) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java b/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java index 2c31c859b83..bade5c980ef 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java @@ -32,11 +32,14 @@ public class ReplaceProduceMana extends ReplacementEffect { @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidAbility")) { - final SpellAbility manaAbility = (SpellAbility) runParams.get(AbilityKey.AbilityMana); - if (!matchesValid(manaAbility, getParam("ValidAbility").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; + } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + if (!matchesValidParam("ValidAbility", runParams.get(AbilityKey.AbilityMana))) { + return false; } if (hasParam("ManaAmount")) { @@ -52,18 +55,6 @@ public class ReplaceProduceMana extends ReplacementEffect { } } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } - } - - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), getHostCard())) { - return false; - } - } - return true; } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java b/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java index 5338d7b22fa..d340f40492b 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java @@ -30,10 +30,8 @@ public class ReplaceScry extends ReplacementEffect { return false; } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java b/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java index 1b2b39f382b..ef47ae19f1c 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java @@ -43,10 +43,8 @@ public class ReplaceSetInMotion extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java b/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java index e7b8440e0b5..c0829305c0d 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java @@ -30,11 +30,8 @@ public class ReplaceSurveil extends ReplacementEffect { if (((int) runParams.get(AbilityKey.SurveilNum)) <= 0) { return false; } - - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java b/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java index b691dc7abd1..7febdebde22 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java @@ -27,10 +27,8 @@ public class ReplaceTap extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java b/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java index 7204edfdcbe..3ac8f4bf75a 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java @@ -38,22 +38,13 @@ public class ReplaceToken extends ReplacementEffect { } } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { + return false; + } + if (!matchesValidParam("ValidToken", runParams.get(AbilityKey.Affected))) { + return false; } - if (hasParam("ValidToken")) { - if (runParams.containsKey(AbilityKey.Token)) { - if (!matchesValid(runParams.get(AbilityKey.Token), getParam("ValidToken").split(","), getHostCard())) { - return false; - } - } else { - // in case RE is not updated yet - return false; - } - } return true; } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java b/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java index 3f433f38916..4b2ca33aadf 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java @@ -27,10 +27,8 @@ public class ReplaceTurnFaceUp extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java b/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java index d52c65e75b8..c3e6055fe97 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java @@ -46,10 +46,8 @@ public class ReplaceUntap extends ReplacementEffect { */ @Override public boolean canReplace(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Affected), getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) { + return false; } if (hasParam("UntapStep")) { final Object o = runParams.get(AbilityKey.Affected); diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index 28985891bda..b01e5f54b68 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -1906,7 +1906,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit // Takes one argument like Permanent.Blue+withFlying @Override - public final boolean isValid(final String restriction, final Player sourceController, final Card source, SpellAbility spellAbility) { + public final boolean isValid(final String restriction, final Player sourceController, final Card source, CardTraitBase spellAbility) { // Inclusive restrictions are Card types final String[] incR = restriction.split("\\.", 2); SpellAbility root = getRootAbility(); @@ -1949,7 +1949,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit // Takes arguments like Blue or withFlying @Override - public boolean hasProperty(final String property, final Player sourceController, final Card source, SpellAbility spellAbility) { + public boolean hasProperty(final String property, final Player sourceController, final Card source, CardTraitBase spellAbility) { return ForgeScript.spellAbilityHasProperty(this, property, sourceController, source, spellAbility); } diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityPredicates.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityPredicates.java index 46865d5931a..16968b3331b 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityPredicates.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityPredicates.java @@ -2,6 +2,7 @@ package forge.game.spellability; import com.google.common.base.Predicate; +import forge.game.CardTraitBase; import forge.game.CardTraitPredicates; import forge.game.ability.ApiType; import forge.game.card.Card; @@ -62,7 +63,7 @@ public final class SpellAbilityPredicates extends CardTraitPredicates { }; } - public static final Predicate isValid(String[] restrictions, Player sourceController, Card source, SpellAbility spellAbility) { + public static final Predicate isValid(String[] restrictions, Player sourceController, Card source, CardTraitBase spellAbility) { return new Predicate() { @Override public boolean apply(final SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java index 4b429e7bfa0..a9e947b9602 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java @@ -340,7 +340,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { // legendary sorcery if (c.isSorcery() && c.getType().isLegendary() && CardLists.getValidCardCount( activator.getCardsIn(ZoneType.Battlefield), - "Creature.Legendary,Planeswalker.Legendary", c.getController(), c) <= 0) { + "Creature.Legendary,Planeswalker.Legendary", c.getController(), c, sa) <= 0) { return false; } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java index 49c7e4d36e8..5d424be8b27 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java @@ -554,14 +554,14 @@ public class StaticAbility extends CardTraitBase implements IIdentifiable, Clone } if (hasParam("PlayerTurn")) { - List players = AbilityUtils.getDefinedPlayers(hostCard, getParam("PlayerTurn"), null); + List players = AbilityUtils.getDefinedPlayers(hostCard, getParam("PlayerTurn"), this); if (!players.contains(ph.getPlayerTurn())) { return false; } } if (hasParam("UnlessDefinedPlayer")) { - List players = AbilityUtils.getDefinedPlayers(hostCard, getParam("UnlessDefinedPlayer"), null); + List players = AbilityUtils.getDefinedPlayers(hostCard, getParam("UnlessDefinedPlayer"), this); if (!players.isEmpty()) { return false; } @@ -572,7 +572,7 @@ public class StaticAbility extends CardTraitBase implements IIdentifiable, Clone return false; } final Card topCard = controller.getCardsIn(ZoneType.Library).get(0); - if (!topCard.isValid(getParam("TopCardOfLibraryIs").split(","), controller, this.hostCard, null)) { + if (!topCard.isValid(getParam("TopCardOfLibraryIs").split(","), controller, this.hostCard, this)) { return false; } } @@ -583,7 +583,7 @@ public class StaticAbility extends CardTraitBase implements IIdentifiable, Clone CardCollectionView list = game.getCardsIn(zone); final String present = getParam("IsPresent"); - list = CardLists.getValidCards(list, present.split(","), controller, hostCard, null); + list = CardLists.getValidCards(list, present.split(","), controller, hostCard, this); int right = 1; final String rightString = compare.substring(2); diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttach.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttach.java index bbf9781fac1..7ad8ef7e0a6 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttach.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttach.java @@ -6,15 +6,11 @@ import forge.game.card.Card; public class StaticAbilityCantAttach { public static boolean applyCantAttachAbility(final StaticAbility stAb, final Card card, final GameEntity target) { - final Card hostCard = stAb.getHostCard(); - - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (stAb.hasParam("Target") - && !target.isValid(stAb.getParam("Target").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("Target", target)) { return false; } @@ -24,7 +20,7 @@ public class StaticAbilityCantAttach { } Card tcard = (Card) target; - if (!card.isValid(stAb.getParam("ValidCardToTarget").split(","), tcard.getController(), tcard, null)) { + if (!stAb.matchesValid(card, stAb.getParam("ValidCardToTarget").split(","), tcard)) { return false; } } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java index 446c2d92efd..ef1caf3b798 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java @@ -46,13 +46,11 @@ public class StaticAbilityCantAttackBlock { public static boolean applyCantAttackAbility(final StaticAbility stAb, final Card card, final GameEntity target) { final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (stAb.hasParam("Target") - && !target.isValid(stAb.getParam("Target").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("Target", target)) { return false; } @@ -61,14 +59,14 @@ public class StaticAbilityCantAttackBlock { if (stAb.hasParam("UnlessDefenderControls")) { String type = stAb.getParam("UnlessDefenderControls"); CardCollectionView list = defender.getCardsIn(ZoneType.Battlefield); - if (Iterables.any(list, CardPredicates.restriction(type.split(","), hostCard.getController(), hostCard, null))) { + if (Iterables.any(list, CardPredicates.restriction(type.split(","), hostCard.getController(), hostCard, stAb))) { return false; } } if (stAb.hasParam("IfDefenderControls")) { String type = stAb.getParam("IfDefenderControls"); CardCollectionView list = defender.getCardsIn(ZoneType.Battlefield); - if (!Iterables.any(list, CardPredicates.restriction(type.split(","), hostCard.getController(), hostCard, null))) { + if (!Iterables.any(list, CardPredicates.restriction(type.split(","), hostCard.getController(), hostCard, stAb))) { return false; } } @@ -79,7 +77,7 @@ public class StaticAbilityCantAttackBlock { } if (stAb.hasParam("UnlessDefender")) { final String type = stAb.getParam("UnlessDefender"); - if (defender.hasProperty(type, hostCard.getController(), hostCard, null)) { + if (defender.hasProperty(type, hostCard.getController(), hostCard, stAb)) { return false; } } @@ -96,14 +94,12 @@ public class StaticAbilityCantAttackBlock { */ public static boolean applyCantBlockByAbility(final StaticAbility stAb, final Card attacker, final Card blocker) { final Card host = stAb.getHostCard(); - if (stAb.hasParam("ValidAttacker")) { - if (!attacker.isValid(stAb.getParam("ValidAttacker").split(","), host.getController(), host, null)) { - return false; - } + if (!stAb.matchesValidParam("ValidAttacker", attacker)) { + return false; } if (stAb.hasParam("ValidBlocker")) { for (final String v : stAb.getParam("ValidBlocker").split(",")) { - if (blocker.isValid(v, host.getController(), host, null)) { + if (blocker.isValid(v, host.getController(), host, stAb)) { boolean stillblock = false; //Dragon Hunter check if (v.contains("withoutReach") && blocker.hasStartOfKeyword("IfReach")) { @@ -139,13 +135,11 @@ public class StaticAbilityCantAttackBlock { public static Cost getAttackCost(final StaticAbility stAb, final Card card, final GameEntity target) { final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return null; } - if (stAb.hasParam("Target") - && !target.isValid(stAb.getParam("Target").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("Target", target)) { return null; } String costString = stAb.getParam("Cost"); @@ -168,13 +162,11 @@ public class StaticAbilityCantAttackBlock { public static Cost getBlockCost(final StaticAbility stAb, final Card blocker, final GameEntity attacker) { final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !blocker.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", blocker)) { return null; } - - if (stAb.hasParam("Attacker") && attacker != null - && !attacker.isValid(stAb.getParam("Attacker").split(","), hostCard.getController(), hostCard, null)) { + + if (!stAb.matchesValidParam("Attacker", attacker)) { return null; } String costString = stAb.getParam("Cost"); @@ -186,20 +178,16 @@ public class StaticAbilityCantAttackBlock { } public static boolean applyCanAttackHasteAbility(final StaticAbility stAb, final Card card, final GameEntity target) { - final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (stAb.hasParam("ValidTarget") - && !target.isValid(stAb.getParam("ValidTarget").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidTarget", target)) { return false; } final Player defender = target instanceof Card ? ((Card) target).getController() : (Player) target; - if (stAb.hasParam("ValidDefender") - && !defender.isValid(stAb.getParam("ValidDefender").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidDefender", defender)) { return false; } return true; diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java index a648c85e8bf..11457beb1a7 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java @@ -98,15 +98,12 @@ public class StaticAbilityCantBeCast { * @return true, if successful */ public static boolean applyCantBeCastAbility(final StaticAbility stAb, final SpellAbility spell, final Card card, final Player activator) { - final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (stAb.hasParam("Caster") && (activator != null) - && !activator.isValid(stAb.getParam("Caster"), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("Caster", activator)) { return false; } @@ -156,15 +153,12 @@ public class StaticAbilityCantBeCast { * @return true, if successful */ public static boolean applyCantBeActivatedAbility(final StaticAbility stAb, final SpellAbility spellAbility, final Card card, final Player activator) { - final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (stAb.hasParam("ValidSA") - && !spellAbility.isValid(stAb.getParam("ValidSA").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidSA", spellAbility)) { return false; } @@ -173,8 +167,7 @@ public class StaticAbilityCantBeCast { return false; } - if (stAb.hasParam("Activator") && (activator != null) - && !activator.isValid(stAb.getParam("Activator"), hostCard.getController(), hostCard, spellAbility)) { + if (!stAb.matchesValidParam("Activator", activator)) { return false; } @@ -215,10 +208,7 @@ public class StaticAbilityCantBeCast { * @return true, if successful */ public static boolean applyCantPlayLandAbility(final StaticAbility stAb, final Card card, final Player player) { - final Card hostCard = stAb.getHostCard(); - - if (stAb.hasParam("ValidCard") - && (card == null || !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null))) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } @@ -230,8 +220,7 @@ public class StaticAbilityCantBeCast { } } - if (stAb.hasParam("Player") && (player != null) - && !player.isValid(stAb.getParam("Player"), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("Player", player)) { return false; } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPreventDamage.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPreventDamage.java index a991d1cd9f5..5d34e605262 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPreventDamage.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPreventDamage.java @@ -8,19 +8,15 @@ public class StaticAbilityCantPreventDamage { } - public static boolean applyCantPreventDamage(final StaticAbility st, final Card source, final boolean isCombat) { - final Card hostCard = st.getHostCard(); - - if (st.hasParam("IsCombat")) { - if (st.getParamOrDefault("IsCombat", "False").equals("True") != isCombat) { + public static boolean applyCantPreventDamage(final StaticAbility stAb, final Card source, final boolean isCombat) { + if (stAb.hasParam("IsCombat")) { + if (stAb.getParamOrDefault("IsCombat", "False").equals("True") != isCombat) { return false; } } - if (st.hasParam("ValidSource")) { - if (!source.isValid(st.getParam("ValidSource").split(","), hostCard.getController(), hostCard, null)) { - return false; - } + if (!stAb.matchesValidParam("ValidSource", source)) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPutCounter.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPutCounter.java index 37952b2e563..d631550f831 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPutCounter.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantPutCounter.java @@ -6,46 +6,38 @@ import forge.game.player.Player; public class StaticAbilityCantPutCounter { - public static boolean applyCantPutCounter(final StaticAbility staticAbility, final Card card, - final CounterType type) { - final Card hostCard = staticAbility.getHostCard(); + public static boolean applyCantPutCounter(final StaticAbility stAb, final Card card, final CounterType type) { - if (staticAbility.hasParam("CounterType")) { - CounterType t = CounterType.getType(staticAbility.getParam("CounterType")); + if (stAb.hasParam("CounterType")) { + CounterType t = CounterType.getType(stAb.getParam("CounterType")); if (t != null && !type.equals(t)) { return false; } } // for the other part - if (staticAbility.hasParam("ValidCard")) { - if (!card.isValid(staticAbility.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { - return false; - } - } else if (staticAbility.hasParam("ValidPlayer")) { + if (!stAb.matchesValidParam("ValidCard", card)) { + return false; + } else if (stAb.hasParam("ValidPlayer")) { // for the other part return false; } return true; } - public static boolean applyCantPutCounter(final StaticAbility staticAbility, final Player player, - final CounterType type) { - final Card hostCard = staticAbility.getHostCard(); + public static boolean applyCantPutCounter(final StaticAbility stAb, final Player player, final CounterType type) { - if (staticAbility.hasParam("CounterType")) { - CounterType t = CounterType.getType(staticAbility.getParam("CounterType")); + if (stAb.hasParam("CounterType")) { + CounterType t = CounterType.getType(stAb.getParam("CounterType")); if (t != null && !type.equals(t)) { return false; } } // for the other part - if (staticAbility.hasParam("ValidPlayer")) { - if (!player.isValid(staticAbility.getParam("ValidPlayer").split(","), hostCard.getController(), hostCard, null)) { - return false; - } - } else if (staticAbility.hasParam("ValidCard")) { + if (!stAb.matchesValidParam("ValidPlayer", player)) { + return false; + } else if (stAb.hasParam("ValidCard")) { // for the other part return false; } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java index 656749c5285..2e67893bc55 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java @@ -31,7 +31,7 @@ public class StaticAbilityCantTarget { /** * Apply can't target ability. * - * @param st + * @param stAb * the static ability * @param card * the card @@ -39,19 +39,18 @@ public class StaticAbilityCantTarget { * the spell/ability * @return true, if successful */ - public static boolean applyCantTargetAbility(final StaticAbility st, final Card card, + public static boolean applyCantTargetAbility(final StaticAbility stAb, final Card card, final SpellAbility spellAbility) { - final Card hostCard = st.getHostCard(); final Card source = spellAbility.getHostCard(); final Player activator = spellAbility.getActivatingPlayer(); - if (st.hasParam("ValidPlayer")) { + if (stAb.hasParam("ValidPlayer")) { return false; } - if (st.hasParam("AffectedZone")) { + if (stAb.hasParam("AffectedZone")) { boolean inZone = false; - for (final ZoneType zt : ZoneType.listValueOf(st.getParam("AffectedZone"))) { + for (final ZoneType zt : ZoneType.listValueOf(stAb.getParam("AffectedZone"))) { if (card.isInZone(zt)) { inZone = true; break; @@ -68,94 +67,86 @@ public class StaticAbilityCantTarget { } - if (st.hasParam("ValidCard") - && !card.isValid(st.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (st.hasParam("Hexproof") && (activator != null)) { + if (stAb.hasParam("Hexproof") && (activator != null)) { for (KeywordInterface kw : activator.getKeywords()) { String k = kw.getOriginal(); if (k.startsWith("IgnoreHexproof")) { String[] m = k.split(":"); - if (card.isValid(m[1].split(","), activator, source, spellAbility)) { + if (card.isValid(m[1].split(","), activator, source, null)) { return false; } } } } - if (st.hasParam("Shroud") && (activator != null)) { + if (stAb.hasParam("Shroud") && (activator != null)) { for (KeywordInterface kw : activator.getKeywords()) { String k = kw.getOriginal(); if (k.startsWith("IgnoreShroud")) { String[] m = k.split(":"); - if (card.isValid(m[1].split(","), activator, source, spellAbility)) { + if (card.isValid(m[1].split(","), activator, source, null)) { return false; } } } } - return common(st, spellAbility); + return common(stAb, spellAbility); } - public static boolean applyCantTargetAbility(final StaticAbility st, final Player player, + public static boolean applyCantTargetAbility(final StaticAbility stAb, final Player player, final SpellAbility spellAbility) { - final Card hostCard = st.getHostCard(); final Card source = spellAbility.getHostCard(); final Player activator = spellAbility.getActivatingPlayer(); - if (st.hasParam("ValidCard") || st.hasParam("AffectedZone")) { + if (stAb.hasParam("ValidCard") || stAb.hasParam("AffectedZone")) { return false; } - if (st.hasParam("ValidPlayer") - && !player.isValid(st.getParam("ValidPlayer").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidPlayer", player)) { return false; } - - if (st.hasParam("Hexproof") && (activator != null)) { + if (stAb.hasParam("Hexproof") && (activator != null)) { for (KeywordInterface kw : activator.getKeywords()) { String k = kw.getOriginal(); if (k.startsWith("IgnoreHexproof")) { String[] m = k.split(":"); - if (player.isValid(m[1].split(","), activator, source, spellAbility)) { + if (player.isValid(m[1].split(","), activator, source, null)) { return false; } } } } - return common(st, spellAbility); + return common(stAb, spellAbility); } - protected static boolean common(final StaticAbility st, final SpellAbility spellAbility) { - final Card hostCard = st.getHostCard(); + protected static boolean common(final StaticAbility stAb, final SpellAbility spellAbility) { final Card source = spellAbility.getHostCard(); final Player activator = spellAbility.getActivatingPlayer(); - if (st.hasParam("ValidSA") - && !spellAbility.isValid(st.getParam("ValidSA").split(","), hostCard.getController(), hostCard, spellAbility)) { + if (!stAb.matchesValidParam("ValidSA", spellAbility)) { return false; } - if (st.hasParam("ValidSource") - && !source.isValid(st.getParam("ValidSource").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidSource", source)) { return false; } - if (st.hasParam("Activator") && (activator != null) - && !activator.isValid(st.getParam("Activator"), hostCard.getController(), hostCard, spellAbility)) { + if (!stAb.matchesValidParam("Activator", activator)) { return false; } if (spellAbility.hasParam("ValidTgts") && - (st.hasParam("SourceCanOnlyTarget") - && (!spellAbility.getParam("ValidTgts").contains(st.getParam("SourceCanOnlyTarget")) + (stAb.hasParam("SourceCanOnlyTarget") + && (!spellAbility.getParam("ValidTgts").contains(stAb.getParam("SourceCanOnlyTarget")) || spellAbility.getParam("ValidTgts").contains(",")) - || spellAbility.getParam("ValidTgts").contains("non" + st.getParam("SourceCanOnlyTarget") + || spellAbility.getParam("ValidTgts").contains("non" + stAb.getParam("SourceCanOnlyTarget") ) ) ){ diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCastWithFlash.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCastWithFlash.java index 08e4a883ecc..218b3996a85 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCastWithFlash.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCastWithFlash.java @@ -52,20 +52,16 @@ public class StaticAbilityCastWithFlash { public static boolean commonParts(final StaticAbility stAb, final SpellAbility sa, final Card card, final Player activator) { - final Card hostCard = stAb.getHostCard(); - if (stAb.hasParam("ValidCard") - && !card.isValid(stAb.getParam("ValidCard").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidCard", card)) { return false; } - if (stAb.hasParam("ValidSA") - && !sa.isValid(stAb.getParam("ValidSA").split(","), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("ValidSA", sa)) { return false; } - if (stAb.hasParam("Caster") && (activator != null) - && !activator.isValid(stAb.getParam("Caster"), hostCard.getController(), hostCard, null)) { + if (!stAb.matchesValidParam("Caster", activator)) { return false; } return true; @@ -92,7 +88,7 @@ public class StaticAbilityCastWithFlash { } String[] valids = stAb.getParam("Targeting").split(","); - if (!Iterables.any(sa.getTargets(), GameObjectPredicates.restriction(valids, hostCard.getController(), hostCard, null))) { + if (!Iterables.any(sa.getTargets(), GameObjectPredicates.restriction(valids, hostCard.getController(), hostCard, stAb))) { return false; } } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java index 1608837e826..9765ef505aa 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java @@ -49,13 +49,11 @@ public class StaticAbilityPreventDamage { final Card hostCard = stAb.getHostCard(); int restDamage = damage; - if (params.containsKey("Source") - && !source.isValid(params.get("Source").split(","), hostCard.getController(), hostCard, null)) { + if (params.containsKey("Source") && !stAb.matchesValid(source, params.get("Source").split(","))) { return restDamage; } - if (params.containsKey("Target") - && !target.isValid(params.get("Target").split(","), hostCard.getController(), hostCard, null)) { + if (params.containsKey("Target") && !stAb.matchesValid(target, params.get("Target").split(","))) { return restDamage; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java b/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java index b55f49353e0..c646f0a23c7 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java @@ -52,11 +52,9 @@ public class TriggerAbandoned extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Scheme), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Scheme))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAdapt.java b/forge-game/src/main/java/forge/game/trigger/TriggerAdapt.java index 2dcb3de5a65..0ce58a9ec1a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAdapt.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAdapt.java @@ -53,12 +53,8 @@ public class TriggerAdapt extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card sac = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!sac.isValid(getParam("ValidCard").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java index 65beac475be..40fd8f34f38 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java @@ -54,20 +54,11 @@ public class TriggerAttached extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card src = (Card) runParams.get(AbilityKey.AttachSource); - final Object tgt = runParams.get(AbilityKey.AttachTarget); - - if (hasParam("ValidSource")) { - if (!src.isValid(getParam("ValidSource").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.AttachSource))) { + return false; } - - if (hasParam("ValidTarget")) { - if (!matchesValid(tgt, getParam("ValidTarget").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.AttachTarget))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java index 3c2b36834db..fa9ec293228 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java @@ -55,11 +55,8 @@ public class TriggerAttackerBlocked extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Attacker), getParam("ValidCard").split(","), - getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Attacker))) { + return false; } if (hasParam("MinBlockers")) { @@ -73,7 +70,7 @@ public class TriggerAttackerBlocked extends Trigger { int count = CardLists.getValidCardCount( (Iterable) runParams.get(AbilityKey.Blockers), getParam("ValidBlocker"), - getHostCard().getController(), getHostCard() + getHostCard().getController(), getHostCard(), this ); if ( count == 0 ) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java index aca509fca2b..c5a93220546 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedByCreature.java @@ -54,32 +54,32 @@ public class TriggerAttackerBlockedByCreature extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Object a = runParams.get(AbilityKey.Attacker), - b = runParams.get(AbilityKey.Blocker); - if (!(a instanceof Card && b instanceof Card)) { - return false; - } + final Object a = runParams.get(AbilityKey.Attacker), + b = runParams.get(AbilityKey.Blocker); + if (!(a instanceof Card && b instanceof Card)) { + return false; + } - final Card attacker = (Card) a, - blocker = (Card) b; + final Card attacker = (Card) a, + blocker = (Card) b; if (hasParam("ValidCard")) { - final String validCard = getParam("ValidCard"); - if (validCard.equals("LessPowerThanBlocker")) { - if (attacker.getNetPower() >= blocker.getNetPower()) { - return false; - } - } else if (!matchesValid(attacker, validCard.split(","), this.getHostCard())) { + final String validCard = getParam("ValidCard"); + if (validCard.equals("LessPowerThanBlocker")) { + if (attacker.getNetPower() >= blocker.getNetPower()) { + return false; + } + } else if (!matchesValid(attacker, validCard.split(","))) { return false; } } if (hasParam("ValidBlocker")) { - final String validBlocker = getParam("ValidBlocker"); - if (validBlocker.equals("LessPowerThanAttacker")) { + final String validBlocker = getParam("ValidBlocker"); + if (validBlocker.equals("LessPowerThanAttacker")) { if (blocker.getNetPower() >= attacker.getNetPower()) { return false; } - } else if (!matchesValid(blocker, validBlocker.split(","), this.getHostCard())) { + } else if (!matchesValid(blocker, validBlocker.split(","))) { return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedOnce.java index 983e9d01f07..6087b8da847 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlockedOnce.java @@ -2,11 +2,8 @@ package forge.game.trigger; import java.util.Map; -import com.google.common.collect.Iterables; - import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.card.CardPredicates; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -20,14 +17,8 @@ public class TriggerAttackerBlockedOnce extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - @SuppressWarnings("unchecked") - final Iterable srcs = (Iterable) runParams.get(AbilityKey.Attackers); - if (!Iterables.any(srcs, - CardPredicates.restriction(getParam("ValidCard").split(","), - getHostCard().getController(), getHostCard(), null))) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Attackers))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java index fa48e8e329a..80aac90eeca 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java @@ -54,18 +54,14 @@ public class TriggerAttackerUnblocked extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Attacker), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Attacker))) { + return false; } - if (hasParam("ValidDefender")) { - if (!matchesValid(runParams.get(AbilityKey.Defender), getParam("ValidDefender").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidDefender", runParams.get(AbilityKey.Defender))) { + return false; } + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java index 30e89333357..b838d322950 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java @@ -17,13 +17,11 @@ */ package forge.game.trigger; -import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.List; import java.util.Map; /** @@ -54,32 +52,13 @@ public class TriggerAttackerUnblockedOnce extends Trigger { /** {@inheritDoc} * @param runParams*/ - @SuppressWarnings("unchecked") @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidDefenders")) { - boolean valid = false; - - final List srcs = (List) runParams.get(AbilityKey.Defenders); - for (GameEntity c : srcs) { - if (c.isValid(getParam("ValidDefenders").split(","), this.getHostCard().getController(), this.getHostCard(), null)) { - valid = true; - } - } - if (!valid) { - return false; - } - /* - if (hasParam("ValidAttackers")) { - // should be updated if a creature of a specific type attackes a defender - } - */ + if (!matchesValidParam("ValidDefenders", runParams.get(AbilityKey.Defenders))) { + return false; } - if (hasParam("ValidAttackingPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.AttackingPlayer), - getParam("ValidAttackingPlayer").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidAttackingPlayer", runParams.get(AbilityKey.AttackingPlayer))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java index 010104e4868..8acaf2d9ea3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java @@ -17,13 +17,11 @@ */ package forge.game.trigger; -import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.List; import java.util.Map; /** @@ -48,41 +46,18 @@ public class TriggerAttackersDeclared extends Trigger { /** {@inheritDoc} * @param runParams*/ - @SuppressWarnings("unchecked") @Override public final boolean performTest(final Map runParams) { - if (hasParam("AttackingPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.AttackingPlayer), - getParam("AttackingPlayer").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("AttackingPlayer", runParams.get(AbilityKey.AttackingPlayer))) { + return false; } - if (hasParam("AttackedTarget")) { - boolean valid = false; - List list = (List) runParams.get(AbilityKey.AttackedTarget); - for (GameEntity b : list) { - if (matchesValid(b, getParam("AttackedTarget").split(","), this.getHostCard())) { - valid = true; - break; - } - } - if (!valid) { - return false; - } + if (!matchesValidParam("AttackedTarget", runParams.get(AbilityKey.AttackedTarget))) { + return false; + } + if (!matchesValidParam("ValidAttackers", runParams.get(AbilityKey.Attackers))) { + return false; } - if (hasParam("ValidAttackers")) { - boolean valid = false; - final Iterable srcs = (Iterable) runParams.get(AbilityKey.Attackers); - for (Card c : srcs) { - if (c.isValid(getParam("ValidAttackers").split(","), this.getHostCard().getController(), this.getHostCard(), null)) { - valid = true; - } - } - if (!valid) { - return false; - } - } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java index 39ed08eb070..cd95b7b6eeb 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java @@ -57,19 +57,13 @@ public class TriggerAttacks extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Attacker), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Attacker))) { + return false; } - if (hasParam("Attacked")) { - GameEntity attacked = (GameEntity) runParams.get(AbilityKey.Attacked); - if (!attacked.isValid(getParam("Attacked").split(",") - , this.getHostCard().getController(), this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("Attacked", runParams.get(AbilityKey.Attacked))) { + return false; } if (hasParam("Alone")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonarch.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonarch.java index ee9033a0054..dcee5a36676 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonarch.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonarch.java @@ -16,20 +16,14 @@ public class TriggerBecomeMonarch extends Trigger { @Override public boolean performTest(Map runParams) { - final Card host = this.getHostCard(); + final Card host = getHostCard(); final Game game = host.getGame(); - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - host)) { - return false; - } - } - if (hasParam("BeginTurn")) { - if (!matchesValid(game.getMonarchBeginTurn(), getParam("BeginTurn").split(","), - host)) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + if (!matchesValidParam("BeginTurn", game.getMonarchBeginTurn())) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java index dd08102da7a..8f0df39912a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeMonstrous.java @@ -54,11 +54,8 @@ public class TriggerBecomeMonstrous extends Trigger { * @param runParams*/ @Override public final boolean performTest(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java index ad874601269..c07cd025456 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java @@ -54,11 +54,8 @@ public class TriggerBecomeRenowned extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java index a77304e9dba..ef0a3a02afa 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java @@ -73,17 +73,16 @@ public class TriggerBecomesTarget extends Trigger { return false; } String valid[] = getParam("ValidSource").split(","); - if (!matchesValid(source, valid, getHostCard())) { - if (!matchesValid(source.getHostCard(), valid, getHostCard())) { + if (!matchesValid(source, valid)) { + if (!matchesValid(source.getHostCard(), valid)) { return false; } } } - if (hasParam("ValidTarget")) { - if (!matchesValid(runParams.get(AbilityKey.Target), getParam("ValidTarget").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.Target))) { + return false; } + if (hasParam("FirstTime")) { if (!runParams.containsKey(AbilityKey.FirstTime)) { return false; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java index 2b071edb560..fec23184bdb 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java @@ -17,7 +17,6 @@ */ package forge.game.trigger; -import forge.game.GameObject; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; @@ -54,25 +53,14 @@ public class TriggerBecomesTargetOnce extends Trigger { /** {@inheritDoc} * @param runParams*/ - @SuppressWarnings("unchecked") @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidSource")) { - if (!matchesValid(((SpellAbility) runParams.get(AbilityKey.SourceSA)).getHostCard(), getParam("ValidSource").split(","), this.getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidSource", ((SpellAbility) runParams.get(AbilityKey.SourceSA)).getHostCard())) { + return false; } - if (hasParam("ValidTarget")) { - boolean valid = false; - for (GameObject b : (Iterable) runParams.get(AbilityKey.Targets)) { - if (matchesValid(b, getParam("ValidTarget").split(","), this.getHostCard())) { - valid = true; - break; - } - } - if (!valid) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.Targets))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java b/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java index f8362c0d25b..de01d5fabca 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java @@ -54,35 +54,13 @@ public class TriggerBlocks extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - String validBlocker = getParam("ValidCard"); - if (!matchesValid(runParams.get(AbilityKey.Blocker), validBlocker.split(","), this.getHostCard())) { - return false; - } + + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Blocker))) { + return false; } - if (hasParam("ValidBlocked")) { - final String[] validBlockedSplit = getParam("ValidBlocked").split(","); - final Object a = runParams.get(AbilityKey.Attackers); - if (!(a instanceof Iterable)) { - return false; - } - - final Iterable attackers = (Iterable) a; - boolean foundMatch = false; - for (final Object o : attackers) { - if (!(o instanceof Card)) { - continue; - } - if (matchesValid(o, validBlockedSplit, this.getHostCard())) { - foundMatch = true; - break; - } - } - - if (!foundMatch) { - return false; - } + if (!matchesValidParam("ValidBlocked", runParams.get(AbilityKey.Attackers))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java b/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java index d68819e5738..5380c903790 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java @@ -55,21 +55,15 @@ public class TriggerChampioned extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card championed = (Card) runParams.get(AbilityKey.Championed); - final Card source = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!championed.isValid(getParam("ValidCard").split(","), - this.getHostCard().getController(), this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Championed))) { + return false; } - if (hasParam("ValidSource")) { - if (!source.isValid(getParam("ValidSource").split(","), - this.getHostCard().getController(), this.getHostCard(), null)) { - return false; - } + + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Card))) { + return false; } + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java index e499c248c1e..fcda3de6956 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java @@ -54,19 +54,12 @@ public class TriggerChangesController extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card moved = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!moved.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - if (hasParam("ValidOriginalController")) { - if (!matchesValid(runParams.get(AbilityKey.OriginalController), getParam("ValidOriginalController").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidOriginalController", runParams.get(AbilityKey.OriginalController))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java index ffd26a8f1d0..2924b404d42 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java @@ -107,7 +107,7 @@ public class TriggerChangesZone extends Trigger { moved = (Card) runParams.get(AbilityKey.CardLKI); } - if (!matchesValid(moved, getParam("ValidCard").split(","), getHostCard())) { + if (!matchesValid(moved, getParam("ValidCard").split(","))) { return false; } } @@ -120,8 +120,8 @@ public class TriggerChangesZone extends Trigger { if (cause == null) { return false; } - if (!matchesValid(cause, getParam("ValidCause").split(","), getHostCard())) { - if (!matchesValid(cause.getHostCard(), getParam("ValidCause").split(","), getHostCard())) { + if (!matchesValid(cause, getParam("ValidCause").split(","))) { + if (!matchesValid(cause.getHostCard(), getParam("ValidCause").split(","))) { return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java index 380f5b84d24..9cbb18ebadf 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java @@ -53,6 +53,6 @@ public class TriggerChangesZoneAll extends Trigger { final String valid = this.getParamOrDefault("ValidCards", null); - return table.filterCards(origin, destination, valid, getHostCard(), null); + return table.filterCards(origin, destination, valid, getHostCard(), this); } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java b/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java index 568405652f6..fe65f778155 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java @@ -53,11 +53,8 @@ public class TriggerClashed extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("Won")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java index 67db772703d..3cf55d0f868 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAdded.java @@ -22,7 +22,6 @@ import java.util.Map; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CounterType; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Expressions; import forge.util.Localizer; @@ -58,44 +57,18 @@ public class TriggerCounterAdded extends Trigger { public final boolean performTest(final Map runParams) { final CounterType addedType = (CounterType) runParams.get(AbilityKey.CounterType); - if (hasParam("ValidCard")) { - if (!runParams.containsKey(AbilityKey.Card)) - return false; - - final Card addedTo = (Card) runParams.get(AbilityKey.Card); - if (!addedTo.isValid(getParam("ValidCard").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - if (hasParam("ValidPlayer")) { - if (!runParams.containsKey(AbilityKey.Player)) - return false; - - final Player addedTo = (Player) runParams.get(AbilityKey.Player); - if (!addedTo.isValid(getParam("ValidPlayer").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } - - if (hasParam("ValidSource")) { - if (!runParams.containsKey(AbilityKey.Source)) - return false; - final Card source = (Card) runParams.get(AbilityKey.Source); - - if (source == null) { - return false; - } - - if (!source.isValid(getParam("ValidSource").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } - + if (hasParam("CounterType")) { final String type = getParam("CounterType"); if (!type.equals(addedType.toString())) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java index b87d585f774..b3b34714aa4 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java @@ -50,6 +50,6 @@ public class TriggerCounterAddedAll extends Trigger { CounterType counterType = CounterType.getType(getParam("CounterType")); String valid = getParam("Valid"); - return table.filterTable(counterType, valid, getHostCard(), null); + return table.filterTable(counterType, valid, getHostCard(), this); } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java index 5a3c28347a3..a12cab082eb 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedOnce.java @@ -22,7 +22,6 @@ import java.util.Map; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CounterType; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -64,42 +63,14 @@ public class TriggerCounterAddedOnce extends Trigger { } } - if (hasParam("ValidCard")) { - if (!runParams.containsKey(AbilityKey.Card)) - return false; - - final Card addedTo = (Card) runParams.get(AbilityKey.Card); - if (!addedTo.isValid(getParam("ValidCard").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - - if (hasParam("ValidPlayer")) { - if (!runParams.containsKey(AbilityKey.Player)) - return false; - - final Player addedTo = (Player) runParams.get(AbilityKey.Player); - if (!addedTo.isValid(getParam("ValidPlayer").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } - - if (hasParam("ValidSource")) { - if (!runParams.containsKey(AbilityKey.Source)) - return false; - - final Player source = (Player) runParams.get(AbilityKey.Source); - - if (source == null) { - return false; - } - - if (!source.isValid(getParam("ValidSource").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java index e2623c7806b..49d00eac220 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java @@ -59,11 +59,8 @@ public class TriggerCounterRemoved extends Trigger { final CounterType addedType = (CounterType) runParams.get(AbilityKey.CounterType); final Integer addedNewCounterAmount = (Integer) runParams.get(AbilityKey.NewCounterAmount); - if (hasParam("ValidCard")) { - if (!addedTo.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } if (hasParam("CounterType")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java index 5df7ba0c723..2b8b5188ca8 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java @@ -58,11 +58,8 @@ public class TriggerCounterRemovedOnce extends Trigger { final Card removedFrom = (Card) runParams.get(AbilityKey.Card); final CounterType removedType = (CounterType) runParams.get(AbilityKey.CounterType); - if (hasParam("ValidCard")) { - if (!removedFrom.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } if (hasParam("CounterType")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java b/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java index 3e72d6df061..7bd0ede251d 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java @@ -54,30 +54,16 @@ public class TriggerCountered extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; + } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } - } - - if (hasParam("ValidCause")) { - if (runParams.get(AbilityKey.Cause) == null) { - return false; - } - if (!matchesValid(runParams.get(AbilityKey.Cause), getParam("ValidCause").split(","), - this.getHostCard())) { - return false; - } - } - if (hasParam("ValidType")) { // TODO: if necessary, expand the syntax to account for multiple valid types (e.g. Spell,Ability) SpellAbility ctrdSA = (SpellAbility) runParams.get(AbilityKey.CounteredSA); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java b/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java index 2c8350bbe38..bc39ae02f30 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java @@ -2,7 +2,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.card.CardCollection; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -16,24 +15,11 @@ public class TriggerCrewed extends Trigger { @Override public boolean performTest(Map runParams) { - if (hasParam("ValidVehicle")) { - if (!matchesValid(runParams.get(AbilityKey.Vehicle), getParam("ValidVehicle").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidVehicle", runParams.get(AbilityKey.Vehicle))) { + return false; } - if (hasParam("ValidCrew")) { - if (runParams.get(AbilityKey.Crew) == null) { - return false; - } - - boolean passes = false; - for (Object member : (CardCollection) runParams.get(AbilityKey.Crew)) { - passes |= matchesValid(member, getParam("ValidCrew").split(","), - this.getHostCard()); - } - if (!passes) - return passes; + if (!matchesValidParam("ValidCrew", runParams.get(AbilityKey.Crew))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java b/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java index e72b72c6a60..9f0ff54762f 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java @@ -19,7 +19,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -68,17 +67,11 @@ public class TriggerCycled extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - - if (hasParam("ValidPlayer")) { - Player p = (Player) runParams.get(AbilityKey.Player); - if (!matchesValid(p, getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("OnlyFirst")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageAll.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageAll.java index 53f48c61cfb..12c64f89130 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageAll.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageAll.java @@ -29,13 +29,13 @@ public class TriggerDamageAll extends Trigger { } } final CardDamageMap table = (CardDamageMap) runParams.get(AbilityKey.DamageMap); - return !table.filteredMap(getParam("ValidSource"), getParam("ValidTarget"), getHostCard(), null).isEmpty(); + return !table.filteredMap(getParam("ValidSource"), getParam("ValidTarget"), getHostCard(), this).isEmpty(); } @Override public void setTriggeringObjects(SpellAbility sa, Map runParams) { CardDamageMap table = (CardDamageMap) runParams.get(AbilityKey.DamageMap); - table = table.filteredMap(getParam("ValidSource"), getParam("ValidTarget"), getHostCard(), null); + table = table.filteredMap(getParam("ValidSource"), getParam("ValidTarget"), getHostCard(), this); sa.setTriggeringObject(AbilityKey.DamageAmount, table.totalAmount()); sa.setTriggeringObject(AbilityKey.Sources, table.rowKeySet()); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java index a4faa7ced1b..51535142616 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java @@ -59,7 +59,6 @@ public class TriggerDamageDealtOnce extends Trigger { @SuppressWarnings("unchecked") @Override public final boolean performTest(final Map runParams) { - final Card srcs = (Card) runParams.get(AbilityKey.DamageSource); if (hasParam("CombatDamage")) { if (getParam("CombatDamage").equals("True")) { @@ -81,10 +80,8 @@ public class TriggerDamageDealtOnce extends Trigger { } } - if (hasParam("ValidSource")) { - if (!matchesValid(srcs, getParam("ValidSource").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.DamageSource))) { + return false; } return true; @@ -113,7 +110,7 @@ public class TriggerDamageDealtOnce extends Trigger { public int getDamageAmount(Map damageMap) { int result = 0; for (Map.Entry e : damageMap.entrySet()) { - if (!hasParam("ValidTarget") || matchesValid(e.getKey(), getParam("ValidTarget").split(","), getHostCard())) { + if (matchesValidParam("ValidTarget", e.getKey())) { result += e.getValue(); } } @@ -126,7 +123,7 @@ public class TriggerDamageDealtOnce extends Trigger { } Set result = Sets.newHashSet(); for (GameEntity e : damageMap.keySet()) { - if (matchesValid(e, getParam("ValidTarget").split(","), getHostCard())) { + if (matchesValidParam("ValidTarget", e)) { result.add(e); } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java index 1c36ef0d5e3..67c2e680c82 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java @@ -56,16 +56,11 @@ public class TriggerDamageDone extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.DamageSource), getParam("ValidSource").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.DamageSource))) { + return false; } - - if (hasParam("ValidTarget")) { - if (!matchesValid(runParams.get(AbilityKey.DamageTarget), getParam("ValidTarget").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.DamageTarget))) { + return false; } if (hasParam("CombatDamage")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java index 72b6d9c4501..2239977f8df 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDoneOnce.java @@ -5,7 +5,6 @@ import java.util.Set; import com.google.common.collect.Sets; -import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; @@ -21,7 +20,6 @@ public class TriggerDamageDoneOnce extends Trigger { @SuppressWarnings("unchecked") @Override public boolean performTest(Map runParams) { - final GameEntity tgt = (GameEntity) runParams.get(AbilityKey.DamageTarget); if (hasParam("CombatDamage")) { if (getParam("CombatDamage").equals("True")) { @@ -43,14 +41,10 @@ public class TriggerDamageDoneOnce extends Trigger { } } - if (hasParam("ValidTarget")) { - if (!matchesValid(tgt, getParam("ValidTarget").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.DamageTarget))) { + return false; } - - return true; } @@ -77,7 +71,7 @@ public class TriggerDamageDoneOnce extends Trigger { public int getDamageAmount(Map damageMap) { int result = 0; for (Map.Entry e : damageMap.entrySet()) { - if (!hasParam("ValidSource") || matchesValid(e.getKey(), getParam("ValidSource").split(","), getHostCard())) { + if (matchesValidParam("ValidSource", e.getKey())) { result += e.getValue(); } } @@ -90,7 +84,7 @@ public class TriggerDamageDoneOnce extends Trigger { } Set result = Sets.newHashSet(); for (Card c : damageMap.keySet()) { - if (matchesValid(c, getParam("ValidSource").split(","), getHostCard())) { + if (matchesValid(c, getParam("ValidSource").split(","))) { result.add(c); } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java index 90ee1d2f156..f64c1df746a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java @@ -56,20 +56,13 @@ public class TriggerDamagePrevented extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card src = (Card) runParams.get(AbilityKey.DamageSource); - final Object tgt = runParams.get(AbilityKey.DamageTarget); - if (hasParam("ValidSource")) { - if (!src.isValid(getParam("ValidSource").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.DamageSource))) { + return false; } - if (hasParam("ValidTarget")) { - if (!matchesValid(tgt, getParam("ValidTarget").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.DamageTarget))) { + return false; } if (hasParam("CombatDamage")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java index 0cdfb575b20..16a56200709 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java @@ -55,23 +55,14 @@ public class TriggerDamagePreventedOnce extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Object tgt = runParams.get(AbilityKey.DamageTarget); - if (hasParam("ValidTarget")) { - if (!matchesValid(tgt, getParam("ValidTarget").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.DamageTarget))) { + return false; } if (hasParam("CombatDamage")) { - if (getParam("CombatDamage").equals("True")) { - if (!((Boolean) runParams.get(AbilityKey.IsCombatDamage))) { - return false; - } - } else if (getParam("CombatDamage").equals("False")) { - if (((Boolean) runParams.get(AbilityKey.IsCombatDamage))) { - return false; - } + if (getParam("CombatDamage").equals("True") != ((Boolean) runParams.get(AbilityKey.IsCombatDamage))) { + return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java b/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java index be79de6d14c..c76097d6535 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDestroyed.java @@ -54,15 +54,11 @@ public class TriggerDestroyed extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCauser")) { - if (!matchesValid(runParams.get(AbilityKey.Causer), getParam("ValidCauser").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCauser", runParams.get(AbilityKey.Causer))) { + return false; } - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java b/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java index c05f58bbbb4..c199a14aae9 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java @@ -54,11 +54,10 @@ public class TriggerDevoured extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card sac = (Card) runParams.get(AbilityKey.Devoured); - if (hasParam("ValidDevoured")) { - return sac.isValid(getParam("ValidDevoured").split(","), this.getHostCard().getController(), - this.getHostCard(), null); + if (!matchesValidParam("ValidDevoured", runParams.get(AbilityKey.Devoured))) { + return false; } + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java b/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java index f3c38da306d..28733a15e60 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java @@ -54,29 +54,16 @@ public class TriggerDiscarded extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; + } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; } - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } - } - - if (hasParam("ValidCause")) { - if (runParams.get(AbilityKey.Cause) == null) { - return false; - } - if (!matchesValid(runParams.get(AbilityKey.Cause), getParam("ValidCause").split(","), - this.getHostCard())) { - return false; - } - } if (hasParam("IsMadness")) { Boolean madness = (Boolean) runParams.get(AbilityKey.IsMadness); if (getParam("IsMadness").equals("True") ^ madness) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDiscardedAll.java b/forge-game/src/main/java/forge/game/trigger/TriggerDiscardedAll.java index cb2837e71d6..c61f90e00fa 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDiscardedAll.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDiscardedAll.java @@ -16,21 +16,11 @@ public class TriggerDiscardedAll extends Trigger { @Override public boolean performTest(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } - - if (hasParam("ValidCause")) { - if (runParams.get(AbilityKey.Cause) == null) { - return false; - } - if (!matchesValid(runParams.get(AbilityKey.Cause), getParam("ValidCause").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; } if (hasParam("FirstTime")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java b/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java index 742bf9b7e63..430887f2e24 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java @@ -59,20 +59,13 @@ public class TriggerDrawn extends Trigger { @Override public final boolean performTest(final Map runParams) { final Game game = getHostCard().getGame(); - final Card draw = ((Card) runParams.get(AbilityKey.Card)); final int number = ((Integer) runParams.get(AbilityKey.Number)); - if (hasParam("ValidCard")) { - if (!draw.isValid(getParam("ValidCard").split(","), getHostCard().getController(), getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("Number")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java b/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java index 14f4471e507..6bd95e77151 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerEvolved.java @@ -53,10 +53,8 @@ public class TriggerEvolved extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card sac = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - return sac.isValid(getParam("ValidCard").split(","), getHostCard().getController(), - getHostCard(), null); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java b/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java index 6ebbe3c3b76..3137f9cfbaa 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java @@ -49,16 +49,11 @@ public class TriggerExcessDamage extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.DamageSource), getParam("ValidSource").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.DamageSource))) { + return false; } - - if (hasParam("ValidTarget")) { - if (!matchesValid(runParams.get(AbilityKey.DamageTarget), getParam("ValidTarget").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidTarget", runParams.get(AbilityKey.DamageTarget))) { + return false; } if (hasParam("CombatDamage")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java b/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java index 521192734d5..916efa7a0e9 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java @@ -24,10 +24,8 @@ public class TriggerExerted extends Trigger { @Override public boolean performTest(Map runParams) { - final Card exerter = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - return exerter.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java b/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java index af999023b8e..39cecbbcee2 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java @@ -70,26 +70,22 @@ public class TriggerExiled extends Trigger { } } - if (hasParam("ValidCard")) { - Card moved = (Card) runParams.get(AbilityKey.Card); - - if (!moved.isValid(getParam("ValidCard").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } if (hasParam("ValidCause")) { - if (!runParams.containsKey(AbilityKey.Cause) ) { + if (!runParams.containsKey(AbilityKey.Cause)) { return false; } SpellAbility cause = (SpellAbility) runParams.get(AbilityKey.Cause); if (cause == null) { return false; } - if (!cause.getHostCard().isValid(getParam("ValidCause").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; + if (!matchesValid(cause, getParam("ValidCause").split(","))) { + if (!matchesValid(cause.getHostCard(), getParam("ValidCause").split(","))) { + return false; + } } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java b/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java index 11bb2a04bde..b59e567f2a8 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java @@ -55,21 +55,14 @@ public class TriggerExploited extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card exploited = (Card) runParams.get(AbilityKey.Exploited); - final Card source = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!exploited.isValid(getParam("ValidCard").split(","), - this.getHostCard().getController(), this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Exploited))) { + return false; } - if (hasParam("ValidSource")) { - if (!source.isValid(getParam("ValidSource").split(","), - this.getHostCard().getController(), this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Card))) { + return false; } + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java index 4cef5a58ec6..83fdb3f60f8 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java @@ -52,9 +52,8 @@ public class TriggerExplores extends Trigger { /** {@inheritDoc} */ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - return matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFight.java b/forge-game/src/main/java/forge/game/trigger/TriggerFight.java index 406c9d90fa4..522530f4277 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFight.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFight.java @@ -55,11 +55,8 @@ public class TriggerFight extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card fighter = (Card) runParams.get(AbilityKey.Fighter); - - if (hasParam("ValidCard")) { - return fighter.isValid(getParam("ValidCard").split(","), - getHostCard().getController(), getHostCard(), null); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Fighter))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java index 4630c5e44ff..270d74a83b4 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java @@ -19,15 +19,12 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.card.CardPredicates; import forge.game.spellability.SpellAbility; import forge.util.Localizer; import java.util.List; import java.util.Map; -import com.google.common.collect.Iterables; - public class TriggerFightOnce extends Trigger { /** @@ -50,15 +47,8 @@ public class TriggerFightOnce extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - @SuppressWarnings("unchecked") - final List fighters = (List) runParams.get(AbilityKey.Fighters); - - if (hasParam("ValidCard")) { - if (!Iterables.any(fighters, - CardPredicates.restriction(getParam("ValidCard").split(","), - getHostCard().getController(), getHostCard(), null))) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Fighters))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java b/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java index 9ddf84f268b..66c0d28bd56 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java @@ -54,11 +54,8 @@ public class TriggerFlippedCoin extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("ValidResult")) { final boolean result = (Boolean) runParams.get(AbilityKey.Result); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java b/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java index b051315ffff..97f2046a362 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java @@ -19,7 +19,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -60,11 +59,8 @@ public class TriggerForetell extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - Player p = (Player) runParams.get(AbilityKey.Player); - if (hasParam("ValidPlayer")) { - if (!matchesValid(p, getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("OnlyFirst")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java b/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java index 3ce7d750926..dd3c636dbf1 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java @@ -19,7 +19,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -68,13 +67,10 @@ public class TriggerInvestigated extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - Player p = (Player) runParams.get(AbilityKey.Player); - if (hasParam("ValidPlayer")) { - if (!matchesValid(p, getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } - + if (hasParam("OnlyFirst")) { if ((int) runParams.get(AbilityKey.Num) != 1) { return false; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java index 6ad3e45ac01..d41a1650e49 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java @@ -67,14 +67,12 @@ public class TriggerLandPlayed extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - Card land = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!matchesValid(land, getParam("ValidCard").split(","), this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - + if (hasParam("NotFirstLand")) { + Card land = (Card) runParams.get(AbilityKey.Card); if (land.getController().getLandsPlayedThisTurn() < 1) { return false; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java index 29096cb897b..829b560ca3b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java @@ -53,16 +53,13 @@ public class TriggerLifeGained extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } - if (hasParam("ValidSource")) { - if (!matchesValid(runParams.get(AbilityKey.Source), getParam("ValidSource").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSource", runParams.get(AbilityKey.Source))) { + return false; } + if (hasParam("Spell")) { final SpellAbility spellAbility = (SpellAbility) runParams.get(AbilityKey.SourceSA); if (spellAbility == null || !spellAbility.getRootAbility().isSpell()) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java b/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java index 071db7c4df6..e1041725a92 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLifeLost.java @@ -54,11 +54,8 @@ public class TriggerLifeLost extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("FirstTime")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java b/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java index bda69cff8b2..fd142d694bc 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java @@ -32,9 +32,8 @@ public class TriggerLosesGame extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - return matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java b/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java index b49b11ef54d..bb4dc29d986 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java @@ -12,9 +12,8 @@ public class TriggerMutates extends Trigger { @Override public boolean performTest(Map runParams) { - if (hasParam("ValidCard")) { - return matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java index 8a87328118a..c331828ce38 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java @@ -60,13 +60,10 @@ public class TriggerPayCumulativeUpkeep extends Trigger { return false; } } - final Card card = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!card.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java index b1ac0b60c0d..02e528f3966 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java @@ -59,13 +59,10 @@ public class TriggerPayEcho extends Trigger { return false; } } - final Card card = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!card.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java index 8cd5d3aa377..ed3e894e3fb 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java @@ -53,8 +53,8 @@ public class TriggerPayLife extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - return matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), getHostCard()); + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java index a3572a5feda..cdb40c2e8e4 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java @@ -54,9 +54,8 @@ public class TriggerPhase extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - return matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java index 9b93061a7dc..2f57234e3af 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java @@ -17,11 +17,8 @@ public class TriggerPhaseIn extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card phaser = (Card) runParams.get(AbilityKey.Card); - - if (hasParam("ValidCard")) { - return phaser.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java index 6cdf64422fa..36d30e3bbf9 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java @@ -17,19 +17,9 @@ public class TriggerPhaseOut extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card phaser = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (getParam("ValidCard").equals("Card.Self")) { - // Since Phased out cards aren't visible in .isValid, use a special check here. - // NOTE: All Phase Out Triggers should use ValidCard$ Card.Self - if (phaser != this.getHostCard()) { - return false; - } - } else if (!phaser.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java index 1bc6b4277a6..49b20d7bae4 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java @@ -35,11 +35,8 @@ public class TriggerPlanarDice extends Trigger { */ @Override public boolean performTest(Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("Result")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java index 36a97bdd3fa..5a2ba0480bf 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java @@ -2,7 +2,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.card.CardCollection; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -35,14 +34,7 @@ public class TriggerPlaneswalkedFrom extends Trigger { */ @Override public boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - final CardCollection moved = (CardCollection) runParams.get(AbilityKey.Cards); - for(Card c : moved) { - if (c.isValid(getParam("ValidCard").split(","), this - .getHostCard().getController(), this.getHostCard(), null)) { - return true; - } - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Cards))) { return false; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java index f3475bd5cac..9c002d723cd 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java @@ -32,20 +32,12 @@ public class TriggerPlaneswalkedTo extends Trigger { /* (non-Javadoc) * @see forge.card.trigger.Trigger#performTest(java.util.Map) */ - @SuppressWarnings("unchecked") @Override public boolean performTest(Map runParams) { - if (hasParam("ValidCard")) { - for(Card moved : (Iterable) runParams.get(AbilityKey.Cards)) - { - if (moved.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return true; - } - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Cards))) { return false; } - + return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerRegenerated.java b/forge-game/src/main/java/forge/game/trigger/TriggerRegenerated.java index 07b2b52511a..a5d021b956b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerRegenerated.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerRegenerated.java @@ -54,15 +54,11 @@ public class TriggerRegenerated extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCause")) { - if (!matchesValid(runParams.get(AbilityKey.Cause), getParam("ValidCause").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; } - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerRevealed.java b/forge-game/src/main/java/forge/game/trigger/TriggerRevealed.java index 1c06e5f1a17..055ae2671f9 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerRevealed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerRevealed.java @@ -15,10 +15,8 @@ public class TriggerRevealed extends Trigger { @Override public boolean performTest(Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java b/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java index f483eb5cb5a..61191e04b1e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java @@ -20,7 +20,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.cost.IndividualCostPaymentInstance; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.CostPaymentStack; import forge.util.Localizer; @@ -57,24 +56,20 @@ public class TriggerSacrificed extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card sac = (Card) runParams.get(AbilityKey.Card); - final Player player = (Player) runParams.get(AbilityKey.Player); - final SpellAbility sourceSA = (SpellAbility) runParams.get(AbilityKey.Cause); - if (hasParam("ValidPlayer")) { - if (!matchesValid(player, getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - if (hasParam("ValidCard")) { - if (!sac.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } + if (!matchesValidParam("ValidCause", runParams.get(AbilityKey.Cause))) { + return false; + } + if (hasParam("ValidSourceController")) { - if (sourceSA == null || !sourceSA.getActivatingPlayer().isValid(getParam("ValidSourceController"), - this.getHostCard().getController(), this.getHostCard(), null)) { + final SpellAbility sourceSA = (SpellAbility) runParams.get(AbilityKey.Cause); + + if (sourceSA == null || !matchesValid(sourceSA.getActivatingPlayer(), getParam("ValidSourceController").split(","))) { return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerScry.java b/forge-game/src/main/java/forge/game/trigger/TriggerScry.java index 3456e012a22..2280dfa788f 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerScry.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerScry.java @@ -54,9 +54,8 @@ public class TriggerScry extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - return matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java b/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java index 9f60c39af72..4c371fe28dd 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSearchedLibrary.java @@ -56,11 +56,8 @@ public class TriggerSearchedLibrary extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("SearchOwnLibrary")) { @SuppressWarnings("unchecked") diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java b/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java index f3d32f8c26d..ae7b5f0de79 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java @@ -54,11 +54,8 @@ public class TriggerSetInMotion extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Scheme), getParam("ValidCard").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Scheme))) { + return false; } if (hasParam("SchemeType")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java b/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java index fb9aa30bf54..6a12e1de096 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java @@ -54,12 +54,10 @@ public class TriggerShuffled extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } + if (hasParam("ShuffleFromEffect")) { if (null == runParams.get(AbilityKey.Source)) { return false; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java index d129121c30d..29609e96d60 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCast.java @@ -6,12 +6,12 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ @@ -46,7 +46,7 @@ import forge.util.Localizer; *

* Trigger_SpellAbilityCast class. *

- * + * * @author Forge * @version $Id$ */ @@ -56,7 +56,7 @@ public class TriggerSpellAbilityCast extends Trigger { *

* Constructor for Trigger_SpellAbilityCast. *

- * + * * @param params * a {@link java.util.HashMap} object. * @param host @@ -99,16 +99,19 @@ public class TriggerSpellAbilityCast extends Trigger { } } + + if (!matchesValidParam("ValidControllingPlayer", cast.getController())) { + return false; + } + if (hasParam("ValidControllingPlayer")) { - if (!matchesValid(cast.getController(), getParam("ValidControllingPlayer").split(","), - getHostCard())) { + if (!matchesValid(cast.getController(), getParam("ValidControllingPlayer").split(","))) { return false; } } if (hasParam("ValidActivatingPlayer")) { - if (si == null || !matchesValid(si.getSpellAbility(true).getActivatingPlayer(), getParam("ValidActivatingPlayer") - .split(","), getHostCard())) { + if (si == null || !matchesValid(si.getSpellAbility(true).getActivatingPlayer(), getParam("ValidActivatingPlayer").split(","))) { return false; } if (hasParam("ActivatorThisTurnCast")) { @@ -123,16 +126,11 @@ public class TriggerSpellAbilityCast extends Trigger { } } } - - if (hasParam("ValidCard")) { - if (!matchesValid(cast, getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", cast)) { + return false; } - if (hasParam("ValidSA")) { - if (!matchesValid(spellAbility, getParam("ValidSA").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSA", spellAbility)) { + return false; } if (hasParam("TargetsValid")) { @@ -140,12 +138,12 @@ public class TriggerSpellAbilityCast extends Trigger { if (si != null) { sa = si.getSpellAbility(true); } - + boolean validTgtFound = false; while (sa != null && !validTgtFound) { for (final Card tgt : sa.getTargets().getTargetCards()) { - if (tgt.isValid(getParam("TargetsValid").split(","), getHostCard() - .getController(), getHostCard(), null)) { + + if (matchesValid(tgt, getParam("TargetsValid").split(","))) { validTgtFound = true; if (this.hasParam("RememberValidCards")) { this.getHostCard().addRemembered(tgt); @@ -154,7 +152,7 @@ public class TriggerSpellAbilityCast extends Trigger { } for (final Player p : sa.getTargets().getTargetPlayers()) { - if (matchesValid(p, getParam("TargetsValid").split(","), getHostCard())) { + if (matchesValid(p, getParam("TargetsValid").split(","))) { validTgtFound = true; break; } @@ -186,7 +184,7 @@ public class TriggerSpellAbilityCast extends Trigger { } candidates.removeAll(targetedSA.getTargets().getTargetCards()); String valid = getParam("CanTargetOtherCondition"); - if (CardLists.getValidCards(candidates, valid, spellAbility.getActivatingPlayer(), spellAbility.getHostCard()).isEmpty()) { + if (CardLists.getValidCards(candidates, valid, spellAbility.getActivatingPlayer(), spellAbility.getHostCard(), spellAbility).isEmpty()) { return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java index 8a5cae2c650..4a90d11c2aa 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java @@ -70,19 +70,18 @@ public class TriggerSpellAbilityCopy extends Trigger { } } - if (hasParam("ValidCard")) { - if (!matchesValid(cast, getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", cast)) { + return false; } - if (hasParam("ValidSA")) { - if (!matchesValid(spellAbility, getParam("ValidSA").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidSA", spellAbility)) { + return false; } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + if (hasParam("ValidActivatingPlayer")) { - if (si == null || !matchesValid(si.getSpellAbility(true).getActivatingPlayer(), getParam("ValidActivatingPlayer") - .split(","), getHostCard())) { + if (si == null || !matchesValid(si.getSpellAbility(true).getActivatingPlayer(), getParam("ValidActivatingPlayer").split(","))) { return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java b/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java index 6c8c20a79da..da58bd0f3d0 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java @@ -19,7 +19,6 @@ package forge.game.trigger; import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; @@ -64,11 +63,8 @@ public class TriggerSurveil extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - Player p = (Player) runParams.get(AbilityKey.Player); - if (hasParam("ValidPlayer")) { - if (!matchesValid(p, getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("OnlyFirst")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java index d5a4151ca09..1daf89e4264 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java @@ -53,14 +53,11 @@ public class TriggerTaps extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card tapper = (Card) runParams.get(AbilityKey.Card); - if (hasParam("ValidCard")) { - if (!tapper.isValid(getParam("ValidCard").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } + if (hasParam("Attacker")) { if ("True".equalsIgnoreCase(getParam("Attacker"))) { if (!(Boolean) runParams.get(AbilityKey.Attacker)) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java b/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java index f7895ba385e..68e9dfb76e7 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java @@ -66,22 +66,14 @@ public class TriggerTapsForMana extends Trigger { } } - if (hasParam("ValidCard")) { - if (!matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } - - if (hasParam("Player")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("Player").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("Player", runParams.get(AbilityKey.Player))) { + return false; } - - if (hasParam("Activator")) { - if (!matchesValid(runParams.get(AbilityKey.Activator), getParam("Activator").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("Activator", runParams.get(AbilityKey.Activator))) { + return false; } if (hasParam("Produced")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java b/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java index 49628163635..85c17e9fa19 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java @@ -67,10 +67,8 @@ public class TriggerTokenCreated extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("OnlyFirst")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java b/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java index 22a6e7bf8e3..4fa9ecab4cf 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java @@ -46,9 +46,8 @@ public class TriggerTransformed extends Trigger { */ @Override public boolean performTest(Map runParams) { - if (hasParam("ValidCard")) { - return matchesValid(runParams.get(AbilityKey.Transformer), getParam("ValidCard").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Transformer))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java b/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java index eeed5ca559e..523995a6d7e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java @@ -15,9 +15,8 @@ public class TriggerTurnBegin extends Trigger { @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - return matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java b/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java index f79a8ba5a18..82500fe11e3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java @@ -54,9 +54,8 @@ public class TriggerTurnFaceUp extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidCard")) { - return matchesValid(runParams.get(AbilityKey.Card), getParam("ValidCard").split(","), - this.getHostCard()); + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java b/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java index e512e216632..be3ee8ea30e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java @@ -17,7 +17,6 @@ */ package forge.game.trigger; -import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; @@ -54,21 +53,12 @@ public class TriggerUnattach extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final GameEntity object = (GameEntity) runParams.get(AbilityKey.Object); - final Card attach = (Card) runParams.get(AbilityKey.Attach); - if (hasParam("ValidObject")) { - if (!object.isValid(getParam("ValidObject").split(","), getHostCard().getController(), - getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidObject", runParams.get(AbilityKey.Object))) { + return false; } - - if (hasParam("ValidAttachment")) { - if (!attach.isValid(getParam("ValidAttachment").split(","), getHostCard() - .getController(), getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidAttachment", runParams.get(AbilityKey.Attach))) { + return false; } return true; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java index b2eb3661a7a..33b670f97cd 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java @@ -54,13 +54,8 @@ public class TriggerUntaps extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - final Card untapper = (Card) runParams.get(AbilityKey.Card); - - if (hasParam("ValidCard")) { - if (!untapper.isValid(getParam("ValidCard").split(","), this.getHostCard().getController(), - this.getHostCard(), null)) { - return false; - } + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; } return true; diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index ef27cf3dd2f..21ab3cb1680 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -484,12 +484,12 @@ public class HumanPlay { } else if (part instanceof CostGainControl) { int amount = Integer.parseInt(part.getAmount()); - CardCollectionView list = CardLists.getValidCards(p.getGame().getCardsIn(ZoneType.Battlefield), part.getType(), p, source); + CardCollectionView list = CardLists.getValidCards(p.getGame().getCardsIn(ZoneType.Battlefield), part.getType(), p, source, sourceAbility); boolean hasPaid = payCostPart(controller, p, sourceAbility, (CostPartWithList)part, amount, list, Localizer.getInstance().getMessage("lblGainControl") + orString); if (!hasPaid) { return false; } } else if (part instanceof CostReturn) { - CardCollectionView list = CardLists.getValidCards(p.getCardsIn(ZoneType.Battlefield), part.getType(), p, source); + CardCollectionView list = CardLists.getValidCards(p.getCardsIn(ZoneType.Battlefield), part.getType(), p, source, sourceAbility); int amount = getAmountFromPartX(part, source, sourceAbility); boolean hasPaid = payCostPart(controller, p, sourceAbility, (CostPartWithList)part, amount, list, Localizer.getInstance().getMessage("lblReturnToHand") + orString); if (!hasPaid) { return false; } @@ -502,7 +502,7 @@ public class HumanPlay { ((CostDiscard)part).payAsDecided(p, PaymentDecision.card(p.getCardsIn(ZoneType.Hand)), sourceAbility); } else { - CardCollectionView list = CardLists.getValidCards(p.getCardsIn(ZoneType.Hand), part.getType(), p, source); + CardCollectionView list = CardLists.getValidCards(p.getCardsIn(ZoneType.Hand), part.getType(), p, source, sourceAbility); int amount = getAmountFromPartX(part, source, sourceAbility); boolean hasPaid = payCostPart(controller, p, sourceAbility, (CostPartWithList)part, amount, list, Localizer.getInstance().getMessage("lbldiscard") + orString); if (!hasPaid) { return false; } @@ -510,13 +510,13 @@ public class HumanPlay { } else if (part instanceof CostReveal) { CostReveal costReveal = (CostReveal) part; - CardCollectionView list = CardLists.getValidCards(p.getCardsIn(costReveal.getRevealFrom()), part.getType(), p, source); + CardCollectionView list = CardLists.getValidCards(p.getCardsIn(costReveal.getRevealFrom()), part.getType(), p, source, sourceAbility); int amount = getAmountFromPartX(part, source, sourceAbility); boolean hasPaid = payCostPart(controller, p, sourceAbility, (CostPartWithList)part, amount, list, Localizer.getInstance().getMessage("lblReveal") + orString); if (!hasPaid) { return false; } } else if (part instanceof CostTapType) { - CardCollectionView list = CardLists.getValidCards(p.getCardsIn(ZoneType.Battlefield), part.getType(), p, source); + CardCollectionView list = CardLists.getValidCards(p.getCardsIn(ZoneType.Battlefield), part.getType(), p, source, sourceAbility); list = CardLists.filter(list, Presets.UNTAPPED); int amount = getAmountFromPartX(part, source, sourceAbility); boolean hasPaid = payCostPart(controller, p, sourceAbility, (CostPartWithList)part, amount, list, Localizer.getInstance().getMessage("lblTap") + orString); From 6ad193a0975c939a6ac7d134ff45414cacafddbf Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Mon, 15 Mar 2021 21:17:40 +0100 Subject: [PATCH 12/32] fix EnteredSinceYourLastTurn --- forge-game/src/main/java/forge/game/card/CardProperty.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index f5666c97f13..50223862bd9 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1002,7 +1002,7 @@ public class CardProperty { } return false; } else if (property.equals("EnteredSinceYourLastTurn")) { - if (card.getTurnInZone() > controller.getLastTurnNr()) { + if (card.getTurnInZone() <= controller.getLastTurnNr()) { return false; } } else if (property.equals("ThisTurnEntered")) { From f6a3dd38bbd23ae0d7677184e67d3432282188d3 Mon Sep 17 00:00:00 2001 From: Andreas Bendel Date: Mon, 15 Mar 2021 20:38:39 +0000 Subject: [PATCH 13/32] Update de-DE.properties translated lblExcludePromosFromRewardPool --- forge-gui/res/languages/de-DE.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 1f91f8971f8..39340fb93ef 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -701,7 +701,7 @@ lblWinbyTurn10=Sieg bis Zug 10 lblWinbyTurn5=Sieg bis Zug 5 lblFirstTurnWin=Sieg im ersten Zug lblMaxLifeDiffBonus=Max. Lebensdifferenzbonus -lblExcludePromosFromRewardPool=Exclude Promos +lblExcludePromosFromRewardPool=Promos bei Belohnungen ausschließen lblEasy=Einfach lblMedium=Mittel lblHard=Hart From 89193429abbf719ec5dd490ee8f4fea6f5485e46 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 15 Mar 2021 21:54:41 +0100 Subject: [PATCH 14/32] EnteredSinceYourLastTurn: use controller of SA, not target --- forge-game/src/main/java/forge/game/card/CardProperty.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 50223862bd9..abf93452972 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1002,7 +1002,7 @@ public class CardProperty { } return false; } else if (property.equals("EnteredSinceYourLastTurn")) { - if (card.getTurnInZone() <= controller.getLastTurnNr()) { + if (card.getTurnInZone() <= sourceController.getLastTurnNr()) { return false; } } else if (property.equals("ThisTurnEntered")) { From 0b7dd163b5b5856d30dfc48f40c284f6b1e7c3cd Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 16 Mar 2021 12:22:38 +0000 Subject: [PATCH 15/32] Update Drake Stone.txt --- forge-gui/res/editions/Drake Stone.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/editions/Drake Stone.txt b/forge-gui/res/editions/Drake Stone.txt index 0392ae23251..a6a498a5f24 100644 --- a/forge-gui/res/editions/Drake Stone.txt +++ b/forge-gui/res/editions/Drake Stone.txt @@ -3,7 +3,7 @@ Code=DS0 Date=2010-07-14 Name=Drake Stone Code2=DS0 -Type=Expansion +Type=Funny MciCode=ds0 [cards] From a807f11d27b9d86a7127677f28bd6e0c800c9619 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 16 Mar 2021 17:20:19 +0000 Subject: [PATCH 16/32] Update achievement-images.txt --- forge-gui/res/lists/achievement-images.txt | 99 +++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/forge-gui/res/lists/achievement-images.txt b/forge-gui/res/lists/achievement-images.txt index 7d7919e0287..e8b79d4ba7c 100644 --- a/forge-gui/res/lists/achievement-images.txt +++ b/forge-gui/res/lists/achievement-images.txt @@ -1,3 +1,4 @@ + https://downloads.cardforge.org/images/achievements/Ajani%20Goldmane.png https://downloads.cardforge.org/images/achievements/Ajani%20Steadfast.png https://downloads.cardforge.org/images/achievements/Ajani%20Unyielding.png @@ -9,23 +10,39 @@ https://downloads.cardforge.org/images/achievements/Ajani%2C%20Mentor%20of%20Her https://downloads.cardforge.org/images/achievements/Ajani%2C%20Strength%20of%20the%20Pride.png https://downloads.cardforge.org/images/achievements/Ajani%2C%20Valiant%20Protector.png https://downloads.cardforge.org/images/achievements/Ajani%2C%20Wise%20Counselor.png +https://downloads.cardforge.org/images/achievements/Aminatou%2C%20the%20Fateshifter.png +https://downloads.cardforge.org/images/achievements/Angel%20of%20Destiny.png +https://downloads.cardforge.org/images/achievements/Angrath%2C%20Minotaur%20Pirate.png +https://downloads.cardforge.org/images/achievements/Angrath%2C%20the%20Flame-Chained.png https://downloads.cardforge.org/images/achievements/Approach%20of%20the%20Second%20Sun.png +https://downloads.cardforge.org/images/achievements/Approach%20of%20the%20Second%20Sun_backup.png https://downloads.cardforge.org/images/achievements/ArcaneMaster.png https://downloads.cardforge.org/images/achievements/Archenemy.png https://downloads.cardforge.org/images/achievements/Arlinn%20Kord.png https://downloads.cardforge.org/images/achievements/Arlinn%2C%20Embraced%20by%20the%20Moon.png +https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Nightmare%20Muse.png https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Nightmare%20Weaver.png +https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Sculptor%20of%20Fears.png https://downloads.cardforge.org/images/achievements/Azor%27s%20Elocutors.png https://downloads.cardforge.org/images/achievements/Barren%20Glory.png +https://downloads.cardforge.org/images/achievements/Basri%20Ket.png +https://downloads.cardforge.org/images/achievements/Basri%2C%20Devoted%20Paladin.png https://downloads.cardforge.org/images/achievements/Battle%20of%20Wits.png https://downloads.cardforge.org/images/achievements/Biovisionary.png https://downloads.cardforge.org/images/achievements/Blackjack.png https://downloads.cardforge.org/images/achievements/Brawl.png +https://downloads.cardforge.org/images/achievements/Calix%2C%20Destiny%27s%20Hand.png https://downloads.cardforge.org/images/achievements/Chance%20Encounter.png https://downloads.cardforge.org/images/achievements/Chance%20for%20Glory.png https://downloads.cardforge.org/images/achievements/Chandra%20Ablaze.png https://downloads.cardforge.org/images/achievements/Chandra%20Nalaar.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Awakened%20Inferno.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Bold%20Pyromancer.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Fire%20Artisan.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Flame%27s%20Catalyst.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Flame%27s%20Fury.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Flamecaller.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Heart%20of%20Fire.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Pyrogenius.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Pyromaster.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Roaring%20Flame.png @@ -42,13 +59,22 @@ https://downloads.cardforge.org/images/achievements/Darksteel%20Reactor.png https://downloads.cardforge.org/images/achievements/DeckedOut.png https://downloads.cardforge.org/images/achievements/Domain.png https://downloads.cardforge.org/images/achievements/Domri%20Rade.png +https://downloads.cardforge.org/images/achievements/Domri%2C%20Chaos%20Bringer.png +https://downloads.cardforge.org/images/achievements/Domri%2C%20City%20Smasher.png https://downloads.cardforge.org/images/achievements/Door%20to%20Nothingness.png https://downloads.cardforge.org/images/achievements/Dovin%20Baan.png +https://downloads.cardforge.org/images/achievements/Dovin%2C%20Architect%20of%20Law.png +https://downloads.cardforge.org/images/achievements/Dovin%2C%20Grand%20Arbiter.png +https://downloads.cardforge.org/images/achievements/Dungeon%20Master.png https://downloads.cardforge.org/images/achievements/Elspeth%20Tirel.png https://downloads.cardforge.org/images/achievements/Elspeth%2C%20Knight-Errant.png https://downloads.cardforge.org/images/achievements/Elspeth%2C%20Sun%27s%20Champion.png +https://downloads.cardforge.org/images/achievements/Elspeth%2C%20Sun%27s%20Nemesis.png +https://downloads.cardforge.org/images/achievements/Elspeth%2C%20Undaunted%20Hero.png +https://downloads.cardforge.org/images/achievements/Emblem%20-%20Vraska%2C%20Golgari%20Queen.png https://downloads.cardforge.org/images/achievements/Epic%20Struggle.png https://downloads.cardforge.org/images/achievements/Epic.png +https://downloads.cardforge.org/images/achievements/Estrid%2C%20the%20Masked.png https://downloads.cardforge.org/images/achievements/Etrata%2C%20the%20Silencer.png https://downloads.cardforge.org/images/achievements/Felidar%20Sovereign.png https://downloads.cardforge.org/images/achievements/Freyalise%2C%20Llanowar%27s%20Fury.png @@ -56,39 +82,64 @@ https://downloads.cardforge.org/images/achievements/GameWinStreak.png https://downloads.cardforge.org/images/achievements/Garruk%20Wildspeaker.png https://downloads.cardforge.org/images/achievements/Garruk%2C%20Apex%20Predator.png https://downloads.cardforge.org/images/achievements/Garruk%2C%20Caller%20of%20Beasts.png +https://downloads.cardforge.org/images/achievements/Garruk%2C%20Cursed%20Huntsman.png https://downloads.cardforge.org/images/achievements/Garruk%2C%20Primal%20Hunter.png +https://downloads.cardforge.org/images/achievements/Garruk%2C%20Savage%20Herald.png +https://downloads.cardforge.org/images/achievements/Garruk%2C%20Unleashed.png https://downloads.cardforge.org/images/achievements/Garruk%2C%20the%20Veil-Cursed.png +https://downloads.cardforge.org/images/achievements/Gideon%20Blackblade.png https://downloads.cardforge.org/images/achievements/Gideon%20Jura.png https://downloads.cardforge.org/images/achievements/Gideon%20of%20the%20Trials.png https://downloads.cardforge.org/images/achievements/Gideon%2C%20Ally%20of%20Zendikar.png https://downloads.cardforge.org/images/achievements/Gideon%2C%20Battle-Forged.png https://downloads.cardforge.org/images/achievements/Gideon%2C%20Champion%20of%20Justice.png https://downloads.cardforge.org/images/achievements/Gideon%2C%20Martial%20Paragon.png +https://downloads.cardforge.org/images/achievements/Gideon%2C%20the%20Oathsworn.png +https://downloads.cardforge.org/images/achievements/Happily%20Ever%20After.png https://downloads.cardforge.org/images/achievements/Hedron%20Alignment.png https://downloads.cardforge.org/images/achievements/Helix%20Pinnacle.png https://downloads.cardforge.org/images/achievements/Hellbent.png https://downloads.cardforge.org/images/achievements/Hellkite%20Tyrant.png +https://downloads.cardforge.org/images/achievements/Huatli%2C%20Dinosaur%20Knight.png +https://downloads.cardforge.org/images/achievements/Huatli%2C%20Radiant%20Champion.png +https://downloads.cardforge.org/images/achievements/Huatli%2C%20Warrior%20Poet.png https://downloads.cardforge.org/images/achievements/Jace%20Beleren.png +https://downloads.cardforge.org/images/achievements/Jace%2C%20Arcane%20Strategist.png https://downloads.cardforge.org/images/achievements/Jace%2C%20Architect%20of%20Thought.png +https://downloads.cardforge.org/images/achievements/Jace%2C%20Cunning%20Castaway.png +https://downloads.cardforge.org/images/achievements/Jace%2C%20Ingenious%20Mind-Mage.png https://downloads.cardforge.org/images/achievements/Jace%2C%20Memory%20Adept.png +https://downloads.cardforge.org/images/achievements/Jace%2C%20Mirror%20Mage.png https://downloads.cardforge.org/images/achievements/Jace%2C%20Telepath%20Unbound.png https://downloads.cardforge.org/images/achievements/Jace%2C%20Unraveler%20of%20Secrets.png +https://downloads.cardforge.org/images/achievements/Jace%2C%20Wielder%20of%20Mysteries.png https://downloads.cardforge.org/images/achievements/Jace%2C%20the%20Living%20Guildpact.png https://downloads.cardforge.org/images/achievements/Jace%2C%20the%20Mind%20Sculptor.png +https://downloads.cardforge.org/images/achievements/Jaya%20Ballard.png +https://downloads.cardforge.org/images/achievements/Jiang%20Yanggu.png https://downloads.cardforge.org/images/achievements/Karn%20Liberated.png +https://downloads.cardforge.org/images/achievements/Kaya%20the%20Inexorable.png https://downloads.cardforge.org/images/achievements/Kaya%2C%20Ghost%20Assassin.png +https://downloads.cardforge.org/images/achievements/Kaya%2C%20Orzhov%20Usurper.png https://downloads.cardforge.org/images/achievements/Kiora%2C%20Master%20of%20the%20Depths.png https://downloads.cardforge.org/images/achievements/Kiora%2C%20the%20Crashing%20Wave.png https://downloads.cardforge.org/images/achievements/Koth%20of%20the%20Hammer.png https://downloads.cardforge.org/images/achievements/Laboratory%20Maniac.png +https://downloads.cardforge.org/images/achievements/Lich%27s%20Mastery.png https://downloads.cardforge.org/images/achievements/LifeToSpare.png https://downloads.cardforge.org/images/achievements/Liliana%20Vess.png https://downloads.cardforge.org/images/achievements/Liliana%20of%20the%20Dark%20Realms.png https://downloads.cardforge.org/images/achievements/Liliana%20of%20the%20Veil.png +https://downloads.cardforge.org/images/achievements/Liliana%27s%20Contract.png +https://downloads.cardforge.org/images/achievements/Liliana%2C%20Death%20Mage.png https://downloads.cardforge.org/images/achievements/Liliana%2C%20Death%20Wielder.png https://downloads.cardforge.org/images/achievements/Liliana%2C%20Death%27s%20Majesty.png https://downloads.cardforge.org/images/achievements/Liliana%2C%20Defiant%20Necromancer.png +https://downloads.cardforge.org/images/achievements/Liliana%2C%20Dreadhorde%20General.png https://downloads.cardforge.org/images/achievements/Liliana%2C%20The%20Last%20Hope.png +https://downloads.cardforge.org/images/achievements/Liliana%2C%20Untouched%20by%20Death.png +https://downloads.cardforge.org/images/achievements/Liliana%2C%20Waker%20of%20the%20Dead.png +https://downloads.cardforge.org/images/achievements/Liliana%2C%20the%20Necromancer.png https://downloads.cardforge.org/images/achievements/Lord%20Windgrace.png https://downloads.cardforge.org/images/achievements/Lukka%2C%20Coppercoat%20Outcast.png https://downloads.cardforge.org/images/achievements/ManaFlooded.png @@ -97,22 +148,34 @@ https://downloads.cardforge.org/images/achievements/MatchWinStreak.png https://downloads.cardforge.org/images/achievements/Mayael%27s%20Aria.png https://downloads.cardforge.org/images/achievements/Maze%27s%20End.png https://downloads.cardforge.org/images/achievements/Mechanized%20Production.png +https://downloads.cardforge.org/images/achievements/Mirrodin%20Besieged.png https://downloads.cardforge.org/images/achievements/MoJhoSto.png https://downloads.cardforge.org/images/achievements/MomirBasic.png https://downloads.cardforge.org/images/achievements/Mortal%20Combat.png +https://downloads.cardforge.org/images/achievements/Mu%20Yanling%2C%20Celestial%20Wind.png +https://downloads.cardforge.org/images/achievements/Mu%20Yanling%2C%20Sky%20Dancer.png +https://downloads.cardforge.org/images/achievements/Mu%20Yanling.png +https://downloads.cardforge.org/images/achievements/Nahiri%2C%20Heir%20of%20the%20Ancients.png https://downloads.cardforge.org/images/achievements/Nahiri%2C%20the%20Harbinger.png https://downloads.cardforge.org/images/achievements/Nahiri%2C%20the%20Lithomancer.png https://downloads.cardforge.org/images/achievements/Narset%20Transcendent.png https://downloads.cardforge.org/images/achievements/Narset%20of%20the%20Ancient%20Way.png https://downloads.cardforge.org/images/achievements/Near-Death%20Experience.png https://downloads.cardforge.org/images/achievements/NeedForSpeed.png +https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20Dragon-God.png +https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20God-Pharaoh.png https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20Planeswalker.png +https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20the%20Arisen.png +https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20the%20Deceiver.png https://downloads.cardforge.org/images/achievements/Nissa%20Revane.png +https://downloads.cardforge.org/images/achievements/Nissa%20of%20Shadowed%20Boughs.png +https://downloads.cardforge.org/images/achievements/Nissa%2C%20Genesis%20Mage.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Nature%27s%20Artisan.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Sage%20Animist.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Steward%20of%20Elements.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Vital%20Force.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Voice%20of%20Zendikar.png +https://downloads.cardforge.org/images/achievements/Nissa%2C%20Who%20Shakes%20the%20World.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Worldwaker.png https://downloads.cardforge.org/images/achievements/NoCreatures.png https://downloads.cardforge.org/images/achievements/NoLands.png @@ -120,8 +183,8 @@ https://downloads.cardforge.org/images/achievements/NoSpells.png https://downloads.cardforge.org/images/achievements/Oathbreaker.png https://downloads.cardforge.org/images/achievements/Ob%20Nixilis%20Reignited.png https://downloads.cardforge.org/images/achievements/Ob%20Nixilis%20of%20the%20Black%20Oath.png -https://downloads.cardforge.org/images/achievements/Oko%2C%20the%20Trickster.png https://downloads.cardforge.org/images/achievements/Oko%2C%20Thief%20of%20Crowns.png +https://downloads.cardforge.org/images/achievements/Oko%2C%20the%20Trickster.png https://downloads.cardforge.org/images/achievements/Overkill.png https://downloads.cardforge.org/images/achievements/Phage%20the%20Untouchable.png https://downloads.cardforge.org/images/achievements/Planechase.png @@ -129,32 +192,66 @@ https://downloads.cardforge.org/images/achievements/Planeswalker.png https://downloads.cardforge.org/images/achievements/Poisoned.png https://downloads.cardforge.org/images/achievements/RagsToRiches.png https://downloads.cardforge.org/images/achievements/Ral%20Zarek.png +https://downloads.cardforge.org/images/achievements/Ral%2C%20Caller%20of%20Storms.png +https://downloads.cardforge.org/images/achievements/Ral%2C%20Izzet%20Viceroy.png +https://downloads.cardforge.org/images/achievements/Revel%20in%20Riches.png +https://downloads.cardforge.org/images/achievements/Rowan%2C%20Fearless%20Sparkmage.png https://downloads.cardforge.org/images/achievements/Saheeli%20Rai.png +https://downloads.cardforge.org/images/achievements/Saheeli%2C%20the%20Gifted.png +https://downloads.cardforge.org/images/achievements/Samut%2C%20the%20Tested.png https://downloads.cardforge.org/images/achievements/Sarkhan%20Unbroken.png https://downloads.cardforge.org/images/achievements/Sarkhan%20Vol.png https://downloads.cardforge.org/images/achievements/Sarkhan%20the%20Mad.png +https://downloads.cardforge.org/images/achievements/Sarkhan%2C%20Dragonsoul.png +https://downloads.cardforge.org/images/achievements/Sarkhan%2C%20Fireblood.png https://downloads.cardforge.org/images/achievements/Sarkhan%2C%20the%20Dragonspeaker.png +https://downloads.cardforge.org/images/achievements/Serra%20the%20Benevolent.png +https://downloads.cardforge.org/images/achievements/Simic%20Ascendancy.png https://downloads.cardforge.org/images/achievements/Sorin%20Markov.png https://downloads.cardforge.org/images/achievements/Sorin%2C%20Grim%20Nemesis.png +https://downloads.cardforge.org/images/achievements/Sorin%2C%20Imperious%20Bloodlord.png https://downloads.cardforge.org/images/achievements/Sorin%2C%20Lord%20of%20Innistrad.png https://downloads.cardforge.org/images/achievements/Sorin%2C%20Solemn%20Visitor.png +https://downloads.cardforge.org/images/achievements/Sorin%2C%20Vampire%20Lord.png https://downloads.cardforge.org/images/achievements/StormChaser.png https://downloads.cardforge.org/images/achievements/Tamiyo%2C%20Field%20Researcher.png https://downloads.cardforge.org/images/achievements/Tamiyo%2C%20the%20Moon%20Sage.png +https://downloads.cardforge.org/images/achievements/Teferi%2C%20Hero%20of%20Dominaria.png +https://downloads.cardforge.org/images/achievements/Teferi%2C%20Master%20of%20Time.png https://downloads.cardforge.org/images/achievements/Teferi%2C%20Temporal%20Archmage.png +https://downloads.cardforge.org/images/achievements/Teferi%2C%20Timebender.png +https://downloads.cardforge.org/images/achievements/Teferi%2C%20Timeless%20Voyager.png https://downloads.cardforge.org/images/achievements/Test%20of%20Endurance.png https://downloads.cardforge.org/images/achievements/Tezzeret%20the%20Schemer.png https://downloads.cardforge.org/images/achievements/Tezzeret%20the%20Seeker.png https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Agent%20of%20Bolas.png +https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Artifice%20Master.png +https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Cruel%20Machinist.png https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Master%20of%20Metal.png +https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Master%20of%20the%20Bridge.png +https://downloads.cardforge.org/images/achievements/Thassa%27s%20Oracle.png +https://downloads.cardforge.org/images/achievements/The%20Cheese%20Stands%20Alone.png +https://downloads.cardforge.org/images/achievements/The%20Royal%20Scions.png +https://downloads.cardforge.org/images/achievements/Tibalt%2C%20Cosmic%20Impostor.png https://downloads.cardforge.org/images/achievements/Tibalt%2C%20the%20Fiend-Blooded.png https://downloads.cardforge.org/images/achievements/TinyLeaders.png https://downloads.cardforge.org/images/achievements/TotalGameWins.png https://downloads.cardforge.org/images/achievements/TotalMatchWins.png https://downloads.cardforge.org/images/achievements/TotalPuzzlesSolved.png https://downloads.cardforge.org/images/achievements/Triskaidekaphobia.png +https://downloads.cardforge.org/images/achievements/Tyvar%20Kell.png https://downloads.cardforge.org/images/achievements/Ugin%2C%20the%20Spirit%20Dragon.png https://downloads.cardforge.org/images/achievements/Vanguard.png https://downloads.cardforge.org/images/achievements/Venser%2C%20the%20Sojourner.png +https://downloads.cardforge.org/images/achievements/Vivien%20Reid.png +https://downloads.cardforge.org/images/achievements/Vivien%20of%20the%20Arkbow.png +https://downloads.cardforge.org/images/achievements/Vivien%2C%20Arkbow%20Ranger.png +https://downloads.cardforge.org/images/achievements/Vivien%2C%20Monsters%27%20Advocate.png +https://downloads.cardforge.org/images/achievements/Vivien%2C%20Nature%27s%20Avenger.png https://downloads.cardforge.org/images/achievements/Vraska%20the%20Unseen.png +https://downloads.cardforge.org/images/achievements/Vraska%2C%20Golgari%20Queen.png +https://downloads.cardforge.org/images/achievements/Vraska%2C%20Regal%20Gorgon.png +https://downloads.cardforge.org/images/achievements/Vraska%2C%20Relic%20Seeker.png +https://downloads.cardforge.org/images/achievements/Vraska%2C%20Scheming%20Gorgon.png +https://downloads.cardforge.org/images/achievements/Wrenn%20and%20Six.png https://downloads.cardforge.org/images/achievements/Xenagos%2C%20the%20Reveler.png From c9bc9b6a57e622f906007830bdfcf2563e71a7d1 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Tue, 16 Mar 2021 21:02:12 +0100 Subject: [PATCH 17/32] Fix ReplaceToken --- .../src/main/java/forge/game/replacement/ReplaceToken.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java b/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java index 3ac8f4bf75a..0dfc382a9be 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java @@ -41,7 +41,7 @@ public class ReplaceToken extends ReplacementEffect { if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Affected))) { return false; } - if (!matchesValidParam("ValidToken", runParams.get(AbilityKey.Affected))) { + if (!matchesValidParam("ValidToken", runParams.get(AbilityKey.Token))) { return false; } From b6b1ae852dc9914927e8a395c9c896fa98349ddd Mon Sep 17 00:00:00 2001 From: Alumi Date: Wed, 17 Mar 2021 05:43:32 +0000 Subject: [PATCH 18/32] Refactor skip phase/step using replacement effect. Also add Fasting. --- .../src/main/java/forge/ai/SpellApiToAi.java | 1 + .../ai/ability/ChooseGenericEffectAi.java | 4 +- .../forge/ai/ability/PermanentCreatureAi.java | 4 +- .../java/forge/ai/ability/SkipPhaseAi.java | 23 ++++ .../main/java/forge/game/ability/ApiType.java | 1 + .../game/ability/effects/AddTurnEffect.java | 1 + .../game/ability/effects/SkipPhaseEffect.java | 126 ++++++++++++++++++ .../game/ability/effects/SkipTurnEffect.java | 4 +- .../main/java/forge/game/phase/ExtraTurn.java | 16 +++ .../java/forge/game/phase/PhaseHandler.java | 48 +++---- .../main/java/forge/game/player/Player.java | 31 ----- .../game/replacement/ReplaceBeginPhase.java | 51 +++++++ .../game/replacement/ReplacementHandler.java | 13 ++ .../game/replacement/ReplacementType.java | 1 + forge-gui/res/cardsfolder/a/avizoa.txt | 4 +- .../res/cardsfolder/b/blinding_angel.txt | 4 +- .../res/cardsfolder/b/brine_elemental.txt | 5 +- .../res/cardsfolder/c/colfenors_plans.txt | 3 +- .../res/cardsfolder/d/damia_sage_of_stone.txt | 3 +- .../cardsfolder/d/dovin_architect_of_law.txt | 2 +- .../res/cardsfolder/d/dragon_appeasement.txt | 3 +- .../res/cardsfolder/e/elfhame_sanctuary.txt | 4 +- .../res/cardsfolder/e/empty_city_ruse.txt | 3 +- forge-gui/res/cardsfolder/e/eon_hub.txt | 3 +- forge-gui/res/cardsfolder/f/false_peace.txt | 3 +- forge-gui/res/cardsfolder/f/fasting.txt | 13 ++ forge-gui/res/cardsfolder/f/fatespinner.txt | 9 +- forge-gui/res/cardsfolder/f/fatigue.txt | 3 +- .../res/cardsfolder/g/gibbering_descent.txt | 3 +- .../res/cardsfolder/i/ivory_gargoyle.txt | 2 +- .../res/cardsfolder/m/molten_firebird.txt | 2 +- .../res/cardsfolder/m/moment_of_silence.txt | 3 +- forge-gui/res/cardsfolder/n/necropotence.txt | 2 +- .../res/cardsfolder/n/necropotence_avatar.txt | 3 +- .../res/cardsfolder/n/null_profusion.txt | 3 +- .../res/cardsfolder/p/psychic_possession.txt | 2 +- forge-gui/res/cardsfolder/r/recycle.txt | 3 +- .../res/cardsfolder/r/revenant_patriarch.txt | 4 +- forge-gui/res/cardsfolder/s/sands_of_time.txt | 3 +- .../res/cardsfolder/s/savor_the_moment.txt | 1 - .../s/shisato_whispering_hunter.txt | 4 +- .../cardsfolder/s/solitary_confinement.txt | 3 +- forge-gui/res/cardsfolder/s/stasis.txt | 3 +- .../res/cardsfolder/s/stonehorn_dignitary.txt | 4 +- .../cardsfolder/s/symbiotic_deployment.txt | 3 +- .../res/cardsfolder/t/taigam_sidisis_hand.txt | 3 +- forge-gui/res/cardsfolder/t/the_eon_fog.txt | 3 +- .../res/cardsfolder/y/yawgmoths_bargain.txt | 3 +- .../cardsfolder/y/yosei_the_morning_star.txt | 4 +- 49 files changed, 318 insertions(+), 129 deletions(-) create mode 100644 forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java create mode 100644 forge-game/src/main/java/forge/game/ability/effects/SkipPhaseEffect.java create mode 100644 forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java create mode 100644 forge-gui/res/cardsfolder/f/fasting.txt diff --git a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java index 9a65948b86d..5f8aa04c2e1 100644 --- a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java @@ -152,6 +152,7 @@ public enum SpellApiToAi { .put(ApiType.SetLife, LifeSetAi.class) .put(ApiType.SetState, SetStateAi.class) .put(ApiType.Shuffle, ShuffleAi.class) + .put(ApiType.SkipPhase, SkipPhaseAi.class) .put(ApiType.SkipTurn, SkipTurnAi.class) .put(ApiType.StoreSVar, StoreSVarAi.class) .put(ApiType.Subgame, AlwaysPlayAi.class) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java index c45a66bc32e..0287e539f96 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java @@ -159,10 +159,10 @@ public class ChooseGenericEffectAi extends SpellAbilityAi { } } // FatespinnerSkipDraw,FatespinnerSkipMain,FatespinnerSkipCombat - if (player.hasKeyword("Skip your draw step.")) { + if (game.getReplacementHandler().wouldPhaseBeSkipped(player, "Draw")) { return skipDraw; } - if (player.hasKeyword("Skip your next combat phase.")) { + if (game.getReplacementHandler().wouldPhaseBeSkipped(player, "BeginCombat")) { return skipCombat; } diff --git a/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java b/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java index 63290093230..2f094df70ee 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java @@ -59,7 +59,7 @@ public class PermanentCreatureAi extends PermanentAi { if (sa.isDash()) { //only checks that the dashed creature will attack if (ph.isPlayerTurn(ai) && ph.getPhase().isBefore(PhaseType.COMBAT_DECLARE_ATTACKERS)) { - if (ai.hasKeyword("Skip your next combat phase.")) + if (game.getReplacementHandler().wouldPhaseBeSkipped(ai, "BeginCombat")) return false; if (ComputerUtilCost.canPayCost(sa.getHostCard().getSpellPermanent(), ai)) { //do not dash if creature can be played normally @@ -77,7 +77,7 @@ public class PermanentCreatureAi extends PermanentAi { // after attacking if (card.hasSVar("EndOfTurnLeavePlay") && (!ph.isPlayerTurn(ai) || ph.getPhase().isAfter(PhaseType.COMBAT_DECLARE_ATTACKERS) - || ai.hasKeyword("Skip your next combat phase."))) { + || game.getReplacementHandler().wouldPhaseBeSkipped(ai, "BeginCombat"))) { // AiPlayDecision.AnotherTime return false; } diff --git a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java new file mode 100644 index 00000000000..d72eedd0249 --- /dev/null +++ b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java @@ -0,0 +1,23 @@ +package forge.ai.ability; + +import forge.ai.SpellAbilityAi; +import forge.game.player.Player; +import forge.game.player.PlayerActionConfirmMode; +import forge.game.spellability.SpellAbility; + +public class SkipPhaseAi extends SpellAbilityAi { + @Override + protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { + return true; + } + + @Override + protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { + return mandatory || canPlayAI(aiPlayer, sa); + } + + @Override + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { + return true; + } +} diff --git a/forge-game/src/main/java/forge/game/ability/ApiType.java b/forge-game/src/main/java/forge/game/ability/ApiType.java index 4b4e2b17045..a024cf88353 100644 --- a/forge-game/src/main/java/forge/game/ability/ApiType.java +++ b/forge-game/src/main/java/forge/game/ability/ApiType.java @@ -153,6 +153,7 @@ public enum ApiType { SetLife (LifeSetEffect.class), SetState (SetStateEffect.class), Shuffle (ShuffleEffect.class), + SkipPhase (SkipPhaseEffect.class), SkipTurn (SkipTurnEffect.class), StoreSVar (StoreSVarEffect.class), Subgame (SubgameEffect.class), diff --git a/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java index 2d31436de09..b3df7038b16 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java @@ -57,6 +57,7 @@ public class AddTurnEffect extends SpellAbilityEffect { } if (sa.hasParam("SkipUntap")) { extra.setSkipUntap(true); + extra.setSkipUntapSA(sa); } if (sa.hasParam("NoSchemes")) { extra.setCantSetSchemesInMotion(true); diff --git a/forge-game/src/main/java/forge/game/ability/effects/SkipPhaseEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SkipPhaseEffect.java new file mode 100644 index 00000000000..c6e6839f157 --- /dev/null +++ b/forge-game/src/main/java/forge/game/ability/effects/SkipPhaseEffect.java @@ -0,0 +1,126 @@ +package forge.game.ability.effects; + +import java.util.List; + +import forge.GameCommand; +import forge.game.Game; +import forge.game.ability.AbilityFactory; +import forge.game.ability.SpellAbilityEffect; +import forge.game.card.Card; +import forge.game.player.Player; +import forge.game.replacement.ReplacementEffect; +import forge.game.replacement.ReplacementHandler; +import forge.game.replacement.ReplacementLayer; +import forge.game.spellability.SpellAbility; +import forge.game.trigger.TriggerType; +import forge.game.zone.ZoneType; + +public class SkipPhaseEffect extends SpellAbilityEffect { + + @Override + protected String getStackDescription(SpellAbility sa) { + final StringBuilder sb = new StringBuilder(); + final String duration = sa.getParam("Duration"); + final String phase = sa.getParam("Phase"); + final String step = sa.getParam("Step"); + + List tgtPlayers = getTargetPlayers(sa); + for (final Player player : tgtPlayers) { + sb.append(player).append(" "); + sb.append("skips their "); + if (duration == null) { + sb.append("next "); + } + if (phase != null) { + sb.append(phase.toLowerCase()).append(" phase."); + } else { + sb.append(step.toLowerCase()).append(" step."); + } + } + + return sb.toString(); + } + + @Override + public void resolve(SpellAbility sa) { + final String duration = sa.getParam("Duration"); + final String phase = sa.getParam("Phase"); + final String step = sa.getParam("Step"); + + List tgtPlayers = getTargetPlayers(sa); + for (final Player player : tgtPlayers) { + createSkipPhaseEffect(sa, player, duration, phase, step); + } + } + + public static void createSkipPhaseEffect(SpellAbility sa, final Player player, + final String duration, final String phase, final String step) { + final Card hostCard = sa.getHostCard(); + final Game game = hostCard.getGame(); + final String name = hostCard.getName() + "'s Effect"; + final String image = hostCard.getImageKey(); + final boolean isNextThisTurn = duration != null && duration.equals("NextThisTurn"); + + final Card eff = createEffect(sa, player, name, image); + + final StringBuilder sb = new StringBuilder(); + sb.append("Event$ BeginPhase | ActiveZones$ Command | ValidPlayer$ You | Phase$ "); + sb.append(phase != null ? phase : step); + if (duration != null && !isNextThisTurn) { + sb.append(" | Skip$ True"); + } + sb.append("| Description$ Skip "); + if (duration == null || isNextThisTurn) { + sb.append("your next "); + } else { + sb.append("each "); + } + if (phase != null) { + sb.append(phase.toLowerCase()).append(" phase"); + } else { + sb.append(step.toLowerCase()).append(" step"); + } + if (duration == null) { + sb.append("."); + } else { + if (game.getPhaseHandler().getPlayerTurn().equals(player)) { + sb.append(" of this turn."); + } else { + sb.append(" of your next turn."); + } + } + + final String repeffstr = sb.toString(); + ReplacementEffect re = ReplacementHandler.parseReplacement(repeffstr, eff, true); + // Set to layer to Control so it will be applied before "would begin your X phase/step" replacement effects + // (Any layer before Other is OK, since default layer is Other.) + re.setLayer(ReplacementLayer.Control); + if (duration == null || isNextThisTurn) { + String exilestr = "DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile"; + SpellAbility exile = AbilityFactory.getAbility(exilestr, eff); + re.setOverridingAbility(exile); + } + if (duration != null) { + final GameCommand endEffect = new GameCommand() { + private static final long serialVersionUID = -5861759814760561373L; + + @Override + public void run() { + game.getAction().exile(eff, null); + } + }; + + if (duration.equals("EndOfTurn") || isNextThisTurn) { + game.getEndOfTurn().addUntil(endEffect); + } else if (duration.equals("UntilTheEndOfYourNextTurn")) { + game.getEndOfTurn().addUntilEnd(player, endEffect); + } + } + eff.addReplacementEffect(re); + eff.updateStateForView(); + + game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); + game.getAction().moveTo(ZoneType.Command, eff, sa); + game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone); + } +} diff --git a/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java index f8c854c0993..41bb54b3110 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java @@ -54,7 +54,9 @@ public class SkipTurnEffect extends SpellAbilityEffect { calcTurn.setSubAbility((AbilitySub) AbilityFactory.getAbility(exile, eff)); ReplacementEffect re = ReplacementHandler.parseReplacement(repeffstr, eff, true); - re.setLayer(ReplacementLayer.Other); + // Set to layer to Control so it will be applied before "would begin your turn" replacement effects + // (Any layer before Other is OK, since default layer is Other.) + re.setLayer(ReplacementLayer.Control); re.setOverridingAbility(calcTurn); eff.addReplacementEffect(re); eff.updateStateForView(); diff --git a/forge-game/src/main/java/forge/game/phase/ExtraTurn.java b/forge-game/src/main/java/forge/game/phase/ExtraTurn.java index 5d7a0d29c17..f35c82d7845 100644 --- a/forge-game/src/main/java/forge/game/phase/ExtraTurn.java +++ b/forge-game/src/main/java/forge/game/phase/ExtraTurn.java @@ -22,6 +22,7 @@ import java.util.Collections; import java.util.List; import forge.game.player.Player; +import forge.game.spellability.SpellAbility; import forge.game.trigger.Trigger; /** @@ -38,6 +39,7 @@ public class ExtraTurn { private Player player = null; private List delTrig = Collections.synchronizedList(new ArrayList<>()); private boolean skipUntap = false; + private SpellAbility skipUntapSA; private boolean cantSetSchemesInMotion = false; /** * TODO: Write javadoc for Constructor. @@ -89,6 +91,20 @@ public class ExtraTurn { this.skipUntap = skipUntap; } + /** + * @return the skipUntapSA; + */ + public SpellAbility getSkipUntapSA() { + return skipUntapSA; + } + + /** + * @param skipUntapSA the skipUntapSA to set + */ + public void setSkipUntapSA(SpellAbility skipUntapSA) { + this.skipUntapSA = skipUntapSA; + } + /** * @return true if Schemes can't be played during the extra turn */ diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index 7f3c7e8bc5b..65a82c5fbce 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -24,6 +24,7 @@ import com.google.common.collect.Multimap; import forge.card.mana.ManaCost; import forge.game.*; import forge.game.ability.AbilityKey; +import forge.game.ability.effects.SkipPhaseEffect; import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardLists; @@ -166,6 +167,21 @@ public class PhaseHandler implements java.io.Serializable { turnEnded = PhaseType.isLast(phase, isTopsy); setPhase(PhaseType.getNext(phase, isTopsy)); } + + // Replacement effects + final Map repRunParams = AbilityKey.mapFromAffected(playerTurn); + repRunParams.put(AbilityKey.Phase, phase.nameForScripts); + ReplacementResult repres = game.getReplacementHandler().run(ReplacementType.BeginPhase, repRunParams); + if (repres != ReplacementResult.NotReplaced) { + // Currently there is no effect to skip entire beginning phase + // If in the future that kind of effect is added, need to handle it too. + // Handle skipping of entire combat phase + if (phase == PhaseType.COMBAT_BEGIN) { + setPhase(PhaseType.COMBAT_END); + } + advanceToNextPhase(); + return; + } } game.getStack().clearUndoStack(); //can't undo action from previous phase @@ -197,30 +213,19 @@ public class PhaseHandler implements java.io.Serializable { } private boolean isSkippingPhase(final PhaseType phase) { - // TODO: Refactor this method to replacement effect switch (phase) { - case UNTAP: - if (playerTurn.hasKeyword("Skip your next untap step.")) { - playerTurn.removeKeyword("Skip your next untap step.", false); // Skipping your "next" untap step is cumulative. - return true; - } - return playerTurn.hasKeyword("Skip the untap step of this turn.") || playerTurn.hasKeyword("Skip your untap step."); - - case UPKEEP: - return playerTurn.hasKeyword("Skip your upkeep step."); - case DRAW: - return playerTurn.isSkippingDraw() || turn == 1 && game.getPlayers().size() == 2; - - case MAIN1: - case MAIN2: - return playerTurn.isSkippingMain(); + return turn == 1 && game.getPlayers().size() == 2; case COMBAT_BEGIN: case COMBAT_DECLARE_ATTACKERS: return playerTurn.isSkippingCombat(); case COMBAT_DECLARE_BLOCKERS: + if (combat != null && combat.getAttackers().isEmpty()) { + endCombat(); + } + // Fall through case COMBAT_FIRST_STRIKE_DAMAGE: case COMBAT_DAMAGE: return !inCombat(); @@ -237,9 +242,6 @@ public class PhaseHandler implements java.io.Serializable { if (isSkippingPhase(phase)) { skipped = true; givePriorityToPlayer = false; - if (phase == PhaseType.COMBAT_DECLARE_ATTACKERS) { - playerTurn.removeKeyword("Skip your next combat phase."); - } } else { // Perform turn-based actions @@ -289,11 +291,6 @@ public class PhaseHandler implements java.io.Serializable { declareAttackersTurnBasedAction(); game.getStack().unfreezeStack(); - if (combat != null && combat.getAttackers().isEmpty() - && !game.getTriggerHandler().hasDelayedTriggers()) { - endCombat(); - } - if (combat != null) { for (Card c : combat.getAttackers()) { if (combat.getDefenderByAttacker(c) instanceof Player) { @@ -408,7 +405,6 @@ public class PhaseHandler implements java.io.Serializable { player.clearAssignedDamage(); } - playerTurn.removeKeyword("Skip all combat phases of this turn."); nUpkeepsThisTurn = 0; nMain1sThisTurn = 0; game.getStack().resetMaxDistinctSources(); @@ -861,7 +857,7 @@ public class PhaseHandler implements java.io.Serializable { game.getTriggerHandler().registerThisTurnDelayedTrigger(deltrig); } if (extraTurn.isSkipUntap()) { - nextPlayer.addKeyword("Skip the untap step of this turn."); + SkipPhaseEffect.createSkipPhaseEffect(extraTurn.getSkipUntapSA(), nextPlayer, null, null, "Untap"); } if (extraTurn.isCantSetSchemesInMotion()) { nextPlayer.addKeyword("Schemes can't be set in motion this turn."); diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 60a3ca5ab58..fed95cea50f 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -2698,28 +2698,9 @@ public class Player extends GameEntity implements Comparable { if (hasLost()) { return true; } - - if (hasKeyword("Skip your next combat phase.")) { - return true; - } - if (hasKeyword("Skip your combat phase.")) { - return true; - } - if (hasKeyword("Skip all combat phases of your next turn.")) { - replaceAllKeywordInstances("Skip all combat phases of your next turn.", - "Skip all combat phases of this turn."); - return true; - } - if (hasKeyword("Skip all combat phases of this turn.")) { - return true; - } return false; } - public boolean isSkippingMain() { - return hasKeyword("Skip your main phase."); - } - public int getStartingHandSize() { return startingHandSize; } @@ -2829,17 +2810,6 @@ public class Player extends GameEntity implements Comparable { } } - public boolean isSkippingDraw() { - if (hasKeyword("Skip your next draw step.")) { - removeKeyword("Skip your next draw step."); - return true; - } - if (hasKeyword("Skip your draw step.")) { - return true; - } - return false; - } - public CardCollectionView getInboundTokens() { return inboundTokens; } @@ -3393,7 +3363,6 @@ public class Player extends GameEntity implements Comparable { setLibrarySearched(0); setNumManaConversion(0); - removeKeyword("Skip the untap step of this turn."); removeKeyword("Schemes can't be set in motion this turn."); } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java new file mode 100644 index 00000000000..cbdefd22e25 --- /dev/null +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java @@ -0,0 +1,51 @@ +package forge.game.replacement; + +import forge.game.ability.AbilityKey; +import forge.game.card.Card; +import forge.game.player.Player; +import forge.game.spellability.SpellAbility; + +import java.util.Map; + +public class ReplaceBeginPhase extends ReplacementEffect { + + public ReplaceBeginPhase(final Map mapParams, final Card host, final boolean intrinsic) { + super(mapParams, host, intrinsic); + // set default layer to control + if (!mapParams.containsKey("Layer")) { + this.setLayer(ReplacementLayer.Control); + } + } + + @Override + public boolean canReplace(Map runParams) { + Player affected = (Player) runParams.get(AbilityKey.Affected); + if (!matchesValidParam("ValidPlayer", affected)) { + return false; + } + if (hasParam("Phase")) { + final String phase = getParam("Phase"); + final String currentPhase = (String) runParams.get(AbilityKey.Phase); + if (phase.equals("Combat") && currentPhase.equals("BeginCombat")) { + return true; + } + if (phase.equals("Main") && (currentPhase.equals("Main1") || currentPhase.equals("Main2"))) { + return true; + } + if (!phase.equals(currentPhase)) { + return false; + } + } + if (hasParam("Condition")) { + if (getParam("Condition").equals("Hellbent") && !affected.hasHellbent()) { + return false; + } + } + return true; + } + + @Override + public void setReplacingObjects(Map runParams, SpellAbility sa) { + sa.setReplacingObject(AbilityKey.Player, runParams.get(AbilityKey.Affected)); + } +} diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java index a8f8f7c06ec..17cdddbc73b 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java @@ -420,4 +420,17 @@ public class ReplacementHandler { } return ret; } + + /** + * Helper function to check if a phase would be skipped for AI. + */ + public boolean wouldPhaseBeSkipped(final Player player, final String phase) { + final Map repParams = AbilityKey.mapFromAffected(player); + repParams.put(AbilityKey.Phase, phase); + List list = getReplacementList(ReplacementType.BeginPhase, repParams, ReplacementLayer.Control); + if (!list.isEmpty()) { + return false; + } + return true; + } } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementType.java b/forge-game/src/main/java/forge/game/replacement/ReplacementType.java index 43c603fc5b4..ae1ddcb2048 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementType.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementType.java @@ -14,6 +14,7 @@ public enum ReplacementType { AddCounter(ReplaceAddCounter.class), AssignDealDamage(ReplaceAssignDealDamage.class), Attached(ReplaceAttached.class), + BeginPhase(ReplaceBeginPhase.class), BeginTurn(ReplaceBeginTurn.class), Counter(ReplaceCounter.class), CopySpell(ReplaceCopySpell.class), diff --git a/forge-gui/res/cardsfolder/a/avizoa.txt b/forge-gui/res/cardsfolder/a/avizoa.txt index 0ae4c8823a8..e4aeb81e2c6 100644 --- a/forge-gui/res/cardsfolder/a/avizoa.txt +++ b/forge-gui/res/cardsfolder/a/avizoa.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Creature Jellyfish PT:2/2 K:Flying -A:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ 2 | NumDef$ 2 | ActivationLimit$ 1 | SubAbility$ DBSkipTurn | SpellDescription$ CARDNAME gets +2/+2 until end of turn. You skip your next untap step. Activate this ability only once each turn. -SVar:DBSkipTurn:DB$ Pump | Defined$ You | KW$ Skip your next untap step. | Permanent$ True +A:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ 2 | NumDef$ 2 | ActivationLimit$ 1 | SubAbility$ DBSkipPhase | SpellDescription$ CARDNAME gets +2/+2 until end of turn. You skip your next untap step. Activate this ability only once each turn. +SVar:DBSkipPhase:DB$ SkipPhase | Defined$ You | Step$ Untap AI:RemoveDeck:All Oracle:Flying\n{0}: Avizoa gets +2/+2 until end of turn. You skip your next untap step. Activate this ability only once each turn. diff --git a/forge-gui/res/cardsfolder/b/blinding_angel.txt b/forge-gui/res/cardsfolder/b/blinding_angel.txt index 178a750c498..db6287ed101 100644 --- a/forge-gui/res/cardsfolder/b/blinding_angel.txt +++ b/forge-gui/res/cardsfolder/b/blinding_angel.txt @@ -3,6 +3,6 @@ ManaCost:3 W W Types:Creature Angel PT:2/4 K:Flying -T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player skips their next combat phase. -SVar:TrigPump:DB$ Pump | Defined$ TriggeredTarget | KW$ Skip your next combat phase. | Permanent$ True +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSkipCombat | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player skips their next combat phase. +SVar:TrigSkipCombat:DB$ SkipPhase | Defined$ TriggeredTarget | Phase$ Combat Oracle:Flying (This creature can't be blocked except by creatures with flying or reach.)\nWhenever Blinding Angel deals combat damage to a player, that player skips their next combat phase. diff --git a/forge-gui/res/cardsfolder/b/brine_elemental.txt b/forge-gui/res/cardsfolder/b/brine_elemental.txt index 3ee33d02e28..ccc76eff4af 100644 --- a/forge-gui/res/cardsfolder/b/brine_elemental.txt +++ b/forge-gui/res/cardsfolder/b/brine_elemental.txt @@ -3,7 +3,6 @@ ManaCost:4 U U Types:Creature Elemental PT:5/4 K:Morph:5 U U -T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, each opponent skips their next untap step. -SVar:TrigPump:DB$ Pump | Defined$ Player.Opponent | KW$ Skip your next untap step. | Permanent$ True -SVar:Picture:http://www.wizards.com/global/images/magic/general/brine_elemental.jpg +T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigSkipUntap | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, each opponent skips their next untap step. +SVar:TrigSkipUntap:DB$ SkipPhase | Defined$ Player.Opponent | Step$ Untap Oracle:Morph {5}{U}{U} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)\nWhen Brine Elemental is turned face up, each opponent skips their next untap step. diff --git a/forge-gui/res/cardsfolder/c/colfenors_plans.txt b/forge-gui/res/cardsfolder/c/colfenors_plans.txt index 113c773e7bd..2eafce7f308 100644 --- a/forge-gui/res/cardsfolder/c/colfenors_plans.txt +++ b/forge-gui/res/cardsfolder/c/colfenors_plans.txt @@ -4,12 +4,11 @@ Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile the top seven cards of your library face down. You may look at the cards exiled with CARDNAME, and you may play lands and cast spells from among those cards. SVar:TrigExile:DB$ Dig | Defined$ You | DigNum$ 7 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | ExileFaceDown$ True | NoReveal$ True S:Mode$ Continuous | Affected$ Card.IsRemembered+ExiledWithSource | AffectedZone$ Exile | MayPlay$ True | MayLookAt$ You | Description$ You may look at the cards exiled with CARDNAME, and you may play lands and cast spells from among those cards. -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. S:Mode$ CantBeCast | ValidCard$ Card | Caster$ You | NumLimitEachTurn$ 1 | Description$ You can't cast more than one spell each turn. T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/colfenors_plans.jpg Oracle:When Colfenor's Plans enters the battlefield, exile the top seven cards of your library face down.\nYou may look at the cards exiled with Colfenor's Plans, and you may play lands and cast spells from among those cards.\nSkip your draw step.\nYou can't cast more than one spell each turn. diff --git a/forge-gui/res/cardsfolder/d/damia_sage_of_stone.txt b/forge-gui/res/cardsfolder/d/damia_sage_of_stone.txt index f068862171e..2ed80e3353f 100644 --- a/forge-gui/res/cardsfolder/d/damia_sage_of_stone.txt +++ b/forge-gui/res/cardsfolder/d/damia_sage_of_stone.txt @@ -3,10 +3,9 @@ ManaCost:4 G U B Types:Legendary Creature Gorgon Wizard PT:4/4 K:Deathtouch -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ LT7 | Execute$ TrigDraw | TriggerDescription$ At the beginning of your upkeep, if you have fewer than seven cards in hand, draw cards equal to the difference. SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ Difference SVar:X:Count$InYourHand SVar:Difference:Number$7/Minus.X -SVar:Picture:http://www.wizards.com/global/images/magic/general/damia_sage_of_stone.jpg Oracle:Deathtouch\nSkip your draw step.\nAt the beginning of your upkeep, if you have fewer than seven cards in hand, draw cards equal to the difference. diff --git a/forge-gui/res/cardsfolder/d/dovin_architect_of_law.txt b/forge-gui/res/cardsfolder/d/dovin_architect_of_law.txt index 52810d3b167..227219ac320 100644 --- a/forge-gui/res/cardsfolder/d/dovin_architect_of_law.txt +++ b/forge-gui/res/cardsfolder/d/dovin_architect_of_law.txt @@ -7,5 +7,5 @@ SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 A:AB$ Tap | Cost$ SubCounter<1/LOYALTY> | ValidTgts$ Creature | TgtPrompt$ Choose target creature to tap. | Planeswalker$ True | SubAbility$ DovinPump | SpellDescription$ Tap target creature. It doesn't untap during its controller's next untap step. SVar:DovinPump:DB$ Pump | Defined$ Targeted | Permanent$ True | KW$ HIDDEN This card doesn't untap during your next untap step. A:AB$ TapAll | Cost$ SubCounter<9/LOYALTY> | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | ValidCards$ Permanent | Planeswalker$ True | Ultimate$ True | SubAbility$ NoUntap | SpellDescription$ Tap all permanents target opponent controls. That player skips their next untap step. -SVar:NoUntap:DB$ Pump | Defined$ TargetedPlayer | IsCurse$ True | KW$ Skip your next untap step. | Permanent$ True +SVar:NoUntap:DB$ SkipPhase | Defined$ TargetedPlayer | Step$ Untap | IsCurse$ True Oracle:[+1]: You gain 2 life and draw a card.\n[−1]: Tap target creature. It doesn't untap during its controller's next untap step.\n[−9]: Tap all permanents target opponent controls. That player skips their next untap step. diff --git a/forge-gui/res/cardsfolder/d/dragon_appeasement.txt b/forge-gui/res/cardsfolder/d/dragon_appeasement.txt index 4f070eee718..e240962b18e 100644 --- a/forge-gui/res/cardsfolder/d/dragon_appeasement.txt +++ b/forge-gui/res/cardsfolder/d/dragon_appeasement.txt @@ -1,9 +1,8 @@ Name:Dragon Appeasement ManaCost:3 B R G Types:Enchantment -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Sacrificed | ValidCard$ Creature.YouCtrl | Execute$ TrigDrawCard | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever you sacrifice a creature, you may draw a card. SVar:TrigDrawCard:DB$Draw | Defined$ You | NumCards$ 1 AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/dragon_appeasement.jpg Oracle:Skip your draw step.\nWhenever you sacrifice a creature, you may draw a card. diff --git a/forge-gui/res/cardsfolder/e/elfhame_sanctuary.txt b/forge-gui/res/cardsfolder/e/elfhame_sanctuary.txt index daac07e28b8..10ea140bce1 100644 --- a/forge-gui/res/cardsfolder/e/elfhame_sanctuary.txt +++ b/forge-gui/res/cardsfolder/e/elfhame_sanctuary.txt @@ -3,8 +3,6 @@ ManaCost:1 G Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChange | TriggerDescription$ At the beginning of your upkeep, you may search your library for a basic land card, reveal that card, and put it into your hand. If you do, you skip your draw step this turn and shuffle your library. SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic | ChangeNum$ 1 | SubAbility$ DBSkipDraw | ShuffleNonMandatory$ True -SVar:DBSkipDraw:DB$ Effect | Name$ Elfhame Sanctuary Effect | Defined$ You | StaticAbilities$ SkipDraw -SVar:SkipDraw:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | EffectZone$ Command | Description$ Skip your draw step. +SVar:DBSkipDraw:DB$ SkipPhase | Defined$ You | Step$ Draw | Duration$ EndOfTurn AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/elfhame_sanctuary.jpg Oracle:At the beginning of your upkeep, you may search your library for a basic land card, reveal that card, and put it into your hand. If you do, you skip your draw step this turn and shuffle your library. diff --git a/forge-gui/res/cardsfolder/e/empty_city_ruse.txt b/forge-gui/res/cardsfolder/e/empty_city_ruse.txt index bd8d1d749bd..76d3ed83cb5 100644 --- a/forge-gui/res/cardsfolder/e/empty_city_ruse.txt +++ b/forge-gui/res/cardsfolder/e/empty_city_ruse.txt @@ -1,7 +1,6 @@ Name:Empty City Ruse ManaCost:W Types:Sorcery -A:SP$ Pump | Cost$ W | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | KW$ Skip all combat phases of your next turn. | Permanent$ True | SpellDescription$ Target opponent skips all combat phases of their next turn. +A:SP$ SkipPhase | Cost$ W | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Phase$ Combat | Duration$ UntilTheEndOfYourNextTurn | SpellDescription$ Target opponent skips all combat phases of their next turn. AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/empty_city_ruse.jpg Oracle:Target opponent skips all combat phases of their next turn. diff --git a/forge-gui/res/cardsfolder/e/eon_hub.txt b/forge-gui/res/cardsfolder/e/eon_hub.txt index 191e96c7f6a..c4008c45149 100644 --- a/forge-gui/res/cardsfolder/e/eon_hub.txt +++ b/forge-gui/res/cardsfolder/e/eon_hub.txt @@ -1,8 +1,7 @@ Name:Eon Hub ManaCost:5 Types:Artifact -S:Mode$ Continuous | Affected$ Player | AddKeyword$ Skip your upkeep step. | Description$ Players skip their upkeep steps. +R:Event$ BeginPhase | ActiveZones$ Battlefield | Phase$ Upkeep | Skip$ True | Description$ Players skip their upkeep steps. SVar:NonStackingEffect:True AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/eon_hub.jpg Oracle:Players skip their upkeep steps. diff --git a/forge-gui/res/cardsfolder/f/false_peace.txt b/forge-gui/res/cardsfolder/f/false_peace.txt index 777b239894c..22f136ccf64 100644 --- a/forge-gui/res/cardsfolder/f/false_peace.txt +++ b/forge-gui/res/cardsfolder/f/false_peace.txt @@ -1,7 +1,6 @@ Name:False Peace ManaCost:W Types:Sorcery -A:SP$ Pump | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | KW$ Skip all combat phases of your next turn. | Permanent$ True | SpellDescription$ Target player skips all combat phases of their next turn. +A:SP$ SkipPhase | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | Phase$ Combat | Duration$ UntilTheEndOfYourNextTurn | SpellDescription$ Target player skips all combat phases of their next turn. AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/false_peace.jpg Oracle:Target player skips all combat phases of their next turn. diff --git a/forge-gui/res/cardsfolder/f/fasting.txt b/forge-gui/res/cardsfolder/f/fasting.txt new file mode 100644 index 00000000000..8cf23ad00e1 --- /dev/null +++ b/forge-gui/res/cardsfolder/f/fasting.txt @@ -0,0 +1,13 @@ +Name:Fasting +ManaCost:W +Types:Enchantment +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutHunger | TriggerDescription$ At the beginning of your upkeep, put a hunger counter on CARDNAME. Then destroy CARDNAME if it has five or more hunger counters on it. +SVar:TrigPutHunger:DB$ PutCounter | Defined$ Self | CounterType$ HUNGER | CounterNum$ 1 | SubAbility$ DBDestroyHunger +SVar:DBDestroyHunger:DB$ Destroy | Defined$ Self | ConditionDefined$ Self | ConditionPresent$ Card.counters_GE5_HUNGER +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Layer$ Other | Optional$ True | ReplaceWith$ DBGainLife | Description$ If you would begin your draw step, you may skip that step instead. If you do, you gain 2 life. +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 +T:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ DBDestroySelf | TriggerDescription$ When you draw a card, destroy CARDNAME. +SVar:DBDestroySelf:DB$ Destroy | Defined$ Self +AI:RemoveDeck:All +AI:RemoveDeck:Random +Oracle:At the beginning of your upkeep, put a hunger counter on Fasting. Then destroy Fasting if it has five or more hunger counters on it.\nIf you would begin your draw step, you may skip that step instead. If you do, you gain 2 life.\nWhen you draw a card, destroy Fasting. diff --git a/forge-gui/res/cardsfolder/f/fatespinner.txt b/forge-gui/res/cardsfolder/f/fatespinner.txt index b91f2dabd16..4c4b88aab27 100644 --- a/forge-gui/res/cardsfolder/f/fatespinner.txt +++ b/forge-gui/res/cardsfolder/f/fatespinner.txt @@ -3,9 +3,8 @@ ManaCost:1 U U Types:Creature Human Wizard PT:1/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigSkipPhase | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each opponent's upkeep, that player chooses draw step, main phase, or combat phase. The player skips each instance of the chosen step or phase this turn. -SVar:TrigSkipPhase:DB$ GenericChoice | Defined$ TriggeredPlayer | Choices$ FatespinnerSkipDraw,FatespinnerSkipMain,FatespinnerSkipCombat | ShowChoice$ True | AILogic$ Random -SVar:FatespinnerSkipDraw:DB$ Pump | Defined$ TriggeredPlayer | KW$ Skip your draw step. | SpellDescription$ Draw step -SVar:FatespinnerSkipMain:DB$ Pump | Defined$ TriggeredPlayer | KW$ Skip your main phase. | SpellDescription$ Main phase -SVar:FatespinnerSkipCombat:DB$ Pump | Defined$ TriggeredPlayer | KW$ Skip your combat phase. | SpellDescription$ Combat phase -SVar:Picture:http://www.wizards.com/global/images/magic/general/fatespinner.jpg +SVar:TrigSkipPhase:DB$ GenericChoice | Defined$ TriggeredPlayer | Choices$ FatespinnerSkipDraw,FatespinnerSkipMain,FatespinnerSkipCombat | ShowChoice$ ExceptSelf | AILogic$ Random +SVar:FatespinnerSkipDraw:DB$ SkipPhase | Defined$ TriggeredPlayer | Step$ Draw | Duration$ EndOfTurn | SpellDescription$ Draw step +SVar:FatespinnerSkipMain:DB$ SkipPhase | Defined$ TriggeredPlayer | Phase$ Main | Duration$ EndOfTurn | SpellDescription$ Main phase +SVar:FatespinnerSkipCombat:DB$ SkipPhase | Defined$ TriggeredPlayer | Phase$ Combat | Duration$ EndOfTurn | SpellDescription$ Combat phase Oracle:At the beginning of each opponent's upkeep, that player chooses draw step, main phase, or combat phase. The player skips each instance of the chosen step or phase this turn. diff --git a/forge-gui/res/cardsfolder/f/fatigue.txt b/forge-gui/res/cardsfolder/f/fatigue.txt index b25405d74d3..890d9ff3817 100644 --- a/forge-gui/res/cardsfolder/f/fatigue.txt +++ b/forge-gui/res/cardsfolder/f/fatigue.txt @@ -1,7 +1,6 @@ Name:Fatigue ManaCost:1 U Types:Sorcery -A:SP$ Pump | Cost$ 1 U | ValidTgts$ Player | TgtPrompt$ Select target player | KW$ Skip your next draw step. | Permanent$ True | SpellDescription$ Target player skips their next draw step. +A:SP$ SkipPhase | Cost$ 1 U | ValidTgts$ Player | TgtPrompt$ Select target player | Step$ Draw | SpellDescription$ Target player skips their next draw step. AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/fatigue.jpg Oracle:Target player skips their next draw step. diff --git a/forge-gui/res/cardsfolder/g/gibbering_descent.txt b/forge-gui/res/cardsfolder/g/gibbering_descent.txt index ad5049de72a..5a6efcab256 100644 --- a/forge-gui/res/cardsfolder/g/gibbering_descent.txt +++ b/forge-gui/res/cardsfolder/g/gibbering_descent.txt @@ -2,10 +2,9 @@ Name:Gibbering Descent ManaCost:4 B B Types:Enchantment K:Madness:2 B B -S:Mode$ Continuous | Affected$ You | Condition$ Hellbent | AddKeyword$ Skip your upkeep step. | Description$ Hellbent — Skip your upkeep step if you have no cards in hand. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Upkeep | Skip$ True | Condition$ Hellbent | Description$ Hellbent — Skip your upkeep step if you have no cards in hand. T:Mode$ Phase | Phase$ Upkeep | Execute$ TrigLoseLifeDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, that player loses 1 life and discards a card. SVar:TrigLoseLifeDiscard:DB$LoseLife | Defined$ TriggeredPlayer | LifeAmount$ 1 | SubAbility$ DBDiscard SVar:DBDiscard:DB$Discard | Defined$ TriggeredPlayer | NumCards$ 1 | Mode$ TgtChoose AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/gibbering_descent.jpg Oracle:At the beginning of each player's upkeep, that player loses 1 life and discards a card.\nHellbent — Skip your upkeep step if you have no cards in hand.\nMadness {2}{B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/i/ivory_gargoyle.txt b/forge-gui/res/cardsfolder/i/ivory_gargoyle.txt index c0c77545eec..16d016ebebb 100644 --- a/forge-gui/res/cardsfolder/i/ivory_gargoyle.txt +++ b/forge-gui/res/cardsfolder/i/ivory_gargoyle.txt @@ -4,7 +4,7 @@ Types:Creature Gargoyle PT:2/2 K:Flying T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigSkipDraw | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, return it to the battlefield under its owner's control at the beginning of the next end step and you skip your next draw step. -SVar:TrigSkipDraw:DB$ Pump | Defined$ TriggeredCardController | KW$ Skip your next draw step. | Permanent$ True | SubAbility$ TrigDelay +SVar:TrigSkipDraw:DB$ SkipPhase | Defined$ TriggeredCardController | Step$ Draw | SubAbility$ TrigDelay SVar:TrigDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return CARDNAME to the battlefield. SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Graveyard | Destination$ Battlefield A:AB$ ChangeZone | Cost$ 4 W | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile CARDNAME. diff --git a/forge-gui/res/cardsfolder/m/molten_firebird.txt b/forge-gui/res/cardsfolder/m/molten_firebird.txt index ba7e8f7ac75..04170835df0 100644 --- a/forge-gui/res/cardsfolder/m/molten_firebird.txt +++ b/forge-gui/res/cardsfolder/m/molten_firebird.txt @@ -4,7 +4,7 @@ Types:Creature Phoenix PT:2/2 K:Flying T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigSkipDraw | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, return it to the battlefield under its owner's control at the beginning of the next end step and you skip your next draw step. -SVar:TrigSkipDraw:DB$ Pump | Defined$ TriggeredCardController | KW$ Skip your next draw step. | Permanent$ True | SubAbility$ TrigDelay +SVar:TrigSkipDraw:DB$ SkipPhase | Defined$ TriggeredCardController | Step$ Draw | SubAbility$ TrigDelay SVar:TrigDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return CARDNAME to the battlefield. SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Graveyard | Destination$ Battlefield A:AB$ ChangeZone | Cost$ 4 R | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile CARDNAME. diff --git a/forge-gui/res/cardsfolder/m/moment_of_silence.txt b/forge-gui/res/cardsfolder/m/moment_of_silence.txt index 7e08cd3cf09..62793280279 100644 --- a/forge-gui/res/cardsfolder/m/moment_of_silence.txt +++ b/forge-gui/res/cardsfolder/m/moment_of_silence.txt @@ -1,7 +1,6 @@ Name:Moment of Silence ManaCost:W Types:Instant -A:SP$ Pump | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | KW$ Skip your next combat phase. | SpellDescription$ Target player skips their next combat phase this turn. +A:SP$ SkipPhase | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | Phase$ Combat | Duration$ NextThisTurn | SpellDescription$ Target player skips their next combat phase this turn. AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/moment_of_silence.jpg Oracle:Target player skips their next combat phase this turn. diff --git a/forge-gui/res/cardsfolder/n/necropotence.txt b/forge-gui/res/cardsfolder/n/necropotence.txt index e22a9175061..807f5badb50 100644 --- a/forge-gui/res/cardsfolder/n/necropotence.txt +++ b/forge-gui/res/cardsfolder/n/necropotence.txt @@ -1,7 +1,7 @@ Name:Necropotence ManaCost:B B B Types:Enchantment -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Discarded | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigChange | TriggerDescription$ Whenever you discard a card, exile that card from your graveyard. SVar:TrigChange:DB$ ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Exile A:AB$ ChangeZone | Cost$ PayLife<1> | Defined$ TopOfLibrary | Origin$ Library | Destination$ Exile | ExileFaceDown$ True | RememberChanged$ True | SubAbility$ DelayedReturn | AILogic$ Necropotence | AILifeThreshold$ 1 | SpellDescription$ Exile the top card of your library face down. Put that card into your hand at the beginning of your next end step. diff --git a/forge-gui/res/cardsfolder/n/necropotence_avatar.txt b/forge-gui/res/cardsfolder/n/necropotence_avatar.txt index b16c50e257c..d493cab0368 100644 --- a/forge-gui/res/cardsfolder/n/necropotence_avatar.txt +++ b/forge-gui/res/cardsfolder/n/necropotence_avatar.txt @@ -2,13 +2,12 @@ Name:Necropotence Avatar ManaCost:no cost Types:Vanguard HandLifeModifier:+0/+4 -S:Mode$ Continuous | Affected$ You | EffectZone$ Command | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Command | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Phase | Phase$ End Of Turn | ValidPlayer$ You | TriggerZones$ Command | CheckSVar$ Turns | SVarCompare$ GT1 | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your end step, if it's not the first turn of the game, put a death counter on Necropotence Avatar. You draw X cards and you lose X life, where X is the number of death counters on Necropotence Avatar. SVar:TrigPutCounter:DB$PutCounter | Defined$ Self | CounterType$ DEATH | CounterNum$ 1 | SubAbility$ TrigDraw SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ X | SubAbility$ DBLoseLife SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X SVar:X:Count$CardCounters.DEATH SVar:Turns:Count$TotalTurns -SVar:Picture:https://downloads.cardforge.org/images/cards/VAN/Necropotence Avatar.full.jpg AI:RemoveDeck:All Oracle:Hand +0, life +4\nSkip your draw step.\nAt the beginning of your end step, if it's not the first turn of the game, put a death counter on Necropotence Avatar. You draw X cards and you lose X life, where X is the number of death counters on Necropotence Avatar. diff --git a/forge-gui/res/cardsfolder/n/null_profusion.txt b/forge-gui/res/cardsfolder/n/null_profusion.txt index 0c84047906b..f21ceab6871 100644 --- a/forge-gui/res/cardsfolder/n/null_profusion.txt +++ b/forge-gui/res/cardsfolder/n/null_profusion.txt @@ -1,11 +1,10 @@ Name:Null Profusion ManaCost:4 B B Types:Enchantment -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. S:Mode$ Continuous | Affected$ You | SetMaxHandSize$ 2 | Description$ Your maximum hand size is 2. T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever you play a card, draw a card. T:Mode$ LandPlayed | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | Secondary$ True | TriggerDescription$ Whenever you play a card, draw a card. SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ 1 AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/null_profusion.jpg Oracle:Skip your draw step.\nWhenever you play a card, draw a card.\nYour maximum hand size is two. diff --git a/forge-gui/res/cardsfolder/p/psychic_possession.txt b/forge-gui/res/cardsfolder/p/psychic_possession.txt index 5eff45f1e4d..230b3155477 100644 --- a/forge-gui/res/cardsfolder/p/psychic_possession.txt +++ b/forge-gui/res/cardsfolder/p/psychic_possession.txt @@ -3,7 +3,7 @@ ManaCost:2 U U Types:Enchantment Aura K:Enchant opponent A:SP$ Attach | Cost$ 2 U U | ValidTgts$ Opponent | AILogic$ Curse -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Drawn | ValidCard$ Card.OwnedBy Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDraw | OptionalDecider$ You | TriggerDescription$ Whenever enchanted opponent draws a card, you may draw a card. SVar:TrigDraw:DB$ Draw | NumCards$ 1 AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/r/recycle.txt b/forge-gui/res/cardsfolder/r/recycle.txt index c52f2afbce5..5004e27c63d 100644 --- a/forge-gui/res/cardsfolder/r/recycle.txt +++ b/forge-gui/res/cardsfolder/r/recycle.txt @@ -1,11 +1,10 @@ Name:Recycle ManaCost:4 G G Types:Enchantment -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. S:Mode$ Continuous | Affected$ You | SetMaxHandSize$ 2 | Description$ Your maximum hand size is 2. T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever you play a card, draw a card. T:Mode$ LandPlayed | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | Secondary$ True | TriggerDescription$ Whenever you play a card, draw a card. SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ 1 AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/recycle.jpg Oracle:Skip your draw step.\nWhenever you play a card, draw a card.\nYour maximum hand size is two. diff --git a/forge-gui/res/cardsfolder/r/revenant_patriarch.txt b/forge-gui/res/cardsfolder/r/revenant_patriarch.txt index 23d075aa2f2..34133cdacf1 100644 --- a/forge-gui/res/cardsfolder/r/revenant_patriarch.txt +++ b/forge-gui/res/cardsfolder/r/revenant_patriarch.txt @@ -2,8 +2,8 @@ Name:Revenant Patriarch ManaCost:4 B Types:Creature Spirit PT:4/3 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ RevenantPump | TriggerDescription$ When CARDNAME enters the battlefield, if {W} was spent to cast it, target player skips their next combat phase. -SVar:RevenantPump:DB$ Pump | ValidTgts$ Player | KW$ Skip your next combat phase. | Permanent$ True | TgtPrompt$ Select target Player | IsCurse$ True +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ RevenantSkipCombat | TriggerDescription$ When CARDNAME enters the battlefield, if {W} was spent to cast it, target player skips their next combat phase. +SVar:RevenantSkipCombat:DB$ SkipPhase | ValidTgts$ Player | ConditionManaSpent$ W | Phase$ Combat | TgtPrompt$ Select target Player | IsCurse$ True K:CARDNAME can't block. SVar:ManaNeededToAvoidNegativeEffect:white AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/s/sands_of_time.txt b/forge-gui/res/cardsfolder/s/sands_of_time.txt index a09ef2bc3a3..6e4e6c59b3b 100644 --- a/forge-gui/res/cardsfolder/s/sands_of_time.txt +++ b/forge-gui/res/cardsfolder/s/sands_of_time.txt @@ -1,11 +1,10 @@ Name:Sands of Time ManaCost:4 Types:Artifact -S:Mode$ Continuous | Affected$ Player | AddKeyword$ Skip your untap step. | Description$ Each player skips their untap step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | Phase$ Untap | Skip$ True | Description$ Each player skips their untap step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigSands | TriggerDescription$ At the beginning of each player's upkeep, that player simultaneously untaps each tapped artifact, creature, and land they control and taps each untapped artifact, creature, and land they control. SVar:TrigSands:DB$ UntapAll | Defined$ TriggeredPlayer | ValidCards$ Artifact.tapped,Creature.tapped,Land.tapped | RememberUntapped$ True | SubAbility$ DBTap SVar:DBTap:DB$ TapAll | Defined$ TriggeredPlayer | ValidCards$ Artifact.untapped+IsNotRemembered,Creature.untapped+IsNotRemembered,Land.untapped+IsNotRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/sands_of_time.jpg Oracle:Each player skips their untap step.\nAt the beginning of each player's upkeep, that player simultaneously untaps each tapped artifact, creature, and land they control and taps each untapped artifact, creature, and land they control. diff --git a/forge-gui/res/cardsfolder/s/savor_the_moment.txt b/forge-gui/res/cardsfolder/s/savor_the_moment.txt index f43c7a09bec..df8980b8eca 100644 --- a/forge-gui/res/cardsfolder/s/savor_the_moment.txt +++ b/forge-gui/res/cardsfolder/s/savor_the_moment.txt @@ -2,5 +2,4 @@ Name:Savor the Moment ManaCost:1 U U Types:Sorcery A:SP$ AddTurn | Cost$ 1 U U | NumTurns$ 1 | SkipUntap$ True | SpellDescription$ Take an extra turn after this one. Skip the untap step of that turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/savor_the_moment.jpg Oracle:Take an extra turn after this one. Skip the untap step of that turn. diff --git a/forge-gui/res/cardsfolder/s/shisato_whispering_hunter.txt b/forge-gui/res/cardsfolder/s/shisato_whispering_hunter.txt index 3dea951fcee..82312f3824d 100644 --- a/forge-gui/res/cardsfolder/s/shisato_whispering_hunter.txt +++ b/forge-gui/res/cardsfolder/s/shisato_whispering_hunter.txt @@ -4,8 +4,8 @@ Types:Legendary Creature Snake Warrior PT:2/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a Snake. SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ Snake -T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player skips their next untap step. -SVar:TrigPump:DB$ Pump | Defined$ TriggeredTarget | KW$ Skip your next untap step. | Permanent$ True +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSkipPhase | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player skips their next untap step. +SVar:TrigSkipPhase:DB$ SkipPhase | Defined$ TriggeredTarget | Step$ Untap SVar:NeedsToPlayVar:Z GE2 SVar:Z:Count$Valid Creature.Snake+YouCtrl+cmcLE2 DeckNeeds:Type$Snake diff --git a/forge-gui/res/cardsfolder/s/solitary_confinement.txt b/forge-gui/res/cardsfolder/s/solitary_confinement.txt index 997aae1ea80..a45e43f4307 100644 --- a/forge-gui/res/cardsfolder/s/solitary_confinement.txt +++ b/forge-gui/res/cardsfolder/s/solitary_confinement.txt @@ -2,9 +2,8 @@ Name:Solitary Confinement ManaCost:2 W Types:Enchantment K:UpkeepCost:Discard<1/Card> -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. S:Mode$ Continuous | Affected$ You | AddKeyword$ Shroud | Description$ You have shroud. (You can't be the target of spells or abilities.) R:Event$ DamageDone | ActiveZones$ Battlefield | Prevent$ True | ValidTarget$ You | Description$ Prevent all damage that would be dealt to you. AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/solitary_confinement.jpg Oracle:At the beginning of your upkeep, sacrifice Solitary Confinement unless you discard a card.\nSkip your draw step.\nYou have shroud. (You can't be the target of spells or abilities.)\nPrevent all damage that would be dealt to you. diff --git a/forge-gui/res/cardsfolder/s/stasis.txt b/forge-gui/res/cardsfolder/s/stasis.txt index 76b89021eb2..e378f29d928 100644 --- a/forge-gui/res/cardsfolder/s/stasis.txt +++ b/forge-gui/res/cardsfolder/s/stasis.txt @@ -1,9 +1,8 @@ Name:Stasis ManaCost:1 U Types:Enchantment -S:Mode$ Continuous | Affected$ Player | AddKeyword$ Skip your untap step. | Description$ Players skip their untap steps. +R:Event$ BeginPhase | ActiveZones$ Battlefield | Phase$ Untap | Skip$ True | Description$ Players skip their untap steps. K:UpkeepCost:U AI:RemoveDeck:Random SVar:NonStackingEffect:True -SVar:Picture:http://www.wizards.com/global/images/magic/general/stasis.jpg Oracle:Players skip their untap steps.\nAt the beginning of your upkeep, sacrifice Stasis unless you pay {U}. diff --git a/forge-gui/res/cardsfolder/s/stonehorn_dignitary.txt b/forge-gui/res/cardsfolder/s/stonehorn_dignitary.txt index cd0ec2a66a6..1ae8140c4e0 100644 --- a/forge-gui/res/cardsfolder/s/stonehorn_dignitary.txt +++ b/forge-gui/res/cardsfolder/s/stonehorn_dignitary.txt @@ -2,6 +2,6 @@ Name:Stonehorn Dignitary ManaCost:3 W Types:Creature Rhino Soldier PT:1/4 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, target opponent skips their next combat phase. -SVar:TrigPump:DB$ Pump | ValidTgts$ Opponent | KW$ Skip your next combat phase. | Permanent$ True | TgtPrompt$ Select target opponent | IsCurse$ True +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSkipCombat | TriggerDescription$ When CARDNAME enters the battlefield, target opponent skips their next combat phase. +SVar:TrigSkipCombat:DB$ SkipPhase | ValidTgts$ Opponent | Phase$ Combat | TgtPrompt$ Select target opponent | IsCurse$ True Oracle:When Stonehorn Dignitary enters the battlefield, target opponent skips their next combat phase. diff --git a/forge-gui/res/cardsfolder/s/symbiotic_deployment.txt b/forge-gui/res/cardsfolder/s/symbiotic_deployment.txt index c4de09dc9d4..49c3f867641 100644 --- a/forge-gui/res/cardsfolder/s/symbiotic_deployment.txt +++ b/forge-gui/res/cardsfolder/s/symbiotic_deployment.txt @@ -1,9 +1,8 @@ Name:Symbiotic Deployment ManaCost:2 G Types:Enchantment -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. A:AB$ Draw | Cost$ 1 tapXType<2/Creature> | Defined$ You | NumCards$ 1 | SpellDescription$ Draw a card. AI:RemoveDeck:Random SVar:NonStackingEffect:True -SVar:Picture:http://www.wizards.com/global/images/magic/general/symbiotic_deployment.jpg Oracle:Skip your draw step.\n{1}, Tap two untapped creatures you control: Draw a card. diff --git a/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt b/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt index 8b3db2b5067..62d5e01e512 100644 --- a/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt +++ b/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt @@ -2,11 +2,10 @@ Name:Taigam, Sidisi's Hand ManaCost:3 U B Types:Legendary Creature Human Wizard PT:3/4 -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of your upkeep, look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. SVar:TrigDig:DB$ Dig | DigNum$ 3 | DestinationZone2$ Graveyard | SpellDescription$ Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. A:AB$ Pump | Cost$ B T ExileFromGrave | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn. | CostDesc$ {B}, {T}, Exile X cards from your graveyard: SVar:X:Count$xPaid AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/taigam_sidisis_hand.jpg Oracle:Skip your draw step.\nAt the beginning of your upkeep, look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.\n{B}, {T}, Exile X cards from your graveyard: Target creature gets -X/-X until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/t/the_eon_fog.txt b/forge-gui/res/cardsfolder/t/the_eon_fog.txt index 249b1c0d659..19937db26d5 100644 --- a/forge-gui/res/cardsfolder/t/the_eon_fog.txt +++ b/forge-gui/res/cardsfolder/t/the_eon_fog.txt @@ -1,9 +1,8 @@ Name:The Eon Fog ManaCost:no cost Types:Plane Equilor -S:Mode$ Continuous | EffectZone$ Command | Affected$ Player | AddKeyword$ Skip your untap step. | Description$ Players skip their untap steps. +R:Event$ BeginPhase | ActiveZones$ Command | Phase$ Untap | Skip$ True | Description$ Players skip their untap steps. T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll {CHAOS}, untap all permanents you control. SVar:RolledChaos:DB$ UntapAll | ValidCards$ Permanent.YouCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/the_eon_fog.jpg SVar:AIRollPlanarDieParams:Mode$ Always | LowPriority$ True | MaxRollsPerTurn$ 9 Oracle:Players skip their untap steps.\nWhenever you roll {CHAOS}, untap all permanents you control. diff --git a/forge-gui/res/cardsfolder/y/yawgmoths_bargain.txt b/forge-gui/res/cardsfolder/y/yawgmoths_bargain.txt index 375af58b7b5..affe240cdc2 100644 --- a/forge-gui/res/cardsfolder/y/yawgmoths_bargain.txt +++ b/forge-gui/res/cardsfolder/y/yawgmoths_bargain.txt @@ -1,10 +1,9 @@ Name:Yawgmoth's Bargain ManaCost:4 B B Types:Enchantment -S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. A:AB$ Draw | Cost$ PayLife<1> | NumCards$ 1 | AILogic$ YawgmothsBargain | AILifeThreshold$ 1 | SpellDescription$ Draw a card. SVar:AICastPreference:NeverCastIfLifeBelow$ 7 AI:RemoveDeck:Random SVar:NonStackingEffect:True -SVar:Picture:http://www.wizards.com/global/images/magic/general/yawgmoths_bargain.jpg Oracle:Skip your draw step.\nPay 1 life: Draw a card. diff --git a/forge-gui/res/cardsfolder/y/yosei_the_morning_star.txt b/forge-gui/res/cardsfolder/y/yosei_the_morning_star.txt index d4abe631baf..3d077724ef1 100644 --- a/forge-gui/res/cardsfolder/y/yosei_the_morning_star.txt +++ b/forge-gui/res/cardsfolder/y/yosei_the_morning_star.txt @@ -3,8 +3,8 @@ ManaCost:4 W W Types:Legendary Creature Dragon Spirit PT:5/5 K:Flying -T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigPump | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, target player skips their next untap step. Tap up to five target permanents that player controls. -SVar:TrigPump:DB$ Pump | ValidTgts$ Player | IsCurse$ True | KW$ Skip your next untap step. | Permanent$ True | IsCurse$ True | SubAbility$ TrigTap +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigSkipPhase | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, target player skips their next untap step. Tap up to five target permanents that player controls. +SVar:TrigSkipPhase:DB$ SkipPhase | ValidTgts$ Player | Step$ Untap | IsCurse$ True | SubAbility$ TrigTap SVar:TrigTap:DB$ Tap | TargetMin$ 0 | TargetMax$ 5 | TargetsWithDefinedController$ ParentTarget | ValidTgts$ Permanent SVar:Picture:http://www.wizards.com/global/images/magic/general/yosei_the_morning_star.jpg Oracle:Flying\nWhen Yosei, the Morning Star dies, target player skips their next untap step. Tap up to five target permanents that player controls. From df64f5574d17e7556b77e4e134ea9ba491ddfb19 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Mon, 8 Mar 2021 05:02:46 -0300 Subject: [PATCH 19/32] refactor: group local instance-related packages forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java forge-gui-desktop/src/main/java/forge/toolbox/CardFaceSymbols.java --- .../src/main/java/forge/GuiDesktop.java | 5 +- .../src/main/java/forge/ImageCache.java | 9 +-- .../src/main/java/forge/ImageLoader.java | 2 +- .../src/main/java/forge/control/FControl.java | 8 +-- .../java/forge/control/KeyboardShortcuts.java | 4 +- .../java/forge/deckchooser/FDeckChooser.java | 4 +- .../java/forge/deckchooser/FDeckViewer.java | 2 +- .../java/forge/download/GuiDownloader.java | 2 +- .../java/forge/error/BugReportDialog.java | 2 +- .../forge/gui/BoxedProductCardListViewer.java | 2 +- .../main/java/forge/gui/CardListChooser.java | 2 +- .../main/java/forge/gui/CardListViewer.java | 2 +- .../main/java/forge/gui/CardPicturePanel.java | 2 +- .../src/main/java/forge/gui/FNetOverlay.java | 4 +- .../src/main/java/forge/gui/GuiUtils.java | 2 +- .../src/main/java/forge/gui/ImportDialog.java | 4 +- .../java/forge/gui/ImportSourceAnalyzer.java | 2 +- .../main/java/forge/gui/SOverlayUtils.java | 2 +- .../java/forge/gui/framework/DragCell.java | 6 +- .../java/forge/gui/framework/FScreen.java | 6 +- .../java/forge/gui/framework/SLayoutIO.java | 4 +- .../forge/gui/framework/SRearrangingUtil.java | 2 +- .../java/forge/itemmanager/DeckManager.java | 2 +- .../java/forge/itemmanager/ItemManager.java | 2 +- .../views/DeckQuantityRenderer.java | 2 +- .../itemmanager/views/DeckStarRenderer.java | 2 +- .../forge/itemmanager/views/ImageView.java | 59 ++++++++++++++----- .../forge/itemmanager/views/ItemListView.java | 2 +- .../forge/itemmanager/views/StarRenderer.java | 2 +- .../src/main/java/forge/menus/HelpMenu.java | 2 +- .../src/main/java/forge/menus/LayoutMenu.java | 6 +- .../src/main/java/forge/menus/MenuUtil.java | 2 +- .../java/forge/screens/bazaar/VBazaarUI.java | 2 +- .../deckeditor/AddBasicLandsDialog.java | 2 +- .../deckeditor/controllers/ACEditorBase.java | 4 +- .../deckeditor/controllers/CCurrentDeck.java | 2 +- .../deckeditor/controllers/CDeckgen.java | 2 +- .../controllers/CEditorConstructed.java | 2 +- .../deckeditor/controllers/CEditorQuest.java | 2 +- .../controllers/CEditorQuestCardShop.java | 2 +- .../controllers/CEditorQuestLimited.java | 2 +- .../controllers/CEditorVariant.java | 2 +- .../controllers/CEditorWinstonProcess.java | 2 +- .../controllers/DeckHtmlSerializer.java | 2 +- .../deckeditor/menus/DeckFileMenu.java | 2 +- .../deckeditor/views/VCurrentDeck.java | 2 +- .../main/java/forge/screens/home/CHomeUI.java | 4 +- .../main/java/forge/screens/home/CLobby.java | 4 +- .../java/forge/screens/home/LblGroup.java | 2 +- .../java/forge/screens/home/PlayerPanel.java | 6 +- .../java/forge/screens/home/StartButton.java | 2 +- .../java/forge/screens/home/StopButton.java | 2 +- .../main/java/forge/screens/home/VHomeUI.java | 4 +- .../main/java/forge/screens/home/VLobby.java | 4 +- .../home/gauntlet/CSubmenuGauntletBuild.java | 2 +- .../home/gauntlet/QuickGauntletLister.java | 2 +- .../home/gauntlet/VSubmenuGauntletBuild.java | 2 +- .../home/puzzle/CSubmenuPuzzleSolve.java | 4 +- .../screens/home/puzzle/CSubmenuTutorial.java | 4 +- .../screens/home/puzzle/PuzzleGameMenu.java | 2 +- .../home/quest/CSubmenuQuestLoadData.java | 2 +- .../home/quest/DialogChooseFormats.java | 2 +- .../quest/DialogChoosePoolDistribution.java | 2 +- .../screens/home/quest/DialogChooseSets.java | 2 +- .../forge/screens/home/quest/PnlEvent.java | 2 +- .../screens/home/quest/QuestFileLister.java | 4 +- .../home/quest/VSubmenuChallenges.java | 2 +- .../screens/home/quest/VSubmenuDuels.java | 2 +- .../home/quest/VSubmenuQuestDraft.java | 2 +- .../home/quest/VSubmenuQuestLoadData.java | 2 +- .../home/quest/VSubmenuQuestPrefs.java | 2 +- .../home/quest/VSubmenuQuestStart.java | 2 +- .../forge/screens/home/quest/ViewItem.java | 2 +- .../home/sanctioned/CSubmenuDraft.java | 2 +- .../home/sanctioned/CSubmenuSealed.java | 2 +- .../home/sanctioned/CSubmenuWinston.java | 2 +- .../home/sanctioned/ConstructedGameMenu.java | 4 +- .../home/sanctioned/VSubmenuSealed.java | 2 +- .../home/settings/CSubmenuPreferences.java | 6 +- .../home/settings/CSubmenuReleaseNotes.java | 2 +- .../home/settings/VSubmenuAchievements.java | 6 +- .../home/settings/VSubmenuAvatars.java | 2 +- .../home/settings/VSubmenuDownloaders.java | 4 +- .../home/settings/VSubmenuPreferences.java | 2 +- .../java/forge/screens/match/CMatchUI.java | 8 +-- .../forge/screens/match/GauntletWinLose.java | 2 +- .../screens/match/QuestDraftWinLose.java | 3 +- .../screens/match/QuestWinLoseCardViewer.java | 2 +- .../forge/screens/match/TargetingOverlay.java | 2 +- .../java/forge/screens/match/VMatchUI.java | 2 +- .../java/forge/screens/match/ViewWinLose.java | 4 +- .../screens/match/controllers/CDock.java | 4 +- .../screens/match/controllers/CPrompt.java | 2 +- .../screens/match/menus/CMatchUIMenus.java | 2 +- .../screens/match/menus/CardOverlaysMenu.java | 4 +- .../forge/screens/match/menus/GameMenu.java | 6 +- .../forge/screens/match/views/VDetail.java | 2 +- .../java/forge/screens/match/views/VDock.java | 2 +- .../forge/screens/match/views/VField.java | 2 +- .../java/forge/screens/match/views/VLog.java | 2 +- .../forge/screens/match/views/VPicture.java | 2 +- .../forge/screens/match/views/VPrompt.java | 4 +- .../workshop/controllers/CCardScript.java | 2 +- .../workshop/menus/WorkshopFileMenu.java | 2 +- .../screens/workshop/views/VCardDesigner.java | 2 +- .../src/main/java/forge/sound/AudioClip.java | 3 +- .../java/forge/toolbox/CardFaceSymbols.java | 34 +++-------- .../src/main/java/forge/toolbox/FButton.java | 2 +- .../src/main/java/forge/toolbox/FLabel.java | 2 +- .../main/java/forge/toolbox/FOptionPane.java | 2 +- .../src/main/java/forge/toolbox/FSkin.java | 10 ++-- .../forge/toolbox/imaging/FImageUtil.java | 2 +- .../forge/toolbox/special/CardZoomer.java | 2 +- .../toolbox/special/PlayerDetailsPanel.java | 3 +- .../src/main/java/forge/view/FDialog.java | 2 +- .../src/main/java/forge/view/FFrame.java | 4 +- .../main/java/forge/view/FNavigationBar.java | 2 +- .../src/main/java/forge/view/FView.java | 6 +- .../main/java/forge/view/SimulateMatch.java | 2 +- .../src/main/java/forge/view/SplashFrame.java | 6 +- .../java/forge/view/arcane/CardPanel.java | 6 +- .../forge/view/arcane/FloatingCardArea.java | 4 +- .../java/forge/view/arcane/FloatingZone.java | 4 +- .../main/java/forge/view/arcane/PlayArea.java | 2 +- .../src/test/java/forge/CardRankerTest.java | 2 +- .../ai/simulation/SimulationTestCase.java | 5 +- .../BaseGameSimulationTest.java | 3 +- .../util/CardDatabaseHelper.java | 4 +- .../gamesimulationtests/util/GameWrapper.java | 2 +- .../test/java/forge/item/DeckHintsTest.java | 2 +- .../src/test/java/forge/model/FModelTest.java | 2 +- .../PlanarConquestCommanderGeneraterGA.java | 4 +- .../PlanarConquestGeneraterGA.java | 4 +- .../PlanarConquestGeneraterGAModern.java | 4 +- .../PlanarConquestGeneraterGAStandard.java | 5 +- .../PlanarConquestTribalGeneraterGA.java | 4 +- forge-gui-mobile-dev/src/forge/app/Main.java | 2 +- forge-gui-mobile/src/forge/Forge.java | 6 +- forge-gui-mobile/src/forge/GuiMobile.java | 6 +- .../src/forge/animation/AbilityEffect.java | 4 +- .../src/forge/assets/AssetsDownloader.java | 2 +- forge-gui-mobile/src/forge/assets/FImage.java | 1 + .../src/forge/assets/FLanguage.java | 7 ++- forge-gui-mobile/src/forge/assets/FSkin.java | 7 ++- .../src/forge/assets/FSkinColor.java | 1 + .../src/forge/assets/FSkinFont.java | 22 +++---- .../src/forge/assets/FSkinImage.java | 3 +- .../src/forge/assets/FSkinTexture.java | 2 +- .../src/forge/assets/ImageCache.java | 4 +- .../src/forge/assets/ImageLoader.java | 4 +- .../src/forge/assets/TextRenderer.java | 4 +- .../src/forge/card/CardImageRenderer.java | 4 +- .../src/forge/card/CardRenderer.java | 8 +-- forge-gui-mobile/src/forge/card/CardZoom.java | 4 +- .../src/forge/deck/FDeckChooser.java | 4 +- .../src/forge/deck/FDeckEditor.java | 9 ++- .../src/forge/menu/FMenuItem.java | 2 +- .../src/forge/screens/TabPageScreen.java | 2 +- .../achievements/AchievementsScreen.java | 4 +- .../screens/constructed/LobbyScreen.java | 4 +- .../screens/constructed/PlayerPanel.java | 4 +- .../src/forge/screens/home/LoadGameMenu.java | 4 +- .../src/forge/screens/home/NewGameMenu.java | 4 +- .../screens/home/puzzle/PuzzleScreen.java | 2 +- .../screens/limited/LoadDraftScreen.java | 2 +- .../screens/limited/LoadSealedScreen.java | 2 +- .../forge/screens/match/MatchController.java | 6 +- .../src/forge/screens/match/MatchScreen.java | 4 +- .../src/forge/screens/match/views/VLog.java | 2 +- .../screens/match/views/VPlayerPanel.java | 2 +- .../match/winlose/GauntletWinLose.java | 2 +- .../screens/match/winlose/ViewWinLose.java | 2 +- .../screens/online/OnlineChatScreen.java | 4 +- .../screens/online/OnlineLobbyScreen.java | 4 +- .../src/forge/screens/online/OnlineMenu.java | 4 +- .../planarconquest/ConquestAEtherScreen.java | 2 +- .../ConquestPlaneswalkersScreen.java | 2 +- .../planarconquest/LoadConquestScreen.java | 2 +- .../planarconquest/NewConquestScreen.java | 2 +- .../forge/screens/quest/LoadQuestScreen.java | 2 +- .../forge/screens/quest/NewQuestScreen.java | 2 +- .../src/forge/screens/quest/QuestMenu.java | 2 +- .../screens/quest/QuestTournamentsScreen.java | 2 +- .../src/forge/screens/settings/FilesPage.java | 2 +- .../forge/screens/settings/SettingsPage.java | 6 +- .../src/forge/toolbox/FButton.java | 2 +- .../src/forge/toolbox/FChoiceList.java | 4 +- .../src/forge/toolbox/FGestureAdapter.java | 2 +- .../src/forge/toolbox/FLabel.java | 2 +- forge-gui-mobile/src/forge/toolbox/FList.java | 2 +- .../src/forge/toolbox/FOptionPane.java | 2 +- .../src/forge/toolbox/FScrollPane.java | 2 +- .../main/java/forge/assets/ISkinImage.java | 5 -- .../main/java/forge/card/CardDetailUtil.java | 4 +- .../main/java/forge/card/CardPreferences.java | 2 +- .../forge/card/CardReaderExperiments.java | 2 +- .../main/java/forge/card/CardScriptInfo.java | 2 +- .../control/FControlGameEventHandler.java | 2 +- .../deck/CardRelationMatrixGenerator.java | 2 +- .../java/forge/deck/DeckGeneratorTheme.java | 2 +- .../src/main/java/forge/deck/DeckProxy.java | 4 +- .../src/main/java/forge/deck/DeckgenUtil.java | 2 +- .../java/forge/deck/NetDeckArchiveLegacy.java | 2 +- .../java/forge/deck/NetDeckArchiveModern.java | 2 +- .../forge/deck/NetDeckArchivePioneer.java | 2 +- .../forge/deck/NetDeckArchiveStandard.java | 2 +- .../forge/deck/NetDeckArchiveVintage.java | 2 +- .../main/java/forge/deck/NetDeckCategory.java | 2 +- .../java/forge/deck/io/CardThemedLDAIO.java | 3 +- .../forge/deck/io/CardThemedMatrixIO.java | 2 +- .../java/forge/deck/io/DeckPreferences.java | 2 +- .../main/java/forge/download/AutoUpdater.java | 2 +- .../GuiDownloadAchievementImages.java | 4 +- .../forge/download/GuiDownloadPicturesHQ.java | 2 +- .../forge/download/GuiDownloadPicturesLQ.java | 2 +- .../forge/download/GuiDownloadPrices.java | 2 +- .../download/GuiDownloadQuestImages.java | 4 +- .../forge/download/GuiDownloadService.java | 2 +- .../download/GuiDownloadSetPicturesLQ.java | 2 +- .../java/forge/download/GuiDownloadSkins.java | 4 +- .../main/java/forge/error/BugReporter.java | 2 +- .../java/forge/error/ExceptionHandler.java | 2 +- .../java/forge/gauntlet/GauntletData.java | 2 +- .../main/java/forge/gauntlet/GauntletIO.java | 2 +- .../gauntlet/GauntletWinLoseController.java | 2 +- .../main/java/forge/interfaces/IButton.java | 2 +- .../main/java/forge/interfaces/IGuiBase.java | 4 +- .../main/java/forge/interfaces/IGuiGame.java | 2 +- .../java/forge/interfaces/IWinLoseView.java | 2 +- .../forge/itemmanager/ItemManagerConfig.java | 4 +- .../java/forge/itemmanager/SFilterUtil.java | 2 +- .../forge/itemmanager/SItemManagerUtil.java | 4 +- .../main/java/forge/limited/BoosterDraft.java | 4 +- .../java/forge/limited/BoosterDraftAI.java | 2 +- .../forge/limited/CardThemedDeckBuilder.java | 2 +- .../java/forge/limited/LimitedPlayerAI.java | 2 +- .../java/forge/limited/ReadDraftRankings.java | 2 +- .../limited/SealedCardPoolGenerator.java | 6 +- .../achievements}/Achievement.java | 8 +-- .../achievements}/AchievementCollection.java | 4 +- .../achievements}/AltWinAchievements.java | 4 +- .../achievements}/ArcaneMaster.java | 2 +- .../achievements}/Blackjack.java | 2 +- .../achievements}/ChallengeAchievements.java | 4 +- .../ConstructedAchievements.java | 4 +- .../achievements}/DeckedOut.java | 2 +- .../achievements}/Domain.java | 2 +- .../achievements}/DraftAchievements.java | 4 +- .../achievements}/GameWinStreak.java | 2 +- .../achievements}/Hellbent.java | 2 +- .../achievements}/LifeToSpare.java | 2 +- .../achievements}/ManaFlooded.java | 2 +- .../achievements}/ManaScrewed.java | 2 +- .../achievements}/MatchWinStreak.java | 2 +- .../achievements}/NeedForSpeed.java | 2 +- .../achievements}/NoCreatures.java | 4 +- .../achievements}/NoLands.java | 4 +- .../achievements}/NoSpells.java | 4 +- .../achievements}/Overkill.java | 2 +- .../PlanarConquestAchievements.java | 4 +- .../PlaneswalkerAchievements.java | 8 +-- .../achievements}/Poisoned.java | 2 +- .../achievements}/ProgressiveAchievement.java | 2 +- .../achievements}/PuzzleAchievements.java | 4 +- .../achievements}/QuestAchievements.java | 4 +- .../achievements}/RagsToRiches.java | 2 +- .../achievements}/SealedAchievements.java | 4 +- .../achievements}/StormChaser.java | 2 +- .../achievements}/StreakAchievement.java | 2 +- .../achievements}/TotalGameWins.java | 2 +- .../achievements}/TotalMatchWins.java | 2 +- .../achievements}/TotalPuzzlesSolved.java | 2 +- .../achievements}/VariantWins.java | 2 +- .../{ => localinstance}/assets/FSkinProp.java | 2 +- .../assets/IHasSkinProp.java | 2 +- .../localinstance/assets/ISkinImage.java | 5 ++ .../properties/FileLocation.java | 2 +- .../properties/ForgeConstants.java | 2 +- .../properties/ForgePreferences.java | 2 +- .../properties/ForgeProfileProperties.java | 2 +- .../properties/PreferencesStore.java | 2 +- .../properties/package-info.java | 3 + .../java/forge/match/AbstractGuiGame.java | 6 +- .../src/main/java/forge/match/GameLobby.java | 2 +- .../main/java/forge/match/HostedMatch.java | 6 +- .../java/forge/match/input/InputBase.java | 2 +- .../java/forge/match/input/InputConfirm.java | 2 +- .../forge/match/input/InputPassPriority.java | 2 +- .../input/InputPayManaOfCostPayment.java | 2 +- ...InputSelectCardsForConvokeOrImprovise.java | 2 +- .../match/input/InputSelectManyBase.java | 2 +- .../forge/match/input/InputSelectTargets.java | 4 +- .../java/forge/model/CardCollections.java | 2 +- .../src/main/java/forge/model/FModel.java | 8 +-- .../src/main/java/forge/model/MetaSet.java | 2 +- .../src/main/java/forge/net/ChatMessage.java | 4 +- .../java/forge/net/GameProtocolHandler.java | 2 +- .../main/java/forge/net/NetConnectUtil.java | 7 ++- .../main/java/forge/net/ProtocolMethod.java | 2 +- .../forge/net/client/GameClientHandler.java | 2 +- .../java/forge/net/server/NetGuiGame.java | 2 +- .../planarconquest/ConquestChaosBattle.java | 2 +- .../planarconquest/ConquestController.java | 4 +- .../forge/planarconquest/ConquestData.java | 7 ++- .../forge/planarconquest/ConquestEvent.java | 2 +- .../forge/planarconquest/ConquestPlane.java | 2 +- .../planarconquest/ConquestPreferences.java | 6 +- .../forge/planarconquest/ConquestRegion.java | 2 +- .../forge/planarconquest/ConquestUtil.java | 7 ++- .../java/forge/player/GamePlayerUtil.java | 2 +- .../forge/player/PlayerControllerHuman.java | 8 +-- .../java/forge/properties/package-info.java | 3 - .../src/main/java/forge/puzzle/Puzzle.java | 2 +- .../src/main/java/forge/puzzle/PuzzleIO.java | 3 +- .../java/forge/quest/QuestController.java | 2 +- .../java/forge/quest/QuestDraftUtils.java | 2 +- .../main/java/forge/quest/QuestSpellShop.java | 2 +- .../quest/QuestTournamentController.java | 4 +- .../src/main/java/forge/quest/QuestUtil.java | 4 +- .../main/java/forge/quest/QuestUtilCards.java | 2 +- .../forge/quest/QuestWinLoseController.java | 4 +- .../forge/quest/bazaar/IQuestBazaarItem.java | 2 +- .../forge/quest/bazaar/QuestItemBasic.java | 4 +- .../quest/bazaar/QuestPetController.java | 6 +- .../forge/quest/bazaar/QuestPetStats.java | 2 +- .../quest/bazaar/QuestStallDefinition.java | 2 +- .../main/java/forge/quest/data/QuestData.java | 2 +- .../forge/quest/data/QuestPreferences.java | 4 +- .../main/java/forge/quest/io/QuestDataIO.java | 2 +- .../java/forge/quest/io/ReadPriceList.java | 2 +- .../main/java/forge/sound/MusicPlaylist.java | 2 +- .../main/java/forge/sound/SoundSystem.java | 4 +- .../java/forge/tournament/TournamentData.java | 2 +- .../java/forge/tournament/TournamentIO.java | 2 +- .../TournamentWinLoseController.java | 2 +- .../main/java/forge/util/GuiDisplayUtil.java | 2 +- .../src/main/java/forge/util/HttpUtil.java | 4 +- .../main/java/forge/util/ImageFetcher.java | 4 +- .../main/java/forge/util/gui/SOptionPane.java | 2 +- 339 files changed, 581 insertions(+), 545 deletions(-) delete mode 100644 forge-gui/src/main/java/forge/assets/ISkinImage.java rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/Achievement.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/AchievementCollection.java (98%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/AltWinAchievements.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/ArcaneMaster.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/Blackjack.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/ChallengeAchievements.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/ConstructedAchievements.java (91%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/DeckedOut.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/Domain.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/DraftAchievements.java (78%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/GameWinStreak.java (95%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/Hellbent.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/LifeToSpare.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/ManaFlooded.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/ManaScrewed.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/MatchWinStreak.java (95%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/NeedForSpeed.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/NoCreatures.java (84%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/NoLands.java (84%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/NoSpells.java (85%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/Overkill.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/PlanarConquestAchievements.java (89%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/PlaneswalkerAchievements.java (93%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/Poisoned.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/ProgressiveAchievement.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/PuzzleAchievements.java (84%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/QuestAchievements.java (81%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/RagsToRiches.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/SealedAchievements.java (78%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/StormChaser.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/StreakAchievement.java (97%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/TotalGameWins.java (95%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/TotalMatchWins.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/TotalPuzzlesSolved.java (96%) rename forge-gui/src/main/java/forge/{achievement => localinstance/achievements}/VariantWins.java (97%) rename forge-gui/src/main/java/forge/{ => localinstance}/assets/FSkinProp.java (99%) rename forge-gui/src/main/java/forge/{ => localinstance}/assets/IHasSkinProp.java (64%) create mode 100644 forge-gui/src/main/java/forge/localinstance/assets/ISkinImage.java rename forge-gui/src/main/java/forge/{ => localinstance}/properties/FileLocation.java (96%) rename forge-gui/src/main/java/forge/{ => localinstance}/properties/ForgeConstants.java (99%) rename forge-gui/src/main/java/forge/{ => localinstance}/properties/ForgePreferences.java (99%) rename forge-gui/src/main/java/forge/{ => localinstance}/properties/ForgeProfileProperties.java (99%) rename forge-gui/src/main/java/forge/{ => localinstance}/properties/PreferencesStore.java (98%) create mode 100644 forge-gui/src/main/java/forge/localinstance/properties/package-info.java delete mode 100644 forge-gui/src/main/java/forge/properties/package-info.java diff --git a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java index 95c7a8a6308..f99c8459ed5 100644 --- a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java +++ b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java @@ -1,8 +1,7 @@ package forge; import com.google.common.base.Function; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; + import forge.download.GuiDownloadService; import forge.download.GuiDownloader; import forge.error.BugReportDialog; @@ -14,6 +13,8 @@ import forge.gui.framework.FScreen; import forge.interfaces.IGuiBase; import forge.interfaces.IGuiGame; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; import forge.match.HostedMatch; import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/ImageCache.java b/forge-gui-desktop/src/main/java/forge/ImageCache.java index 5e2b6253ae4..7e4df457229 100644 --- a/forge-gui-desktop/src/main/java/forge/ImageCache.java +++ b/forge-gui-desktop/src/main/java/forge/ImageCache.java @@ -21,14 +21,15 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader.InvalidCacheLoadException; import com.google.common.cache.LoadingCache; import com.mortennobel.imagescaling.ResampleOp; -import forge.assets.FSkinProp; + import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.item.InventoryItem; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinIcon; import forge.util.ImageUtil; diff --git a/forge-gui-desktop/src/main/java/forge/ImageLoader.java b/forge-gui-desktop/src/main/java/forge/ImageLoader.java index d910c0c2179..15b74700baa 100644 --- a/forge-gui-desktop/src/main/java/forge/ImageLoader.java +++ b/forge-gui-desktop/src/main/java/forge/ImageLoader.java @@ -3,8 +3,8 @@ package forge; import com.google.common.cache.CacheLoader; import forge.error.BugReporter; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import javax.imageio.ImageIO; diff --git a/forge-gui-desktop/src/main/java/forge/control/FControl.java b/forge-gui-desktop/src/main/java/forge/control/FControl.java index 99b9316813d..4651b74c37c 100644 --- a/forge-gui-desktop/src/main/java/forge/control/FControl.java +++ b/forge-gui-desktop/src/main/java/forge/control/FControl.java @@ -44,20 +44,20 @@ import forge.GuiBase; import forge.ImageCache; import forge.LobbyPlayer; import forge.Singletons; -import forge.assets.FSkinProp; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.gui.framework.InvalidLayoutFileException; import forge.gui.framework.SLayoutIO; import forge.gui.framework.SOverflowUtil; import forge.gui.framework.SResizingUtil; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.menus.ForgeMenu; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.quest.data.QuestPreferences.QPref; import forge.quest.io.QuestDataIO; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java b/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java index 25e76e0169e..2e8a95b4d01 100644 --- a/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java +++ b/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java @@ -21,9 +21,9 @@ import forge.Singletons; import forge.game.spellability.StackItemView; import forge.gui.framework.EDocID; import forge.gui.framework.SDisplayUtil; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.home.settings.VSubmenuPreferences.KeyboardShortcutField; import forge.screens.match.CMatchUI; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java index 02bb77dbb86..4a3c2019ba3 100644 --- a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java +++ b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java @@ -26,9 +26,9 @@ import forge.game.player.RegisteredPlayer; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerContainer; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.QuestEvent; import forge.quest.QuestEventChallenge; diff --git a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java index ff7e0418e06..4e0de164b98 100644 --- a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java +++ b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java @@ -13,8 +13,8 @@ import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerContainer; import forge.itemmanager.ItemManagerModel; import forge.itemmanager.views.ImageView; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.toolbox.FButton; import forge.toolbox.FOptionPane; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java b/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java index 35c2ac36bfd..fcec51ced98 100644 --- a/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java +++ b/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java @@ -26,8 +26,8 @@ import javax.swing.event.ChangeListener; import net.miginfocom.swing.MigLayout; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.SOverlayUtils; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FOverlay; diff --git a/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java b/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java index 1f06e198b63..c114918bfdb 100644 --- a/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java +++ b/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java @@ -38,9 +38,9 @@ import javax.swing.JTextArea; import javax.swing.KeyStroke; import forge.model.FModel; -import forge.properties.ForgePreferences; import net.miginfocom.swing.MigLayout; import forge.gui.WrapLayout; +import forge.localinstance.properties.ForgePreferences; /** * The class BugReportDialog. Enables showing and saving error messages that diff --git a/forge-gui-desktop/src/main/java/forge/gui/BoxedProductCardListViewer.java b/forge-gui-desktop/src/main/java/forge/gui/BoxedProductCardListViewer.java index d62d8bd0f62..041f816ba41 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/BoxedProductCardListViewer.java +++ b/forge-gui-desktop/src/main/java/forge/gui/BoxedProductCardListViewer.java @@ -33,8 +33,8 @@ import javax.swing.event.ListSelectionListener; import forge.game.card.CardView; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java b/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java index 068ef7e4598..bd4f0b7145f 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java @@ -20,8 +20,8 @@ package forge.gui; import forge.game.card.CardView; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java b/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java index 795afe64f69..f0ce2223073 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java @@ -34,8 +34,8 @@ import javax.swing.event.ListSelectionListener; import forge.game.card.CardView; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java index 6b67da64af5..7506748935a 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java @@ -23,8 +23,8 @@ import forge.ImageKeys; import forge.game.card.CardView.CardStateView; import forge.item.InventoryItem; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.CardFaceSymbols; import forge.toolbox.imaging.FImagePanel; import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode; diff --git a/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java b/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java index ea8771bb3ee..e587ccc69c7 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java +++ b/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java @@ -15,13 +15,13 @@ import org.apache.commons.lang3.StringUtils; import forge.Singletons; import forge.gui.framework.SDisplayUtil; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.net.ChatMessage; import forge.net.IOnlineChatInterface; import forge.net.IRemote; import forge.net.event.MessageEvent; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.home.online.OnlineMenu; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; diff --git a/forge-gui-desktop/src/main/java/forge/gui/GuiUtils.java b/forge-gui-desktop/src/main/java/forge/gui/GuiUtils.java index c26c02f3537..e538f184e4d 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/GuiUtils.java +++ b/forge-gui-desktop/src/main/java/forge/gui/GuiUtils.java @@ -32,8 +32,8 @@ import javax.swing.JPopupMenu; import javax.swing.JSeparator; import javax.swing.KeyStroke; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; /** *

diff --git a/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java b/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java index 0b4880b2f3f..f26358243c8 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java @@ -59,10 +59,10 @@ import org.apache.commons.lang3.tuple.Pair; import com.google.common.collect.ImmutableList; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.error.BugReporter; import forge.gui.ImportSourceAnalyzer.OpType; -import forge.properties.ForgeConstants; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FButton; import forge.toolbox.FCheckBox; import forge.toolbox.FComboBoxWrapper; diff --git a/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java b/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java index c19d9c5b10f..8932830996b 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java @@ -22,8 +22,8 @@ import com.google.common.collect.Iterables; import forge.card.CardEdition; import forge.item.IPaperCard; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.ImageUtil; import org.apache.commons.lang3.StringUtils; diff --git a/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java b/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java index caf0994501e..43b981bc342 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java +++ b/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java @@ -11,7 +11,7 @@ import javax.swing.JPanel; import net.miginfocom.swing.MigLayout; import forge.Singletons; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FLabel; import forge.toolbox.FOverlay; import forge.toolbox.FPanel; diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java b/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java index cd127e8f352..3b33b7cc86f 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java @@ -17,10 +17,10 @@ import net.miginfocom.swing.MigLayout; import com.google.common.collect.Lists; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FPanel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java b/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java index 357c436ee10..e515ae47950 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java @@ -1,9 +1,9 @@ package forge.gui.framework; import forge.Singletons; -import forge.assets.FSkinProp; -import forge.properties.FileLocation; -import forge.properties.ForgeConstants; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.FileLocation; +import forge.localinstance.properties.ForgeConstants; import forge.screens.bazaar.CBazaarUI; import forge.screens.bazaar.VBazaarUI; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java index 8c2f6a38f3e..3da48e447cb 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java @@ -29,8 +29,8 @@ import javax.xml.stream.events.XMLEvent; import forge.FThreads; import forge.Singletons; import forge.gui.SOverlayUtils; -import forge.properties.FileLocation; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.FileLocation; +import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FAbsolutePositioner; import forge.toolbox.SaveOpenDialog; import forge.toolbox.SaveOpenDialog.Filetypes; diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java index 0f779013499..18d28e74651 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java @@ -1,7 +1,7 @@ package forge.gui.framework; -import forge.assets.FSkinProp; import forge.gui.MouseUtil; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinCursor; import forge.toolbox.FSkin.SkinnedLayeredPane; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index 6cca4b8c04f..28af9eb3623 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -20,7 +20,6 @@ import org.apache.commons.lang3.StringUtils; import forge.Singletons; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.deck.DeckBase; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; @@ -42,6 +41,7 @@ import forge.itemmanager.filters.ItemFilter; import forge.itemmanager.views.ItemCellRenderer; import forge.itemmanager.views.ItemListView; import forge.itemmanager.views.ItemTableColumn; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.quest.QuestWorld; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java index 28d1f766f68..a6676f568bd 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java @@ -43,7 +43,6 @@ import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.GuiUtils; import forge.item.InventoryItem; import forge.itemmanager.filters.ItemFilter; @@ -51,6 +50,7 @@ import forge.itemmanager.views.ImageView; import forge.itemmanager.views.ItemListView; import forge.itemmanager.views.ItemTableColumn; import forge.itemmanager.views.ItemView; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.ContextMenuBuilder; import forge.toolbox.FComboBox; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java index 825187db064..d8f9df359e4 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java @@ -17,8 +17,8 @@ */ package forge.itemmanager.views; -import forge.assets.FSkinProp; import forge.item.InventoryItem; +import forge.localinstance.assets.FSkinProp; import forge.screens.deckeditor.CDeckEditorUI; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java index 4ae9918a928..35d1571da66 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java @@ -17,10 +17,10 @@ */ package forge.itemmanager.views; -import forge.assets.FSkinProp; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; import forge.item.InventoryItem; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java index 589b6ba8bbe..a51a1a514dd 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ImageView.java @@ -1,7 +1,36 @@ package forge.itemmanager.views; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Insets; +import java.awt.Point; +import java.awt.Polygon; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.Shape; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; +import java.awt.event.MouseWheelEvent; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; + +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.JViewport; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingUtilities; + import forge.ImageCache; -import forge.assets.FSkinProp; import forge.card.ColorSet; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; @@ -11,30 +40,32 @@ import forge.gui.framework.ILocalRepaint; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.item.PaperCard; -import forge.itemmanager.*; +import forge.itemmanager.ColumnDef; +import forge.itemmanager.GroupDef; +import forge.itemmanager.ItemManager; +import forge.itemmanager.ItemManagerConfig; +import forge.itemmanager.ItemManagerModel; +import forge.itemmanager.SItemManagerUtil; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.match.controllers.CDetailPicture; -import forge.toolbox.*; +import forge.toolbox.CardFaceSymbols; +import forge.toolbox.FComboBoxWrapper; +import forge.toolbox.FLabel; +import forge.toolbox.FMouseAdapter; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinFont; import forge.toolbox.FSkin.SkinImage; +import forge.toolbox.FTextField; import forge.toolbox.special.CardZoomer; import forge.util.ImageUtil; import forge.util.Localizer; import forge.view.arcane.CardPanel; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; -import java.awt.image.BufferedImage; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.TreeMap; - public class ImageView extends ItemView { private static final int PADDING = 5; private static final float PILE_SPACING_Y = 0.1f; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemListView.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemListView.java index 8f56579a5f0..d14f8f48bfa 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemListView.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemListView.java @@ -67,7 +67,6 @@ import javax.swing.table.TableColumnModel; import org.apache.commons.lang3.StringUtils; -import forge.assets.FSkinProp; import forge.gui.MouseUtil; import forge.item.InventoryItem; import forge.itemmanager.ColumnDef; @@ -76,6 +75,7 @@ import forge.itemmanager.ItemColumnConfig; import forge.itemmanager.ItemManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerModel; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FCheckBox; import forge.toolbox.FMouseAdapter; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java index c6d27df5bc9..f1f7377d882 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java @@ -17,10 +17,10 @@ */ package forge.itemmanager.views; -import forge.assets.FSkinProp; import forge.card.CardPreferences; import forge.item.IPaperCard; import forge.item.InventoryItem; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; import forge.util.CardTranslation; diff --git a/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java b/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java index 9d430b660c8..a41b424e70b 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java +++ b/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java @@ -1,6 +1,6 @@ package forge.menus; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FOptionPane; import forge.util.BuildInfo; import forge.util.FileUtil; diff --git a/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java b/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java index 7a5711e163e..3b363fb70cc 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java +++ b/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java @@ -14,14 +14,14 @@ import javax.swing.JRadioButtonMenuItem; import javax.swing.KeyStroke; import forge.Singletons; -import forge.assets.FSkinProp; import forge.gui.GuiChoose; import forge.gui.MouseUtil; import forge.gui.framework.FScreen; import forge.gui.framework.SLayoutIO; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedMenuItem; import forge.view.FFrame; diff --git a/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java b/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java index 27ff8a2092d..5e91f2ab3ee 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java +++ b/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java @@ -1,7 +1,7 @@ package forge.menus; import forge.Singletons; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.imaging.FImageUtil; diff --git a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java index 8ce5ad6f72b..0aad8c587cc 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java @@ -2,9 +2,9 @@ package forge.screens.bazaar; import forge.GuiBase; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.quest.bazaar.QuestBazaarManager; import forge.screens.home.quest.ViewStall; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java index a8adb56bea9..42147fd5769 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java @@ -36,7 +36,6 @@ import com.google.common.collect.Iterables; import forge.ImageCache; import forge.StaticData; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.card.CardEdition; import forge.card.CardRules; import forge.card.mana.ManaCostShard; @@ -45,6 +44,7 @@ import forge.deck.Deck; import forge.deck.DeckProxy; import forge.deck.DeckgenUtil; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.toolbox.FComboBox; import forge.toolbox.FComboBoxPanel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java index 2ad7fa6106f..c06569096a3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java @@ -20,7 +20,6 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.deck.*; import forge.game.GameType; import forge.gui.GuiChoose; @@ -31,9 +30,10 @@ import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManager; import forge.itemmanager.SItemManagerUtil; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.IMenuProvider; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.menus.CDeckEditorUIMenus; import forge.screens.deckeditor.views.VCardCatalog; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java index 32bef0c5c29..96789fad97e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java @@ -18,7 +18,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.DeckImport; import forge.screens.deckeditor.SEditorIO; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java index 0f88b567ae5..f77822b3586 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java @@ -20,8 +20,8 @@ import forge.deck.generation.DeckGeneratorMonoColor; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.SEditorIO; import forge.screens.deckeditor.views.VDeckgen; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java index bf84c8450f8..ee7a4a4f4af 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java @@ -31,8 +31,8 @@ import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.AddBasicLandsDialog; import forge.screens.deckeditor.SEditorIO; import forge.screens.match.controllers.CDetailPicture; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java index 9294853a1e9..c842ec24e2a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java @@ -39,8 +39,8 @@ import forge.itemmanager.CardManager; import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.views.ItemTableColumn; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.data.DeckConstructionRules; import forge.screens.deckeditor.AddBasicLandsDialog; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java index c730d6595c9..9a88115a5a7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java @@ -18,7 +18,6 @@ package forge.screens.deckeditor.controllers; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.deck.DeckBase; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -28,6 +27,7 @@ import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.SpellShopManager; import forge.itemmanager.views.ItemTableColumn; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.quest.QuestController; import forge.quest.QuestSpellShop; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java index 3b34554ccf9..7b8bf23eb26 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java @@ -32,8 +32,8 @@ import forge.itemmanager.CardManager; import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.views.ItemTableColumn; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.QuestEventDraft; import forge.screens.deckeditor.SEditorIO; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java index 6f09ba6e073..d1e59a6cf2c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java @@ -29,8 +29,8 @@ import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.SEditorIO; import forge.screens.deckeditor.views.VAllDecks; import forge.screens.deckeditor.views.VDeckgen; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java index 2a2926dfcfc..3500a17c1fc 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java @@ -33,8 +33,8 @@ import forge.itemmanager.ItemManagerConfig; import forge.limited.BoosterDraft; import forge.limited.IBoosterDraft; import forge.limited.WinstonDraft; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.views.VAllDecks; import forge.screens.deckeditor.views.VCurrentDeck; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java index 0a362185574..c50718fd36f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java @@ -2,7 +2,7 @@ package forge.screens.deckeditor.controllers; import forge.deck.Deck; import forge.item.PaperCard; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.ImageUtil; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java index 1b104cf5112..2b643acd42d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java @@ -1,6 +1,6 @@ package forge.screens.deckeditor.menus; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.menus.MenuUtil; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.views.VCurrentDeck; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java index c4448e2360c..4f26a5d48b7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java @@ -5,7 +5,6 @@ import javax.swing.SwingConstants; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import forge.assets.FSkinProp; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -13,6 +12,7 @@ import forge.gui.framework.IVDoc; import forge.item.InventoryItem; import forge.itemmanager.ItemManager; import forge.itemmanager.ItemManagerContainer; +import forge.localinstance.assets.FSkinProp; import forge.screens.deckeditor.controllers.CCurrentDeck; import forge.toolbox.FLabel; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/CHomeUI.java b/forge-gui-desktop/src/main/java/forge/screens/home/CHomeUI.java index 6249fc710ab..9442e4cff03 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/CHomeUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/CHomeUI.java @@ -7,11 +7,11 @@ import javax.swing.JMenu; import forge.Singletons; import forge.gui.framework.EDocID; import forge.gui.framework.ICDoc; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.home.sanctioned.VSubmenuConstructed; import forge.toolbox.FAbsolutePositioner; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/CLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/CLobby.java index 1c20478ef49..7c9cd1a8fa1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/CLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/CLobby.java @@ -12,9 +12,9 @@ import com.google.common.collect.Iterables; import forge.deck.DeckProxy; import forge.deck.DeckType; import forge.deckchooser.FDeckChooser; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FList; public class CLobby { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java b/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java index 69f92f1353d..e3f8d3fd8c1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java @@ -1,8 +1,8 @@ package forge.screens.home; import forge.gui.framework.ILocalRepaint; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedLabel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java index dd1639b12ee..9a540f8c32e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java @@ -25,16 +25,16 @@ import com.google.common.collect.ImmutableSet; import forge.Singletons; import forge.UiCommand; import forge.ai.AIOption; -import forge.assets.FSkinProp; import forge.deck.DeckSection; import forge.game.GameType; import forge.gui.framework.FScreen; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.LobbySlot; import forge.match.LobbySlotType; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorVariant; import forge.screens.home.sanctioned.AvatarSelector; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java b/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java index a3014a20488..e2444608a89 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java @@ -1,6 +1,6 @@ package forge.screens.home; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedButton; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java b/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java index 882b8377429..38a8ea614b4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java @@ -1,6 +1,6 @@ package forge.screens.home; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedButton; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java b/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java index f0dc9136e10..900bacdc7da 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java @@ -18,10 +18,10 @@ package forge.screens.home; import forge.Singletons; -import forge.assets.FSkinProp; import forge.gui.framework.*; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.home.gauntlet.VSubmenuGauntletBuild; import forge.screens.home.gauntlet.VSubmenuGauntletContests; import forge.screens.home.gauntlet.VSubmenuGauntletLoad; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index 07704e1cac0..d93989ea97e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -14,13 +14,13 @@ import forge.gui.CardDetailPanel; import forge.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.GameLobby; import forge.match.LobbySlot; import forge.match.LobbySlotType; import forge.model.FModel; import forge.net.event.UpdateLobbyPlayerEvent; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.*; import forge.toolbox.FSkin.SkinImage; import forge.util.Aggregates; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java index 3d25bcd2d51..b74f9f53273 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java @@ -16,7 +16,7 @@ import forge.deck.Deck; import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletIO; import forge.gui.framework.ICDoc; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FOptionPane; /** diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java index 6028c92228e..57e299e094c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java @@ -14,9 +14,9 @@ import javax.swing.border.Border; import net.miginfocom.swing.MigLayout; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletIO; +import forge.localinstance.assets.FSkinProp; import forge.quest.QuestUtil; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java index af3822a7f84..8acb590c42d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java @@ -1,12 +1,12 @@ package forge.screens.home.gauntlet; -import forge.assets.FSkinProp; import forge.deckchooser.FDeckChooser; import forge.game.GameType; import forge.gauntlet.GauntletIO; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; +import forge.localinstance.assets.FSkinProp; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java index ddfb8583b0d..c212aa65336 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java @@ -2,18 +2,18 @@ package forge.screens.home.puzzle; import forge.GuiBase; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.match.HostedMatch; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; import forge.puzzle.Puzzle; import forge.puzzle.PuzzleIO; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java index 9ef4597861e..dc808d86439 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java @@ -2,18 +2,18 @@ package forge.screens.home.puzzle; import forge.GuiBase; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.match.HostedMatch; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; import forge.puzzle.Puzzle; import forge.puzzle.PuzzleIO; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java index e9a9e0cc28c..1b78b6f81d7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java @@ -1,7 +1,7 @@ package forge.screens.home.puzzle; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.Localizer; import javax.swing.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java index af69b15b5dd..facd79e0e41 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java @@ -2,8 +2,8 @@ package forge.screens.home.quest; import forge.UiCommand; import forge.gui.framework.ICDoc; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestController; import forge.quest.data.QuestData; import forge.quest.data.QuestPreferences.QPref; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java index 18806949fdc..f00893b6fd2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java @@ -1,8 +1,8 @@ package forge.screens.home.quest; -import forge.assets.FSkinProp; import forge.game.GameFormat; import forge.gui.SOverlayUtils; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.toolbox.*; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java index 3e851a280ae..7eb18d6377a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java @@ -1,9 +1,9 @@ package forge.screens.home.quest; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.card.MagicColor; import forge.gui.SOverlayUtils; +import forge.localinstance.assets.FSkinProp; import forge.quest.StartingPoolPreferences.PoolType; import forge.toolbox.*; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java index e6bad94d6ae..da0fbb9a413 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java @@ -1,9 +1,9 @@ package forge.screens.home.quest; -import forge.assets.FSkinProp; import forge.card.CardEdition; import forge.game.GameFormat; import forge.gui.SOverlayUtils; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.toolbox.*; import forge.util.TextUtil; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java index 96b4d20336c..4b01b530015 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java @@ -1,7 +1,7 @@ package forge.screens.home.quest; import forge.ImageCache; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.quest.QuestEvent; import forge.quest.QuestUtil; import forge.toolbox.FRadioButton; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java index b64f55f0d26..6d423017c5f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java @@ -1,9 +1,9 @@ package forge.screens.home.quest; import forge.UiCommand; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestUtil; import forge.quest.data.QuestData; import forge.toolbox.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java index 4c8ad44cf77..8a9ac0d5205 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java @@ -1,9 +1,9 @@ package forge.screens.home.quest; -import forge.assets.FSkinProp; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; +import forge.localinstance.assets.FSkinProp; import forge.quest.IVQuestStats; import forge.screens.home.*; import forge.toolbox.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java index 31bf71a7494..b811deb75d4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java @@ -1,10 +1,10 @@ package forge.screens.home.quest; -import forge.assets.FSkinProp; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IButton; +import forge.localinstance.assets.FSkinProp; import forge.quest.IVQuestStats; import forge.screens.home.*; import forge.toolbox.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java index c7b1b231800..8b2e4d4383d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java @@ -2,7 +2,6 @@ package forge.screens.home.quest; import forge.GuiBase; import forge.Singletons; -import forge.assets.FSkinProp; import forge.game.GameType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -10,6 +9,7 @@ import forge.gui.framework.EDocID; import forge.gui.framework.FScreen; import forge.itemmanager.DeckManager; import forge.limited.BoosterDraft; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.quest.IQuestTournamentView; import forge.quest.QuestEventDraft; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java index 74d5515d1de..fc07dd599a7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java @@ -3,7 +3,7 @@ package forge.screens.home.quest; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java index fb9d77463e6..c7204899da2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java @@ -1,8 +1,8 @@ package forge.screens.home.quest; -import forge.assets.FSkinProp; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.quest.data.QuestPreferences; import forge.quest.data.QuestPreferences.QPref; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java index 7ee5e243675..dd584e7d6ca 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java @@ -7,9 +7,9 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.item.PreconDeck; +import forge.localinstance.properties.ForgeConstants; import forge.model.CardCollections; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestController; import forge.quest.QuestWorld; import forge.quest.StartingPoolType; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java index 31b8aa1a43b..dd1312ba2a2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java @@ -2,7 +2,7 @@ package forge.screens.home.quest; import forge.GuiBase; import forge.UiCommand; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.quest.QuestUtil; import forge.quest.bazaar.IQuestBazaarItem; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java index fc6762d4dcf..db2cb2b6266 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java @@ -15,10 +15,10 @@ import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; import forge.limited.BoosterDraft; import forge.limited.LimitedPoolType; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorDraftingProcess; import forge.screens.deckeditor.views.VProbabilities; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java index 22535e37f10..c8a4bc239ac 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java @@ -22,10 +22,10 @@ import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.itemmanager.ItemManagerConfig; import forge.limited.SealedCardPoolGenerator; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.ACEditorBase; import forge.screens.deckeditor.controllers.CEditorLimited; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java index 85cfe525d19..bc91e4d3e65 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java @@ -23,10 +23,10 @@ import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; import forge.limited.LimitedPoolType; import forge.limited.WinstonDraft; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorWinstonProcess; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java index 7643bc86ee6..4f9d5b57bb5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java @@ -1,9 +1,9 @@ package forge.screens.home.sanctioned; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.MenuUtil; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.util.Localizer; import javax.swing.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java index 81a0f124a76..b355d667191 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java @@ -14,7 +14,6 @@ import javax.swing.text.StyledDocument; import forge.toolbox.*; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import forge.assets.FSkinProp; import forge.game.GameType; import forge.gui.SOverlayUtils; import forge.gui.framework.DragCell; @@ -22,6 +21,7 @@ import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerContainer; +import forge.localinstance.assets.FSkinProp; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java index 94076064dcf..85f793a607a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java @@ -7,12 +7,12 @@ import forge.download.AutoUpdater; import forge.game.GameLogEntryType; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.net.server.FServerManager; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorTokenViewer; import forge.sound.SoundSystem; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java index df968fb0831..1b5031e1075 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java @@ -19,7 +19,7 @@ package forge.screens.home.settings; import forge.gui.framework.ICDoc; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; /** diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java index 0e075972619..da2314619ba 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java @@ -13,14 +13,14 @@ import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; -import forge.achievement.Achievement; -import forge.achievement.AchievementCollection; -import forge.assets.FSkinProp; import forge.game.card.CardView; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.item.IPaperCard; +import forge.localinstance.achievements.Achievement; +import forge.localinstance.achievements.AchievementCollection; +import forge.localinstance.assets.FSkinProp; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java index e5b4f6a30f1..4b0edebe96d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java @@ -5,8 +5,8 @@ import forge.gui.WrapLayout; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java index e379817f514..8ab363f706a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java @@ -3,7 +3,6 @@ package forge.screens.home.settings; import forge.ImageKeys; import forge.StaticData; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.card.CardDb; import forge.card.CardEdition; import forge.card.CardEdition.CardInSet; @@ -13,7 +12,8 @@ import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.item.PaperCard; import forge.item.PaperToken; -import forge.properties.ForgeConstants; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java index 28dae081699..c837ab93581 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java @@ -7,8 +7,8 @@ import forge.game.GameLogEntryType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index d5c952cb15f..b05edf49903 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -51,7 +51,6 @@ import forge.ImageCache; import forge.LobbyPlayer; import forge.Singletons; import forge.StaticData; -import forge.assets.FSkinProp; import forge.card.CardStateName; import forge.control.KeyboardShortcuts; import forge.deck.CardPool; @@ -94,14 +93,15 @@ import forge.gui.framework.SLayoutIO; import forge.gui.framework.VEmptyDoc; import forge.item.InventoryItem; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.AbstractGuiGame; import forge.menus.IMenuProvider; import forge.model.FModel; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.controllers.CAntes; import forge.screens.match.controllers.CCombat; import forge.screens.match.controllers.CDetailPicture; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java index 21ad9b319b7..ef484bd3a19 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java @@ -25,9 +25,9 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; -import forge.assets.FSkinProp; import forge.game.GameView; import forge.gauntlet.GauntletWinLoseController; +import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; import forge.toolbox.FLabel; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java index 04036b38864..39aec567ade 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java @@ -17,9 +17,10 @@ package forge.screens.match; import com.google.common.collect.ImmutableList; -import forge.assets.FSkinProp; + import forge.game.GameView; import forge.game.player.PlayerView; +import forge.localinstance.assets.FSkinProp; import forge.match.NextGameDecision; import forge.model.FModel; import forge.quest.QuestController; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java b/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java index 6f09994f068..ce29d01b7d2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java @@ -30,8 +30,8 @@ import forge.game.card.CardView; import forge.gui.CardDetailPanel; import forge.gui.CardPicturePanel; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FList; import forge.toolbox.FPanel; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java b/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java index 922f4b6f5f2..29be76083fc 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java @@ -43,8 +43,8 @@ import forge.game.card.CardView; import forge.game.combat.CombatView; import forge.game.player.PlayerView; import forge.game.spellability.StackItemView; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.controllers.CDock.ArcState; import forge.screens.match.views.VField; import forge.screens.match.views.VStack.StackInstanceTextArea; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/VMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/VMatchUI.java index 9ff1370c329..ffdc1e31730 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/VMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/VMatchUI.java @@ -12,7 +12,7 @@ import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.gui.framework.SRearrangingUtil; import forge.gui.framework.VEmptyDoc; -import forge.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences; import forge.screens.match.views.VDev; import forge.screens.match.views.VField; import forge.screens.match.views.VHand; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java index 3b8d132f024..3799732853c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java @@ -18,15 +18,15 @@ import net.miginfocom.swing.MigLayout; import org.apache.commons.lang3.StringUtils; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.game.GameLogEntry; import forge.game.GameLogEntryType; import forge.game.GameView; import forge.gui.SOverlayUtils; import forge.interfaces.IWinLoseView; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FOverlay; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java index e86867647a2..e57c4c0e3a3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java @@ -24,12 +24,12 @@ import com.google.common.primitives.Ints; import forge.Singletons; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; import forge.gui.framework.SLayoutIO; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.screens.match.views.VDock; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java index 929ecc13467..2aa7a0fd95e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java @@ -37,8 +37,8 @@ import forge.game.GameView; import forge.game.card.CardView; import forge.gui.framework.ICDoc; import forge.gui.framework.SDisplayUtil; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.screens.match.CMatchUI; import forge.screens.match.views.VPrompt; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/menus/CMatchUIMenus.java b/forge-gui-desktop/src/main/java/forge/screens/match/menus/CMatchUIMenus.java index 13ea2636aca..167a4f8a87e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/menus/CMatchUIMenus.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/menus/CMatchUIMenus.java @@ -6,7 +6,7 @@ import javax.swing.JMenu; import com.google.common.collect.Lists; -import forge.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences; import forge.screens.match.CMatchUI; /** diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java b/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java index 6fdd326e220..7b6ce891df7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java @@ -1,9 +1,9 @@ package forge.screens.match.menus; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.MenuUtil; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java b/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java index c241a6113b2..1fb9197325a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java @@ -9,11 +9,11 @@ import javax.swing.ButtonGroup; import javax.swing.JMenu; import javax.swing.JPopupMenu; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.MenuUtil; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.screens.match.VAutoYields; import forge.screens.match.controllers.CDock.ArcState; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java index 4ca3b7f0e3e..39e8d3677e3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java @@ -17,13 +17,13 @@ */ package forge.screens.match.views; -import forge.assets.FSkinProp; import forge.game.GameView; import forge.gui.CardDetailPanel; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.IVDoc; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.controllers.CDetail; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLabel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java index addecfac226..0f333438f37 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java @@ -18,8 +18,8 @@ package forge.screens.match.views; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.framework.*; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.controllers.CDock; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java index 308b8e73f5e..38aa07175ef 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java @@ -28,7 +28,6 @@ import javax.swing.border.Border; import javax.swing.border.LineBorder; import net.miginfocom.swing.MigLayout; -import forge.assets.FSkinProp; import forge.game.card.CounterEnumType; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; @@ -36,6 +35,7 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.IVDoc; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.CMatchUI; import forge.screens.match.controllers.CField; import forge.toolbox.FLabel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java index e21dfdb1dd2..5c5821b8529 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java @@ -33,8 +33,8 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.IVDoc; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.GameLogPanel; import forge.screens.match.controllers.CLog; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java index 733c242cf26..93a468b0cf7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java @@ -17,12 +17,12 @@ */ package forge.screens.match.views; -import forge.assets.FSkinProp; import forge.gui.CardPicturePanel; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.IVDoc; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.controllers.CPicture; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLabel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java index c9081919200..75907440730 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java @@ -22,9 +22,9 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.IVDoc; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.controllers.CPrompt; import forge.toolbox.*; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java index dd73e6a7d17..215e5942666 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java @@ -22,8 +22,8 @@ import forge.game.card.Card; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.workshop.menus.WorkshopFileMenu; import forge.screens.workshop.views.VCardDesigner; import forge.screens.workshop.views.VCardScript; diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java index ca4a3ebed84..2990bd1b758 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java @@ -1,6 +1,6 @@ package forge.screens.workshop.menus; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.menus.MenuUtil; import forge.screens.workshop.controllers.CCardScript; import forge.toolbox.FSkin.SkinnedMenuItem; diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java index 9641e857f94..06b791ee743 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java @@ -1,10 +1,10 @@ package forge.screens.workshop.views; -import forge.assets.FSkinProp; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.IVDoc; +import forge.localinstance.assets.FSkinProp; import forge.screens.workshop.controllers.CCardDesigner; import forge.toolbox.FLabel; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java b/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java index 6aa3f61dd51..cfbd61194a3 100644 --- a/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java +++ b/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java @@ -22,7 +22,8 @@ import javax.sound.sampled.*; import com.google.common.io.Files; import com.sipgate.mp3wav.Converter; -import forge.properties.ForgeConstants; + +import forge.localinstance.properties.ForgeConstants; import java.io.ByteArrayInputStream; import java.io.File; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/CardFaceSymbols.java b/forge-gui-desktop/src/main/java/forge/toolbox/CardFaceSymbols.java index e98756648fa..d10e6952f85 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/CardFaceSymbols.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/CardFaceSymbols.java @@ -1,34 +1,18 @@ -/* - * Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ package forge.toolbox; -import com.esotericsoftware.minlog.Log; -import forge.assets.FSkinProp; -import forge.card.ColorSet; -import forge.card.mana.ManaCost; -import forge.card.mana.ManaCostShard; -import forge.toolbox.FSkin.SkinImage; - -import java.awt.*; +import java.awt.Graphics; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; +import com.esotericsoftware.minlog.Log; + +import forge.card.ColorSet; +import forge.card.mana.ManaCost; +import forge.card.mana.ManaCostShard; +import forge.localinstance.assets.FSkinProp; +import forge.toolbox.FSkin.SkinImage; + /** *

* CardFaceSymbols class. diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java b/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java index 6a8fd406275..6a600b8bbf7 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java @@ -36,9 +36,9 @@ import java.awt.event.MouseEvent; import javax.swing.BorderFactory; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.framework.ILocalRepaint; import forge.interfaces.IButton; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinImage; import forge.toolbox.FSkin.SkinnedButton; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java b/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java index 0a13e07ba2f..a36906fbdd1 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java @@ -19,9 +19,9 @@ import javax.swing.event.AncestorEvent; import javax.swing.event.AncestorListener; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.framework.ILocalRepaint; import forge.interfaces.IButton; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinImage; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java b/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java index 91878621f24..c2f6ee9e6d4 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java @@ -17,7 +17,7 @@ import javax.swing.text.StyleConstants; import com.google.common.collect.ImmutableList; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin.SkinImage; import forge.view.FDialog; import forge.view.FView; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index a57f30d8d7b..f93ee6c21b7 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -19,14 +19,14 @@ package forge.toolbox; import forge.FThreads; import forge.Singletons; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; import forge.gui.GuiUtils; import forge.gui.framework.ILocalRepaint; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.util.OperatingSystem; import forge.util.WordUtil; import forge.view.FView; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImageUtil.java b/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImageUtil.java index dda59e4f5e6..37a1bd7e9ee 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImageUtil.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImageUtil.java @@ -30,8 +30,8 @@ import javax.imageio.ImageIO; import forge.ImageCache; import forge.ImageKeys; import forge.game.card.CardView.CardStateView; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.toolbox.CardFaceSymbols; import forge.toolbox.FSkin.SkinIcon; import forge.util.ImageUtil; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java index d4faf0cb0d8..eda3262526b 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java @@ -19,12 +19,12 @@ package forge.toolbox.special; import forge.StaticData; -import forge.assets.FSkinProp; import forge.game.card.Card; import forge.game.card.CardView.CardStateView; import forge.game.keyword.Keyword; import forge.gui.SOverlayUtils; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FOverlay; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLabel; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java index 396e8ae8bd1..1712be704be 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java @@ -1,9 +1,10 @@ package forge.toolbox.special; import com.google.common.base.Function; -import forge.assets.FSkinProp; + import forge.card.mana.ManaAtom; import forge.game.player.PlayerView; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/view/FDialog.java b/forge-gui-desktop/src/main/java/forge/view/FDialog.java index 76dfd9069af..b374d0cf49a 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FDialog.java +++ b/forge-gui-desktop/src/main/java/forge/view/FDialog.java @@ -37,7 +37,7 @@ import javax.swing.SwingUtilities; import net.miginfocom.swing.MigLayout; import forge.Singletons; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FMouseAdapter; import forge.toolbox.FPanel; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/view/FFrame.java b/forge-gui-desktop/src/main/java/forge/view/FFrame.java index c660fbdcae0..783cccfb144 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FFrame.java +++ b/forge-gui-desktop/src/main/java/forge/view/FFrame.java @@ -22,10 +22,10 @@ import javax.swing.border.Border; import forge.Singletons; import forge.gui.framework.SDisplayUtil; import forge.gui.framework.SResizingUtil; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.sound.SoundSystem; import forge.toolbox.FSkin; import forge.toolbox.FSkin.Colors; diff --git a/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java b/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java index 06c0883873c..2c7a12aeec3 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java +++ b/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java @@ -28,9 +28,9 @@ import com.google.common.collect.Lists; import forge.Singletons; import forge.gui.framework.FScreen; import forge.gui.framework.ILocalRepaint; +import forge.localinstance.properties.ForgePreferences; import forge.menus.ForgeMenu; import forge.menus.LayoutMenu; -import forge.properties.ForgePreferences; import forge.toolbox.FButton; import forge.toolbox.FDigitalClock; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/view/FView.java b/forge-gui-desktop/src/main/java/forge/view/FView.java index 2f9bb499825..69a68c2f541 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FView.java +++ b/forge-gui-desktop/src/main/java/forge/view/FView.java @@ -3,13 +3,13 @@ package forge.view; import com.google.common.collect.Lists; import forge.Singletons; import forge.UiCommand; -import forge.assets.FSkinProp; import forge.gui.ImportDialog; import forge.gui.SOverlayUtils; import forge.gui.framework.*; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.screens.bazaar.VBazaarUI; import forge.screens.deckeditor.VDeckEditorUI; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java index aaaada19b0b..9551d91ffd9 100644 --- a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java +++ b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java @@ -6,9 +6,9 @@ import forge.deck.DeckGroup; import forge.deck.io.DeckSerializer; import forge.game.*; import forge.game.player.RegisteredPlayer; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; import forge.tournament.system.*; import forge.util.Lang; import forge.util.TextUtil; diff --git a/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java b/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java index 431b1588e19..8b30b2e0c51 100644 --- a/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java +++ b/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java @@ -17,9 +17,9 @@ */ package forge.view; -import forge.assets.FSkinProp; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.toolbox.FProgressBar; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinIcon; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java index 90888aec06f..28829859770 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java @@ -30,10 +30,10 @@ import forge.game.card.CounterType; import forge.game.zone.ZoneType; import forge.gui.CardContainer; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants.CounterDisplayType; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgeConstants.CounterDisplayType; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.toolbox.CardFaceSymbols; import forge.toolbox.FSkin.SkinnedPanel; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java index c5282b053b5..a0177d15854 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java @@ -20,9 +20,9 @@ package forge.view.arcane; import forge.Singletons; import forge.game.card.CardView; import forge.gui.framework.SDisplayUtil; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.toolbox.FMouseAdapter; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java index f713c50098e..2b7d7a7c5f0 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java @@ -18,11 +18,11 @@ package forge.view.arcane; import forge.FThreads; -import forge.assets.FSkinProp; import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; -import forge.properties.ForgePreferences.FPref; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.toolbox.FMouseAdapter; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java index a2a030e361b..9c5cd9217d5 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java @@ -32,8 +32,8 @@ import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; import forge.toolbox.FScrollPane; import forge.toolbox.MouseTriggerEvent; diff --git a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java index 3ab71d505a0..9c7b955748c 100644 --- a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java +++ b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java @@ -4,7 +4,7 @@ import forge.card.CardRarity; import forge.card.CardRules; import forge.item.PaperCard; import forge.limited.CardRanker; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import org.junit.Assert; import org.testng.annotations.BeforeTest; diff --git a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java index a253dc8391c..f08fec5d8ff 100644 --- a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java @@ -26,10 +26,9 @@ import forge.game.player.RegisteredPlayer; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.item.IPaperCard; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; - import junit.framework.TestCase; public class SimulationTestCase extends TestCase { diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java index 4e3560a0603..81d479a2818 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java @@ -7,8 +7,9 @@ import forge.gamesimulationtests.util.GameWrapper; import forge.gamesimulationtests.util.player.PlayerSpecification; import forge.gamesimulationtests.util.player.PlayerSpecificationHandler; import forge.gamesimulationtests.util.playeractions.testactions.AssertAction; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; + import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.testng.PowerMockTestCase; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/CardDatabaseHelper.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/CardDatabaseHelper.java index 5b34a476e55..3d6db3a3a84 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/CardDatabaseHelper.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/CardDatabaseHelper.java @@ -3,9 +3,9 @@ package forge.gamesimulationtests.util; import forge.CardStorageReader; import forge.StaticData; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; public class CardDatabaseHelper { private static StaticData staticData; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java index 2e0c1b8ab31..e73df34bcfd 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java @@ -19,8 +19,8 @@ import forge.gamesimulationtests.util.player.PlayerSpecificationBuilder; import forge.gamesimulationtests.util.player.PlayerSpecificationHandler; import forge.gamesimulationtests.util.playeractions.PlayerActions; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import java.util.*; diff --git a/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java b/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java index 0569a0e343e..4a2ca5c8d69 100644 --- a/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java +++ b/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java @@ -15,7 +15,7 @@ import forge.GuiDesktop; import forge.card.CardRarity; import forge.card.CardRules; import forge.card.DeckHints; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; /** diff --git a/forge-gui-desktop/src/test/java/forge/model/FModelTest.java b/forge-gui-desktop/src/test/java/forge/model/FModelTest.java index 786b96493b5..bac8942a6fc 100644 --- a/forge-gui-desktop/src/test/java/forge/model/FModelTest.java +++ b/forge-gui-desktop/src/test/java/forge/model/FModelTest.java @@ -1,7 +1,7 @@ package forge.model; import forge.error.ExceptionHandler; -import forge.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences; import forge.util.BuildInfo; import org.testng.Assert; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java index d74ac25ac6d..64bf58ed525 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java @@ -15,9 +15,9 @@ import forge.game.GameRules; import forge.game.GameType; import forge.item.PaperCard; import forge.limited.CardRanker; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import java.io.File; import java.util.ArrayList; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java index 5d352e0d51a..e72caac572d 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java @@ -18,10 +18,10 @@ import forge.game.Match; import forge.game.player.RegisteredPlayer; import forge.item.PaperCard; import forge.limited.CardRanker; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.tournament.system.AbstractTournament; import forge.tournament.system.TournamentPairing; import forge.tournament.system.TournamentPlayer; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java index 901fb33de59..241372740f2 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java @@ -11,9 +11,9 @@ import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import java.io.File; import java.util.List; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java index 4d6a459d1d5..fd0dbc66ae9 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java @@ -9,9 +9,10 @@ import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; + import java.io.File; import java.util.List; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java index 1e904285971..bb31c767c85 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java @@ -15,9 +15,9 @@ import forge.game.GameRules; import forge.game.GameType; import forge.item.PaperCard; import forge.limited.CardRanker; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import java.io.File; import java.util.ArrayList; diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index fb86479e7c3..38ee6a75495 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -7,8 +7,8 @@ import com.badlogic.gdx.backends.lwjgl.LwjglClipboard; import forge.Forge; import forge.assets.AssetsDownloader; import forge.interfaces.IDeviceAdapter; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.FileUtil; import forge.util.OperatingSystem; import forge.util.RestartUtil; diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index ae6a4c14e83..745afb1f252 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -14,10 +14,10 @@ import forge.assets.ImageCache; import forge.error.BugReporter; import forge.error.ExceptionHandler; import forge.interfaces.IDeviceAdapter; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.SplashScreen; import forge.screens.home.HomeScreen; diff --git a/forge-gui-mobile/src/forge/GuiMobile.java b/forge-gui-mobile/src/forge/GuiMobile.java index c277edc066c..6651b510882 100644 --- a/forge-gui-mobile/src/forge/GuiMobile.java +++ b/forge-gui-mobile/src/forge/GuiMobile.java @@ -13,9 +13,7 @@ import forge.assets.FBufferedImage; import forge.assets.FDelayLoadImage; import forge.assets.FImage; import forge.assets.FSkin; -import forge.assets.FSkinProp; import forge.assets.FTextureImage; -import forge.assets.ISkinImage; import forge.assets.ImageCache; import forge.card.CardRenderer; import forge.deck.Deck; @@ -25,8 +23,10 @@ import forge.error.BugReportDialog; import forge.interfaces.IGuiBase; import forge.interfaces.IGuiGame; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; +import forge.localinstance.properties.ForgeConstants; import forge.match.HostedMatch; -import forge.properties.ForgeConstants; import forge.screens.LoadingOverlay; import forge.screens.match.MatchController; import forge.screens.quest.QuestMenu; diff --git a/forge-gui-mobile/src/forge/animation/AbilityEffect.java b/forge-gui-mobile/src/forge/animation/AbilityEffect.java index cb96ab59f30..bda4ca6a8cc 100644 --- a/forge-gui-mobile/src/forge/animation/AbilityEffect.java +++ b/forge-gui-mobile/src/forge/animation/AbilityEffect.java @@ -1,9 +1,9 @@ package forge.animation; import forge.Graphics; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.sound.AudioClip; public enum AbilityEffect { diff --git a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java index 5bbc2be0dcd..fdd8a3858ad 100644 --- a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java +++ b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java @@ -6,7 +6,7 @@ import com.google.common.collect.ImmutableList; import forge.FThreads; import forge.Forge; import forge.download.GuiDownloadZipService; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.screens.SplashScreen; import forge.util.FileUtil; import forge.util.gui.SOptionPane; diff --git a/forge-gui-mobile/src/forge/assets/FImage.java b/forge-gui-mobile/src/forge/assets/FImage.java index 7e6e8425292..ae35300d130 100644 --- a/forge-gui-mobile/src/forge/assets/FImage.java +++ b/forge-gui-mobile/src/forge/assets/FImage.java @@ -1,6 +1,7 @@ package forge.assets; import forge.Graphics; +import forge.localinstance.assets.ISkinImage; public interface FImage extends ISkinImage { float getWidth(); diff --git a/forge-gui-mobile/src/forge/assets/FLanguage.java b/forge-gui-mobile/src/forge/assets/FLanguage.java index 1fbd146f352..7f3fac71bb4 100644 --- a/forge-gui-mobile/src/forge/assets/FLanguage.java +++ b/forge-gui-mobile/src/forge/assets/FLanguage.java @@ -2,10 +2,11 @@ package forge.assets; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; + +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui-mobile/src/forge/assets/FSkin.java b/forge-gui-mobile/src/forge/assets/FSkin.java index 48544a63648..0e4a13ca28f 100644 --- a/forge-gui-mobile/src/forge/assets/FSkin.java +++ b/forge-gui-mobile/src/forge/assets/FSkin.java @@ -17,10 +17,11 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import forge.FThreads; import forge.assets.FSkinImage.SourceFile; import forge.card.CardFaceSymbols; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.LoadingOverlay; import forge.screens.SplashScreen; import forge.toolbox.FProgressBar; diff --git a/forge-gui-mobile/src/forge/assets/FSkinColor.java b/forge-gui-mobile/src/forge/assets/FSkinColor.java index 883088687f3..a1b3f6052a7 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinColor.java +++ b/forge-gui-mobile/src/forge/assets/FSkinColor.java @@ -4,6 +4,7 @@ import java.util.HashMap; import com.badlogic.gdx.graphics.Color; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.TargetingOverlay; public class FSkinColor { diff --git a/forge-gui-mobile/src/forge/assets/FSkinFont.java b/forge-gui-mobile/src/forge/assets/FSkinFont.java index b568835d639..5bb946f7748 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinFont.java +++ b/forge-gui-mobile/src/forge/assets/FSkinFont.java @@ -1,5 +1,15 @@ package forge.assets; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +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 com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Color; @@ -18,22 +28,12 @@ import com.badlogic.gdx.utils.Array; import forge.FThreads; import forge.Forge; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.LineReader; import forge.util.TextBounds; import forge.util.Utils; -import java.io.FileInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - public class FSkinFont { private static final int MIN_FONT_SIZE = 8; private static int MAX_FONT_SIZE = 72; diff --git a/forge-gui-mobile/src/forge/assets/FSkinImage.java b/forge-gui-mobile/src/forge/assets/FSkinImage.java index 9d85caa38c9..30e43563fdb 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinImage.java +++ b/forge-gui-mobile/src/forge/assets/FSkinImage.java @@ -10,7 +10,8 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import forge.Forge; import forge.Graphics; -import forge.properties.ForgeConstants; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.util.ImageUtil; /** Properties of various components that make up the skin. diff --git a/forge-gui-mobile/src/forge/assets/FSkinTexture.java b/forge-gui-mobile/src/forge/assets/FSkinTexture.java index 772d897cb24..6161619e91d 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinTexture.java +++ b/forge-gui-mobile/src/forge/assets/FSkinTexture.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture.TextureWrap; import forge.Graphics; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import java.util.ArrayList; import java.util.Collections; diff --git a/forge-gui-mobile/src/forge/assets/ImageCache.java b/forge-gui-mobile/src/forge/assets/ImageCache.java index d127987c96f..f4706a3e7f4 100644 --- a/forge-gui-mobile/src/forge/assets/ImageCache.java +++ b/forge-gui-mobile/src/forge/assets/ImageCache.java @@ -36,9 +36,9 @@ import forge.game.card.CardView; import forge.game.player.IHasIcon; import forge.item.InventoryItem; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.util.ImageUtil; import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; diff --git a/forge-gui-mobile/src/forge/assets/ImageLoader.java b/forge-gui-mobile/src/forge/assets/ImageLoader.java index 78e72f75c63..8579d1952ea 100644 --- a/forge-gui-mobile/src/forge/assets/ImageLoader.java +++ b/forge-gui-mobile/src/forge/assets/ImageLoader.java @@ -14,9 +14,9 @@ import forge.FThreads; import forge.Forge; import forge.ImageKeys; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.util.FileUtil; import forge.util.TextUtil; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui-mobile/src/forge/assets/TextRenderer.java b/forge-gui-mobile/src/forge/assets/TextRenderer.java index 30bed5b800c..ce7fdfb3006 100644 --- a/forge-gui-mobile/src/forge/assets/TextRenderer.java +++ b/forge-gui-mobile/src/forge/assets/TextRenderer.java @@ -13,9 +13,9 @@ import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; import forge.card.CardFaceSymbols; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.util.TextBounds; //Encodes text for drawing with symbols and reminder text diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index 69cbf3d34fe..8608a48bbaa 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -22,9 +22,9 @@ import forge.game.GameView; import forge.game.card.CardView.CardStateView; import forge.game.card.CardView; import forge.game.zone.ZoneType; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.screens.FScreen; import forge.screens.match.MatchController; import forge.util.CardTranslation; diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index 2bc7cb3c18a..318c9f50c6e 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -37,11 +37,11 @@ import forge.game.card.CounterType; import forge.game.zone.ZoneType; import forge.item.IPaperCard; import forge.item.InventoryItem; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgeConstants.CounterDisplayType; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgeConstants.CounterDisplayType; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.MatchController; import forge.toolbox.FList; import forge.util.CardTranslation; diff --git a/forge-gui-mobile/src/forge/card/CardZoom.java b/forge-gui-mobile/src/forge/card/CardZoom.java index e0b72fea7ec..c94882c07a6 100644 --- a/forge-gui-mobile/src/forge/card/CardZoom.java +++ b/forge-gui-mobile/src/forge/card/CardZoom.java @@ -19,10 +19,10 @@ import forge.game.GameView; import forge.game.card.CardView; import forge.item.IPaperCard; import forge.item.InventoryItem; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.planarconquest.ConquestCommander; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.MatchController; import forge.toolbox.FCardPanel; import forge.toolbox.FDialog; diff --git a/forge-gui-mobile/src/forge/deck/FDeckChooser.java b/forge-gui-mobile/src/forge/deck/FDeckChooser.java index e796873698b..83a875629e5 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckChooser.java +++ b/forge-gui-mobile/src/forge/deck/FDeckChooser.java @@ -15,11 +15,11 @@ import forge.interfaces.IGuiGame; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.QuestEvent; import forge.quest.QuestEventChallenge; diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index dbf29308dcc..f87d7e812f6 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -9,8 +9,12 @@ import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import forge.Forge; import forge.Forge.KeyInputAdapter; +import forge.assets.FImage; +import forge.assets.FSkin; +import forge.assets.FSkinFont; +import forge.assets.FSkinImage; +import forge.assets.FTextureRegionImage; import forge.Graphics; -import forge.assets.*; import forge.card.CardDb; import forge.card.CardEdition; import forge.card.CardPreferences; @@ -24,13 +28,14 @@ import forge.itemmanager.ItemManager.ContextMenuBuilder; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; import forge.limited.BoosterDraft; +import forge.localinstance.assets.*; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FCheckBoxMenuItem; import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; import forge.planarconquest.ConquestUtil; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.TabPageScreen; import forge.toolbox.*; diff --git a/forge-gui-mobile/src/forge/menu/FMenuItem.java b/forge-gui-mobile/src/forge/menu/FMenuItem.java index 041c2b86a8e..3508963cd48 100644 --- a/forge-gui-mobile/src/forge/menu/FMenuItem.java +++ b/forge-gui-mobile/src/forge/menu/FMenuItem.java @@ -11,8 +11,8 @@ import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; -import forge.assets.FSkinProp; import forge.interfaces.IButton; +import forge.localinstance.assets.FSkinProp; import forge.screens.FScreen.Header; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/TabPageScreen.java b/forge-gui-mobile/src/forge/screens/TabPageScreen.java index 64ab47cdb69..963b8c50f40 100644 --- a/forge-gui-mobile/src/forge/screens/TabPageScreen.java +++ b/forge-gui-mobile/src/forge/screens/TabPageScreen.java @@ -8,9 +8,9 @@ import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java b/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java index 5740d1b9973..c90ec8f6930 100644 --- a/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java +++ b/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java @@ -6,8 +6,6 @@ import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; -import forge.achievement.Achievement; -import forge.achievement.AchievementCollection; import forge.assets.FBufferedImage; import forge.assets.FImage; import forge.assets.FSkinColor; @@ -16,6 +14,8 @@ import forge.assets.FSkinImage; import forge.assets.FSkinTexture; import forge.card.CardZoom; import forge.item.IPaperCard; +import forge.localinstance.achievements.Achievement; +import forge.localinstance.achievements.AchievementCollection; import forge.menu.FDropDown; import forge.screens.FScreen; import forge.toolbox.FComboBox; diff --git a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java index 876528b4dd3..3149f18029b 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java @@ -32,14 +32,14 @@ import forge.assets.FSkinFont; import forge.game.GameType; import forge.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.GameLobby; import forge.match.LobbySlot; import forge.match.LobbySlotType; import forge.menu.FPopupMenu; import forge.model.FModel; import forge.net.event.UpdateLobbyPlayerEvent; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; diff --git a/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java b/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java index c573649ccfd..e109d452bd2 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java +++ b/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java @@ -31,11 +31,11 @@ import forge.game.GameType; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.DeckManager; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.LobbySlot; import forge.match.LobbySlotType; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.toolbox.FComboBox; import forge.toolbox.FContainer; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/home/LoadGameMenu.java b/forge-gui-mobile/src/forge/screens/home/LoadGameMenu.java index a875ea6c3ec..40082ecf6a4 100644 --- a/forge-gui-mobile/src/forge/screens/home/LoadGameMenu.java +++ b/forge-gui-mobile/src/forge/screens/home/LoadGameMenu.java @@ -3,11 +3,11 @@ package forge.screens.home; import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinImage; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.gauntlet.LoadGauntletScreen; import forge.screens.limited.LoadDraftScreen; diff --git a/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java b/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java index af3cb2e1b74..44ad3f5d7b8 100644 --- a/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java +++ b/forge-gui-mobile/src/forge/screens/home/NewGameMenu.java @@ -3,11 +3,11 @@ package forge.screens.home; import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinImage; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.constructed.ConstructedScreen; import forge.screens.gauntlet.NewGauntletScreen; diff --git a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java index 6736c54b96c..2f026e7195d 100644 --- a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java @@ -6,9 +6,9 @@ import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.localinstance.properties.ForgeConstants; import forge.match.HostedMatch; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; import forge.puzzle.Puzzle; import forge.puzzle.PuzzleIO; import forge.screens.LaunchScreen; diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java index 0e0d3da2fbe..38dac09e413 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java @@ -5,7 +5,6 @@ import com.badlogic.gdx.utils.Align; import forge.FThreads; import forge.Forge; import forge.GuiBase; -import forge.properties.ForgePreferences.FPref; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.LoadGameMenu; @@ -26,6 +25,7 @@ import forge.game.player.RegisteredPlayer; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java index bb3e373dcd3..46ef83d4fe6 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java @@ -18,10 +18,10 @@ import forge.game.player.RegisteredPlayer; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.LoadGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/match/MatchController.java b/forge-gui-mobile/src/forge/screens/match/MatchController.java index 51c1ffafe75..ab1f6a8f49c 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchController.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchController.java @@ -22,7 +22,6 @@ import forge.GuiBase; import forge.LobbyPlayer; import forge.assets.FImage; import forge.assets.FSkin; -import forge.assets.FSkinProp; import forge.assets.FTextureRegionImage; import forge.assets.ImageCache; import forge.card.CardAvatarImage; @@ -38,13 +37,14 @@ import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.AbstractGuiGame; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.views.VAssignCombatDamage; import forge.screens.match.views.VPhaseIndicator; import forge.screens.match.views.VPhaseIndicator.PhaseLabel; diff --git a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java index 903b796ed80..e09c7cf4eb5 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java @@ -34,6 +34,8 @@ import forge.game.phase.PhaseType; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; import forge.interfaces.IGameController; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FDropDown; import forge.menu.FDropDownMenu; import forge.menu.FMenuBar; @@ -41,8 +43,6 @@ import forge.menu.FMenuItem; import forge.menu.FMenuTab; import forge.model.FModel; import forge.player.PlayerZoneUpdate; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.match.views.VAvatar; import forge.screens.match.views.VCardDisplayArea.CardAreaPanel; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VLog.java b/forge-gui-mobile/src/forge/screens/match/views/VLog.java index 98e8cb49981..1183e70a561 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VLog.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VLog.java @@ -11,9 +11,9 @@ import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; import forge.game.GameLogEntry; import forge.game.GameLogEntryType; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FDropDown; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.MatchController; import forge.toolbox.FDisplayObject; import forge.util.Utils; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java b/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java index 0917068fc34..da658f0f4ed 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java @@ -19,8 +19,8 @@ import forge.game.card.CardView; import forge.game.card.CounterEnumType; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.match.MatchController; import forge.screens.match.MatchScreen; import forge.toolbox.FCardPanel; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java index 2ec95f48e13..75ac2706e33 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java @@ -18,9 +18,9 @@ package forge.screens.match.winlose; */ import forge.FThreads; -import forge.assets.FSkinProp; import forge.game.GameView; import forge.gauntlet.GauntletWinLoseController; +import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; import forge.util.gui.SOptionPane; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java index 3bf59a0a19e..49eed38bc72 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java @@ -7,12 +7,12 @@ import forge.Forge; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; -import forge.assets.FSkinProp; import forge.game.GameLogEntry; import forge.game.GameLogEntryType; import forge.game.GameView; import forge.interfaces.IWinLoseView; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; import forge.menu.FMagnifyView; import forge.model.FModel; import forge.toolbox.FButton; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java b/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java index 7cad5dc8b2e..6708d3a729c 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java @@ -8,13 +8,13 @@ import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.net.ChatMessage; import forge.net.IOnlineChatInterface; import forge.net.IRemote; import forge.net.event.MessageEvent; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java b/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java index 7240b6e6a5b..c3730d290cb 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java @@ -4,8 +4,9 @@ import com.google.common.collect.ImmutableList; import forge.FThreads; import forge.Forge; import forge.GuiBase; -import forge.assets.FSkinProp; import forge.interfaces.ILobbyView; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.match.GameLobby; import forge.net.ChatMessage; import forge.net.IOnlineChatInterface; @@ -14,7 +15,6 @@ import forge.net.NetConnectUtil; import forge.net.OfflineLobby; import forge.net.client.FGameClient; import forge.net.server.FServerManager; -import forge.properties.ForgeConstants; import forge.screens.LoadingOverlay; import forge.screens.constructed.LobbyScreen; import forge.screens.online.OnlineMenu.OnlineScreen; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java b/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java index dc9cbf1a33c..b2859443c6a 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java @@ -3,12 +3,12 @@ package forge.screens.online; import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinImage; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; import forge.net.server.FServerManager; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java index f94277d86fa..df6ed919610 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java @@ -17,7 +17,6 @@ import forge.animation.ForgeAnimation; import forge.assets.FSkin; import forge.assets.FSkinColor; import forge.assets.FSkinFont; -import forge.assets.FSkinProp; import forge.assets.FSkinTexture; import forge.assets.TextRenderer; import forge.card.CardRarity; @@ -27,6 +26,7 @@ import forge.card.ColorSet; import forge.card.CardRenderer.CardStackPosition; import forge.card.ColorSetImage; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.planarconquest.ConquestCommander; import forge.planarconquest.ConquestData; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java index e8568fb8112..18f5b638de4 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java @@ -1,11 +1,11 @@ package forge.screens.planarconquest; import forge.Forge; -import forge.achievement.PlaneswalkerAchievements; import forge.assets.FImage; import forge.card.CardListPreview; import forge.deck.FDeckChooser; import forge.item.PaperCard; +import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.model.FModel; import forge.planarconquest.ConquestData; import forge.screens.FScreen; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java index 916062c22bd..c97603cfcad 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java @@ -16,6 +16,7 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.localinstance.properties.ForgeConstants; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.model.FModel; @@ -23,7 +24,6 @@ import forge.planarconquest.ConquestController; import forge.planarconquest.ConquestData; import forge.planarconquest.ConquestPreferences; import forge.planarconquest.ConquestPreferences.CQPref; -import forge.properties.ForgeConstants; import forge.quest.QuestUtil; import forge.screens.LaunchScreen; import forge.screens.home.LoadGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java index ba3fda7341a..094d08db6d5 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java @@ -3,11 +3,11 @@ package forge.screens.planarconquest; import com.google.common.collect.Iterables; import forge.FThreads; -import forge.achievement.PlaneswalkerAchievements; import forge.assets.FImage; import forge.card.CardImage; import forge.card.CardListPreview; import forge.item.PaperCard; +import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.model.FModel; import forge.planarconquest.ConquestController; import forge.planarconquest.ConquestData; diff --git a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java index 0d1c40ca817..901b6adb063 100644 --- a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java @@ -17,10 +17,10 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.localinstance.properties.ForgeConstants; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestController; import forge.quest.QuestUtil; import forge.quest.data.DeckConstructionRules; diff --git a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java index 098f56b96ea..1b9f977d895 100644 --- a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java @@ -15,9 +15,9 @@ import forge.game.GameFormat; import forge.item.PaperCard; import forge.item.PreconDeck; import forge.itemmanager.filters.HistoricFormatSelect; +import forge.localinstance.properties.ForgeConstants; import forge.model.CardCollections; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestController; import forge.quest.QuestMode; import forge.quest.QuestUtil; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java index e99dfcf2538..fdbde6e354e 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java @@ -13,10 +13,10 @@ import forge.deck.FDeckEditor.EditorType; import forge.interfaces.IButton; import forge.interfaces.ICheckBox; import forge.interfaces.IComboBox; +import forge.localinstance.properties.ForgeConstants; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.IVQuestStats; import forge.quest.QuestUtil; import forge.quest.data.QuestPreferences.QPref; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java index 8b96b79da03..9dacdee15ee 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java @@ -20,8 +20,8 @@ import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; import forge.limited.BoosterDraft; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.IQuestTournamentView; import forge.quest.QuestDraftUtils; import forge.quest.QuestEventDraft; diff --git a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java index ebc224e9cfd..bfc99edac90 100644 --- a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java @@ -16,6 +16,7 @@ import forge.download.GuiDownloadSkins; import forge.download.GuiDownloadZipService; import forge.properties.ForgeConstants; import forge.util.FileUtil; +import forge.localinstance.properties.ForgeProfileProperties; import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; @@ -26,7 +27,6 @@ import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.properties.ForgeProfileProperties; import forge.screens.TabPageScreen.TabPage; import forge.toolbox.FFileChooser; import forge.toolbox.FFileChooser.ChoiceType; diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index 417880b7ddc..ead74e8a1f8 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -14,10 +14,10 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.ImageCache; import forge.game.GameLogEntryType; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.screens.TabPageScreen; import forge.screens.TabPageScreen.TabPage; diff --git a/forge-gui-mobile/src/forge/toolbox/FButton.java b/forge-gui-mobile/src/forge/toolbox/FButton.java index ac07cfe6e43..07da657eca7 100644 --- a/forge-gui-mobile/src/forge/toolbox/FButton.java +++ b/forge-gui-mobile/src/forge/toolbox/FButton.java @@ -11,8 +11,8 @@ import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.assets.FSkinProp; import forge.interfaces.IButton; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; import forge.util.TextBounds; diff --git a/forge-gui-mobile/src/forge/toolbox/FChoiceList.java b/forge-gui-mobile/src/forge/toolbox/FChoiceList.java index 5cd93132579..debb33b79c0 100644 --- a/forge-gui-mobile/src/forge/toolbox/FChoiceList.java +++ b/forge-gui-mobile/src/forge/toolbox/FChoiceList.java @@ -9,8 +9,6 @@ import forge.Graphics; import forge.assets.FSkin; import forge.assets.FSkinColor; import forge.assets.FSkinFont; -import forge.assets.FSkinProp; -import forge.assets.IHasSkinProp; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; import forge.card.CardFaceSymbols; @@ -29,6 +27,8 @@ import forge.itemmanager.AdvancedSearch.FilterOperator; import forge.itemmanager.CardManager; import forge.itemmanager.filters.AdvancedSearchFilter; import forge.itemmanager.filters.ItemFilter; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.IHasSkinProp; import forge.screens.match.MatchController; import forge.screens.match.views.VAvatar; import forge.screens.match.views.VStack; diff --git a/forge-gui-mobile/src/forge/toolbox/FGestureAdapter.java b/forge-gui-mobile/src/forge/toolbox/FGestureAdapter.java index ec4d73f8cb5..eb26327f83b 100644 --- a/forge-gui-mobile/src/forge/toolbox/FGestureAdapter.java +++ b/forge-gui-mobile/src/forge/toolbox/FGestureAdapter.java @@ -6,8 +6,8 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer.Task; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.util.Utils; public abstract class FGestureAdapter extends InputAdapter { diff --git a/forge-gui-mobile/src/forge/toolbox/FLabel.java b/forge-gui-mobile/src/forge/toolbox/FLabel.java index 24b0cfbaea6..51f37a63663 100644 --- a/forge-gui-mobile/src/forge/toolbox/FLabel.java +++ b/forge-gui-mobile/src/forge/toolbox/FLabel.java @@ -7,11 +7,11 @@ import forge.Graphics; import forge.UiCommand; import forge.assets.FImage; import forge.assets.FSkinColor; -import forge.assets.FSkinProp; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.interfaces.IButton; +import forge.localinstance.assets.FSkinProp; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; import forge.util.TextBounds; diff --git a/forge-gui-mobile/src/forge/toolbox/FList.java b/forge-gui-mobile/src/forge/toolbox/FList.java index c6c3f80cc74..60508287064 100644 --- a/forge-gui-mobile/src/forge/toolbox/FList.java +++ b/forge-gui-mobile/src/forge/toolbox/FList.java @@ -12,8 +12,8 @@ import forge.assets.FSkinTexture; import forge.assets.FSkinColor.Colors; import forge.item.InventoryItem; import forge.itemmanager.filters.AdvancedSearchFilter; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.screens.FScreen; import forge.util.Utils; diff --git a/forge-gui-mobile/src/forge/toolbox/FOptionPane.java b/forge-gui-mobile/src/forge/toolbox/FOptionPane.java index cce5b77445e..778387b4a8d 100644 --- a/forge-gui-mobile/src/forge/toolbox/FOptionPane.java +++ b/forge-gui-mobile/src/forge/toolbox/FOptionPane.java @@ -17,11 +17,11 @@ import forge.assets.FImage; import forge.assets.FSkin; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.assets.FSkinProp; import forge.card.CardRenderer; import forge.card.CardRenderer.CardStackPosition; import forge.card.CardZoom; import forge.game.card.CardView; +import forge.localinstance.assets.FSkinProp; import forge.screens.match.views.VPrompt; import forge.toolbox.FEvent.FEventHandler; import forge.util.Callback; diff --git a/forge-gui-mobile/src/forge/toolbox/FScrollPane.java b/forge-gui-mobile/src/forge/toolbox/FScrollPane.java index cb60e76e3d3..5a3dd1190c2 100644 --- a/forge-gui-mobile/src/forge/toolbox/FScrollPane.java +++ b/forge-gui-mobile/src/forge/toolbox/FScrollPane.java @@ -7,8 +7,8 @@ import com.badlogic.gdx.math.Vector2; import forge.Graphics; import forge.animation.ForgeAnimation; import forge.assets.FSkinColor; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.PhysicsObject; import forge.util.Utils; diff --git a/forge-gui/src/main/java/forge/assets/ISkinImage.java b/forge-gui/src/main/java/forge/assets/ISkinImage.java deleted file mode 100644 index b6c6cd720d2..00000000000 --- a/forge-gui/src/main/java/forge/assets/ISkinImage.java +++ /dev/null @@ -1,5 +0,0 @@ -package forge.assets; - -public interface ISkinImage { - -} diff --git a/forge-gui/src/main/java/forge/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/card/CardDetailUtil.java index 0fe7ba5c0b0..1cd0d23bfd5 100644 --- a/forge-gui/src/main/java/forge/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/card/CardDetailUtil.java @@ -11,9 +11,9 @@ import forge.item.InventoryItemFromSet; import forge.item.PaperCard; import forge.item.PreconDeck; import forge.item.SealedProduct; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.util.CardTranslation; import forge.util.Lang; import org.apache.commons.lang3.StringUtils; diff --git a/forge-gui/src/main/java/forge/card/CardPreferences.java b/forge-gui/src/main/java/forge/card/CardPreferences.java index ffda9881370..a7bc5a007a1 100644 --- a/forge-gui/src/main/java/forge/card/CardPreferences.java +++ b/forge-gui/src/main/java/forge/card/CardPreferences.java @@ -1,8 +1,8 @@ package forge.card; import forge.item.IPaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.XmlUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/card/CardReaderExperiments.java b/forge-gui/src/main/java/forge/card/CardReaderExperiments.java index 00acd98e5fa..4a1439f3513 100644 --- a/forge-gui/src/main/java/forge/card/CardReaderExperiments.java +++ b/forge-gui/src/main/java/forge/card/CardReaderExperiments.java @@ -1,7 +1,7 @@ package forge.card; import forge.CardStorageReader; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import java.io.*; diff --git a/forge-gui/src/main/java/forge/card/CardScriptInfo.java b/forge-gui/src/main/java/forge/card/CardScriptInfo.java index 4025ea8a6e4..7a44e55ab9d 100644 --- a/forge-gui/src/main/java/forge/card/CardScriptInfo.java +++ b/forge-gui/src/main/java/forge/card/CardScriptInfo.java @@ -22,7 +22,7 @@ import java.io.PrintWriter; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; public final class CardScriptInfo { diff --git a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java index d07e5a7c9b7..e3e85dbf5ac 100644 --- a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java +++ b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java @@ -20,11 +20,11 @@ import forge.game.player.PlayerView; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.interfaces.IGuiGame; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.PlayerControllerHuman; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; -import forge.properties.ForgePreferences.FPref; import forge.util.Lang; import forge.util.maps.MapOfLists; diff --git a/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java b/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java index 0898e16d672..ce57898b58f 100644 --- a/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java +++ b/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java @@ -10,8 +10,8 @@ import forge.deck.io.CardThemedMatrixIO; import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.storage.IStorage; import forge.util.storage.StorageImmediatelySerialized; import org.apache.commons.lang3.ArrayUtils; diff --git a/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java b/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java index 8cc0a5c94f5..a9ce3e2bc4d 100644 --- a/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java +++ b/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java @@ -19,7 +19,7 @@ package forge.deck; import forge.deck.generation.DeckGeneratorBase; import forge.deck.generation.IDeckGenPool; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.MyRandom; diff --git a/forge-gui/src/main/java/forge/deck/DeckProxy.java b/forge-gui/src/main/java/forge/deck/DeckProxy.java index c61965aaae2..452827530a1 100644 --- a/forge-gui/src/main/java/forge/deck/DeckProxy.java +++ b/forge-gui/src/main/java/forge/deck/DeckProxy.java @@ -31,9 +31,9 @@ import forge.game.GameType; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.item.PreconDeck; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.QuestEvent; import forge.util.BinaryUtil; diff --git a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java index 575aa7031b8..55f80947db9 100644 --- a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java +++ b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java @@ -22,8 +22,8 @@ import forge.limited.ArchetypeDeckBuilder; import forge.limited.CardThemedCommanderDeckBuilder; import forge.limited.CardThemedConquestDeckBuilder; import forge.limited.CardThemedDeckBuilder; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.QuestEvent; import forge.quest.QuestEventChallenge; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java index c55b9053f0b..5e6bdcf35d4 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java @@ -10,7 +10,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java index 05a599cf966..eb93e35b6e9 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java @@ -10,7 +10,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java b/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java index 335ce095849..e667fded18c 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java @@ -10,7 +10,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java index e9ecd622765..0600221af07 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java @@ -10,7 +10,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java index 5554925a960..27d3057d483 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java @@ -10,7 +10,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckCategory.java b/forge-gui/src/main/java/forge/deck/NetDeckCategory.java index cce8444cbae..1d8b9fb34ef 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckCategory.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckCategory.java @@ -13,7 +13,7 @@ import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java b/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java index 56d281f79e4..24c719efd28 100644 --- a/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java +++ b/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java @@ -1,7 +1,8 @@ package forge.deck.io; import forge.game.GameFormat; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; + import org.apache.commons.lang3.tuple.Pair; import java.io.*; diff --git a/forge-gui/src/main/java/forge/deck/io/CardThemedMatrixIO.java b/forge-gui/src/main/java/forge/deck/io/CardThemedMatrixIO.java index 0536e70e32e..1c5cff0bf84 100644 --- a/forge-gui/src/main/java/forge/deck/io/CardThemedMatrixIO.java +++ b/forge-gui/src/main/java/forge/deck/io/CardThemedMatrixIO.java @@ -12,7 +12,7 @@ import java.util.Map; import forge.game.GameFormat; import forge.item.PaperCard; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; /** * Created by maustin on 11/05/2017. diff --git a/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java b/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java index cb5c58ccab5..d1354acb247 100644 --- a/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java +++ b/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java @@ -2,7 +2,7 @@ package forge.deck.io; import forge.deck.DeckProxy; import forge.deck.DeckType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.XmlUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/download/AutoUpdater.java b/forge-gui/src/main/java/forge/download/AutoUpdater.java index 99ce308bd8c..a33179ed2ad 100644 --- a/forge-gui/src/main/java/forge/download/AutoUpdater.java +++ b/forge-gui/src/main/java/forge/download/AutoUpdater.java @@ -2,8 +2,8 @@ package forge.download; import com.google.common.collect.ImmutableList; import forge.GuiBase; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.BuildInfo; import forge.util.FileUtil; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java b/forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java index 66e6eb9ccc9..532ecfe9090 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java @@ -17,11 +17,11 @@ */ package forge.download; -import forge.properties.ForgeConstants; - import java.util.Map; import java.util.TreeMap; +import forge.localinstance.properties.ForgeConstants; + public class GuiDownloadAchievementImages extends GuiDownloadService { @Override public String getTitle() { diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java b/forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java index 7783f2872de..776c6a5a166 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java @@ -18,8 +18,8 @@ package forge.download; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.ImageUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java b/forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java index bf9987fbc87..a005eac42a4 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java @@ -19,8 +19,8 @@ package forge.download; import forge.StaticData; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.ImageUtil; import forge.ImageKeys; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadPrices.java b/forge-gui/src/main/java/forge/download/GuiDownloadPrices.java index ec0ed17a8ab..1e483f1ff72 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadPrices.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadPrices.java @@ -21,7 +21,7 @@ import java.util.Map; import com.google.common.collect.ImmutableMap; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class GuiDownloadPrices extends GuiDownloadService { @Override diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java b/forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java index 06161bc453f..2be134a4696 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java @@ -17,11 +17,11 @@ */ package forge.download; -import forge.properties.ForgeConstants; - import java.util.Map; import java.util.TreeMap; +import forge.localinstance.properties.ForgeConstants; + public class GuiDownloadQuestImages extends GuiDownloadService { @Override public String getTitle() { diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/download/GuiDownloadService.java index 07cdf8afa79..4656032b252 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadService.java @@ -48,7 +48,7 @@ import forge.error.BugReporter; import forge.interfaces.IButton; import forge.interfaces.IProgressBar; import forge.interfaces.ITextField; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.HttpUtil; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java b/forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java index b74442bc8cc..3cfc87a09b2 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java @@ -21,8 +21,8 @@ import com.google.common.collect.Iterables; import forge.StaticData; import forge.card.CardEdition; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.ImageUtil; import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadSkins.java b/forge-gui/src/main/java/forge/download/GuiDownloadSkins.java index 502c057f710..af0e061ae62 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadSkins.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadSkins.java @@ -1,10 +1,10 @@ package forge.download; -import forge.properties.ForgeConstants; - import java.util.Map; import java.util.TreeMap; +import forge.localinstance.properties.ForgeConstants; + public class GuiDownloadSkins extends GuiDownloadService { @Override public String getTitle() { diff --git a/forge-gui/src/main/java/forge/error/BugReporter.java b/forge-gui/src/main/java/forge/error/BugReporter.java index 50400492010..f4a850e3d51 100644 --- a/forge-gui/src/main/java/forge/error/BugReporter.java +++ b/forge-gui/src/main/java/forge/error/BugReporter.java @@ -26,8 +26,8 @@ import java.io.StringWriter; import forge.FThreads; import forge.GuiBase; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.gui.SOptionPane; import forge.util.Localizer; import io.sentry.Sentry; diff --git a/forge-gui/src/main/java/forge/error/ExceptionHandler.java b/forge-gui/src/main/java/forge/error/ExceptionHandler.java index 1851ab83937..19eeb7d24de 100644 --- a/forge-gui/src/main/java/forge/error/ExceptionHandler.java +++ b/forge-gui/src/main/java/forge/error/ExceptionHandler.java @@ -29,7 +29,7 @@ import java.lang.Thread.UncaughtExceptionHandler; import com.esotericsoftware.minlog.Log; import forge.FTrace; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.MultiplexOutputStream; /** diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletData.java b/forge-gui/src/main/java/forge/gauntlet/GauntletData.java index e9b470cf10a..3f9f6d66c9a 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletData.java +++ b/forge-gui/src/main/java/forge/gauntlet/GauntletData.java @@ -6,8 +6,8 @@ import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.localinstance.properties.ForgeConstants; import forge.match.HostedMatch; -import forge.properties.ForgeConstants; import java.io.File; import java.text.DateFormat; diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletIO.java b/forge-gui/src/main/java/forge/gauntlet/GauntletIO.java index 721e4bd3298..c47ff5d4c00 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletIO.java +++ b/forge-gui/src/main/java/forge/gauntlet/GauntletIO.java @@ -34,8 +34,8 @@ import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import forge.deck.CardPool; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.IgnoringXStream; public class GauntletIO { diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java b/forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java index 5f8b4386a71..7e4310d565f 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java +++ b/forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java @@ -5,12 +5,12 @@ import java.util.List; import com.google.common.collect.Lists; import forge.LobbyPlayer; -import forge.assets.FSkinProp; import forge.deck.Deck; import forge.game.GameView; import forge.game.player.RegisteredPlayer; import forge.interfaces.IButton; import forge.interfaces.IWinLoseView; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/interfaces/IButton.java b/forge-gui/src/main/java/forge/interfaces/IButton.java index f964c1a6120..583dae0820e 100644 --- a/forge-gui/src/main/java/forge/interfaces/IButton.java +++ b/forge-gui/src/main/java/forge/interfaces/IButton.java @@ -1,7 +1,7 @@ package forge.interfaces; import forge.UiCommand; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; public interface IButton extends ITextComponent { boolean isSelected(); diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java index 78605c2ba63..029676c0496 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java +++ b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java @@ -8,10 +8,10 @@ import java.util.List; import com.google.common.base.Function; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; import forge.download.GuiDownloadService; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; import forge.match.HostedMatch; import forge.sound.IAudioClip; import forge.sound.IAudioMusic; diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiGame.java b/forge-gui/src/main/java/forge/interfaces/IGuiGame.java index ded3b8b5963..a503de1daca 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiGame.java +++ b/forge-gui/src/main/java/forge/interfaces/IGuiGame.java @@ -7,7 +7,6 @@ import java.util.Map; import com.google.common.base.Function; import forge.LobbyPlayer; -import forge.assets.FSkinProp; import forge.deck.CardPool; import forge.game.GameEntityView; import forge.game.GameView; @@ -22,6 +21,7 @@ import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; import forge.trackable.TrackableCollection; diff --git a/forge-gui/src/main/java/forge/interfaces/IWinLoseView.java b/forge-gui/src/main/java/forge/interfaces/IWinLoseView.java index bf650e8757a..fc3dd3590b9 100644 --- a/forge-gui/src/main/java/forge/interfaces/IWinLoseView.java +++ b/forge-gui/src/main/java/forge/interfaces/IWinLoseView.java @@ -2,8 +2,8 @@ package forge.interfaces; import java.util.List; -import forge.assets.FSkinProp; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; public interface IWinLoseView { T getBtnContinue(); diff --git a/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java b/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java index 43896e63dea..0a41ae100cd 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java +++ b/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java @@ -1,9 +1,9 @@ package forge.itemmanager; import forge.itemmanager.ItemColumnConfig.SortState; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; import forge.util.XmlUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java index d0b49c98364..d44f68f540c 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java @@ -10,8 +10,8 @@ import forge.interfaces.IButton; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.SItemManagerUtil.StatTypes; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.quest.data.StarRating; import forge.util.BinaryUtil; import forge.util.PredicateString.StringOp; diff --git a/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java b/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java index 5aeba9487cb..0c9d1702be5 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java @@ -2,13 +2,13 @@ package forge.itemmanager; import com.google.common.base.Predicate; import forge.GuiBase; -import forge.assets.FSkinProp; -import forge.assets.IHasSkinProp; import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.deck.DeckProxy; import forge.interfaces.IComboBox; import forge.item.InventoryItem; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.IHasSkinProp; import forge.util.ComparableOp; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/limited/BoosterDraft.java index 099fc628b81..e6cf6d207e6 100644 --- a/forge-gui/src/main/java/forge/limited/BoosterDraft.java +++ b/forge-gui/src/main/java/forge/limited/BoosterDraft.java @@ -29,10 +29,10 @@ import forge.item.SealedProduct; import forge.item.generation.ChaosBoosterSupplier; import forge.item.generation.IUnOpenedProduct; import forge.item.generation.UnOpenedProduct; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.CardBlock; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.util.FileUtil; import forge.util.ItemPool; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java b/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java index 86f83429d97..fdb89d30e4f 100644 --- a/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java +++ b/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java @@ -23,7 +23,7 @@ import java.util.List; import forge.card.ColorSet; import forge.deck.Deck; import forge.item.PaperCard; -import forge.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences; /** *

diff --git a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java index fe572df8845..2107d945159 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java @@ -18,8 +18,8 @@ import forge.deck.generation.IDeckGenPool; import forge.game.GameFormat; import forge.item.IPaperCard; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.MyRandom; import java.util.*; diff --git a/forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java b/forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java index 89d24d32cff..be81398d911 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java +++ b/forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java @@ -5,7 +5,7 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; import forge.item.PaperCard; -import forge.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences; import java.util.List; diff --git a/forge-gui/src/main/java/forge/limited/ReadDraftRankings.java b/forge-gui/src/main/java/forge/limited/ReadDraftRankings.java index 81b117adb39..d2f485d3628 100644 --- a/forge-gui/src/main/java/forge/limited/ReadDraftRankings.java +++ b/forge-gui/src/main/java/forge/limited/ReadDraftRankings.java @@ -1,6 +1,6 @@ package forge.limited; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import java.util.HashMap; diff --git a/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java b/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java index ca513569a66..20b89dbfd28 100644 --- a/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java +++ b/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java @@ -19,7 +19,6 @@ package forge.limited; import com.google.common.collect.Lists; import forge.StaticData; -import forge.assets.FSkinProp; import forge.card.CardEdition; import forge.card.MagicColor; import forge.deck.CardPool; @@ -30,11 +29,12 @@ import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.IUnOpenedProduct; import forge.item.generation.UnOpenedProduct; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.CardBlock; import forge.model.FModel; import forge.model.UnOpenedMeta; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; import forge.util.FileUtil; import forge.util.MyRandom; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/achievement/Achievement.java b/forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/Achievement.java rename to forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java index 90467301f4c..bf60ddf11be 100644 --- a/forge-gui/src/main/java/forge/achievement/Achievement.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import java.text.DateFormat; import java.util.Date; @@ -7,12 +7,12 @@ import java.util.Locale; import org.w3c.dom.Element; import forge.GuiBase; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; import forge.game.Game; import forge.game.player.Player; import forge.item.IPaperCard; -import forge.properties.ForgeConstants; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; +import forge.localinstance.properties.ForgeConstants; import forge.util.Lang; import forge.util.XmlUtil; diff --git a/forge-gui/src/main/java/forge/achievement/AchievementCollection.java b/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java similarity index 98% rename from forge-gui/src/main/java/forge/achievement/AchievementCollection.java rename to forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java index 355bc0cd4a8..0d42d4828bb 100644 --- a/forge-gui/src/main/java/forge/achievement/AchievementCollection.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.GuiBase; import java.io.File; @@ -22,9 +22,9 @@ import forge.game.GameType; import forge.game.Match; import forge.game.player.Player; import forge.interfaces.IComboBox; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.PlayerControllerHuman; -import forge.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.ThreadUtil; import forge.util.XmlUtil; diff --git a/forge-gui/src/main/java/forge/achievement/AltWinAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/AltWinAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java index 02da7141241..93b37d337c3 100644 --- a/forge-gui/src/main/java/forge/achievement/AltWinAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java @@ -1,12 +1,12 @@ -package forge.achievement; +package forge.localinstance.achievements; import org.apache.commons.lang3.StringUtils; import forge.game.Game; import forge.game.player.Player; import forge.item.IPaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.Localizer; import forge.util.CardTranslation; diff --git a/forge-gui/src/main/java/forge/achievement/ArcaneMaster.java b/forge-gui/src/main/java/forge/localinstance/achievements/ArcaneMaster.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/ArcaneMaster.java rename to forge-gui/src/main/java/forge/localinstance/achievements/ArcaneMaster.java index a2c35c81e9f..a19b28d50e1 100644 --- a/forge-gui/src/main/java/forge/achievement/ArcaneMaster.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/ArcaneMaster.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.GameType; diff --git a/forge-gui/src/main/java/forge/achievement/Blackjack.java b/forge-gui/src/main/java/forge/localinstance/achievements/Blackjack.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/Blackjack.java rename to forge-gui/src/main/java/forge/localinstance/achievements/Blackjack.java index 4fbb18ec821..51a45e3e780 100644 --- a/forge-gui/src/main/java/forge/achievement/Blackjack.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Blackjack.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.card.Card; diff --git a/forge-gui/src/main/java/forge/achievement/ChallengeAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/ChallengeAchievements.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/ChallengeAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/ChallengeAchievements.java index 29fbcfadcb8..3989a7ad663 100644 --- a/forge-gui/src/main/java/forge/achievement/ChallengeAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/ChallengeAchievements.java @@ -1,10 +1,10 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.deck.Deck; import forge.game.Game; import forge.game.GameType; import forge.game.player.Player; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.Localizer; public class ChallengeAchievements extends AchievementCollection { diff --git a/forge-gui/src/main/java/forge/achievement/ConstructedAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/ConstructedAchievements.java similarity index 91% rename from forge-gui/src/main/java/forge/achievement/ConstructedAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/ConstructedAchievements.java index afa48da8c5d..ff99e7cf459 100644 --- a/forge-gui/src/main/java/forge/achievement/ConstructedAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/ConstructedAchievements.java @@ -1,7 +1,7 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class ConstructedAchievements extends AchievementCollection { public ConstructedAchievements() { diff --git a/forge-gui/src/main/java/forge/achievement/DeckedOut.java b/forge-gui/src/main/java/forge/localinstance/achievements/DeckedOut.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/DeckedOut.java rename to forge-gui/src/main/java/forge/localinstance/achievements/DeckedOut.java index 95b5ab0d74d..8bb431b7a58 100644 --- a/forge-gui/src/main/java/forge/achievement/DeckedOut.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/DeckedOut.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.GameLossReason; diff --git a/forge-gui/src/main/java/forge/achievement/Domain.java b/forge-gui/src/main/java/forge/localinstance/achievements/Domain.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/Domain.java rename to forge-gui/src/main/java/forge/localinstance/achievements/Domain.java index 68c09f616a0..2ed10062c79 100644 --- a/forge-gui/src/main/java/forge/achievement/Domain.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Domain.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.GameType; diff --git a/forge-gui/src/main/java/forge/achievement/DraftAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/DraftAchievements.java similarity index 78% rename from forge-gui/src/main/java/forge/achievement/DraftAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/DraftAchievements.java index 1945eef0f8e..e820f907e9b 100644 --- a/forge-gui/src/main/java/forge/achievement/DraftAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/DraftAchievements.java @@ -1,6 +1,6 @@ -package forge.achievement; +package forge.localinstance.achievements; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class DraftAchievements extends AchievementCollection { public DraftAchievements() { diff --git a/forge-gui/src/main/java/forge/achievement/GameWinStreak.java b/forge-gui/src/main/java/forge/localinstance/achievements/GameWinStreak.java similarity index 95% rename from forge-gui/src/main/java/forge/achievement/GameWinStreak.java rename to forge-gui/src/main/java/forge/localinstance/achievements/GameWinStreak.java index c1e3c4e60f5..f9e936a50cb 100644 --- a/forge-gui/src/main/java/forge/achievement/GameWinStreak.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/GameWinStreak.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/Hellbent.java b/forge-gui/src/main/java/forge/localinstance/achievements/Hellbent.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/Hellbent.java rename to forge-gui/src/main/java/forge/localinstance/achievements/Hellbent.java index 38693fa4df4..5e6dcfb4b47 100644 --- a/forge-gui/src/main/java/forge/achievement/Hellbent.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Hellbent.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/LifeToSpare.java b/forge-gui/src/main/java/forge/localinstance/achievements/LifeToSpare.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/LifeToSpare.java rename to forge-gui/src/main/java/forge/localinstance/achievements/LifeToSpare.java index b7c21fe336a..09c75eb82fa 100644 --- a/forge-gui/src/main/java/forge/achievement/LifeToSpare.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/LifeToSpare.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/ManaFlooded.java b/forge-gui/src/main/java/forge/localinstance/achievements/ManaFlooded.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/ManaFlooded.java rename to forge-gui/src/main/java/forge/localinstance/achievements/ManaFlooded.java index eb58c2e4274..1a940a6ef44 100644 --- a/forge-gui/src/main/java/forge/achievement/ManaFlooded.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/ManaFlooded.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.GameType; diff --git a/forge-gui/src/main/java/forge/achievement/ManaScrewed.java b/forge-gui/src/main/java/forge/localinstance/achievements/ManaScrewed.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/ManaScrewed.java rename to forge-gui/src/main/java/forge/localinstance/achievements/ManaScrewed.java index 0a30fb60b32..6c26e39b858 100644 --- a/forge-gui/src/main/java/forge/achievement/ManaScrewed.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/ManaScrewed.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/MatchWinStreak.java b/forge-gui/src/main/java/forge/localinstance/achievements/MatchWinStreak.java similarity index 95% rename from forge-gui/src/main/java/forge/achievement/MatchWinStreak.java rename to forge-gui/src/main/java/forge/localinstance/achievements/MatchWinStreak.java index 024bf47d484..b79972e0bb9 100644 --- a/forge-gui/src/main/java/forge/achievement/MatchWinStreak.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/MatchWinStreak.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/NeedForSpeed.java b/forge-gui/src/main/java/forge/localinstance/achievements/NeedForSpeed.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/NeedForSpeed.java rename to forge-gui/src/main/java/forge/localinstance/achievements/NeedForSpeed.java index e5f48b19bd0..b953eb37ac3 100644 --- a/forge-gui/src/main/java/forge/achievement/NeedForSpeed.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/NeedForSpeed.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/NoCreatures.java b/forge-gui/src/main/java/forge/localinstance/achievements/NoCreatures.java similarity index 84% rename from forge-gui/src/main/java/forge/achievement/NoCreatures.java rename to forge-gui/src/main/java/forge/localinstance/achievements/NoCreatures.java index 9eea8bbf086..724af517a9f 100644 --- a/forge-gui/src/main/java/forge/achievement/NoCreatures.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/NoCreatures.java @@ -1,10 +1,10 @@ -package forge.achievement; +package forge.localinstance.achievements; import java.util.Map.Entry; -import forge.achievement.ChallengeAchievements.DeckChallengeAchievement; import forge.deck.Deck; import forge.item.PaperCard; +import forge.localinstance.achievements.ChallengeAchievements.DeckChallengeAchievement; import forge.util.Localizer; public class NoCreatures extends DeckChallengeAchievement { diff --git a/forge-gui/src/main/java/forge/achievement/NoLands.java b/forge-gui/src/main/java/forge/localinstance/achievements/NoLands.java similarity index 84% rename from forge-gui/src/main/java/forge/achievement/NoLands.java rename to forge-gui/src/main/java/forge/localinstance/achievements/NoLands.java index 89e28fb9d55..f8588cc32b5 100644 --- a/forge-gui/src/main/java/forge/achievement/NoLands.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/NoLands.java @@ -1,10 +1,10 @@ -package forge.achievement; +package forge.localinstance.achievements; import java.util.Map.Entry; -import forge.achievement.ChallengeAchievements.DeckChallengeAchievement; import forge.deck.Deck; import forge.item.PaperCard; +import forge.localinstance.achievements.ChallengeAchievements.DeckChallengeAchievement; import forge.util.Localizer; public class NoLands extends DeckChallengeAchievement { diff --git a/forge-gui/src/main/java/forge/achievement/NoSpells.java b/forge-gui/src/main/java/forge/localinstance/achievements/NoSpells.java similarity index 85% rename from forge-gui/src/main/java/forge/achievement/NoSpells.java rename to forge-gui/src/main/java/forge/localinstance/achievements/NoSpells.java index 96765abf828..3e225447b8f 100644 --- a/forge-gui/src/main/java/forge/achievement/NoSpells.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/NoSpells.java @@ -1,11 +1,11 @@ -package forge.achievement; +package forge.localinstance.achievements; import java.util.Map.Entry; -import forge.achievement.ChallengeAchievements.DeckChallengeAchievement; import forge.card.CardType; import forge.deck.Deck; import forge.item.PaperCard; +import forge.localinstance.achievements.ChallengeAchievements.DeckChallengeAchievement; import forge.util.Localizer; public class NoSpells extends DeckChallengeAchievement { diff --git a/forge-gui/src/main/java/forge/achievement/Overkill.java b/forge-gui/src/main/java/forge/localinstance/achievements/Overkill.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/Overkill.java rename to forge-gui/src/main/java/forge/localinstance/achievements/Overkill.java index eff0ea61bb3..755a4298785 100644 --- a/forge-gui/src/main/java/forge/achievement/Overkill.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Overkill.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/PlanarConquestAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/PlanarConquestAchievements.java similarity index 89% rename from forge-gui/src/main/java/forge/achievement/PlanarConquestAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/PlanarConquestAchievements.java index b9ef1f573ab..a967174b51b 100644 --- a/forge-gui/src/main/java/forge/achievement/PlanarConquestAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/PlanarConquestAchievements.java @@ -1,7 +1,7 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class PlanarConquestAchievements extends AchievementCollection { public PlanarConquestAchievements() { diff --git a/forge-gui/src/main/java/forge/achievement/PlaneswalkerAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java similarity index 93% rename from forge-gui/src/main/java/forge/achievement/PlaneswalkerAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java index 6aa4f852474..23713fac42b 100644 --- a/forge-gui/src/main/java/forge/achievement/PlaneswalkerAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java @@ -1,13 +1,13 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.GuiBase; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; import forge.game.Game; import forge.game.player.Player; import forge.item.IPaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.Localizer; import forge.util.CardTranslation; diff --git a/forge-gui/src/main/java/forge/achievement/Poisoned.java b/forge-gui/src/main/java/forge/localinstance/achievements/Poisoned.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/Poisoned.java rename to forge-gui/src/main/java/forge/localinstance/achievements/Poisoned.java index 4afe8801224..090a51ae547 100644 --- a/forge-gui/src/main/java/forge/achievement/Poisoned.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Poisoned.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.GameLossReason; diff --git a/forge-gui/src/main/java/forge/achievement/ProgressiveAchievement.java b/forge-gui/src/main/java/forge/localinstance/achievements/ProgressiveAchievement.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/ProgressiveAchievement.java rename to forge-gui/src/main/java/forge/localinstance/achievements/ProgressiveAchievement.java index 7f7b356b115..87164fb39d7 100644 --- a/forge-gui/src/main/java/forge/achievement/ProgressiveAchievement.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/ProgressiveAchievement.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/PuzzleAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/PuzzleAchievements.java similarity index 84% rename from forge-gui/src/main/java/forge/achievement/PuzzleAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/PuzzleAchievements.java index 2556ab38db7..b9c886d1e23 100644 --- a/forge-gui/src/main/java/forge/achievement/PuzzleAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/PuzzleAchievements.java @@ -1,6 +1,6 @@ -package forge.achievement; +package forge.localinstance.achievements; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class PuzzleAchievements extends AchievementCollection { public PuzzleAchievements() { diff --git a/forge-gui/src/main/java/forge/achievement/QuestAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/QuestAchievements.java similarity index 81% rename from forge-gui/src/main/java/forge/achievement/QuestAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/QuestAchievements.java index a7ff1218190..ee1863d1fc5 100644 --- a/forge-gui/src/main/java/forge/achievement/QuestAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/QuestAchievements.java @@ -1,6 +1,6 @@ -package forge.achievement; +package forge.localinstance.achievements; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class QuestAchievements extends AchievementCollection { public QuestAchievements() { diff --git a/forge-gui/src/main/java/forge/achievement/RagsToRiches.java b/forge-gui/src/main/java/forge/localinstance/achievements/RagsToRiches.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/RagsToRiches.java rename to forge-gui/src/main/java/forge/localinstance/achievements/RagsToRiches.java index f7e96e42829..bdb9cbd77bd 100644 --- a/forge-gui/src/main/java/forge/achievement/RagsToRiches.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/RagsToRiches.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/SealedAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/SealedAchievements.java similarity index 78% rename from forge-gui/src/main/java/forge/achievement/SealedAchievements.java rename to forge-gui/src/main/java/forge/localinstance/achievements/SealedAchievements.java index fc099fec5b5..c02c290faad 100644 --- a/forge-gui/src/main/java/forge/achievement/SealedAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/SealedAchievements.java @@ -1,6 +1,6 @@ -package forge.achievement; +package forge.localinstance.achievements; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; public class SealedAchievements extends AchievementCollection { public SealedAchievements() { diff --git a/forge-gui/src/main/java/forge/achievement/StormChaser.java b/forge-gui/src/main/java/forge/localinstance/achievements/StormChaser.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/StormChaser.java rename to forge-gui/src/main/java/forge/localinstance/achievements/StormChaser.java index ab4dda64919..7fd33cbc609 100644 --- a/forge-gui/src/main/java/forge/achievement/StormChaser.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/StormChaser.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/StreakAchievement.java b/forge-gui/src/main/java/forge/localinstance/achievements/StreakAchievement.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/StreakAchievement.java rename to forge-gui/src/main/java/forge/localinstance/achievements/StreakAchievement.java index 829c06b1d94..0c1b383544c 100644 --- a/forge-gui/src/main/java/forge/achievement/StreakAchievement.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/StreakAchievement.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import org.w3c.dom.Element; diff --git a/forge-gui/src/main/java/forge/achievement/TotalGameWins.java b/forge-gui/src/main/java/forge/localinstance/achievements/TotalGameWins.java similarity index 95% rename from forge-gui/src/main/java/forge/achievement/TotalGameWins.java rename to forge-gui/src/main/java/forge/localinstance/achievements/TotalGameWins.java index 66e0c0f8c3b..404bcf74ac4 100644 --- a/forge-gui/src/main/java/forge/achievement/TotalGameWins.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/TotalGameWins.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/TotalMatchWins.java b/forge-gui/src/main/java/forge/localinstance/achievements/TotalMatchWins.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/TotalMatchWins.java rename to forge-gui/src/main/java/forge/localinstance/achievements/TotalMatchWins.java index c675128e7c5..e7ee51f5ed2 100644 --- a/forge-gui/src/main/java/forge/achievement/TotalMatchWins.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/TotalMatchWins.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/TotalPuzzlesSolved.java b/forge-gui/src/main/java/forge/localinstance/achievements/TotalPuzzlesSolved.java similarity index 96% rename from forge-gui/src/main/java/forge/achievement/TotalPuzzlesSolved.java rename to forge-gui/src/main/java/forge/localinstance/achievements/TotalPuzzlesSolved.java index fe3760e5c28..adba307a5d2 100644 --- a/forge-gui/src/main/java/forge/achievement/TotalPuzzlesSolved.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/TotalPuzzlesSolved.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/achievement/VariantWins.java b/forge-gui/src/main/java/forge/localinstance/achievements/VariantWins.java similarity index 97% rename from forge-gui/src/main/java/forge/achievement/VariantWins.java rename to forge-gui/src/main/java/forge/localinstance/achievements/VariantWins.java index 9355dd4ee4b..00d70e07968 100644 --- a/forge-gui/src/main/java/forge/achievement/VariantWins.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/VariantWins.java @@ -1,4 +1,4 @@ -package forge.achievement; +package forge.localinstance.achievements; import forge.game.Game; import forge.game.GameType; diff --git a/forge-gui/src/main/java/forge/assets/FSkinProp.java b/forge-gui/src/main/java/forge/localinstance/assets/FSkinProp.java similarity index 99% rename from forge-gui/src/main/java/forge/assets/FSkinProp.java rename to forge-gui/src/main/java/forge/localinstance/assets/FSkinProp.java index de19ea39020..0a9ffd941ce 100644 --- a/forge-gui/src/main/java/forge/assets/FSkinProp.java +++ b/forge-gui/src/main/java/forge/localinstance/assets/FSkinProp.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.assets; +package forge.localinstance.assets; /** * Assembles settings from selected or default theme as appropriate. Saves in a diff --git a/forge-gui/src/main/java/forge/assets/IHasSkinProp.java b/forge-gui/src/main/java/forge/localinstance/assets/IHasSkinProp.java similarity index 64% rename from forge-gui/src/main/java/forge/assets/IHasSkinProp.java rename to forge-gui/src/main/java/forge/localinstance/assets/IHasSkinProp.java index 7270d24bf77..b210c0f301c 100644 --- a/forge-gui/src/main/java/forge/assets/IHasSkinProp.java +++ b/forge-gui/src/main/java/forge/localinstance/assets/IHasSkinProp.java @@ -1,4 +1,4 @@ -package forge.assets; +package forge.localinstance.assets; public interface IHasSkinProp { FSkinProp getSkinProp(); diff --git a/forge-gui/src/main/java/forge/localinstance/assets/ISkinImage.java b/forge-gui/src/main/java/forge/localinstance/assets/ISkinImage.java new file mode 100644 index 00000000000..14485a817f0 --- /dev/null +++ b/forge-gui/src/main/java/forge/localinstance/assets/ISkinImage.java @@ -0,0 +1,5 @@ +package forge.localinstance.assets; + +public interface ISkinImage { + +} diff --git a/forge-gui/src/main/java/forge/properties/FileLocation.java b/forge-gui/src/main/java/forge/localinstance/properties/FileLocation.java similarity index 96% rename from forge-gui/src/main/java/forge/properties/FileLocation.java rename to forge-gui/src/main/java/forge/localinstance/properties/FileLocation.java index e406a7c9d7c..49c1f60ddf0 100644 --- a/forge-gui/src/main/java/forge/properties/FileLocation.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/FileLocation.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.properties; +package forge.localinstance.properties; public final class FileLocation { public final String defaultLoc; diff --git a/forge-gui/src/main/java/forge/properties/ForgeConstants.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java similarity index 99% rename from forge-gui/src/main/java/forge/properties/ForgeConstants.java rename to forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java index 7939cbf7a95..570cb61acd7 100644 --- a/forge-gui/src/main/java/forge/properties/ForgeConstants.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.properties; +package forge.localinstance.properties; import forge.GuiBase; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java similarity index 99% rename from forge-gui/src/main/java/forge/properties/ForgePreferences.java rename to forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java index a3a75c0cbc5..6be464f5103 100644 --- a/forge-gui/src/main/java/forge/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.properties; +package forge.localinstance.properties; import forge.MulliganDefs; import forge.game.GameLogEntryType; diff --git a/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java similarity index 99% rename from forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java rename to forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java index 8ad8dff029e..3ec66112c7d 100644 --- a/forge-gui/src/main/java/forge/properties/ForgeProfileProperties.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.properties; +package forge.localinstance.properties; import java.io.File; import java.io.FileInputStream; diff --git a/forge-gui/src/main/java/forge/properties/PreferencesStore.java b/forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java similarity index 98% rename from forge-gui/src/main/java/forge/properties/PreferencesStore.java rename to forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java index 302fdd663da..9c160aa29f6 100644 --- a/forge-gui/src/main/java/forge/properties/PreferencesStore.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.properties; +package forge.localinstance.properties; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/localinstance/properties/package-info.java b/forge-gui/src/main/java/forge/localinstance/properties/package-info.java new file mode 100644 index 00000000000..e03abed9d35 --- /dev/null +++ b/forge-gui/src/main/java/forge/localinstance/properties/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.localinstance.properties; + diff --git a/forge-gui/src/main/java/forge/match/AbstractGuiGame.java b/forge-gui/src/main/java/forge/match/AbstractGuiGame.java index 6dcbc848854..43bfc04a7ce 100644 --- a/forge-gui/src/main/java/forge/match/AbstractGuiGame.java +++ b/forge-gui/src/main/java/forge/match/AbstractGuiGame.java @@ -19,7 +19,6 @@ import com.google.common.collect.Sets; import forge.FThreads; import forge.GuiBase; -import forge.assets.FSkinProp; import forge.game.GameView; import forge.game.card.Card; import forge.game.card.CardView; @@ -30,10 +29,11 @@ import forge.game.player.PlayerView; import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; import forge.interfaces.IMayViewCards; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.trackable.TrackableTypes; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/match/GameLobby.java b/forge-gui/src/main/java/forge/match/GameLobby.java index 63fde98d9c2..62edfb8bb98 100644 --- a/forge-gui/src/main/java/forge/match/GameLobby.java +++ b/forge-gui/src/main/java/forge/match/GameLobby.java @@ -32,10 +32,10 @@ import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; import forge.interfaces.IUpdateable; import forge.item.PaperCard; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.net.event.UpdateLobbyPlayerEvent; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.util.Localizer; import forge.util.NameGenerator; import forge.util.gui.SOptionPane; diff --git a/forge-gui/src/main/java/forge/match/HostedMatch.java b/forge-gui/src/main/java/forge/match/HostedMatch.java index ba2bd1f9c10..6a7261cd028 100644 --- a/forge-gui/src/main/java/forge/match/HostedMatch.java +++ b/forge-gui/src/main/java/forge/match/HostedMatch.java @@ -39,13 +39,13 @@ import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.player.RegisteredPlayer; import forge.interfaces.IGuiGame; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.player.LobbyPlayerHuman; import forge.player.PlayerControllerHuman; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.sound.MusicPlaylist; import forge.sound.SoundSystem; diff --git a/forge-gui/src/main/java/forge/match/input/InputBase.java b/forge-gui/src/main/java/forge/match/input/InputBase.java index ecac955ded0..dc688b7d533 100644 --- a/forge-gui/src/main/java/forge/match/input/InputBase.java +++ b/forge-gui/src/main/java/forge/match/input/InputBase.java @@ -27,9 +27,9 @@ import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityView; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; -import forge.properties.ForgePreferences; import forge.util.ITriggerEvent; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/match/input/InputConfirm.java b/forge-gui/src/main/java/forge/match/input/InputConfirm.java index 33f8d2f665f..cea8f93683c 100644 --- a/forge-gui/src/main/java/forge/match/input/InputConfirm.java +++ b/forge-gui/src/main/java/forge/match/input/InputConfirm.java @@ -25,9 +25,9 @@ import forge.GuiBase; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.spellability.SpellAbility; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; -import forge.properties.ForgePreferences; import forge.util.Localizer; /** diff --git a/forge-gui/src/main/java/forge/match/input/InputPassPriority.java b/forge-gui/src/main/java/forge/match/input/InputPassPriority.java index 8db90702482..1dc10eaebdb 100644 --- a/forge-gui/src/main/java/forge/match/input/InputPassPriority.java +++ b/forge-gui/src/main/java/forge/match/input/InputPassPriority.java @@ -25,10 +25,10 @@ import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.LandAbility; import forge.game.spellability.SpellAbility; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.player.PlayerControllerHuman; -import forge.properties.ForgePreferences.FPref; import forge.util.ITriggerEvent; import forge.util.Localizer; import forge.util.ThreadUtil; diff --git a/forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java b/forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java index a3828e5370d..fb3c521ae87 100644 --- a/forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java +++ b/forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java @@ -7,9 +7,9 @@ import forge.game.mana.ManaConversionMatrix; import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.spellability.SpellAbility; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; -import forge.properties.ForgePreferences; import forge.util.ITriggerEvent; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java b/forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java index bfe0d22beb8..1a52a9a421c 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java +++ b/forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java @@ -10,7 +10,6 @@ import forge.util.TextUtil; import org.apache.commons.lang3.tuple.ImmutablePair; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.card.ColorSet; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; @@ -20,6 +19,7 @@ import forge.game.card.CardUtil; import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.spellability.SpellAbility; +import forge.localinstance.properties.ForgePreferences; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java b/forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java index 8521f938406..68101b1a8c0 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java +++ b/forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java @@ -8,9 +8,9 @@ import forge.game.GameEntity; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.spellability.SpellAbility; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; -import forge.properties.ForgePreferences; public abstract class InputSelectManyBase extends InputSyncronizedBase { private static final long serialVersionUID = -2305549394512889450L; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectTargets.java b/forge-gui/src/main/java/forge/match/input/InputSelectTargets.java index 0a125b1e4ff..47521326548 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectTargets.java +++ b/forge-gui/src/main/java/forge/match/input/InputSelectTargets.java @@ -14,12 +14,12 @@ import forge.game.card.CardView; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; import forge.util.Aggregates; import forge.util.ITriggerEvent; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/model/CardCollections.java b/forge-gui/src/main/java/forge/model/CardCollections.java index 9f310a48477..f971d215e8e 100644 --- a/forge-gui/src/main/java/forge/model/CardCollections.java +++ b/forge-gui/src/main/java/forge/model/CardCollections.java @@ -23,7 +23,7 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.io.DeckGroupSerializer; import forge.deck.io.DeckStorage; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.storage.IStorage; import forge.util.storage.StorageImmediatelySerialized; diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index 5638d6b17b5..6fb3b17efe3 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -21,7 +21,6 @@ import com.google.common.base.Function; import com.google.common.collect.Maps; import forge.*; import forge.CardStorageReader.ProgressObserver; -import forge.achievement.*; import forge.ai.AiProfileUtil; import forge.card.CardPreferences; import forge.card.CardType; @@ -38,14 +37,15 @@ import forge.interfaces.IProgressBar; import forge.itemmanager.ItemManagerConfig; import forge.limited.GauntletMini; import forge.limited.ThemedChaosDraft; +import forge.localinstance.achievements.*; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.planarconquest.ConquestController; import forge.planarconquest.ConquestPlane; import forge.planarconquest.ConquestPreferences; import forge.planarconquest.ConquestUtil; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestController; import forge.quest.QuestWorld; import forge.quest.data.QuestPreferences; diff --git a/forge-gui/src/main/java/forge/model/MetaSet.java b/forge-gui/src/main/java/forge/model/MetaSet.java index ee881f7e512..9b977d4e647 100644 --- a/forge-gui/src/main/java/forge/model/MetaSet.java +++ b/forge-gui/src/main/java/forge/model/MetaSet.java @@ -27,7 +27,7 @@ import forge.item.generation.IUnOpenedProduct; import forge.item.generation.UnOpenedProduct; import forge.limited.CustomLimited; import forge.limited.SealedCardPoolGenerator; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/net/ChatMessage.java b/forge-gui/src/main/java/forge/net/ChatMessage.java index 4174afc7afc..4f140cf5fe3 100644 --- a/forge-gui/src/main/java/forge/net/ChatMessage.java +++ b/forge-gui/src/main/java/forge/net/ChatMessage.java @@ -3,9 +3,9 @@ package forge.net; import java.text.SimpleDateFormat; import java.util.Date; +import forge.localinstance.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences; -import forge.properties.ForgePreferences.FPref; public class ChatMessage { private static final ForgePreferences prefs = FModel.getPreferences(); diff --git a/forge-gui/src/main/java/forge/net/GameProtocolHandler.java b/forge-gui/src/main/java/forge/net/GameProtocolHandler.java index d22fc8bdf33..727e8c37400 100644 --- a/forge-gui/src/main/java/forge/net/GameProtocolHandler.java +++ b/forge-gui/src/main/java/forge/net/GameProtocolHandler.java @@ -1,7 +1,7 @@ package forge.net; import forge.FThreads; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.net.event.GuiGameEvent; import forge.net.event.ReplyEvent; import forge.util.gui.SOptionPane; diff --git a/forge-gui/src/main/java/forge/net/NetConnectUtil.java b/forge-gui/src/main/java/forge/net/NetConnectUtil.java index 029c64671c8..4e1a309a5f7 100644 --- a/forge-gui/src/main/java/forge/net/NetConnectUtil.java +++ b/forge-gui/src/main/java/forge/net/NetConnectUtil.java @@ -1,7 +1,7 @@ package forge.net; import forge.match.LobbySlotType; -import forge.properties.ForgeConstants; + import org.apache.commons.lang3.StringUtils; import forge.GuiBase; @@ -10,6 +10,9 @@ import forge.interfaces.ILobbyListener; import forge.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; import forge.interfaces.IUpdateable; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgeProfileProperties; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.GameLobby.GameLobbyData; import forge.model.FModel; import forge.net.client.ClientGameLobby; @@ -21,8 +24,6 @@ import forge.net.event.UpdateLobbyPlayerEvent; import forge.net.server.FServerManager; import forge.net.server.ServerGameLobby; import forge.player.GamePlayerUtil; -import forge.properties.ForgeProfileProperties; -import forge.properties.ForgePreferences.FPref; import forge.util.gui.SOptionPane; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/net/ProtocolMethod.java b/forge-gui/src/main/java/forge/net/ProtocolMethod.java index 3411eec5b06..fe7f697de6d 100644 --- a/forge-gui/src/main/java/forge/net/ProtocolMethod.java +++ b/forge-gui/src/main/java/forge/net/ProtocolMethod.java @@ -2,7 +2,6 @@ package forge.net; import com.google.common.base.Function; import forge.GuiBase; -import forge.assets.FSkinProp; import forge.deck.CardPool; import forge.game.GameEntityView; import forge.game.GameView; @@ -13,6 +12,7 @@ import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; +import forge.localinstance.assets.FSkinProp; import forge.match.NextGameDecision; import forge.player.PlayerZoneUpdates; import forge.trackable.TrackableCollection; diff --git a/forge-gui/src/main/java/forge/net/client/GameClientHandler.java b/forge-gui/src/main/java/forge/net/client/GameClientHandler.java index 094123fe56a..f93ef631051 100644 --- a/forge-gui/src/main/java/forge/net/client/GameClientHandler.java +++ b/forge-gui/src/main/java/forge/net/client/GameClientHandler.java @@ -5,6 +5,7 @@ import forge.LobbyPlayer; import forge.game.*; import forge.game.player.RegisteredPlayer; import forge.interfaces.ILobbyListener; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.LobbySlot; import forge.player.LobbyPlayerHuman; import forge.player.PlayerZoneUpdate; @@ -21,7 +22,6 @@ import forge.net.IRemote; import forge.net.ProtocolMethod; import forge.net.ReplyPool; import forge.net.event.LoginEvent; -import forge.properties.ForgePreferences.FPref; import forge.trackable.TrackableCollection; import java.util.*; diff --git a/forge-gui/src/main/java/forge/net/server/NetGuiGame.java b/forge-gui/src/main/java/forge/net/server/NetGuiGame.java index 902ec236091..91f71ab42f5 100644 --- a/forge-gui/src/main/java/forge/net/server/NetGuiGame.java +++ b/forge-gui/src/main/java/forge/net/server/NetGuiGame.java @@ -2,7 +2,6 @@ package forge.net.server; import com.google.common.base.Function; import forge.LobbyPlayer; -import forge.assets.FSkinProp; import forge.deck.CardPool; import forge.game.GameEntityView; import forge.game.GameView; @@ -14,6 +13,7 @@ import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; import forge.match.AbstractGuiGame; import forge.net.GameProtocolSender; import forge.net.ProtocolMethod; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java b/forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java index a3797dda638..ae99050a606 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java @@ -12,9 +12,9 @@ import forge.interfaces.IButton; import forge.interfaces.IGuiGame; import forge.interfaces.IWinLoseView; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.planarconquest.ConquestPreferences.CQPref; -import forge.properties.ForgeConstants; import forge.quest.QuestEventDifficulty; import forge.quest.QuestEventDuel; import forge.quest.QuestEventDuelManager; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestController.java b/forge-gui/src/main/java/forge/planarconquest/ConquestController.java index 19d10ebd25c..035aba2cb6b 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestController.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestController.java @@ -38,13 +38,13 @@ import forge.interfaces.IButton; import forge.interfaces.IGuiGame; import forge.interfaces.IWinLoseView; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.planarconquest.ConquestPreferences.CQPref; import forge.player.GamePlayerUtil; import forge.player.LobbyPlayerHuman; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; import forge.quest.BoosterUtils; import forge.util.Aggregates; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestData.java b/forge-gui/src/main/java/forge/planarconquest/ConquestData.java index 01de8f2a783..039037f3c13 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestData.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestData.java @@ -18,17 +18,18 @@ package forge.planarconquest; import com.google.common.base.Function; -import forge.achievement.PlaneswalkerAchievements; -import forge.assets.ISkinImage; + import forge.card.CardDb; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemColumn; import forge.itemmanager.ItemManagerConfig; +import forge.localinstance.achievements.PlaneswalkerAchievements; +import forge.localinstance.assets.ISkinImage; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.planarconquest.ConquestPreferences.CQPref; -import forge.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.XmlReader; import forge.util.XmlWriter; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java b/forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java index c6429798245..133cf6d67e9 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java @@ -10,8 +10,8 @@ import forge.deck.io.DeckSerializer; import forge.game.GameType; import forge.interfaces.IGuiGame; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.Aggregates; import forge.util.XmlReader; import forge.util.XmlWriter; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java b/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java index 4415fec32fc..2022cab112a 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java @@ -31,8 +31,8 @@ import forge.card.CardEdition.CardInSet; import forge.deck.generation.DeckGenPool; import forge.game.GameType; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java b/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java index e5878551219..9bec3994f99 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java @@ -17,11 +17,11 @@ */ package forge.planarconquest; -import forge.properties.ForgeConstants; -import forge.properties.PreferencesStore; - import java.io.Serializable; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.PreferencesStore; + @SuppressWarnings("serial") public class ConquestPreferences extends PreferencesStore implements Serializable { /** diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java b/forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java index 9ec964e16bf..f413a4dc4b8 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java @@ -9,12 +9,12 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import forge.GuiBase; -import forge.assets.ISkinImage; import forge.card.CardRulesPredicates; import forge.card.ColorSet; import forge.deck.generation.DeckGenPool; import forge.game.card.Card; import forge.item.PaperCard; +import forge.localinstance.assets.ISkinImage; import forge.model.FModel; import forge.util.collect.FCollection; import forge.util.collect.FCollectionReader; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java index 906a1837309..e06c8d24ac9 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java @@ -5,8 +5,7 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import forge.assets.FSkinProp; -import forge.assets.IHasSkinProp; + import forge.card.*; import forge.card.CardType.CoreType; import forge.card.mana.ManaCostShard; @@ -16,9 +15,11 @@ import forge.deck.DeckFormat; import forge.deck.DeckSection; import forge.deck.generation.*; import forge.item.PaperCard; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.IHasSkinProp; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.planarconquest.ConquestPreferences.CQPref; -import forge.properties.ForgeConstants; import forge.quest.QuestUtil; import forge.util.FileUtil; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/player/GamePlayerUtil.java b/forge-gui/src/main/java/forge/player/GamePlayerUtil.java index dbf46332ca5..80a658c7c03 100644 --- a/forge-gui/src/main/java/forge/player/GamePlayerUtil.java +++ b/forge-gui/src/main/java/forge/player/GamePlayerUtil.java @@ -10,8 +10,8 @@ import forge.LobbyPlayer; import forge.ai.AIOption; import forge.ai.AiProfileUtil; import forge.ai.LobbyPlayerAi; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.util.GuiDisplayUtil; import forge.util.MyRandom; import forge.util.gui.SOptionPane; diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index e8444f0bacb..39ee45e5cb1 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -27,9 +27,7 @@ import forge.FThreads; import forge.GuiBase; import forge.LobbyPlayer; import forge.StaticData; -import forge.achievement.AchievementCollection; import forge.ai.GameState; -import forge.assets.FSkinProp; import forge.card.*; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; @@ -69,11 +67,13 @@ import forge.interfaces.IGuiGame; import forge.interfaces.IMacroSystem; import forge.item.IPaperCard; import forge.item.PaperCard; +import forge.localinstance.achievements.AchievementCollection; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.NextGameDecision; import forge.match.input.*; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; import forge.util.CardTranslation; import forge.util.ITriggerEvent; import forge.util.Lang; diff --git a/forge-gui/src/main/java/forge/properties/package-info.java b/forge-gui/src/main/java/forge/properties/package-info.java deleted file mode 100644 index 3a5d9380489..00000000000 --- a/forge-gui/src/main/java/forge/properties/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.properties; - diff --git a/forge-gui/src/main/java/forge/puzzle/Puzzle.java b/forge-gui/src/main/java/forge/puzzle/Puzzle.java index 7a8375b5450..007fb690d6c 100644 --- a/forge-gui/src/main/java/forge/puzzle/Puzzle.java +++ b/forge-gui/src/main/java/forge/puzzle/Puzzle.java @@ -13,8 +13,8 @@ import forge.game.trigger.TriggerHandler; import forge.game.zone.ZoneType; import forge.item.IPaperCard; import forge.item.InventoryItem; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import java.io.File; import java.io.IOException; diff --git a/forge-gui/src/main/java/forge/puzzle/PuzzleIO.java b/forge-gui/src/main/java/forge/puzzle/PuzzleIO.java index 2f230c0c808..c433ed807f6 100644 --- a/forge-gui/src/main/java/forge/puzzle/PuzzleIO.java +++ b/forge-gui/src/main/java/forge/puzzle/PuzzleIO.java @@ -1,7 +1,8 @@ package forge.puzzle; import com.google.common.collect.Lists; -import forge.properties.ForgeConstants; + +import forge.localinstance.properties.ForgeConstants; import forge.util.FileSection; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/quest/QuestController.java b/forge-gui/src/main/java/forge/quest/QuestController.java index be65ab4074e..5775d1f546a 100644 --- a/forge-gui/src/main/java/forge/quest/QuestController.java +++ b/forge-gui/src/main/java/forge/quest/QuestController.java @@ -36,9 +36,9 @@ import forge.game.GameFormat; import forge.game.event.GameEvent; import forge.game.event.GameEventMulligan; import forge.item.PreconDeck; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; import forge.quest.bazaar.QuestBazaarManager; import forge.quest.bazaar.QuestItemType; import forge.quest.bazaar.QuestPetStorage; diff --git a/forge-gui/src/main/java/forge/quest/QuestDraftUtils.java b/forge-gui/src/main/java/forge/quest/QuestDraftUtils.java index 68b63ad1846..6bc8342c624 100644 --- a/forge-gui/src/main/java/forge/quest/QuestDraftUtils.java +++ b/forge-gui/src/main/java/forge/quest/QuestDraftUtils.java @@ -13,10 +13,10 @@ import forge.game.Match; import forge.game.player.RegisteredPlayer; import forge.interfaces.IGuiGame; import forge.limited.LimitedDeckEvaluator; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.quest.data.QuestPreferences; import forge.tournament.system.TournamentBracket; import forge.tournament.system.TournamentPairing; diff --git a/forge-gui/src/main/java/forge/quest/QuestSpellShop.java b/forge-gui/src/main/java/forge/quest/QuestSpellShop.java index e3f49e70786..318b689bedd 100644 --- a/forge-gui/src/main/java/forge/quest/QuestSpellShop.java +++ b/forge-gui/src/main/java/forge/quest/QuestSpellShop.java @@ -9,8 +9,8 @@ import forge.deck.DeckSection; import forge.item.*; import forge.itemmanager.IItemManager; import forge.itemmanager.SItemManagerUtil; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.data.QuestPreferences.QPref; import forge.quest.io.ReadPriceList; import forge.util.ItemPool; diff --git a/forge-gui/src/main/java/forge/quest/QuestTournamentController.java b/forge-gui/src/main/java/forge/quest/QuestTournamentController.java index 9357e4a2c58..b718fd9cd83 100644 --- a/forge-gui/src/main/java/forge/quest/QuestTournamentController.java +++ b/forge-gui/src/main/java/forge/quest/QuestTournamentController.java @@ -7,15 +7,15 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import forge.GuiBase; -import forge.assets.FSkinProp; import forge.deck.DeckGroup; import forge.game.GameType; import forge.interfaces.IGuiGame; import forge.item.BoosterPack; import forge.item.PaperCard; import forge.limited.BoosterDraft; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.QuestDraftUtils.Mode; import forge.quest.QuestEventDraft.QuestDraftFormat; import forge.quest.data.QuestAchievements; diff --git a/forge-gui/src/main/java/forge/quest/QuestUtil.java b/forge-gui/src/main/java/forge/quest/QuestUtil.java index 03b336a36cf..5f67620fb5b 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtil.java +++ b/forge-gui/src/main/java/forge/quest/QuestUtil.java @@ -22,7 +22,6 @@ import com.google.common.collect.ImmutableMap; import forge.FThreads; import forge.GuiBase; import forge.LobbyPlayer; -import forge.assets.FSkinProp; import forge.card.CardDb.SetPreference; import forge.card.CardEdition; import forge.card.CardRules; @@ -34,10 +33,11 @@ import forge.interfaces.IButton; import forge.interfaces.IGuiGame; import forge.item.IPaperCard; import forge.item.PaperToken; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.quest.bazaar.IQuestBazaarItem; import forge.quest.bazaar.QuestItemType; import forge.quest.bazaar.QuestPetController; diff --git a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java index a0048b88292..a780157ab74 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java @@ -34,8 +34,8 @@ import forge.item.*; import forge.item.SealedProduct.Template; import forge.item.generation.BoosterSlots; import forge.item.generation.UnOpenedProduct; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; import forge.quest.bazaar.QuestItemType; import forge.quest.data.GameFormatQuest; import forge.quest.data.QuestAssets; diff --git a/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java b/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java index 63ad1f0f292..8b07f978a41 100644 --- a/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java +++ b/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java @@ -2,7 +2,6 @@ package forge.quest; import com.google.common.collect.ImmutableList; import forge.LobbyPlayer; -import forge.assets.FSkinProp; import forge.card.CardEdition; import forge.game.GameEndReason; import forge.game.GameFormat; @@ -16,9 +15,10 @@ import forge.item.IPaperCard.Predicates; import forge.item.generation.BoosterSlots; import forge.item.generation.IUnOpenedProduct; import forge.item.generation.UnOpenedProduct; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgePreferences.FPref; import forge.quest.bazaar.QuestItemType; import forge.quest.data.QuestPreferences; import forge.quest.data.QuestPreferences.DifficultyPrefs; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java b/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java index 0efd1135578..721989f3b30 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java @@ -17,7 +17,7 @@ */ package forge.quest.bazaar; -import forge.assets.ISkinImage; +import forge.localinstance.assets.ISkinImage; import forge.quest.QuestController; import forge.quest.data.QuestAssets; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java index e1989f51c1d..2c1a291228a 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java @@ -22,8 +22,8 @@ import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import forge.GuiBase; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; import forge.quest.QuestController; import forge.quest.data.QuestAssets; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java index 0b84a69e5b0..cf2e129582f 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java @@ -24,11 +24,11 @@ import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import forge.GuiBase; -import forge.assets.FSkinProp; -import forge.assets.ISkinImage; import forge.item.PaperToken; +import forge.localinstance.assets.FSkinProp; +import forge.localinstance.assets.ISkinImage; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestController; import forge.quest.data.QuestAssets; import forge.quest.data.QuestPreferences; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java index b510cc921cc..35091dabd40 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java @@ -5,7 +5,7 @@ import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import forge.card.CardEdition; import forge.card.CardRules; import forge.item.PaperToken; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java index af107ee7355..fbeec5ac344 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java +++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java @@ -23,7 +23,7 @@ import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; /** *

diff --git a/forge-gui/src/main/java/forge/quest/data/QuestData.java b/forge-gui/src/main/java/forge/quest/data/QuestData.java index 1d41cc4b013..c50a93ad720 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestData.java +++ b/forge-gui/src/main/java/forge/quest/data/QuestData.java @@ -18,8 +18,8 @@ package forge.quest.data; import forge.game.GameFormat; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestMode; import forge.quest.io.QuestDataIO; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java b/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java index 8611560a5de..a1e7df1a795 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java +++ b/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java @@ -17,8 +17,8 @@ */ package forge.quest.data; -import forge.properties.ForgeConstants; -import forge.properties.PreferencesStore; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.PreferencesStore; import forge.util.Localizer; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/quest/io/QuestDataIO.java b/forge-gui/src/main/java/forge/quest/io/QuestDataIO.java index 2aebea27992..71e2737dc0d 100644 --- a/forge-gui/src/main/java/forge/quest/io/QuestDataIO.java +++ b/forge-gui/src/main/java/forge/quest/io/QuestDataIO.java @@ -33,8 +33,8 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; import forge.item.*; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.quest.QuestController; import forge.quest.QuestEventDraft; import forge.quest.QuestMode; diff --git a/forge-gui/src/main/java/forge/quest/io/ReadPriceList.java b/forge-gui/src/main/java/forge/quest/io/ReadPriceList.java index b8dc00929d4..60458bde657 100644 --- a/forge-gui/src/main/java/forge/quest/io/ReadPriceList.java +++ b/forge-gui/src/main/java/forge/quest/io/ReadPriceList.java @@ -18,7 +18,7 @@ package forge.quest.io; import forge.card.MagicColor; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.MyRandom; diff --git a/forge-gui/src/main/java/forge/sound/MusicPlaylist.java b/forge-gui/src/main/java/forge/sound/MusicPlaylist.java index 2d69cdb330e..8211c4e3e6e 100644 --- a/forge-gui/src/main/java/forge/sound/MusicPlaylist.java +++ b/forge-gui/src/main/java/forge/sound/MusicPlaylist.java @@ -3,7 +3,7 @@ package forge.sound; import java.io.File; import java.io.FilenameFilter; -import forge.properties.ForgeConstants; +import forge.localinstance.properties.ForgeConstants; import forge.util.MyRandom; public enum MusicPlaylist { diff --git a/forge-gui/src/main/java/forge/sound/SoundSystem.java b/forge-gui/src/main/java/forge/sound/SoundSystem.java index 92f7dfb1498..42d8940d812 100644 --- a/forge-gui/src/main/java/forge/sound/SoundSystem.java +++ b/forge-gui/src/main/java/forge/sound/SoundSystem.java @@ -9,10 +9,10 @@ import com.google.common.eventbus.Subscribe; import forge.GuiBase; import forge.events.UiEvent; import forge.game.event.GameEvent; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences.FPref; /** * Manages playback of all sounds for the client. diff --git a/forge-gui/src/main/java/forge/tournament/TournamentData.java b/forge-gui/src/main/java/forge/tournament/TournamentData.java index 7064ce4b024..4574ecd7884 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentData.java +++ b/forge-gui/src/main/java/forge/tournament/TournamentData.java @@ -5,8 +5,8 @@ import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.localinstance.properties.ForgeConstants; import forge.match.HostedMatch; -import forge.properties.ForgeConstants; import java.io.File; import java.text.DateFormat; diff --git a/forge-gui/src/main/java/forge/tournament/TournamentIO.java b/forge-gui/src/main/java/forge/tournament/TournamentIO.java index ab906dd5443..6a0a90c2726 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentIO.java +++ b/forge-gui/src/main/java/forge/tournament/TournamentIO.java @@ -11,8 +11,8 @@ import com.thoughtworks.xstream.security.NullPermission; import com.thoughtworks.xstream.security.PrimitiveTypePermission; import forge.deck.CardPool; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.properties.ForgeConstants; import forge.util.IgnoringXStream; import org.apache.commons.lang3.StringUtils; diff --git a/forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java b/forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java index b4949ac626a..ecdefdd6388 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java +++ b/forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java @@ -3,12 +3,12 @@ package forge.tournament; import com.google.common.collect.Lists; import forge.LobbyPlayer; -import forge.assets.FSkinProp; import forge.deck.Deck; import forge.game.GameView; import forge.game.player.RegisteredPlayer; import forge.interfaces.IButton; import forge.interfaces.IWinLoseView; +import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/util/GuiDisplayUtil.java b/forge-gui/src/main/java/forge/util/GuiDisplayUtil.java index 6b040a232cd..e449028d486 100644 --- a/forge-gui/src/main/java/forge/util/GuiDisplayUtil.java +++ b/forge-gui/src/main/java/forge/util/GuiDisplayUtil.java @@ -17,8 +17,8 @@ */ package forge.util; +import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.properties.ForgePreferences.FPref; public final class GuiDisplayUtil { diff --git a/forge-gui/src/main/java/forge/util/HttpUtil.java b/forge-gui/src/main/java/forge/util/HttpUtil.java index 9acc274576e..38a5afd958e 100644 --- a/forge-gui/src/main/java/forge/util/HttpUtil.java +++ b/forge-gui/src/main/java/forge/util/HttpUtil.java @@ -17,14 +17,14 @@ */ package forge.util; -import forge.properties.ForgePreferences; - import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.Collection; +import forge.localinstance.properties.ForgePreferences; + public class HttpUtil { private static final String BOUNDARY = "--7d021a37605f0"; diff --git a/forge-gui/src/main/java/forge/util/ImageFetcher.java b/forge-gui/src/main/java/forge/util/ImageFetcher.java index bea9dc4f290..b04d0828519 100644 --- a/forge-gui/src/main/java/forge/util/ImageFetcher.java +++ b/forge-gui/src/main/java/forge/util/ImageFetcher.java @@ -15,9 +15,9 @@ import forge.StaticData; import org.apache.commons.lang3.tuple.Pair; import forge.item.PaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgeConstants; -import forge.properties.ForgePreferences; public abstract class ImageFetcher { private static final ExecutorService threadPool = Executors.newCachedThreadPool(); diff --git a/forge-gui/src/main/java/forge/util/gui/SOptionPane.java b/forge-gui/src/main/java/forge/util/gui/SOptionPane.java index 376fd90ef39..1b1ac10d84c 100644 --- a/forge-gui/src/main/java/forge/util/gui/SOptionPane.java +++ b/forge-gui/src/main/java/forge/util/gui/SOptionPane.java @@ -5,7 +5,7 @@ import java.util.List; import com.google.common.collect.ImmutableList; import forge.GuiBase; -import forge.assets.FSkinProp; +import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; public class SOptionPane { From 92110c1931f5711be256a832869db746997af07e Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Fri, 5 Mar 2021 11:40:44 -0300 Subject: [PATCH 20/32] refactor: group game modes-related packages --- .../src/main/java/forge/GuiDesktop.java | 2 +- .../src/main/java/forge/control/FControl.java | 6 ++-- .../java/forge/deckchooser/FDeckChooser.java | 8 ++--- .../src/main/java/forge/gui/FNetOverlay.java | 8 ++--- .../java/forge/itemmanager/CardManager.java | 4 +-- .../java/forge/itemmanager/DeckManager.java | 2 +- .../filters/CardQuestWorldFilter.java | 2 +- .../filters/DeckQuestWorldFilter.java | 2 +- .../java/forge/screens/bazaar/CBazaarUI.java | 2 +- .../java/forge/screens/bazaar/VBazaarUI.java | 2 +- .../controllers/CEditorDraftingProcess.java | 4 +-- .../deckeditor/controllers/CEditorQuest.java | 6 ++-- .../controllers/CEditorQuestCardShop.java | 8 ++--- .../CEditorQuestDraftingProcess.java | 6 ++-- .../controllers/CEditorQuestLimited.java | 6 ++-- .../controllers/CEditorWinstonProcess.java | 6 ++-- .../java/forge/screens/home/PlayerPanel.java | 4 +-- .../main/java/forge/screens/home/VLobby.java | 8 ++--- .../home/gauntlet/CSubmenuGauntletBuild.java | 4 +-- .../gauntlet/CSubmenuGauntletContests.java | 4 +-- .../home/gauntlet/CSubmenuGauntletLoad.java | 4 +-- .../home/gauntlet/CSubmenuGauntletQuick.java | 4 +-- .../home/gauntlet/ContestGauntletLister.java | 4 +-- .../home/gauntlet/QuickGauntletLister.java | 6 ++-- .../home/gauntlet/VSubmenuGauntletBuild.java | 2 +- .../home/online/CSubmenuOnlineLobby.java | 4 +-- .../home/online/VSubmenuOnlineLobby.java | 8 ++--- .../home/puzzle/CSubmenuPuzzleCreate.java | 4 +-- .../home/puzzle/CSubmenuPuzzleSolve.java | 6 ++-- .../screens/home/puzzle/CSubmenuTutorial.java | 6 ++-- .../home/puzzle/VSubmenuPuzzleCreate.java | 6 ++-- .../home/puzzle/VSubmenuPuzzleSolve.java | 6 ++-- .../screens/home/puzzle/VSubmenuTutorial.java | 6 ++-- .../home/quest/CSubmenuChallenges.java | 10 +++---- .../screens/home/quest/CSubmenuDuels.java | 8 ++--- .../home/quest/CSubmenuQuestDecks.java | 6 ++-- .../home/quest/CSubmenuQuestDraft.java | 2 +- .../home/quest/CSubmenuQuestLoadData.java | 8 ++--- .../home/quest/CSubmenuQuestPrefs.java | 4 +-- .../home/quest/CSubmenuQuestStart.java | 10 +++---- .../quest/DialogChoosePoolDistribution.java | 2 +- .../screens/home/quest/PnlDraftEvent.java | 4 +-- .../forge/screens/home/quest/PnlEvent.java | 6 ++-- .../screens/home/quest/QuestFileLister.java | 6 ++-- .../home/quest/VSubmenuChallenges.java | 2 +- .../screens/home/quest/VSubmenuDuels.java | 2 +- .../home/quest/VSubmenuQuestDraft.java | 10 +++---- .../home/quest/VSubmenuQuestPrefs.java | 8 ++--- .../home/quest/VSubmenuQuestStart.java | 6 ++-- .../forge/screens/home/quest/ViewItem.java | 10 +++---- .../forge/screens/home/quest/ViewStall.java | 12 ++++---- .../home/sanctioned/CSubmenuDraft.java | 6 ++-- .../home/sanctioned/CSubmenuSealed.java | 4 +-- .../home/sanctioned/CSubmenuWinston.java | 6 ++-- .../home/sanctioned/VSubmenuConstructed.java | 6 ++-- .../home/settings/CSubmenuPreferences.java | 2 +- .../java/forge/screens/match/CMatchUI.java | 2 +- .../forge/screens/match/ControlWinLose.java | 2 +- .../forge/screens/match/GauntletWinLose.java | 2 +- .../forge/screens/match/LimitedWinLose.java | 2 +- .../screens/match/QuestDraftWinLose.java | 6 ++-- .../forge/screens/match/QuestWinLose.java | 2 +- .../src/main/java/forge/view/FFrame.java | 2 +- .../main/java/forge/view/SimulateMatch.java | 2 +- .../test/java/forge/BoosterDraft1Test.java | 4 +-- .../src/test/java/forge/BoosterDraftTest.java | 2 +- .../src/test/java/forge/CardRankerTest.java | 2 +- .../PlanarConquestCommanderGeneraterGA.java | 2 +- .../PlanarConquestGeneraterGA.java | 10 +++---- .../PlanarConquestTribalGeneraterGA.java | 2 +- forge-gui-mobile/src/forge/GuiMobile.java | 2 +- forge-gui-mobile/src/forge/card/CardZoom.java | 2 +- .../src/forge/deck/FDeckChooser.java | 14 ++++----- .../src/forge/deck/FDeckEditor.java | 4 +-- .../forge/itemmanager/SpellShopManager.java | 2 +- .../forge/itemmanager/views/ImageView.java | 2 +- .../constructed/ConstructedScreen.java | 4 +-- .../screens/constructed/LobbyScreen.java | 11 ++++--- .../screens/constructed/PlayerPanel.java | 4 +-- .../screens/gauntlet/LoadGauntletScreen.java | 6 ++-- .../screens/gauntlet/NewGauntletScreen.java | 6 ++-- .../screens/home/puzzle/PuzzleScreen.java | 6 ++-- .../limited/DraftingProcessScreen.java | 6 ++-- .../screens/limited/LoadDraftScreen.java | 2 +- .../screens/limited/LoadSealedScreen.java | 2 +- .../forge/screens/limited/NewDraftScreen.java | 4 +-- .../screens/limited/NewSealedScreen.java | 2 +- .../forge/screens/match/MatchController.java | 4 +-- .../match/winlose/GauntletWinLose.java | 2 +- .../screens/match/winlose/LimitedWinLose.java | 2 +- .../match/winlose/QuestDraftWinLose.java | 6 ++-- .../screens/match/winlose/QuestWinLose.java | 2 +- .../screens/online/OnlineChatScreen.java | 8 ++--- .../screens/online/OnlineLobbyScreen.java | 16 +++++----- .../src/forge/screens/online/OnlineMenu.java | 2 +- .../planarconquest/ConquestAEtherScreen.java | 12 ++++---- .../planarconquest/ConquestChaosWheel.java | 2 +- .../ConquestCollectionScreen.java | 10 +++---- .../ConquestCommandersScreen.java | 8 ++--- .../planarconquest/ConquestDeckEditor.java | 4 +-- .../ConquestMultiverseScreen.java | 29 +++++++++---------- .../planarconquest/ConquestPlaneSelector.java | 2 +- .../ConquestPlaneswalkScreen.java | 8 ++--- .../ConquestPlaneswalkersScreen.java | 2 +- .../planarconquest/ConquestPrefsScreen.java | 4 +-- .../planarconquest/ConquestRewardDialog.java | 2 +- .../planarconquest/ConquestStatsScreen.java | 6 ++-- .../planarconquest/LoadConquestScreen.java | 10 +++---- .../planarconquest/NewConquestScreen.java | 8 ++--- .../NewConquestScreenModel.java | 2 +- .../forge/screens/quest/LoadQuestScreen.java | 12 ++++---- .../forge/screens/quest/NewQuestScreen.java | 20 ++++++------- .../screens/quest/QuestBazaarScreen.java | 12 ++++---- .../forge/screens/quest/QuestDeckEditor.java | 2 +- .../forge/screens/quest/QuestDecksScreen.java | 6 ++-- .../forge/screens/quest/QuestDuelsScreen.java | 2 +- .../forge/screens/quest/QuestEventPanel.java | 2 +- .../screens/quest/QuestLaunchScreen.java | 2 +- .../src/forge/screens/quest/QuestMenu.java | 8 ++--- .../forge/screens/quest/QuestPrefsScreen.java | 4 +-- .../screens/quest/QuestSpellShopScreen.java | 4 +-- .../forge/screens/quest/QuestStatsScreen.java | 6 ++-- .../screens/quest/QuestTournamentsScreen.java | 14 ++++----- .../forge/control/FControlGamePlayback.java | 2 +- .../java/forge/control/WatchLocalGame.java | 4 +-- .../src/main/java/forge/deck/DeckProxy.java | 4 +-- .../src/main/java/forge/deck/DeckgenUtil.java | 16 +++++----- .../java/forge/deck/RandomDeckGenerator.java | 2 +- .../forge/events/UiEventNextGameDecision.java | 2 +- .../gauntlet/GauntletData.java | 4 +-- .../{ => gamemodes}/gauntlet/GauntletIO.java | 2 +- .../gauntlet/GauntletUtil.java | 2 +- .../gauntlet/GauntletWinLoseController.java | 2 +- .../limited/ArchetypeDeckBuilder.java | 2 +- .../limited/BoosterDeckBuilder.java | 2 +- .../{ => gamemodes}/limited/BoosterDraft.java | 2 +- .../limited/BoosterDraftAI.java | 2 +- .../{ => gamemodes}/limited/CardRanker.java | 2 +- .../limited/CardRankingComparator.java | 2 +- .../CardThemedCommanderDeckBuilder.java | 2 +- .../CardThemedConquestDeckBuilder.java | 2 +- .../limited/CardThemedDeckBuilder.java | 2 +- .../limited/CustomLimited.java | 2 +- .../{ => gamemodes}/limited/DeckColors.java | 2 +- .../limited/DraftRankCache.java | 2 +- .../limited/FullDeckColors.java | 2 +- .../{ => gamemodes}/limited/GauntletMini.java | 4 +-- .../limited/IBoosterDraft.java | 2 +- .../limited/LimitedDeckBuilder.java | 2 +- .../limited/LimitedDeckEvaluator.java | 2 +- .../limited/LimitedPlayer.java | 4 +-- .../limited/LimitedPlayerAI.java | 2 +- .../limited/LimitedPoolType.java | 2 +- .../limited/LimitedWinLoseController.java | 2 +- .../limited/ReadDraftRankings.java | 2 +- .../limited/SealedCardPoolGenerator.java | 2 +- .../limited/SealedDeckBuilder.java | 2 +- .../limited/ThemedChaosDraft.java | 2 +- .../{ => gamemodes}/limited/WinstonDraft.java | 2 +- .../limited/WinstonDraftAI.java | 2 +- .../forge/gamemodes/limited/package-info.java | 3 ++ .../match/AbstractGuiGame.java | 2 +- .../{ => gamemodes}/match/GameLobby.java | 4 +-- .../{ => gamemodes}/match/HostedMatch.java | 4 +-- .../{ => gamemodes}/match/LobbySlot.java | 4 +-- .../{ => gamemodes}/match/LobbySlotType.java | 2 +- .../{ => gamemodes}/match/LocalLobby.java | 2 +- .../match/NextGameDecision.java | 2 +- .../{ => gamemodes}/match/input/Input.java | 2 +- .../match/input/InputAttack.java | 2 +- .../match/input/InputBase.java | 2 +- .../match/input/InputBlock.java | 2 +- .../match/input/InputConfirm.java | 2 +- .../match/input/InputConfirmMulligan.java | 2 +- .../match/input/InputLockUI.java | 2 +- .../match/input/InputLondonMulligan.java | 2 +- .../match/input/InputPassPriority.java | 2 +- .../match/input/InputPayMana.java | 2 +- .../input/InputPayManaOfCostPayment.java | 2 +- .../match/input/InputPlaybackControl.java | 2 +- .../match/input/InputProxy.java | 2 +- .../match/input/InputQueue.java | 2 +- ...InputSelectCardsForConvokeOrImprovise.java | 2 +- .../match/input/InputSelectCardsFromList.java | 2 +- .../input/InputSelectEntitiesFromList.java | 2 +- .../match/input/InputSelectManyBase.java | 2 +- .../match/input/InputSelectTargets.java | 2 +- .../match/input/InputSynchronized.java | 2 +- .../match/input/InputSyncronizedBase.java | 2 +- .../gamemodes/match/input/package-info.java | 3 ++ .../net/CObjectInputStream.java | 2 +- .../net/CObjectOutputStream.java | 2 +- .../{ => gamemodes}/net/ChatMessage.java | 2 +- .../net/CompatibleObjectDecoder.java | 2 +- .../net/CompatibleObjectEncoder.java | 2 +- .../net/GameProtocolHandler.java | 6 ++-- .../net/GameProtocolSender.java | 4 +-- .../net/IOnlineChatInterface.java | 2 +- .../{ => gamemodes}/net/IOnlineLobby.java | 6 ++-- .../forge/{ => gamemodes}/net/IRemote.java | 6 ++-- .../{ => gamemodes}/net/NetConnectUtil.java | 23 +++++++-------- .../{ => gamemodes}/net/OfflineLobby.java | 8 ++--- .../{ => gamemodes}/net/ProtocolMethod.java | 4 +-- .../forge/{ => gamemodes}/net/ReplyPool.java | 2 +- .../net/client/ClientGameLobby.java | 4 +-- .../net/client/FGameClient.java | 16 +++++----- .../net/client/GameClientHandler.java | 14 ++++----- .../forge/gamemodes/net/client/IToServer.java | 6 ++++ .../net/client/NetGameController.java | 8 ++--- .../gamemodes/net/client/package-info.java | 1 + .../net/event/GuiGameEvent.java | 6 ++-- .../net/event/IdentifiableNetEvent.java | 2 +- .../net/event/LobbyUpdateEvent.java | 6 ++-- .../{ => gamemodes}/net/event/LoginEvent.java | 4 +-- .../net/event/LogoutEvent.java | 4 +-- .../net/event/MessageEvent.java | 4 +-- .../{ => gamemodes}/net/event/NetEvent.java | 4 +-- .../{ => gamemodes}/net/event/ReplyEvent.java | 4 +-- .../net/event/UpdateLobbyPlayerEvent.java | 6 ++-- .../gamemodes/net/event/package-info.java | 1 + .../forge/gamemodes/net/package-info.java | 1 + .../net/server/FServerManager.java | 22 +++++++------- .../net/server/GameServerHandler.java | 10 +++---- .../forge/gamemodes/net/server/IToClient.java | 6 ++++ .../net/server/NetGuiGame.java | 8 ++--- .../net/server/RemoteClient.java | 9 +++--- .../net/server/ServerGameLobby.java | 8 ++--- .../gamemodes/net/server/package-info.java | 1 + .../planarconquest/ConquestAwardPool.java | 2 +- .../planarconquest/ConquestBattle.java | 2 +- .../planarconquest/ConquestChaosBattle.java | 12 ++++---- .../planarconquest/ConquestCommander.java | 2 +- .../planarconquest/ConquestController.java | 8 ++--- .../planarconquest/ConquestData.java | 4 +-- .../planarconquest/ConquestDeckMap.java | 2 +- .../planarconquest/ConquestEvent.java | 2 +- .../planarconquest/ConquestLocation.java | 2 +- .../planarconquest/ConquestPlane.java | 2 +- .../planarconquest/ConquestPlaneData.java | 4 +-- .../planarconquest/ConquestPreferences.java | 2 +- .../planarconquest/ConquestRecord.java | 2 +- .../planarconquest/ConquestRegion.java | 2 +- .../planarconquest/ConquestReward.java | 2 +- .../planarconquest/ConquestUtil.java | 6 ++-- .../planarconquest/IVConquestStats.java | 2 +- .../forge/{ => gamemodes}/puzzle/Puzzle.java | 2 +- .../{ => gamemodes}/puzzle/PuzzleIO.java | 2 +- .../{ => gamemodes}/quest/BoosterUtils.java | 8 ++--- .../{ => gamemodes}/quest/IQuestEvent.java | 2 +- .../quest/IQuestRewardCard.java | 2 +- .../quest/IQuestTournamentView.java | 8 ++--- .../{ => gamemodes}/quest/IVQuestStats.java | 2 +- .../quest/MainWorldEventDuelManager.java | 10 +++---- .../quest/QuestChallengeGenerator.java | 2 +- .../quest/QuestController.java | 26 ++++++++--------- .../quest/QuestDeckGroupMap.java | 2 +- .../{ => gamemodes}/quest/QuestDeckMap.java | 2 +- .../quest/QuestDraftUtils.java | 14 ++++----- .../{ => gamemodes}/quest/QuestEvent.java | 2 +- .../quest/QuestEventChallenge.java | 2 +- .../quest/QuestEventCommanderDuel.java | 2 +- .../quest/QuestEventCommanderDuelManager.java | 4 +-- .../quest/QuestEventDifficulty.java | 4 +-- .../quest/QuestEventDraft.java | 16 +++++----- .../{ => gamemodes}/quest/QuestEventDuel.java | 2 +- .../quest/QuestEventDuelManager.java | 10 +++---- .../quest/QuestEventDuelManagerInterface.java | 2 +- .../quest/QuestEventLDADuel.java | 2 +- .../quest/QuestEventLDADuelManager.java | 8 ++--- .../{ => gamemodes}/quest/QuestMode.java | 2 +- .../quest/QuestRewardCard.java | 2 +- .../quest/QuestRewardCardChooser.java | 2 +- .../quest/QuestRewardCardDuplicate.java | 2 +- .../quest/QuestRewardCardFiltered.java | 2 +- .../{ => gamemodes}/quest/QuestSpellShop.java | 6 ++-- .../quest/QuestTournamentController.java | 18 ++++++------ .../{ => gamemodes}/quest/QuestUtil.java | 28 +++++++++--------- .../{ => gamemodes}/quest/QuestUtilCards.java | 14 ++++----- .../quest/QuestUtilUnlockSets.java | 6 ++-- .../quest/QuestWinLoseController.java | 10 +++---- .../{ => gamemodes}/quest/QuestWorld.java | 4 +-- .../{ => gamemodes}/quest/SellRules.java | 4 +-- .../quest/StartingPoolPreferences.java | 2 +- .../quest/StartingPoolType.java | 2 +- .../quest/bazaar/IQuestBazaarItem.java | 6 ++-- .../quest/bazaar/QuestBazaarManager.java | 8 ++--- .../quest/bazaar/QuestItemBasic.java | 6 ++-- .../quest/bazaar/QuestItemCharmOfVigor.java | 6 ++-- .../quest/bazaar/QuestItemCharmOfVim.java | 6 ++-- .../quest/bazaar/QuestItemElixir.java | 4 +-- .../quest/bazaar/QuestItemEstates.java | 4 +-- .../quest/bazaar/QuestItemMembership.java | 4 +-- .../quest/bazaar/QuestItemPoundFlesh.java | 6 ++-- .../quest/bazaar/QuestItemType.java | 7 +++-- .../quest/bazaar/QuestItemZeppelin.java | 6 ++-- .../quest/bazaar/QuestPetController.java | 8 ++--- .../quest/bazaar/QuestPetStats.java | 2 +- .../quest/bazaar/QuestPetStorage.java | 5 ++-- .../quest/bazaar/QuestStallDefinition.java | 2 +- .../gamemodes/quest/bazaar/package-info.java | 3 ++ .../quest/data/DeckConstructionRules.java | 2 +- .../quest/data/GameFormatQuest.java | 2 +- .../quest/data/QuestAchievements.java | 10 +++---- .../quest/data/QuestAssets.java | 14 ++++----- .../{ => gamemodes}/quest/data/QuestData.java | 6 ++-- .../quest/data/QuestEventDraftContainer.java | 4 +-- .../quest/data/QuestItemCondition.java | 2 +- .../quest/data/QuestPreferences.java | 2 +- .../quest/data/StarRating.java | 2 +- .../gamemodes/quest/data/package-info.java | 3 ++ .../quest/io/MainWorldDuelReader.java | 8 ++--- .../quest/io/QuestChallengeReader.java | 6 ++-- .../{ => gamemodes}/quest/io/QuestDataIO.java | 24 +++++++-------- .../quest/io/QuestDuelReader.java | 8 ++--- .../quest/io/ReadPriceList.java | 2 +- .../gamemodes/quest/io/package-info.java | 3 ++ .../forge/gamemodes/quest/package-info.java | 3 ++ .../tournament/TournamentData.java | 4 +-- .../tournament/TournamentIO.java | 2 +- .../tournament/TournamentUtil.java | 2 +- .../TournamentWinLoseController.java | 2 +- .../tournament/system/AbstractTournament.java | 2 +- .../tournament/system/TournamentBracket.java | 2 +- .../tournament/system/TournamentPairing.java | 2 +- .../tournament/system/TournamentPlayer.java | 2 +- .../system/TournamentRoundRobin.java | 2 +- .../tournament/system/TournamentSwiss.java | 2 +- .../forge/interfaces/IGameController.java | 2 +- .../main/java/forge/interfaces/IGuiBase.java | 2 +- .../java/forge/interfaces/ILobbyListener.java | 4 +-- .../interfaces/IPlayerChangeListener.java | 2 +- .../java/forge/interfaces/IUpdateable.java | 2 +- .../forge/itemmanager/AdvancedSearch.java | 10 +++---- .../java/forge/itemmanager/ColumnDef.java | 2 +- .../java/forge/itemmanager/SFilterUtil.java | 2 +- .../main/java/forge/limited/package-info.java | 3 -- .../java/forge/match/input/package-info.java | 3 -- .../src/main/java/forge/model/FModel.java | 22 +++++++------- .../src/main/java/forge/model/MetaSet.java | 4 +-- .../main/java/forge/net/client/IToServer.java | 6 ---- .../java/forge/net/client/package-info.java | 1 - .../java/forge/net/event/package-info.java | 1 - .../src/main/java/forge/net/package-info.java | 1 - .../main/java/forge/net/server/IToClient.java | 6 ---- .../java/forge/net/server/package-info.java | 1 - .../java/forge/player/HumanCostDecision.java | 6 ++-- .../src/main/java/forge/player/HumanPlay.java | 6 ++-- .../forge/player/PlayerControllerHuman.java | 4 +-- .../java/forge/player/TargetSelection.java | 2 +- .../java/forge/quest/bazaar/package-info.java | 3 -- .../java/forge/quest/data/package-info.java | 3 -- .../java/forge/quest/io/package-info.java | 3 -- .../main/java/forge/quest/package-info.java | 3 -- 353 files changed, 833 insertions(+), 833 deletions(-) rename forge-gui/src/main/java/forge/{ => gamemodes}/gauntlet/GauntletData.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/gauntlet/GauntletIO.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/gauntlet/GauntletUtil.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/gauntlet/GauntletWinLoseController.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/ArchetypeDeckBuilder.java (95%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/BoosterDeckBuilder.java (92%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/BoosterDraft.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/BoosterDraftAI.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/CardRanker.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/CardRankingComparator.java (92%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/CardThemedCommanderDeckBuilder.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/CardThemedConquestDeckBuilder.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/CardThemedDeckBuilder.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/CustomLimited.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/DeckColors.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/DraftRankCache.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/FullDeckColors.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/GauntletMini.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/IBoosterDraft.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/LimitedDeckBuilder.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/LimitedDeckEvaluator.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/LimitedPlayer.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/LimitedPlayerAI.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/LimitedPoolType.java (92%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/LimitedWinLoseController.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/ReadDraftRankings.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/SealedCardPoolGenerator.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/SealedDeckBuilder.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/ThemedChaosDraft.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/WinstonDraft.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/limited/WinstonDraftAI.java (99%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/limited/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/match/AbstractGuiGame.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/GameLobby.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/HostedMatch.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/LobbySlot.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/LobbySlotType.java (69%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/LocalLobby.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/NextGameDecision.java (68%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/Input.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputAttack.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputBase.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputBlock.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputConfirm.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputConfirmMulligan.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputLockUI.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputLondonMulligan.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputPassPriority.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputPayMana.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputPayManaOfCostPayment.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputPlaybackControl.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputProxy.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputQueue.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSelectCardsForConvokeOrImprovise.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSelectCardsFromList.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSelectEntitiesFromList.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSelectManyBase.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSelectTargets.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSynchronized.java (76%) rename forge-gui/src/main/java/forge/{ => gamemodes}/match/input/InputSyncronizedBase.java (97%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/match/input/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/net/CObjectInputStream.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/CObjectOutputStream.java (95%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/ChatMessage.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/CompatibleObjectDecoder.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/CompatibleObjectEncoder.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/GameProtocolHandler.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/GameProtocolSender.java (91%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/IOnlineChatInterface.java (81%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/IOnlineLobby.java (61%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/IRemote.java (59%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/NetConnectUtil.java (93%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/OfflineLobby.java (89%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/ProtocolMethod.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/ReplyPool.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/client/ClientGameLobby.java (90%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/client/FGameClient.java (93%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/client/GameClientHandler.java (97%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/net/client/IToServer.java rename forge-gui/src/main/java/forge/{ => gamemodes}/net/client/NetGameController.java (95%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/net/client/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/GuiGameEvent.java (87%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/IdentifiableNetEvent.java (75%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/LobbyUpdateEvent.java (79%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/LoginEvent.java (89%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/LogoutEvent.java (82%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/MessageEvent.java (89%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/NetEvent.java (61%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/ReplyEvent.java (88%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/event/UpdateLobbyPlayerEvent.java (98%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/net/event/package-info.java create mode 100644 forge-gui/src/main/java/forge/gamemodes/net/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/net/server/FServerManager.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/server/GameServerHandler.java (83%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/net/server/IToClient.java rename forge-gui/src/main/java/forge/{ => gamemodes}/net/server/NetGuiGame.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/server/RemoteClient.java (87%) rename forge-gui/src/main/java/forge/{ => gamemodes}/net/server/ServerGameLobby.java (93%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/net/server/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestAwardPool.java (95%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestBattle.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestChaosBattle.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestCommander.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestController.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestData.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestDeckMap.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestEvent.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestLocation.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestPlane.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestPlaneData.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestPreferences.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestRecord.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestRegion.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestReward.java (92%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/ConquestUtil.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/planarconquest/IVConquestStats.java (89%) rename forge-gui/src/main/java/forge/{ => gamemodes}/puzzle/Puzzle.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/puzzle/PuzzleIO.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/BoosterUtils.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/IQuestEvent.java (85%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/IQuestRewardCard.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/IQuestTournamentView.java (75%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/IVQuestStats.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/MainWorldEventDuelManager.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestChallengeGenerator.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestController.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestDeckGroupMap.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestDeckMap.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestDraftUtils.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEvent.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventChallenge.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventCommanderDuel.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventCommanderDuelManager.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventDifficulty.java (92%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventDraft.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventDuel.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventDuelManager.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventDuelManagerInterface.java (89%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventLDADuel.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestEventLDADuelManager.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestMode.java (95%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestRewardCard.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestRewardCardChooser.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestRewardCardDuplicate.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestRewardCardFiltered.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestSpellShop.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestTournamentController.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestUtil.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestUtilCards.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestUtilUnlockSets.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestWinLoseController.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/QuestWorld.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/SellRules.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/StartingPoolPreferences.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/StartingPoolType.java (95%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/IQuestBazaarItem.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestBazaarManager.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemBasic.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemCharmOfVigor.java (91%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemCharmOfVim.java (89%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemElixir.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemEstates.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemMembership.java (94%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemPoundFlesh.java (93%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemType.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestItemZeppelin.java (90%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestPetController.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestPetStats.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestPetStorage.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/bazaar/QuestStallDefinition.java (98%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/quest/bazaar/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/DeckConstructionRules.java (90%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/GameFormatQuest.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/QuestAchievements.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/QuestAssets.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/QuestData.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/QuestEventDraftContainer.java (68%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/QuestItemCondition.java (93%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/QuestPreferences.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/data/StarRating.java (97%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/quest/data/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/io/MainWorldDuelReader.java (97%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/io/QuestChallengeReader.java (96%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/io/QuestDataIO.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/io/QuestDuelReader.java (90%) rename forge-gui/src/main/java/forge/{ => gamemodes}/quest/io/ReadPriceList.java (99%) create mode 100644 forge-gui/src/main/java/forge/gamemodes/quest/io/package-info.java create mode 100644 forge-gui/src/main/java/forge/gamemodes/quest/package-info.java rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/TournamentData.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/TournamentIO.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/TournamentUtil.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/TournamentWinLoseController.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/system/AbstractTournament.java (99%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/system/TournamentBracket.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/system/TournamentPairing.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/system/TournamentPlayer.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/system/TournamentRoundRobin.java (98%) rename forge-gui/src/main/java/forge/{ => gamemodes}/tournament/system/TournamentSwiss.java (99%) delete mode 100644 forge-gui/src/main/java/forge/limited/package-info.java delete mode 100644 forge-gui/src/main/java/forge/match/input/package-info.java delete mode 100644 forge-gui/src/main/java/forge/net/client/IToServer.java delete mode 100644 forge-gui/src/main/java/forge/net/client/package-info.java delete mode 100644 forge-gui/src/main/java/forge/net/event/package-info.java delete mode 100644 forge-gui/src/main/java/forge/net/package-info.java delete mode 100644 forge-gui/src/main/java/forge/net/server/IToClient.java delete mode 100644 forge-gui/src/main/java/forge/net/server/package-info.java delete mode 100644 forge-gui/src/main/java/forge/quest/bazaar/package-info.java delete mode 100644 forge-gui/src/main/java/forge/quest/data/package-info.java delete mode 100644 forge-gui/src/main/java/forge/quest/io/package-info.java delete mode 100644 forge-gui/src/main/java/forge/quest/package-info.java diff --git a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java index f99c8459ed5..fa9b06a8d82 100644 --- a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java +++ b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java @@ -5,6 +5,7 @@ import com.google.common.base.Function; import forge.download.GuiDownloadService; import forge.download.GuiDownloader; import forge.error.BugReportDialog; +import forge.gamemodes.match.HostedMatch; import forge.gui.BoxedProductCardListViewer; import forge.gui.CardListChooser; import forge.gui.CardListViewer; @@ -15,7 +16,6 @@ import forge.interfaces.IGuiGame; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; -import forge.match.HostedMatch; import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorQuestCardShop; diff --git a/forge-gui-desktop/src/main/java/forge/control/FControl.java b/forge-gui-desktop/src/main/java/forge/control/FControl.java index 4651b74c37c..e3f46f89a22 100644 --- a/forge-gui-desktop/src/main/java/forge/control/FControl.java +++ b/forge-gui-desktop/src/main/java/forge/control/FControl.java @@ -44,6 +44,9 @@ import forge.GuiBase; import forge.ImageCache; import forge.LobbyPlayer; import forge.Singletons; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.QuestDataIO; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.gui.framework.InvalidLayoutFileException; @@ -54,12 +57,9 @@ import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.menus.ForgeMenu; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.QuestDataIO; import forge.screens.deckeditor.CDeckEditorUI; import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java index 4a3c2019ba3..ff86d0daa05 100644 --- a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java +++ b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java @@ -23,16 +23,16 @@ import forge.FThreads; import forge.UiCommand; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEvent; +import forge.gamemodes.quest.QuestEventChallenge; +import forge.gamemodes.quest.QuestUtil; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerContainer; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestEvent; -import forge.quest.QuestEventChallenge; -import forge.quest.QuestUtil; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java b/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java index e587ccc69c7..072bf4c8775 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java +++ b/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java @@ -14,14 +14,14 @@ import net.miginfocom.swing.MigLayout; import org.apache.commons.lang3.StringUtils; import forge.Singletons; +import forge.gamemodes.net.ChatMessage; +import forge.gamemodes.net.IOnlineChatInterface; +import forge.gamemodes.net.IRemote; +import forge.gamemodes.net.event.MessageEvent; import forge.gui.framework.SDisplayUtil; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.net.ChatMessage; -import forge.net.IOnlineChatInterface; -import forge.net.IRemote; -import forge.net.event.MessageEvent; import forge.screens.home.online.OnlineMenu; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java index caf187048ea..60b069dfcaf 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java @@ -1,12 +1,12 @@ package forge.itemmanager; import forge.game.GameFormat; +import forge.gamemodes.quest.QuestWorld; +import forge.gamemodes.quest.data.QuestPreferences; import forge.gui.GuiUtils; import forge.item.PaperCard; import forge.itemmanager.filters.*; import forge.model.FModel; -import forge.quest.QuestWorld; -import forge.quest.data.QuestPreferences; import forge.screens.home.quest.DialogChooseFormats; import forge.screens.home.quest.DialogChooseSets; import forge.screens.match.controllers.CDetailPicture; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index 28af9eb3623..efba3454986 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -26,6 +26,7 @@ import forge.deck.io.DeckPreferences; import forge.game.GameFormat; import forge.game.GameType; import forge.game.IHasGameType; +import forge.gamemodes.quest.QuestWorld; import forge.gui.GuiUtils; import forge.gui.framework.FScreen; import forge.item.InventoryItem; @@ -43,7 +44,6 @@ import forge.itemmanager.views.ItemListView; import forge.itemmanager.views.ItemTableColumn; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.quest.QuestWorld; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.SEditorIO; import forge.screens.deckeditor.controllers.ACEditorBase; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardQuestWorldFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardQuestWorldFilter.java index 0970b593e07..518922a67d1 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardQuestWorldFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardQuestWorldFilter.java @@ -4,10 +4,10 @@ import java.util.HashSet; import java.util.Set; import forge.game.GameFormat; +import forge.gamemodes.quest.QuestWorld; import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.model.FModel; -import forge.quest.QuestWorld; public class CardQuestWorldFilter extends CardFormatFilter { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckQuestWorldFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckQuestWorldFilter.java index 366f6058452..fe80ecae52a 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckQuestWorldFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckQuestWorldFilter.java @@ -5,9 +5,9 @@ import java.util.Set; import forge.deck.DeckProxy; import forge.game.GameFormat; +import forge.gamemodes.quest.QuestWorld; import forge.itemmanager.ItemManager; import forge.model.FModel; -import forge.quest.QuestWorld; public class DeckQuestWorldFilter extends DeckFormatFilter { diff --git a/forge-gui-desktop/src/main/java/forge/screens/bazaar/CBazaarUI.java b/forge-gui-desktop/src/main/java/forge/screens/bazaar/CBazaarUI.java index 2a91e454ff6..560618b80b9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/bazaar/CBazaarUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/bazaar/CBazaarUI.java @@ -4,8 +4,8 @@ import javax.swing.SwingUtilities; import com.google.common.collect.Iterables; +import forge.gamemodes.quest.bazaar.QuestBazaarManager; import forge.gui.framework.ICDoc; -import forge.quest.bazaar.QuestBazaarManager; import forge.toolbox.FLabel; public enum CBazaarUI implements ICDoc { diff --git a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java index 0aad8c587cc..9e15ec5e64e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java @@ -2,11 +2,11 @@ package forge.screens.bazaar; import forge.GuiBase; import forge.UiCommand; +import forge.gamemodes.quest.bazaar.QuestBazaarManager; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.quest.bazaar.QuestBazaarManager; import forge.screens.home.quest.ViewStall; import forge.toolbox.FLabel; import forge.toolbox.FPanel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java index bc2f3580ac7..373979bf7c5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java @@ -22,13 +22,13 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.limited.IBoosterDraft; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; -import forge.limited.BoosterDraft; -import forge.limited.IBoosterDraft; import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.views.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java index c842ec24e2a..57062e5df9a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java @@ -30,6 +30,8 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gui.GuiUtils; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; @@ -41,8 +43,6 @@ import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.views.ItemTableColumn; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.data.DeckConstructionRules; import forge.screens.deckeditor.AddBasicLandsDialog; import forge.screens.deckeditor.SEditorIO; import forge.screens.deckeditor.views.VAllDecks; @@ -102,7 +102,7 @@ public final class CEditorQuest extends CDeckEditor { *

* Card catalog and decks are drawn from a QuestController object. * - * @param questData0   {@link forge.quest.QuestController} + * @param questData0   {@link forge.gamemodes.quest.QuestController} */ @SuppressWarnings("serial") public CEditorQuest(final QuestController questData0, final CDetailPicture cDetailPicture0) { diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java index 9a88115a5a7..f99cd92bd8e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java @@ -20,6 +20,9 @@ package forge.screens.deckeditor.controllers; import forge.UiCommand; import forge.deck.DeckBase; import forge.game.GameType; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestSpellShop; +import forge.gamemodes.quest.QuestUtil; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.*; @@ -29,9 +32,6 @@ import forge.itemmanager.SpellShopManager; import forge.itemmanager.views.ItemTableColumn; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestSpellShop; -import forge.quest.QuestUtil; import forge.screens.deckeditor.views.*; import forge.screens.home.quest.CSubmenuQuestDecks; import forge.screens.match.controllers.CDetailPicture; @@ -95,7 +95,7 @@ public final class CEditorQuestCardShop extends ACEditorBase { *

* Card catalog and decks are drawn from a QuestController object. * - * @param questData0   {@link forge.quest.QuestController} + * @param questData0   {@link forge.gamemodes.quest.QuestController} */ @SuppressWarnings("serial") public CEditorQuestLimited(final QuestController questData0, final CDetailPicture cDetailPicture0) { diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java index 3500a17c1fc..eb8b955f03e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java @@ -25,14 +25,14 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.limited.IBoosterDraft; +import forge.gamemodes.limited.WinstonDraft; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; -import forge.limited.BoosterDraft; -import forge.limited.IBoosterDraft; -import forge.limited.WinstonDraft; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java index 9a540f8c32e..fc2310b87a0 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java @@ -27,13 +27,13 @@ import forge.UiCommand; import forge.ai.AIOption; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorVariant; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index d93989ea97e..97370fd3c05 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -10,17 +10,17 @@ import forge.deck.*; import forge.deckchooser.FDeckChooser; import forge.game.GameType; import forge.game.card.CardView; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gui.CardDetailPanel; import forge.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.GameLobby; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; import forge.model.FModel; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.toolbox.*; import forge.toolbox.FSkin.SkinImage; import forge.util.Aggregates; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java index b74f9f53273..02b9febe403 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java @@ -13,8 +13,8 @@ import org.apache.commons.lang3.ArrayUtils; import forge.UiCommand; import forge.deck.Deck; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; import forge.gui.framework.ICDoc; import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletContests.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletContests.java index e220842ad8e..ea0a43e3e47 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletContests.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletContests.java @@ -10,8 +10,8 @@ import javax.swing.SwingUtilities; import forge.deck.Deck; import forge.game.player.RegisteredPlayer; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; import forge.model.FModel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java index a5ce391de90..525fa3284fa 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java @@ -14,8 +14,8 @@ import forge.deck.Deck; import forge.deck.DeckType; import forge.deckchooser.FDeckChooser; import forge.game.player.RegisteredPlayer; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; import forge.model.FModel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java index d32dd9d2011..5c28ec6290c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletQuick.java @@ -9,8 +9,8 @@ import javax.swing.SwingUtilities; import forge.deck.DeckType; import forge.game.player.RegisteredPlayer; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletUtil; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletUtil; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; import forge.player.GamePlayerUtil; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java index 00a25b1da95..e92b1a3f20b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java @@ -13,8 +13,8 @@ import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; import forge.UiCommand; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedPanel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java index 57e299e094c..84351847eb4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java @@ -14,10 +14,10 @@ import javax.swing.border.Border; import net.miginfocom.swing.MigLayout; import forge.UiCommand; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; +import forge.gamemodes.quest.QuestUtil; import forge.localinstance.assets.FSkinProp; -import forge.quest.QuestUtil; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java index 8acb590c42d..2ea805e2459 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java @@ -2,7 +2,7 @@ package forge.screens.home.gauntlet; import forge.deckchooser.FDeckChooser; import forge.game.GameType; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletIO; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java index 6a29136595e..ace48d1864d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java @@ -9,14 +9,14 @@ import javax.swing.SwingUtilities; import forge.FThreads; import forge.error.BugReporter; +import forge.gamemodes.net.ChatMessage; +import forge.gamemodes.net.NetConnectUtil; import forge.gui.FNetOverlay; import forge.gui.SOverlayUtils; import forge.gui.framework.EDocID; import forge.gui.framework.ICDoc; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; -import forge.net.ChatMessage; -import forge.net.NetConnectUtil; import forge.screens.home.CHomeUI; import forge.screens.home.CLobby; import forge.screens.home.VLobby; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java index 5e93afce851..233560aab08 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java @@ -10,6 +10,10 @@ import net.miginfocom.swing.MigLayout; import forge.deckchooser.DecksComboBoxEvent; import forge.deckchooser.FDeckChooser; import forge.deckchooser.IDecksComboBoxListener; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.net.IOnlineLobby; +import forge.gamemodes.net.client.FGameClient; +import forge.gamemodes.net.server.FServerManager; import forge.gui.FNetOverlay; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -17,10 +21,6 @@ import forge.gui.framework.EDocID; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.interfaces.ILobbyView; -import forge.match.GameLobby; -import forge.net.IOnlineLobby; -import forge.net.client.FGameClient; -import forge.net.server.FServerManager; import forge.toolbox.FButton; import forge.toolbox.FSkin; import forge.util.gui.SOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java index 5bf6aeee046..1baee6bef27 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java @@ -6,13 +6,13 @@ import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.puzzle.Puzzle; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; -import forge.match.HostedMatch; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; -import forge.puzzle.Puzzle; import forge.util.gui.SGuiChoose; import forge.util.gui.SOptionPane; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java index c212aa65336..bd2ba68ac74 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java @@ -6,16 +6,16 @@ import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.puzzle.Puzzle; +import forge.gamemodes.puzzle.PuzzleIO; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; -import forge.match.HostedMatch; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; -import forge.puzzle.Puzzle; -import forge.puzzle.PuzzleIO; import forge.util.Localizer; import forge.util.gui.SOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java index dc808d86439..ea5d2bde0ca 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java @@ -6,16 +6,16 @@ import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.puzzle.Puzzle; +import forge.gamemodes.puzzle.PuzzleIO; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; -import forge.match.HostedMatch; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; -import forge.puzzle.Puzzle; -import forge.puzzle.PuzzleIO; import forge.util.Localizer; import forge.util.gui.SOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java index ff2fbb92f84..18d7e45237b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java @@ -1,12 +1,12 @@ package forge.screens.home.puzzle; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LocalLobby; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.match.GameLobby; -import forge.match.LocalLobby; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.*; import forge.toolbox.FLabel; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java index e9d4041dba9..9f48d5552e7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java @@ -1,12 +1,12 @@ package forge.screens.home.puzzle; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LocalLobby; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.match.GameLobby; -import forge.match.LocalLobby; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.*; import forge.toolbox.FList; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java index fc795c02bc3..822f440a829 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java @@ -1,12 +1,12 @@ package forge.screens.home.puzzle; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LocalLobby; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.match.GameLobby; -import forge.match.LocalLobby; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.*; import forge.toolbox.FList; import forge.toolbox.FScrollPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java index f674b5b8ee2..d55dde9e95c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java @@ -17,13 +17,13 @@ import javax.swing.border.EmptyBorder; import forge.Singletons; import forge.UiCommand; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEventChallenge; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.bazaar.QuestPetController; import forge.gui.framework.ICDoc; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestEventChallenge; -import forge.quest.QuestUtil; -import forge.quest.bazaar.QuestItemType; -import forge.quest.bazaar.QuestPetController; import forge.toolbox.FLabel; import forge.toolbox.JXButtonPanel; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java index 1ddc1ebaaf6..af883e4e254 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java @@ -1,12 +1,12 @@ package forge.screens.home.quest; import forge.UiCommand; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEventDuel; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.bazaar.QuestPetController; import forge.gui.framework.ICDoc; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestEventDuel; -import forge.quest.QuestUtil; -import forge.quest.bazaar.QuestPetController; import forge.toolbox.JXButtonPanel; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java index cfa4e792c4d..9f4861b91b9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java @@ -5,13 +5,13 @@ import javax.swing.SwingUtilities; import forge.Singletons; import forge.UiCommand; import forge.deck.DeckProxy; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestUtil; -import forge.quest.data.QuestPreferences.QPref; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorQuest; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java index 4d88bbb3d94..1d0fa8c549c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java @@ -2,8 +2,8 @@ package forge.screens.home.quest; import forge.UiCommand; import forge.deck.DeckGroup; +import forge.gamemodes.quest.QuestTournamentController; import forge.gui.framework.ICDoc; -import forge.quest.QuestTournamentController; import java.awt.event.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java index facd79e0e41..d8310973cb1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java @@ -1,13 +1,13 @@ package forge.screens.home.quest; import forge.UiCommand; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestData; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.QuestDataIO; import forge.gui.framework.ICDoc; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.data.QuestData; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.QuestDataIO; import forge.screens.bazaar.CBazaarUI; import java.io.File; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java index 6134fec353b..dbbe2cb2a4c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java @@ -4,10 +4,10 @@ import javax.swing.SwingUtilities; import com.google.common.primitives.Ints; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gui.framework.ICDoc; import forge.model.FModel; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.QPref; import forge.screens.home.quest.VSubmenuQuestPrefs.PrefInput; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java index 94f95052616..0d45aca5452 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java @@ -4,14 +4,14 @@ import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameFormat; +import forge.gamemodes.quest.*; +import forge.gamemodes.quest.data.DeckConstructionRules; +import forge.gamemodes.quest.data.GameFormatQuest; +import forge.gamemodes.quest.data.QuestData; +import forge.gamemodes.quest.data.QuestPreferences; import forge.gui.framework.ICDoc; import forge.item.PaperCard; import forge.model.FModel; -import forge.quest.*; -import forge.quest.data.DeckConstructionRules; -import forge.quest.data.GameFormatQuest; -import forge.quest.data.QuestData; -import forge.quest.data.QuestPreferences; import forge.screens.home.CHomeUI; import forge.toolbox.FOptionPane; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java index 7eb18d6377a..038795e6e66 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java @@ -2,9 +2,9 @@ package forge.screens.home.quest; import forge.UiCommand; import forge.card.MagicColor; +import forge.gamemodes.quest.StartingPoolPreferences.PoolType; import forge.gui.SOverlayUtils; import forge.localinstance.assets.FSkinProp; -import forge.quest.StartingPoolPreferences.PoolType; import forge.toolbox.*; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java index 6fe76f89de2..30cfb74e4bd 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java @@ -1,7 +1,7 @@ package forge.screens.home.quest; -import forge.quest.QuestEventDraft; -import forge.quest.QuestUtil; +import forge.gamemodes.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestUtil; import forge.toolbox.FRadioButton; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java index 4b01b530015..dc756cf7dfc 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java @@ -1,9 +1,9 @@ package forge.screens.home.quest; import forge.ImageCache; +import forge.gamemodes.quest.QuestEvent; +import forge.gamemodes.quest.QuestUtil; import forge.localinstance.assets.FSkinProp; -import forge.quest.QuestEvent; -import forge.quest.QuestUtil; import forge.toolbox.FRadioButton; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; @@ -100,7 +100,7 @@ class PnlEvent extends JPanel { this.add(tarDesc, "w 100% - " + (wImg + 15) + "px!, gap " + (wImg + 15) + "px 0 5px 0"); } - /** @return {@link forge.quest.QuestEvent} */ + /** @return {@link forge.gamemodes.quest.QuestEvent} */ public QuestEvent getEvent() { return event; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java index 6d423017c5f..97877e86a4f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java @@ -1,11 +1,11 @@ package forge.screens.home.quest; import forge.UiCommand; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.data.QuestData; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.quest.QuestUtil; -import forge.quest.data.QuestData; import forge.toolbox.*; import forge.toolbox.FSkin.SkinnedButton; import forge.toolbox.FSkin.SkinnedPanel; @@ -62,7 +62,7 @@ public class QuestFileLister extends JPanel { icoEditOver = FSkin.getIcon(FSkinProp.ICO_EDIT_OVER); } - /** @param qd0   {@link forge.quest.data.QuestData}[] */ + /** @param qd0   {@link forge.gamemodes.quest.data.QuestData}[] */ public void setQuests(List qd0) { this.removeAll(); List tempRows = new ArrayList<>(); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java index 8a9ac0d5205..de1e3bfae01 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java @@ -1,10 +1,10 @@ package forge.screens.home.quest; +import forge.gamemodes.quest.IVQuestStats; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.localinstance.assets.FSkinProp; -import forge.quest.IVQuestStats; import forge.screens.home.*; import forge.toolbox.*; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java index b811deb75d4..ec13160ab09 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java @@ -1,11 +1,11 @@ package forge.screens.home.quest; +import forge.gamemodes.quest.IVQuestStats; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IButton; import forge.localinstance.assets.FSkinProp; -import forge.quest.IVQuestStats; import forge.screens.home.*; import forge.toolbox.*; import net.miginfocom.swing.MigLayout; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java index 8b2e4d4383d..16ef4fc852e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java @@ -3,18 +3,18 @@ package forge.screens.home.quest; import forge.GuiBase; import forge.Singletons; import forge.game.GameType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.quest.IQuestTournamentView; +import forge.gamemodes.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestDraftUtils.Mode; +import forge.gamemodes.quest.data.QuestEventDraftContainer; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.FScreen; import forge.itemmanager.DeckManager; -import forge.limited.BoosterDraft; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.quest.IQuestTournamentView; -import forge.quest.QuestEventDraft; -import forge.quest.QuestDraftUtils.Mode; -import forge.quest.data.QuestEventDraftContainer; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorQuestDraftingProcess; import forge.screens.deckeditor.controllers.CEditorQuestLimited; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java index c7204899da2..e0f54b178f9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java @@ -1,11 +1,11 @@ package forge.screens.home.quest; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.QPref; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; @@ -396,7 +396,7 @@ public enum VSubmenuQuestPrefs implements IVSubmenu { private boolean isFocus = false; private String previousText = ""; /** - * @param qp0   {@link forge.quest.data.QuestPreferences.QPref} + * @param qp0   {@link forge.gamemodes.quest.data.QuestPreferences.QPref} * preferences ident enum * @param e0   {@link forge.screens.home.quest.VSubmenuQuestPrefs.QuestPreferencesErrType} * where error should display to @@ -447,7 +447,7 @@ public enum VSubmenuQuestPrefs implements IVSubmenu { } }); } - /** @return {@link forge.quest.data.QuestPreferences.QPref} */ + /** @return {@link forge.gamemodes.quest.data.QuestPreferences.QPref} */ public QPref getQPref() { return this.qpref; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java index dd584e7d6ca..48f41cb2941 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java @@ -3,6 +3,9 @@ package forge.screens.home.quest; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.game.GameFormat; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestWorld; +import forge.gamemodes.quest.StartingPoolType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -10,9 +13,6 @@ import forge.item.PreconDeck; import forge.localinstance.properties.ForgeConstants; import forge.model.CardCollections; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestWorld; -import forge.quest.StartingPoolType; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java index dd1312ba2a2..4e09fd1c2c7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java @@ -2,11 +2,11 @@ package forge.screens.home.quest; import forge.GuiBase; import forge.UiCommand; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.bazaar.IQuestBazaarItem; +import forge.gamemodes.quest.data.QuestAssets; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.quest.QuestUtil; -import forge.quest.bazaar.IQuestBazaarItem; -import forge.quest.data.QuestAssets; import forge.screens.bazaar.VBazaarUI; import forge.toolbox.FHtmlViewer; import forge.toolbox.FLabel; @@ -58,13 +58,13 @@ public class ViewItem extends FPanel { /** * @param i0 - *   {@link forge.quest.bazaar.IQuestBazaarItem} + *   {@link forge.gamemodes.quest.bazaar.IQuestBazaarItem} */ public void setItem(final IQuestBazaarItem i0) { this.item = i0; } - /** @return {@link forge.quest.bazaar.IQuestBazaarItem} */ + /** @return {@link forge.gamemodes.quest.bazaar.IQuestBazaarItem} */ public IQuestBazaarItem getItem() { return this.item; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java index f6ff91680be..c470cd5251f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java @@ -17,12 +17,12 @@ */ package forge.screens.home.quest; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.bazaar.IQuestBazaarItem; +import forge.gamemodes.quest.bazaar.QuestStallDefinition; +import forge.gamemodes.quest.data.QuestAssets; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestUtil; -import forge.quest.bazaar.IQuestBazaarItem; -import forge.quest.bazaar.QuestStallDefinition; -import forge.quest.data.QuestAssets; import forge.screens.bazaar.VBazaarUI; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; @@ -128,7 +128,7 @@ public class ViewStall extends JPanel { /** * @param q0 - *   {@link forge.quest.bazaar.QuestStallDefinition} + *   {@link forge.gamemodes.quest.bazaar.QuestStallDefinition} */ public void setStall(final QuestStallDefinition q0) { this.stall = q0; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java index db2cb2b6266..8df0ec5094c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java @@ -8,15 +8,15 @@ import forge.deck.DeckGroup; import forge.deck.DeckProxy; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.limited.LimitedPoolType; +import forge.gamemodes.match.HostedMatch; import forge.gui.GuiChoose; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; -import forge.limited.BoosterDraft; -import forge.limited.LimitedPoolType; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java index c8a4bc239ac..f33321ae5cd 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java @@ -16,14 +16,14 @@ import forge.deck.DeckGroup; import forge.deck.DeckProxy; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.limited.SealedCardPoolGenerator; +import forge.gamemodes.match.HostedMatch; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.itemmanager.ItemManagerConfig; -import forge.limited.SealedCardPoolGenerator; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java index bc91e4d3e65..53c81e277a1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java @@ -16,15 +16,15 @@ import forge.deck.DeckGroup; import forge.deck.DeckProxy; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.limited.LimitedPoolType; +import forge.gamemodes.limited.WinstonDraft; +import forge.gamemodes.match.HostedMatch; import forge.gui.GuiChoose; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; -import forge.limited.LimitedPoolType; -import forge.limited.WinstonDraft; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.screens.deckeditor.CDeckEditorUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java index e8ac7260787..6433d73d8c7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java @@ -4,13 +4,13 @@ import javax.swing.JPanel; import net.miginfocom.swing.MigLayout; import forge.deckchooser.FDeckChooser; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LocalLobby; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.match.GameLobby; -import forge.match.LocalLobby; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java index 85f793a607a..4ee86ff452e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java @@ -5,13 +5,13 @@ import forge.ai.AiProfileUtil; import forge.control.FControl.CloseAction; import forge.download.AutoUpdater; import forge.game.GameLogEntryType; +import forge.gamemodes.net.server.FServerManager; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.net.server.FServerManager; import forge.player.GamePlayerUtil; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorTokenViewer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index b05edf49903..573faa909a1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -78,6 +78,7 @@ import forge.game.spellability.SpellAbilityView; import forge.game.spellability.StackItemView; import forge.game.spellability.TargetChoices; import forge.game.zone.ZoneType; +import forge.gamemodes.match.AbstractGuiGame; import forge.gui.FNetOverlay; import forge.gui.GuiChoose; import forge.gui.GuiDialog; @@ -97,7 +98,6 @@ import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.AbstractGuiGame; import forge.menus.IMenuProvider; import forge.model.FModel; import forge.player.PlayerZoneUpdate; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/ControlWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/ControlWinLose.java index 7b62a8347af..6aa9904d729 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/ControlWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/ControlWinLose.java @@ -7,10 +7,10 @@ import javax.swing.JButton; import forge.Singletons; import forge.game.GameView; +import forge.gamemodes.match.NextGameDecision; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.interfaces.IGameController; -import forge.match.NextGameDecision; /** * Default controller for a ViewWinLose object. This class can diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java index ef484bd3a19..0b90f517916 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java @@ -26,7 +26,7 @@ import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; import forge.game.GameView; -import forge.gauntlet.GauntletWinLoseController; +import forge.gamemodes.gauntlet.GauntletWinLoseController; import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; import forge.toolbox.FLabel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/LimitedWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/LimitedWinLose.java index 58c4f9da476..dda836a7ff2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/LimitedWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/LimitedWinLose.java @@ -22,7 +22,7 @@ import java.awt.Dimension; import javax.swing.SwingConstants; import forge.game.GameView; -import forge.limited.LimitedWinLoseController; +import forge.gamemodes.limited.LimitedWinLoseController; import forge.toolbox.FSkin; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinColor; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java index 39aec567ade..b93a685fe07 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java @@ -20,11 +20,11 @@ import com.google.common.collect.ImmutableList; import forge.game.GameView; import forge.game.player.PlayerView; +import forge.gamemodes.match.NextGameDecision; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestDraftUtils; import forge.localinstance.assets.FSkinProp; -import forge.match.NextGameDecision; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestDraftUtils; import forge.screens.home.quest.CSubmenuQuestDraft; import forge.screens.home.quest.VSubmenuQuestDraft; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLose.java index c5442f3001c..2a8567dc0f7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLose.java @@ -17,7 +17,7 @@ package forge.screens.match; import forge.game.GameView; -import forge.quest.QuestWinLoseController; +import forge.gamemodes.quest.QuestWinLoseController; import forge.screens.home.quest.CSubmenuChallenges; import forge.screens.home.quest.CSubmenuDuels; diff --git a/forge-gui-desktop/src/main/java/forge/view/FFrame.java b/forge-gui-desktop/src/main/java/forge/view/FFrame.java index 783cccfb144..eb1d837be2f 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FFrame.java +++ b/forge-gui-desktop/src/main/java/forge/view/FFrame.java @@ -20,11 +20,11 @@ import javax.swing.SwingUtilities; import javax.swing.border.Border; import forge.Singletons; +import forge.gamemodes.match.HostedMatch; import forge.gui.framework.SDisplayUtil; import forge.gui.framework.SResizingUtil; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.sound.SoundSystem; import forge.toolbox.FSkin; diff --git a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java index 9551d91ffd9..6fdb1dfa409 100644 --- a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java +++ b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java @@ -6,10 +6,10 @@ import forge.deck.DeckGroup; import forge.deck.io.DeckSerializer; import forge.game.*; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.tournament.system.*; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.tournament.system.*; import forge.util.Lang; import forge.util.TextUtil; import forge.util.WordUtil; diff --git a/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java b/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java index d59d6a76f09..c708e0e8ad6 100644 --- a/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java +++ b/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java @@ -1,8 +1,8 @@ package forge; import forge.deck.CardPool; -import forge.limited.BoosterDraft; -import forge.limited.LimitedPoolType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.limited.LimitedPoolType; import org.testng.annotations.Test; diff --git a/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java b/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java index e797899336a..b71e7f0337e 100644 --- a/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java +++ b/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java @@ -3,10 +3,10 @@ package forge; import forge.deck.CardPool; import forge.deck.Deck; import forge.game.card.Card; +import forge.gamemodes.limited.IBoosterDraft; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.BoosterGenerator; -import forge.limited.IBoosterDraft; import forge.model.FModel; import org.testng.annotations.Test; diff --git a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java index 9c7b955748c..aa4d43f5a4e 100644 --- a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java +++ b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java @@ -2,8 +2,8 @@ package forge; import forge.card.CardRarity; import forge.card.CardRules; +import forge.gamemodes.limited.CardRanker; import forge.item.PaperCard; -import forge.limited.CardRanker; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import org.junit.Assert; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java index 64bf58ed525..9fcb2112a4a 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java @@ -13,8 +13,8 @@ import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; +import forge.gamemodes.limited.CardRanker; import forge.item.PaperCard; -import forge.limited.CardRanker; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java index e72caac572d..2f7eee789c2 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java @@ -16,16 +16,16 @@ import forge.game.GameRules; import forge.game.GameType; import forge.game.Match; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.limited.CardRanker; +import forge.gamemodes.tournament.system.AbstractTournament; +import forge.gamemodes.tournament.system.TournamentPairing; +import forge.gamemodes.tournament.system.TournamentPlayer; +import forge.gamemodes.tournament.system.TournamentSwiss; import forge.item.PaperCard; -import forge.limited.CardRanker; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.tournament.system.AbstractTournament; -import forge.tournament.system.TournamentPairing; -import forge.tournament.system.TournamentPlayer; -import forge.tournament.system.TournamentSwiss; import forge.util.AbstractGeneticAlgorithm; import forge.util.MyRandom; import forge.util.TextUtil; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java index bb31c767c85..485dea7a1d6 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java @@ -13,8 +13,8 @@ import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; +import forge.gamemodes.limited.CardRanker; import forge.item.PaperCard; -import forge.limited.CardRanker; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; diff --git a/forge-gui-mobile/src/forge/GuiMobile.java b/forge-gui-mobile/src/forge/GuiMobile.java index 6651b510882..43b21c25407 100644 --- a/forge-gui-mobile/src/forge/GuiMobile.java +++ b/forge-gui-mobile/src/forge/GuiMobile.java @@ -20,13 +20,13 @@ import forge.deck.Deck; import forge.deck.FDeckViewer; import forge.download.GuiDownloadService; import forge.error.BugReportDialog; +import forge.gamemodes.match.HostedMatch; import forge.interfaces.IGuiBase; import forge.interfaces.IGuiGame; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; import forge.localinstance.properties.ForgeConstants; -import forge.match.HostedMatch; import forge.screens.LoadingOverlay; import forge.screens.match.MatchController; import forge.screens.quest.QuestMenu; diff --git a/forge-gui-mobile/src/forge/card/CardZoom.java b/forge-gui-mobile/src/forge/card/CardZoom.java index c94882c07a6..1e0089f5c41 100644 --- a/forge-gui-mobile/src/forge/card/CardZoom.java +++ b/forge-gui-mobile/src/forge/card/CardZoom.java @@ -17,12 +17,12 @@ import forge.deck.CommanderDeckGenerator; import forge.deck.DeckProxy; import forge.game.GameView; import forge.game.card.CardView; +import forge.gamemodes.planarconquest.ConquestCommander; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.planarconquest.ConquestCommander; import forge.screens.match.MatchController; import forge.toolbox.FCardPanel; import forge.toolbox.FDialog; diff --git a/forge-gui-mobile/src/forge/deck/FDeckChooser.java b/forge-gui-mobile/src/forge/deck/FDeckChooser.java index 83a875629e5..971e562e541 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckChooser.java +++ b/forge-gui-mobile/src/forge/deck/FDeckChooser.java @@ -9,21 +9,21 @@ import forge.deck.io.DeckPreferences; import forge.error.BugReporter; import forge.game.GameType; import forge.game.player.RegisteredPlayer; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletUtil; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletUtil; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEvent; +import forge.gamemodes.quest.QuestEventChallenge; +import forge.gamemodes.quest.QuestUtil; import forge.interfaces.IGuiGame; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.QuestController; -import forge.quest.QuestEvent; -import forge.quest.QuestEventChallenge; -import forge.quest.QuestUtil; import forge.screens.FScreen; import forge.screens.LoadingOverlay; import forge.screens.home.NewGameMenu.NewGameScreen; diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index f87d7e812f6..20e30f0a929 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -20,6 +20,8 @@ import forge.card.CardEdition; import forge.card.CardPreferences; import forge.card.CardRulesPredicates; import forge.deck.io.DeckPreferences; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.planarconquest.ConquestUtil; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ColumnDef; @@ -27,7 +29,6 @@ import forge.itemmanager.ItemColumn; import forge.itemmanager.ItemManager.ContextMenuBuilder; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; -import forge.limited.BoosterDraft; import forge.localinstance.assets.*; import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FCheckBoxMenuItem; @@ -35,7 +36,6 @@ import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.planarconquest.ConquestUtil; import forge.screens.FScreen; import forge.screens.TabPageScreen; import forge.toolbox.*; diff --git a/forge-gui-mobile/src/forge/itemmanager/SpellShopManager.java b/forge-gui-mobile/src/forge/itemmanager/SpellShopManager.java index 444db64407e..781b9acd76e 100644 --- a/forge-gui-mobile/src/forge/itemmanager/SpellShopManager.java +++ b/forge-gui-mobile/src/forge/itemmanager/SpellShopManager.java @@ -12,11 +12,11 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.ImageCache; import forge.card.CardRenderer; +import forge.gamemodes.quest.QuestSpellShop; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.filters.AdvancedSearchFilter; import forge.itemmanager.filters.TextSearchFilter; -import forge.quest.QuestSpellShop; import forge.toolbox.FList; import forge.toolbox.FList.CompactModeHandler; import forge.util.Localizer; diff --git a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java index 6ed3a162a78..73988323cda 100644 --- a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java +++ b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java @@ -23,6 +23,7 @@ import forge.deck.CommanderDeckGenerator; import forge.deck.DeckProxy; import forge.deck.FDeckViewer; import forge.deck.io.DeckPreferences; +import forge.gamemodes.planarconquest.ConquestCommander; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; @@ -33,7 +34,6 @@ import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerModel; import forge.itemmanager.SItemManagerUtil; import forge.itemmanager.filters.ItemFilter; -import forge.planarconquest.ConquestCommander; import forge.toolbox.FCardPanel; import forge.toolbox.FComboBox; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/constructed/ConstructedScreen.java b/forge-gui-mobile/src/forge/screens/constructed/ConstructedScreen.java index 38c4930d694..cb1ba16eacf 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/ConstructedScreen.java +++ b/forge-gui-mobile/src/forge/screens/constructed/ConstructedScreen.java @@ -1,8 +1,8 @@ package forge.screens.constructed; +import forge.gamemodes.match.LocalLobby; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.interfaces.IPlayerChangeListener; -import forge.match.LocalLobby; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.home.NewGameMenu; public class ConstructedScreen extends LobbyScreen { diff --git a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java index 3149f18029b..a71531e1ae8 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java @@ -11,8 +11,6 @@ import forge.deck.Deck; import forge.deck.DeckSection; import forge.deck.DeckType; import forge.deck.FDeckChooser; - -import forge.net.server.FServerManager; import forge.util.Localizer; import forge.util.MyRandom; @@ -30,16 +28,17 @@ import forge.ai.AIOption; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.game.GameType; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; +import forge.gamemodes.net.server.FServerManager; import forge.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.GameLobby; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.screens.FScreen; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; diff --git a/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java b/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java index e109d452bd2..2e220c0b441 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java +++ b/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java @@ -28,13 +28,13 @@ import forge.deck.DeckType; import forge.deck.FDeckChooser; import forge.deck.FVanguardChooser; import forge.game.GameType; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.DeckManager; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; import forge.model.FModel; import forge.toolbox.FComboBox; import forge.toolbox.FContainer; diff --git a/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java b/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java index b6fcae38fc6..dfc40b0f34e 100644 --- a/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java +++ b/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java @@ -17,11 +17,11 @@ import forge.deck.Deck; import forge.deck.FDeckChooser; import forge.game.GameType; import forge.game.player.RegisteredPlayer; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; +import forge.gamemodes.quest.QuestUtil; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.QuestUtil; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.LoadGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/gauntlet/NewGauntletScreen.java b/forge-gui-mobile/src/forge/screens/gauntlet/NewGauntletScreen.java index 2388dc0758f..add73a97bd5 100644 --- a/forge-gui-mobile/src/forge/screens/gauntlet/NewGauntletScreen.java +++ b/forge-gui-mobile/src/forge/screens/gauntlet/NewGauntletScreen.java @@ -11,9 +11,9 @@ import forge.deck.DeckType; import forge.deck.FDeckChooser; import forge.game.GameType; import forge.game.player.RegisteredPlayer; -import forge.gauntlet.GauntletData; -import forge.gauntlet.GauntletIO; -import forge.gauntlet.GauntletUtil; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletIO; +import forge.gamemodes.gauntlet.GauntletUtil; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.screens.LaunchScreen; diff --git a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java index 2f026e7195d..6cbeafa8c2e 100644 --- a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java @@ -6,11 +6,11 @@ import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.puzzle.Puzzle; +import forge.gamemodes.puzzle.PuzzleIO; import forge.localinstance.properties.ForgeConstants; -import forge.match.HostedMatch; import forge.player.GamePlayerUtil; -import forge.puzzle.Puzzle; -import forge.puzzle.PuzzleIO; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.NewGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java b/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java index 683ce9a7811..d23e7e416f8 100644 --- a/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java @@ -7,10 +7,10 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.FDeckEditor; import forge.deck.io.DeckPreferences; -import forge.limited.BoosterDraft; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestTournamentController; import forge.model.FModel; -import forge.quest.QuestEventDraft; -import forge.quest.QuestTournamentController; import forge.screens.FScreen; import forge.screens.home.LoadGameMenu.LoadGameScreen; import forge.toolbox.FOptionPane; diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java index 38dac09e413..e14c84fc1c8 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java @@ -22,11 +22,11 @@ import forge.deck.FDeckEditor.EditorType; import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.toolbox.FComboBox; diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java index 46ef83d4fe6..e40dd2ce6cc 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java @@ -15,11 +15,11 @@ import forge.deck.FDeckEditor.EditorType; import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.screens.LaunchScreen; diff --git a/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java b/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java index 9e96be6cb4e..b51c3818426 100644 --- a/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java @@ -4,8 +4,8 @@ import forge.FThreads; import forge.Forge; import forge.assets.FSkinFont; import forge.deck.FDeckEditor.EditorType; -import forge.limited.BoosterDraft; -import forge.limited.LimitedPoolType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.limited.LimitedPoolType; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.NewGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java index 5b0914d515b..456b89665bd 100644 --- a/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java @@ -7,7 +7,7 @@ import forge.deck.DeckGroup; import forge.deck.FDeckEditor; import forge.deck.FDeckEditor.EditorType; import forge.deck.io.DeckPreferences; -import forge.limited.SealedCardPoolGenerator; +import forge.gamemodes.limited.SealedCardPoolGenerator; import forge.screens.LaunchScreen; import forge.screens.home.NewGameMenu; import forge.toolbox.FLabel; diff --git a/forge-gui-mobile/src/forge/screens/match/MatchController.java b/forge-gui-mobile/src/forge/screens/match/MatchController.java index ab1f6a8f49c..6d7b3bcd666 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchController.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchController.java @@ -36,12 +36,12 @@ import forge.game.player.IHasIcon; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; +import forge.gamemodes.match.AbstractGuiGame; +import forge.gamemodes.match.HostedMatch; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.AbstractGuiGame; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java index 75ac2706e33..46134e39b23 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java @@ -19,7 +19,7 @@ package forge.screens.match.winlose; import forge.FThreads; import forge.game.GameView; -import forge.gauntlet.GauntletWinLoseController; +import forge.gamemodes.gauntlet.GauntletWinLoseController; import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; import forge.util.gui.SOptionPane; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/LimitedWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/LimitedWinLose.java index 9251a458986..c682dd53315 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/LimitedWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/LimitedWinLose.java @@ -18,7 +18,7 @@ package forge.screens.match.winlose; */ import forge.game.GameView; -import forge.limited.LimitedWinLoseController; +import forge.gamemodes.limited.LimitedWinLoseController; /** * The Win/Lose handler for 'gauntlet' type tournament diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/QuestDraftWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/QuestDraftWinLose.java index 6827bf9b153..4f405b70848 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/QuestDraftWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/QuestDraftWinLose.java @@ -18,10 +18,10 @@ package forge.screens.match.winlose; import forge.game.GameView; import forge.game.player.PlayerView; -import forge.match.NextGameDecision; +import forge.gamemodes.match.NextGameDecision; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestDraftUtils; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestDraftUtils; import forge.screens.match.MatchController; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/QuestWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/QuestWinLose.java index 56faf35e470..4931520ff04 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/QuestWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/QuestWinLose.java @@ -17,7 +17,7 @@ package forge.screens.match.winlose; import forge.game.GameView; -import forge.quest.QuestWinLoseController; +import forge.gamemodes.quest.QuestWinLoseController; import forge.screens.home.HomeScreen; /** diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java b/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java index 6708d3a729c..a1845105a55 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java @@ -8,13 +8,13 @@ import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; +import forge.gamemodes.net.ChatMessage; +import forge.gamemodes.net.IOnlineChatInterface; +import forge.gamemodes.net.IRemote; +import forge.gamemodes.net.event.MessageEvent; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.net.ChatMessage; -import forge.net.IOnlineChatInterface; -import forge.net.IRemote; -import forge.net.event.MessageEvent; import forge.screens.FScreen; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java b/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java index c3730d290cb..46cf5a34506 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java @@ -4,17 +4,17 @@ import com.google.common.collect.ImmutableList; import forge.FThreads; import forge.Forge; import forge.GuiBase; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.net.ChatMessage; +import forge.gamemodes.net.IOnlineChatInterface; +import forge.gamemodes.net.IOnlineLobby; +import forge.gamemodes.net.NetConnectUtil; +import forge.gamemodes.net.OfflineLobby; +import forge.gamemodes.net.client.FGameClient; +import forge.gamemodes.net.server.FServerManager; import forge.interfaces.ILobbyView; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; -import forge.match.GameLobby; -import forge.net.ChatMessage; -import forge.net.IOnlineChatInterface; -import forge.net.IOnlineLobby; -import forge.net.NetConnectUtil; -import forge.net.OfflineLobby; -import forge.net.client.FGameClient; -import forge.net.server.FServerManager; import forge.screens.LoadingOverlay; import forge.screens.constructed.LobbyScreen; import forge.screens.online.OnlineMenu.OnlineScreen; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java b/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java index b2859443c6a..562821ca022 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java @@ -3,12 +3,12 @@ package forge.screens.online; import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinImage; +import forge.gamemodes.net.server.FServerManager; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.net.server.FServerManager; import forge.screens.FScreen; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java index df6ed919610..4248376f88d 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java @@ -24,16 +24,16 @@ import forge.card.CardRenderer; import forge.card.CardZoom; import forge.card.ColorSet; import forge.card.CardRenderer.CardStackPosition; +import forge.gamemodes.planarconquest.ConquestCommander; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestUtil; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.planarconquest.ConquestUtil.AEtherFilter; import forge.card.ColorSetImage; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.planarconquest.ConquestCommander; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestPreferences.CQPref; -import forge.planarconquest.ConquestUtil; -import forge.planarconquest.ConquestUtil.AEtherFilter; import forge.screens.FScreen; import forge.toolbox.FCardPanel; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java index 09dfd2c54a9..b92edfd7a4f 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java @@ -7,7 +7,7 @@ import forge.Graphics; import forge.animation.ForgeAnimation; import forge.assets.FSkinImage; import forge.assets.FSkinTexture; -import forge.planarconquest.ConquestEvent.ChaosWheelOutcome; +import forge.gamemodes.planarconquest.ConquestEvent.ChaosWheelOutcome; import forge.toolbox.FOptionPane; import forge.toolbox.FOverlay; import forge.util.Aggregates; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java index 8a42dad34ba..a5e51bc03c3 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java @@ -13,6 +13,11 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.TextRenderer; import forge.deck.CardPool; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestPreferences; +import forge.gamemodes.planarconquest.ConquestUtil; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManager; @@ -24,11 +29,6 @@ import forge.itemmanager.filters.ItemFilter; import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.model.FModel; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestPreferences; -import forge.planarconquest.ConquestUtil; -import forge.planarconquest.ConquestPreferences.CQPref; import forge.screens.TabPageScreen; import forge.toolbox.FEvent; import forge.toolbox.FLabel; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java index 81b113fb80d..d8a3505b1cb 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java @@ -17,6 +17,10 @@ import forge.card.ColorSet; import forge.deck.DeckFormat; import forge.deck.FDeckChooser; import forge.deck.FDeckViewer; +import forge.gamemodes.planarconquest.ConquestCommander; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestRecord; import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.itemmanager.ItemManagerConfig; @@ -28,10 +32,6 @@ import forge.itemmanager.filters.ItemFilter; import forge.itemmanager.filters.StatTypeFilter; import forge.itemmanager.filters.TextSearchFilter; import forge.model.FModel; -import forge.planarconquest.ConquestCommander; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestRecord; import forge.screens.FScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestDeckEditor.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestDeckEditor.java index e5dd8e31abf..7f242d6cf20 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestDeckEditor.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestDeckEditor.java @@ -5,12 +5,12 @@ import java.util.Map; import forge.deck.DeckProxy; import forge.deck.FDeckEditor; import forge.game.GameType; +import forge.gamemodes.planarconquest.ConquestCommander; +import forge.gamemodes.planarconquest.ConquestData; import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemColumn; import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; -import forge.planarconquest.ConquestCommander; -import forge.planarconquest.ConquestData; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.util.Localizer; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java index b80ee0ae789..837a14f5472 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java @@ -2,18 +2,6 @@ package forge.screens.planarconquest; import java.util.List; -import forge.planarconquest.ConquestAwardPool; -import forge.planarconquest.ConquestBattle; -import forge.planarconquest.ConquestChaosBattle; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestEvent; -import forge.planarconquest.ConquestLocation; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestPlaneData; -import forge.planarconquest.ConquestRegion; -import forge.planarconquest.ConquestReward; -import forge.planarconquest.ConquestUtil; - import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.graphics.Color; @@ -38,11 +26,22 @@ import forge.card.CardRenderer; import forge.card.CardZoom; import forge.card.ColorSet; import forge.card.CardDetailUtil.DetailColors; +import forge.gamemodes.planarconquest.ConquestAwardPool; +import forge.gamemodes.planarconquest.ConquestBattle; +import forge.gamemodes.planarconquest.ConquestChaosBattle; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestEvent; +import forge.gamemodes.planarconquest.ConquestLocation; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestPlaneData; +import forge.gamemodes.planarconquest.ConquestRegion; +import forge.gamemodes.planarconquest.ConquestReward; +import forge.gamemodes.planarconquest.ConquestUtil; +import forge.gamemodes.planarconquest.ConquestEvent.ChaosWheelOutcome; +import forge.gamemodes.planarconquest.ConquestEvent.ConquestEventRecord; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.item.PaperCard; import forge.model.FModel; -import forge.planarconquest.ConquestEvent.ChaosWheelOutcome; -import forge.planarconquest.ConquestEvent.ConquestEventRecord; -import forge.planarconquest.ConquestPreferences.CQPref; import forge.screens.FScreen; import forge.screens.LoadingOverlay; import forge.toolbox.FButton; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java index bcc4bc54c69..ab9a38a03d4 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java @@ -17,9 +17,9 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.FSkinTexture; import forge.card.CardRenderer; +import forge.gamemodes.planarconquest.ConquestPlane; import forge.item.PaperCard; import forge.model.FModel; -import forge.planarconquest.ConquestPlane; import forge.toolbox.FDisplayObject; import forge.toolbox.FOptionPane; import forge.toolbox.FTimer; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java index 2fed378a3fe..216042fdce1 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java @@ -7,11 +7,11 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinFont; import forge.assets.TextRenderer; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestPreferences; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.model.FModel; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestPreferences; -import forge.planarconquest.ConquestPreferences.CQPref; import forge.screens.FScreen; import forge.toolbox.FEvent; import forge.toolbox.FList; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java index 18f5b638de4..c59067ac3b2 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkersScreen.java @@ -4,10 +4,10 @@ import forge.Forge; import forge.assets.FImage; import forge.card.CardListPreview; import forge.deck.FDeckChooser; +import forge.gamemodes.planarconquest.ConquestData; import forge.item.PaperCard; import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.model.FModel; -import forge.planarconquest.ConquestData; import forge.screens.FScreen; import forge.toolbox.FChoiceList; import forge.util.Callback; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java index cdda494a920..2480f1dc121 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java @@ -3,9 +3,9 @@ package forge.screens.planarconquest; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gamemodes.planarconquest.ConquestPreferences; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.model.FModel; -import forge.planarconquest.ConquestPreferences; -import forge.planarconquest.ConquestPreferences.CQPref; import forge.screens.FScreen; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java index 40954b34d14..ea903df8007 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java @@ -15,8 +15,8 @@ import forge.assets.ImageCache; import forge.card.CardRenderer; import forge.card.CardZoom; import forge.card.CardRenderer.CardStackPosition; +import forge.gamemodes.planarconquest.ConquestReward; import forge.item.PaperCard; -import forge.planarconquest.ConquestReward; import forge.toolbox.FCardPanel; import forge.toolbox.FDialog; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java index 453ce8fa098..501b630835c 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java @@ -5,11 +5,11 @@ import com.badlogic.gdx.utils.Align; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.IVConquestStats; import forge.interfaces.IButton; import forge.model.FModel; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.IVConquestStats; import forge.screens.FScreen; import forge.toolbox.FComboBox; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java index c97603cfcad..db7ded4a0ec 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java @@ -16,15 +16,15 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gamemodes.planarconquest.ConquestController; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestPreferences; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.quest.QuestUtil; import forge.localinstance.properties.ForgeConstants; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.model.FModel; -import forge.planarconquest.ConquestController; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPreferences; -import forge.planarconquest.ConquestPreferences.CQPref; -import forge.quest.QuestUtil; import forge.screens.LaunchScreen; import forge.screens.home.LoadGameMenu; import forge.screens.home.NewGameMenu.NewGameScreen; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java index 094d08db6d5..f5d03d6855c 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java @@ -6,13 +6,13 @@ import forge.FThreads; import forge.assets.FImage; import forge.card.CardImage; import forge.card.CardListPreview; +import forge.gamemodes.planarconquest.ConquestController; +import forge.gamemodes.planarconquest.ConquestData; +import forge.gamemodes.planarconquest.ConquestUtil; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.item.PaperCard; import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.model.FModel; -import forge.planarconquest.ConquestController; -import forge.planarconquest.ConquestData; -import forge.planarconquest.ConquestPreferences.CQPref; -import forge.planarconquest.ConquestUtil; import forge.screens.LoadingOverlay; import forge.screens.MultiStepWizardScreen; import forge.screens.home.NewGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreenModel.java b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreenModel.java index d1fdb8b90f0..e0794bd8c39 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreenModel.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreenModel.java @@ -1,7 +1,7 @@ package forge.screens.planarconquest; +import forge.gamemodes.planarconquest.ConquestPlane; import forge.item.PaperCard; -import forge.planarconquest.ConquestPlane; public class NewConquestScreenModel { public ConquestPlane startingPlane; diff --git a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java index 901b6adb063..0633c4feecd 100644 --- a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java @@ -17,16 +17,16 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.data.DeckConstructionRules; +import forge.gamemodes.quest.data.QuestData; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.QuestDataIO; import forge.localinstance.properties.ForgeConstants; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestUtil; -import forge.quest.data.DeckConstructionRules; -import forge.quest.data.QuestData; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.QuestDataIO; import forge.screens.LaunchScreen; import forge.screens.home.LoadGameMenu; import forge.screens.home.NewGameMenu.NewGameScreen; diff --git a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java index 1b9f977d895..5519b9ac428 100644 --- a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java @@ -12,22 +12,22 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; import forge.game.GameFormat; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.QuestWorld; +import forge.gamemodes.quest.StartingPoolPreferences; +import forge.gamemodes.quest.StartingPoolType; +import forge.gamemodes.quest.StartingPoolPreferences.PoolType; +import forge.gamemodes.quest.data.DeckConstructionRules; +import forge.gamemodes.quest.data.GameFormatQuest; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.item.PaperCard; import forge.item.PreconDeck; import forge.itemmanager.filters.HistoricFormatSelect; import forge.localinstance.properties.ForgeConstants; import forge.model.CardCollections; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestMode; -import forge.quest.QuestUtil; -import forge.quest.QuestWorld; -import forge.quest.StartingPoolPreferences; -import forge.quest.StartingPoolPreferences.PoolType; -import forge.quest.StartingPoolType; -import forge.quest.data.DeckConstructionRules; -import forge.quest.data.GameFormatQuest; -import forge.quest.data.QuestPreferences.QPref; import forge.screens.FScreen; import forge.screens.LoadingOverlay; import forge.screens.home.NewGameMenu; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java index 0c738cd5104..e559a958dee 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java @@ -12,13 +12,13 @@ import forge.GuiBase; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.bazaar.IQuestBazaarItem; +import forge.gamemodes.quest.bazaar.QuestBazaarManager; +import forge.gamemodes.quest.bazaar.QuestStallDefinition; +import forge.gamemodes.quest.data.QuestAssets; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestUtil; -import forge.quest.bazaar.IQuestBazaarItem; -import forge.quest.bazaar.QuestBazaarManager; -import forge.quest.bazaar.QuestStallDefinition; -import forge.quest.data.QuestAssets; import forge.screens.TabPageScreen; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java b/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java index 53ed006d7de..e07dbd974ba 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java @@ -4,12 +4,12 @@ import java.util.HashMap; import java.util.Map; import forge.deck.DeckProxy; import forge.deck.FDeckEditor; +import forge.gamemodes.quest.QuestSpellShop; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemColumn; import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; -import forge.quest.QuestSpellShop; public class QuestDeckEditor extends FDeckEditor { public QuestDeckEditor(boolean commander) { diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java index 5940a1205f4..063a9a32c67 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java @@ -10,12 +10,12 @@ import forge.deck.DeckgenUtil; import forge.deck.FDeckChooser; import forge.deck.FDeckViewer; import forge.game.GameType; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestUtil; -import forge.quest.data.QuestPreferences.QPref; import forge.screens.FScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java index 4987202c0de..5d9d05122ca 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java @@ -4,9 +4,9 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; import forge.FThreads; import forge.assets.FSkinFont; +import forge.gamemodes.quest.QuestEventDuel; import forge.interfaces.IButton; import forge.model.FModel; -import forge.quest.QuestEventDuel; import forge.screens.LoadingOverlay; import forge.screens.home.HomeScreen; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java b/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java index a548a944aad..835829c83da 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java @@ -6,10 +6,10 @@ import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gamemodes.quest.IQuestEvent; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.ImageCache; -import forge.quest.IQuestEvent; import forge.screens.settings.SettingsScreen; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java index fbb638e1840..9d37c134ed8 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java @@ -1,8 +1,8 @@ package forge.screens.quest; import forge.FThreads; +import forge.gamemodes.quest.QuestUtil; import forge.model.FModel; -import forge.quest.QuestUtil; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.toolbox.FOptionPane; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java index fdbde6e354e..f72f26a260a 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java @@ -10,6 +10,10 @@ import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.FDeckEditor.DeckController; import forge.deck.FDeckEditor.EditorType; +import forge.gamemodes.quest.IVQuestStats; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.QuestDataIO; import forge.interfaces.IButton; import forge.interfaces.ICheckBox; import forge.interfaces.IComboBox; @@ -17,10 +21,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.model.FModel; -import forge.quest.IVQuestStats; -import forge.quest.QuestUtil; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.QuestDataIO; import forge.screens.FScreen; import forge.screens.LoadingOverlay; import forge.screens.home.HomeScreen; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java index 4ad16f6f9af..a55e2df7957 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java @@ -3,9 +3,9 @@ package forge.screens.quest; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.model.FModel; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.QPref; import forge.screens.FScreen; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java index 1e7f27941ef..d789bf45d67 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java @@ -6,6 +6,8 @@ import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gamemodes.quest.QuestSpellShop; +import forge.gamemodes.quest.QuestUtil; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; @@ -17,8 +19,6 @@ import forge.itemmanager.filters.ItemFilter; import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.model.FModel; -import forge.quest.QuestSpellShop; -import forge.quest.QuestUtil; import forge.screens.TabPageScreen; import forge.toolbox.*; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java index 6be65f891e9..ed045d09804 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java @@ -5,13 +5,13 @@ import java.util.List; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.bazaar.QuestPetController; import forge.interfaces.IButton; import forge.interfaces.ICheckBox; import forge.interfaces.IComboBox; import forge.model.FModel; -import forge.quest.QuestUtil; -import forge.quest.bazaar.QuestItemType; -import forge.quest.bazaar.QuestPetController; import forge.screens.FScreen; import forge.toolbox.FCheckBox; import forge.toolbox.FComboBox; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java index 9dacdee15ee..2117740b565 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java @@ -16,18 +16,18 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.FDeckEditor.EditorType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.quest.IQuestTournamentView; +import forge.gamemodes.quest.QuestDraftUtils; +import forge.gamemodes.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestTournamentController; +import forge.gamemodes.quest.QuestDraftUtils.Mode; +import forge.gamemodes.quest.data.QuestEventDraftContainer; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; -import forge.limited.BoosterDraft; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.IQuestTournamentView; -import forge.quest.QuestDraftUtils; -import forge.quest.QuestEventDraft; -import forge.quest.QuestTournamentController; -import forge.quest.QuestDraftUtils.Mode; -import forge.quest.data.QuestEventDraftContainer; import forge.screens.LoadingOverlay; import forge.screens.limited.DraftingProcessScreen; import forge.toolbox.FButton; diff --git a/forge-gui/src/main/java/forge/control/FControlGamePlayback.java b/forge-gui/src/main/java/forge/control/FControlGamePlayback.java index 5f7b1110b0a..07430bada16 100644 --- a/forge-gui/src/main/java/forge/control/FControlGamePlayback.java +++ b/forge-gui/src/main/java/forge/control/FControlGamePlayback.java @@ -19,7 +19,7 @@ import forge.game.event.GameEventSpellAbilityCast; import forge.game.event.GameEventSpellResolved; import forge.game.event.GameEventTurnPhase; import forge.game.event.IGameEventVisitor; -import forge.match.input.InputPlaybackControl; +import forge.gamemodes.match.input.InputPlaybackControl; import forge.player.PlayerControllerHuman; public class FControlGamePlayback extends IGameEventVisitor.Base { diff --git a/forge-gui/src/main/java/forge/control/WatchLocalGame.java b/forge-gui/src/main/java/forge/control/WatchLocalGame.java index c7758934716..59452fcb344 100644 --- a/forge-gui/src/main/java/forge/control/WatchLocalGame.java +++ b/forge-gui/src/main/java/forge/control/WatchLocalGame.java @@ -10,10 +10,10 @@ import forge.game.Game; import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; +import forge.gamemodes.match.input.Input; +import forge.gamemodes.match.input.InputPlaybackControl; import forge.interfaces.IDevModeCheats; import forge.interfaces.IGuiGame; -import forge.match.input.Input; -import forge.match.input.InputPlaybackControl; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; diff --git a/forge-gui/src/main/java/forge/deck/DeckProxy.java b/forge-gui/src/main/java/forge/deck/DeckProxy.java index 452827530a1..ef649b80f3f 100644 --- a/forge-gui/src/main/java/forge/deck/DeckProxy.java +++ b/forge-gui/src/main/java/forge/deck/DeckProxy.java @@ -28,14 +28,14 @@ import forge.card.mana.ManaCostShard; import forge.deck.io.DeckPreferences; import forge.game.GameFormat; import forge.game.GameType; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEvent; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.item.PreconDeck; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestEvent; import forge.util.BinaryUtil; import forge.util.IHasName; import forge.util.storage.IStorage; diff --git a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java index 55f80947db9..658340ecfb3 100644 --- a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java +++ b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java @@ -16,18 +16,18 @@ import forge.deck.generation.*; import forge.deck.io.Archetype; import forge.game.GameFormat; import forge.game.GameType; +import forge.gamemodes.limited.ArchetypeDeckBuilder; +import forge.gamemodes.limited.CardThemedCommanderDeckBuilder; +import forge.gamemodes.limited.CardThemedConquestDeckBuilder; +import forge.gamemodes.limited.CardThemedDeckBuilder; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEvent; +import forge.gamemodes.quest.QuestEventChallenge; +import forge.gamemodes.quest.QuestEventDuel; import forge.item.PaperCard; import forge.itemmanager.IItemManager; -import forge.limited.ArchetypeDeckBuilder; -import forge.limited.CardThemedCommanderDeckBuilder; -import forge.limited.CardThemedConquestDeckBuilder; -import forge.limited.CardThemedDeckBuilder; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestEvent; -import forge.quest.QuestEventChallenge; -import forge.quest.QuestEventDuel; import forge.util.Aggregates; import forge.util.Lang; import forge.util.MyRandom; diff --git a/forge-gui/src/main/java/forge/deck/RandomDeckGenerator.java b/forge-gui/src/main/java/forge/deck/RandomDeckGenerator.java index fe11a4cd0ea..1609859d0d5 100644 --- a/forge-gui/src/main/java/forge/deck/RandomDeckGenerator.java +++ b/forge-gui/src/main/java/forge/deck/RandomDeckGenerator.java @@ -8,8 +8,8 @@ import com.google.common.collect.Iterables; import forge.game.GameType; import forge.game.IHasGameType; +import forge.gamemodes.quest.QuestController; import forge.model.FModel; -import forge.quest.QuestController; import forge.util.Aggregates; public class RandomDeckGenerator extends DeckProxy implements Comparable { diff --git a/forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java b/forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java index 71e92f416f6..20b5243a005 100644 --- a/forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java +++ b/forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java @@ -1,6 +1,6 @@ package forge.events; -import forge.match.NextGameDecision; +import forge.gamemodes.match.NextGameDecision; import forge.player.PlayerControllerHuman; public final class UiEventNextGameDecision extends UiEvent { diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletData.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java similarity index 98% rename from forge-gui/src/main/java/forge/gauntlet/GauntletData.java rename to forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java index 3f9f6d66c9a..6b57a79e963 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletData.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java @@ -1,4 +1,4 @@ -package forge.gauntlet; +package forge.gamemodes.gauntlet; import com.thoughtworks.xstream.annotations.XStreamOmitField; @@ -6,8 +6,8 @@ import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; import forge.localinstance.properties.ForgeConstants; -import forge.match.HostedMatch; import java.io.File; import java.text.DateFormat; diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletIO.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java similarity index 99% rename from forge-gui/src/main/java/forge/gauntlet/GauntletIO.java rename to forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java index c47ff5d4c00..de65914f895 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java @@ -1,4 +1,4 @@ -package forge.gauntlet; +package forge.gamemodes.gauntlet; import java.io.BufferedOutputStream; import java.io.File; diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletUtil.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java similarity index 99% rename from forge-gui/src/main/java/forge/gauntlet/GauntletUtil.java rename to forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java index 61f42e587dd..9b6be34e309 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java @@ -1,4 +1,4 @@ -package forge.gauntlet; +package forge.gamemodes.gauntlet; import java.io.File; import java.util.*; diff --git a/forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java similarity index 99% rename from forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java rename to forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java index 7e4310d565f..70486da312e 100644 --- a/forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java @@ -1,4 +1,4 @@ -package forge.gauntlet; +package forge.gamemodes.gauntlet; import java.util.List; diff --git a/forge-gui/src/main/java/forge/limited/ArchetypeDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java similarity index 95% rename from forge-gui/src/main/java/forge/limited/ArchetypeDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java index a0ca57ecbad..be376c3f169 100644 --- a/forge-gui/src/main/java/forge/limited/ArchetypeDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.deck.DeckFormat; import forge.deck.io.Archetype; diff --git a/forge-gui/src/main/java/forge/limited/BoosterDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java similarity index 92% rename from forge-gui/src/main/java/forge/limited/BoosterDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java index 2c80377c9ac..4115b6fc8b2 100644 --- a/forge-gui/src/main/java/forge/limited/BoosterDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.item.PaperCard; diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/BoosterDraft.java rename to forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java index e6cf6d207e6..40e8a11722b 100644 --- a/forge-gui/src/main/java/forge/limited/BoosterDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.base.Predicate; import com.google.common.base.Supplier; diff --git a/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraftAI.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/BoosterDraftAI.java rename to forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraftAI.java index fdb89d30e4f..d5d61676818 100644 --- a/forge-gui/src/main/java/forge/limited/BoosterDraftAI.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraftAI.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/limited/CardRanker.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/CardRanker.java rename to forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java index 13d138f6b9e..ae093bd402f 100644 --- a/forge-gui/src/main/java/forge/limited/CardRanker.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; diff --git a/forge-gui/src/main/java/forge/limited/CardRankingComparator.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java similarity index 92% rename from forge-gui/src/main/java/forge/limited/CardRankingComparator.java rename to forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java index 69da8c9ad7b..10cb20cd1e0 100644 --- a/forge-gui/src/main/java/forge/limited/CardRankingComparator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.item.PaperCard; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java similarity index 98% rename from forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java index f981abbc50c..059661bdf34 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedCommanderDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; diff --git a/forge-gui/src/main/java/forge/limited/CardThemedConquestDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java similarity index 98% rename from forge-gui/src/main/java/forge/limited/CardThemedConquestDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java index b126ef47b27..1e37cdabdd4 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedConquestDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; diff --git a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java index 2107d945159..e9dadbaca5c 100644 --- a/forge-gui/src/main/java/forge/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.base.Predicate; import com.google.common.base.Predicates; diff --git a/forge-gui/src/main/java/forge/limited/CustomLimited.java b/forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/CustomLimited.java rename to forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java index cd908d5f59e..7adadc0a114 100644 --- a/forge-gui/src/main/java/forge/limited/CustomLimited.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import forge.card.CardEdition; import forge.deck.Deck; diff --git a/forge-gui/src/main/java/forge/limited/DeckColors.java b/forge-gui/src/main/java/forge/gamemodes/limited/DeckColors.java similarity index 98% rename from forge-gui/src/main/java/forge/limited/DeckColors.java rename to forge-gui/src/main/java/forge/gamemodes/limited/DeckColors.java index 99964e2de39..86f641093a1 100644 --- a/forge-gui/src/main/java/forge/limited/DeckColors.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/DeckColors.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import java.util.List; diff --git a/forge-gui/src/main/java/forge/limited/DraftRankCache.java b/forge-gui/src/main/java/forge/gamemodes/limited/DraftRankCache.java similarity index 96% rename from forge-gui/src/main/java/forge/limited/DraftRankCache.java rename to forge-gui/src/main/java/forge/gamemodes/limited/DraftRankCache.java index a0b958236a5..09c07ccaa05 100644 --- a/forge-gui/src/main/java/forge/limited/DraftRankCache.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/DraftRankCache.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; /** * DraftRankCache diff --git a/forge-gui/src/main/java/forge/limited/FullDeckColors.java b/forge-gui/src/main/java/forge/gamemodes/limited/FullDeckColors.java similarity index 96% rename from forge-gui/src/main/java/forge/limited/FullDeckColors.java rename to forge-gui/src/main/java/forge/gamemodes/limited/FullDeckColors.java index 62b87ae3262..93a69a26890 100644 --- a/forge-gui/src/main/java/forge/limited/FullDeckColors.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/FullDeckColors.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.card.ColorSet; import forge.card.MagicColor; diff --git a/forge-gui/src/main/java/forge/limited/GauntletMini.java b/forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java similarity index 98% rename from forge-gui/src/main/java/forge/limited/GauntletMini.java rename to forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java index 2a953e318bc..62997adef14 100644 --- a/forge-gui/src/main/java/forge/limited/GauntletMini.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import java.util.ArrayList; import java.util.List; @@ -24,7 +24,7 @@ import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; -import forge.match.HostedMatch; +import forge.gamemodes.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Aggregates; diff --git a/forge-gui/src/main/java/forge/limited/IBoosterDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/IBoosterDraft.java similarity index 97% rename from forge-gui/src/main/java/forge/limited/IBoosterDraft.java rename to forge-gui/src/main/java/forge/gamemodes/limited/IBoosterDraft.java index 3797aea5c73..d8d1514a636 100644 --- a/forge-gui/src/main/java/forge/limited/IBoosterDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/IBoosterDraft.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import forge.card.CardEdition; import forge.deck.CardPool; diff --git a/forge-gui/src/main/java/forge/limited/LimitedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckBuilder.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/LimitedDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckBuilder.java index 7f89655fb03..dcf291b248c 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import java.util.ArrayList; import java.util.HashMap; diff --git a/forge-gui/src/main/java/forge/limited/LimitedDeckEvaluator.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java similarity index 98% rename from forge-gui/src/main/java/forge/limited/LimitedDeckEvaluator.java rename to forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java index d0c45a7939e..48e8e3577e3 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedDeckEvaluator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import forge.deck.Deck; import forge.item.PaperCard; diff --git a/forge-gui/src/main/java/forge/limited/LimitedPlayer.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java similarity index 97% rename from forge-gui/src/main/java/forge/limited/LimitedPlayer.java rename to forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java index ec99c253607..f1b81871518 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedPlayer.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java @@ -1,11 +1,11 @@ -package forge.limited; +package forge.gamemodes.limited; //import com.google.common.collect.Lists; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; import forge.item.PaperCard; -//import forge.limited.powers.DraftPower; +//import forge.gamemodes.limited.powers.DraftPower; import java.util.*; diff --git a/forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java similarity index 98% rename from forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java rename to forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java index be81398d911..6e04d7e8ab3 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedPlayerAI.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.card.ColorSet; import forge.deck.CardPool; diff --git a/forge-gui/src/main/java/forge/limited/LimitedPoolType.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPoolType.java similarity index 92% rename from forge-gui/src/main/java/forge/limited/LimitedPoolType.java rename to forge-gui/src/main/java/forge/gamemodes/limited/LimitedPoolType.java index 73f92239bb6..1f4f556d0e3 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedPoolType.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPoolType.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; public enum LimitedPoolType { Full("Full Cardpool"), diff --git a/forge-gui/src/main/java/forge/limited/LimitedWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/LimitedWinLoseController.java rename to forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java index b3156fd4020..c1fbbc34f6a 100644 --- a/forge-gui/src/main/java/forge/limited/LimitedWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.game.GameView; import forge.interfaces.IButton; diff --git a/forge-gui/src/main/java/forge/limited/ReadDraftRankings.java b/forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/ReadDraftRankings.java rename to forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java index d2f485d3628..5b1cb5a748c 100644 --- a/forge-gui/src/main/java/forge/limited/ReadDraftRankings.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java b/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java rename to forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java index 20b89dbfd28..93573fdc2d8 100644 --- a/forge-gui/src/main/java/forge/limited/SealedCardPoolGenerator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.collect.Lists; import forge.StaticData; diff --git a/forge-gui/src/main/java/forge/limited/SealedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/SealedDeckBuilder.java rename to forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java index 6cde57b09b4..a62e94588e9 100644 --- a/forge-gui/src/main/java/forge/limited/SealedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.collect.Iterables; import forge.card.CardRules; diff --git a/forge-gui/src/main/java/forge/limited/ThemedChaosDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/ThemedChaosDraft.java rename to forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java index 1b207167087..1b51163ee40 100644 --- a/forge-gui/src/main/java/forge/limited/ThemedChaosDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import com.google.common.base.Function; import com.google.common.base.Predicate; diff --git a/forge-gui/src/main/java/forge/limited/WinstonDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/WinstonDraft.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/WinstonDraft.java rename to forge-gui/src/main/java/forge/gamemodes/limited/WinstonDraft.java index ff75cc5a827..0700ea17e9e 100644 --- a/forge-gui/src/main/java/forge/limited/WinstonDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/WinstonDraft.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import java.util.ArrayList; import java.util.Collections; diff --git a/forge-gui/src/main/java/forge/limited/WinstonDraftAI.java b/forge-gui/src/main/java/forge/gamemodes/limited/WinstonDraftAI.java similarity index 99% rename from forge-gui/src/main/java/forge/limited/WinstonDraftAI.java rename to forge-gui/src/main/java/forge/gamemodes/limited/WinstonDraftAI.java index edc6b7b2a87..17fc9ef7e92 100644 --- a/forge-gui/src/main/java/forge/limited/WinstonDraftAI.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/WinstonDraftAI.java @@ -1,4 +1,4 @@ -package forge.limited; +package forge.gamemodes.limited; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/package-info.java b/forge-gui/src/main/java/forge/gamemodes/limited/package-info.java new file mode 100644 index 00000000000..d34df08a98a --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/limited/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.gamemodes.limited; + diff --git a/forge-gui/src/main/java/forge/match/AbstractGuiGame.java b/forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java similarity index 99% rename from forge-gui/src/main/java/forge/match/AbstractGuiGame.java rename to forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java index 43bfc04a7ce..65837e9bee8 100644 --- a/forge-gui/src/main/java/forge/match/AbstractGuiGame.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; import java.io.Serializable; import java.util.Collection; diff --git a/forge-gui/src/main/java/forge/match/GameLobby.java b/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java similarity index 99% rename from forge-gui/src/main/java/forge/match/GameLobby.java rename to forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java index 62edfb8bb98..49bca8ce43d 100644 --- a/forge-gui/src/main/java/forge/match/GameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; import java.io.Serializable; import java.util.ArrayList; @@ -28,13 +28,13 @@ import forge.game.GameView; import forge.game.IHasGameType; import forge.game.player.Player; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; import forge.interfaces.IUpdateable; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.net.event.UpdateLobbyPlayerEvent; import forge.player.GamePlayerUtil; import forge.util.Localizer; import forge.util.NameGenerator; diff --git a/forge-gui/src/main/java/forge/match/HostedMatch.java b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java similarity index 99% rename from forge-gui/src/main/java/forge/match/HostedMatch.java rename to forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java index 6a7261cd028..278963468ae 100644 --- a/forge-gui/src/main/java/forge/match/HostedMatch.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; import java.util.Collection; import java.util.Collections; @@ -38,6 +38,7 @@ import forge.game.event.*; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.quest.QuestController; import forge.interfaces.IGuiGame; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; @@ -46,7 +47,6 @@ import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.player.LobbyPlayerHuman; import forge.player.PlayerControllerHuman; -import forge.quest.QuestController; import forge.sound.MusicPlaylist; import forge.sound.SoundSystem; import forge.trackable.TrackableCollection; diff --git a/forge-gui/src/main/java/forge/match/LobbySlot.java b/forge-gui/src/main/java/forge/gamemodes/match/LobbySlot.java similarity index 98% rename from forge-gui/src/main/java/forge/match/LobbySlot.java rename to forge-gui/src/main/java/forge/gamemodes/match/LobbySlot.java index 9a8b50160dd..a591c1c8a53 100644 --- a/forge-gui/src/main/java/forge/match/LobbySlot.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/LobbySlot.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; import java.io.Serializable; import java.util.Set; @@ -7,7 +7,7 @@ import com.google.common.collect.ImmutableSet; import forge.ai.AIOption; import forge.deck.Deck; -import forge.net.event.UpdateLobbyPlayerEvent; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; public final class LobbySlot implements Serializable { private static final long serialVersionUID = 9203252798721142264L; diff --git a/forge-gui/src/main/java/forge/match/LobbySlotType.java b/forge-gui/src/main/java/forge/gamemodes/match/LobbySlotType.java similarity index 69% rename from forge-gui/src/main/java/forge/match/LobbySlotType.java rename to forge-gui/src/main/java/forge/gamemodes/match/LobbySlotType.java index 2c8e6bce624..45359bd9de9 100644 --- a/forge-gui/src/main/java/forge/match/LobbySlotType.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/LobbySlotType.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; public enum LobbySlotType { LOCAL, diff --git a/forge-gui/src/main/java/forge/match/LocalLobby.java b/forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java similarity index 97% rename from forge-gui/src/main/java/forge/match/LocalLobby.java rename to forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java index bb8c348f6a6..868c3349dda 100644 --- a/forge-gui/src/main/java/forge/match/LocalLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; import java.util.Collections; diff --git a/forge-gui/src/main/java/forge/match/NextGameDecision.java b/forge-gui/src/main/java/forge/gamemodes/match/NextGameDecision.java similarity index 68% rename from forge-gui/src/main/java/forge/match/NextGameDecision.java rename to forge-gui/src/main/java/forge/gamemodes/match/NextGameDecision.java index 52cf84d9b0d..e84b11068ab 100644 --- a/forge-gui/src/main/java/forge/match/NextGameDecision.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/NextGameDecision.java @@ -1,4 +1,4 @@ -package forge.match; +package forge.gamemodes.match; public enum NextGameDecision { NEW, diff --git a/forge-gui/src/main/java/forge/match/input/Input.java b/forge-gui/src/main/java/forge/gamemodes/match/input/Input.java similarity index 94% rename from forge-gui/src/main/java/forge/match/input/Input.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/Input.java index 18da144683a..2d9624828f6 100644 --- a/forge-gui/src/main/java/forge/match/input/Input.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/Input.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.List; diff --git a/forge-gui/src/main/java/forge/match/input/InputAttack.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputAttack.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java index 17e9e78f310..8c896fa1583 100644 --- a/forge-gui/src/main/java/forge/match/input/InputAttack.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import com.google.common.collect.Sets; import forge.events.UiEventAttackerDeclared; diff --git a/forge-gui/src/main/java/forge/match/input/InputBase.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputBase.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java index dc688b7d533..d69b681c895 100644 --- a/forge-gui/src/main/java/forge/match/input/InputBase.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.List; diff --git a/forge-gui/src/main/java/forge/match/input/InputBlock.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputBlock.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java index aaf64e05194..06a66e91a94 100644 --- a/forge-gui/src/main/java/forge/match/input/InputBlock.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import forge.FThreads; import forge.events.UiEventBlockerAssigned; diff --git a/forge-gui/src/main/java/forge/match/input/InputConfirm.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputConfirm.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java index cea8f93683c..4b8d0a8f055 100644 --- a/forge-gui/src/main/java/forge/match/input/InputConfirm.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.List; diff --git a/forge-gui/src/main/java/forge/match/input/InputConfirmMulligan.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputConfirmMulligan.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java index e9ed8371e0b..d64ced39605 100644 --- a/forge-gui/src/main/java/forge/match/input/InputConfirmMulligan.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.List; import forge.game.Game; diff --git a/forge-gui/src/main/java/forge/match/input/InputLockUI.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java similarity index 98% rename from forge-gui/src/main/java/forge/match/input/InputLockUI.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java index 76a13d6eb93..4dc68e07feb 100644 --- a/forge-gui/src/main/java/forge/match/input/InputLockUI.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; diff --git a/forge-gui/src/main/java/forge/match/input/InputLondonMulligan.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputLondonMulligan.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java index 4cfdb546e99..e00c3ac4f7f 100644 --- a/forge-gui/src/main/java/forge/match/input/InputLondonMulligan.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.List; import forge.game.Game; diff --git a/forge-gui/src/main/java/forge/match/input/InputPassPriority.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputPassPriority.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java index 1dc10eaebdb..e03303b52c7 100644 --- a/forge-gui/src/main/java/forge/match/input/InputPassPriority.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/match/input/InputPayMana.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputPayMana.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java index 88178afd1e9..a4422d40eae 100644 --- a/forge-gui/src/main/java/forge/match/input/InputPayMana.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.*; diff --git a/forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java index fb3c521ae87..bfd01a6a547 100644 --- a/forge-gui/src/main/java/forge/match/input/InputPayManaOfCostPayment.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import forge.card.mana.ManaAtom; import forge.card.mana.ManaCostShard; diff --git a/forge-gui/src/main/java/forge/match/input/InputPlaybackControl.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java similarity index 98% rename from forge-gui/src/main/java/forge/match/input/InputPlaybackControl.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java index fd01edfe5bf..9eebdf6e7bc 100644 --- a/forge-gui/src/main/java/forge/match/input/InputPlaybackControl.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import forge.control.FControlGamePlayback; import forge.game.Game; diff --git a/forge-gui/src/main/java/forge/match/input/InputProxy.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputProxy.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java index 4d6047fbd06..139be85d511 100644 --- a/forge-gui/src/main/java/forge/match/input/InputProxy.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/match/input/InputQueue.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java similarity index 98% rename from forge-gui/src/main/java/forge/match/input/InputQueue.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java index 1e5a5e90f74..62678cd93ee 100644 --- a/forge-gui/src/main/java/forge/match/input/InputQueue.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.Observable; import java.util.concurrent.BlockingDeque; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java index 1a52a9a421c..97e81872107 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectCardsForConvokeOrImprovise.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.Collection; import java.util.HashMap; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectCardsFromList.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsFromList.java similarity index 96% rename from forge-gui/src/main/java/forge/match/input/InputSelectCardsFromList.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsFromList.java index ad227c07c09..f96bc8730eb 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectCardsFromList.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsFromList.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import forge.game.card.Card; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectEntitiesFromList.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputSelectEntitiesFromList.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java index ab34c9f6abd..021c92c668c 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectEntitiesFromList.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import forge.FThreads; import forge.game.GameEntity; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java index 68101b1a8c0..88523e2cc14 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectManyBase.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.Collection; diff --git a/forge-gui/src/main/java/forge/match/input/InputSelectTargets.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java similarity index 99% rename from forge-gui/src/main/java/forge/match/input/InputSelectTargets.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java index 47521326548..761f3ac4eb7 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSelectTargets.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; diff --git a/forge-gui/src/main/java/forge/match/input/InputSynchronized.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSynchronized.java similarity index 76% rename from forge-gui/src/main/java/forge/match/input/InputSynchronized.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSynchronized.java index 47ac50f4bbd..1ac700fd1e3 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSynchronized.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSynchronized.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; public interface InputSynchronized extends Input { void awaitLatchRelease(); diff --git a/forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java similarity index 97% rename from forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java rename to forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java index d027873194b..1a46abe15cb 100644 --- a/forge-gui/src/main/java/forge/match/input/InputSyncronizedBase.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java @@ -1,4 +1,4 @@ -package forge.match.input; +package forge.gamemodes.match.input; import java.util.concurrent.CountDownLatch; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/package-info.java b/forge-gui/src/main/java/forge/gamemodes/match/input/package-info.java new file mode 100644 index 00000000000..6040accdf31 --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.gamemodes.match.input; + diff --git a/forge-gui/src/main/java/forge/net/CObjectInputStream.java b/forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java similarity index 98% rename from forge-gui/src/main/java/forge/net/CObjectInputStream.java rename to forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java index 347879e6570..ac3a68ad5c4 100644 --- a/forge-gui/src/main/java/forge/net/CObjectInputStream.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import io.netty.handler.codec.serialization.ClassResolver; diff --git a/forge-gui/src/main/java/forge/net/CObjectOutputStream.java b/forge-gui/src/main/java/forge/gamemodes/net/CObjectOutputStream.java similarity index 95% rename from forge-gui/src/main/java/forge/net/CObjectOutputStream.java rename to forge-gui/src/main/java/forge/gamemodes/net/CObjectOutputStream.java index e0c408aa923..a37025ab7db 100644 --- a/forge-gui/src/main/java/forge/net/CObjectOutputStream.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CObjectOutputStream.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import java.io.IOException; import java.io.ObjectOutputStream; diff --git a/forge-gui/src/main/java/forge/net/ChatMessage.java b/forge-gui/src/main/java/forge/gamemodes/net/ChatMessage.java similarity index 97% rename from forge-gui/src/main/java/forge/net/ChatMessage.java rename to forge-gui/src/main/java/forge/gamemodes/net/ChatMessage.java index 4f140cf5fe3..7212ee1c9c8 100644 --- a/forge-gui/src/main/java/forge/net/ChatMessage.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/ChatMessage.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import java.text.SimpleDateFormat; import java.util.Date; diff --git a/forge-gui/src/main/java/forge/net/CompatibleObjectDecoder.java b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java similarity index 98% rename from forge-gui/src/main/java/forge/net/CompatibleObjectDecoder.java rename to forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java index c288eace00b..4110f9d1486 100644 --- a/forge-gui/src/main/java/forge/net/CompatibleObjectDecoder.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import forge.GuiBase; import io.netty.buffer.ByteBuf; diff --git a/forge-gui/src/main/java/forge/net/CompatibleObjectEncoder.java b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java similarity index 97% rename from forge-gui/src/main/java/forge/net/CompatibleObjectEncoder.java rename to forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java index 59709288d41..9cf17f0b1b8 100644 --- a/forge-gui/src/main/java/forge/net/CompatibleObjectEncoder.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import forge.GuiBase; import io.netty.buffer.ByteBuf; diff --git a/forge-gui/src/main/java/forge/net/GameProtocolHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java similarity index 97% rename from forge-gui/src/main/java/forge/net/GameProtocolHandler.java rename to forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java index 727e8c37400..59179d1e12b 100644 --- a/forge-gui/src/main/java/forge/net/GameProtocolHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java @@ -1,9 +1,9 @@ -package forge.net; +package forge.gamemodes.net; import forge.FThreads; +import forge.gamemodes.net.event.GuiGameEvent; +import forge.gamemodes.net.event.ReplyEvent; import forge.localinstance.assets.FSkinProp; -import forge.net.event.GuiGameEvent; -import forge.net.event.ReplyEvent; import forge.util.gui.SOptionPane; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; diff --git a/forge-gui/src/main/java/forge/net/GameProtocolSender.java b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolSender.java similarity index 91% rename from forge-gui/src/main/java/forge/net/GameProtocolSender.java rename to forge-gui/src/main/java/forge/gamemodes/net/GameProtocolSender.java index c692ebcb5c8..dcdf8944c61 100644 --- a/forge-gui/src/main/java/forge/net/GameProtocolSender.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolSender.java @@ -1,8 +1,8 @@ -package forge.net; +package forge.gamemodes.net; import java.util.concurrent.TimeoutException; -import forge.net.event.GuiGameEvent; +import forge.gamemodes.net.event.GuiGameEvent; public final class GameProtocolSender { diff --git a/forge-gui/src/main/java/forge/net/IOnlineChatInterface.java b/forge-gui/src/main/java/forge/gamemodes/net/IOnlineChatInterface.java similarity index 81% rename from forge-gui/src/main/java/forge/net/IOnlineChatInterface.java rename to forge-gui/src/main/java/forge/gamemodes/net/IOnlineChatInterface.java index dc130a6c889..548e6e7b084 100644 --- a/forge-gui/src/main/java/forge/net/IOnlineChatInterface.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/IOnlineChatInterface.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; public interface IOnlineChatInterface { void setGameClient(IRemote iRemote); diff --git a/forge-gui/src/main/java/forge/net/IOnlineLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java similarity index 61% rename from forge-gui/src/main/java/forge/net/IOnlineLobby.java rename to forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java index be7a2bcefd9..26637b2fd48 100644 --- a/forge-gui/src/main/java/forge/net/IOnlineLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java @@ -1,8 +1,8 @@ -package forge.net; +package forge.gamemodes.net; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.net.client.FGameClient; import forge.interfaces.ILobbyView; -import forge.match.GameLobby; -import forge.net.client.FGameClient; public interface IOnlineLobby { ILobbyView setLobby(GameLobby lobby); diff --git a/forge-gui/src/main/java/forge/net/IRemote.java b/forge-gui/src/main/java/forge/gamemodes/net/IRemote.java similarity index 59% rename from forge-gui/src/main/java/forge/net/IRemote.java rename to forge-gui/src/main/java/forge/gamemodes/net/IRemote.java index ffc14b01ce2..1a0d787de5a 100644 --- a/forge-gui/src/main/java/forge/net/IRemote.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/IRemote.java @@ -1,9 +1,9 @@ -package forge.net; +package forge.gamemodes.net; import java.util.concurrent.TimeoutException; -import forge.net.event.IdentifiableNetEvent; -import forge.net.event.NetEvent; +import forge.gamemodes.net.event.IdentifiableNetEvent; +import forge.gamemodes.net.event.NetEvent; public interface IRemote { void send(NetEvent event); diff --git a/forge-gui/src/main/java/forge/net/NetConnectUtil.java b/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java similarity index 93% rename from forge-gui/src/main/java/forge/net/NetConnectUtil.java rename to forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java index 4e1a309a5f7..d2c0c2bc3e9 100644 --- a/forge-gui/src/main/java/forge/net/NetConnectUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java @@ -1,10 +1,18 @@ -package forge.net; - -import forge.match.LobbySlotType; +package forge.gamemodes.net; import org.apache.commons.lang3.StringUtils; import forge.GuiBase; +import forge.gamemodes.match.LobbySlotType; +import forge.gamemodes.match.GameLobby.GameLobbyData; +import forge.gamemodes.net.client.ClientGameLobby; +import forge.gamemodes.net.client.FGameClient; +import forge.gamemodes.net.event.IdentifiableNetEvent; +import forge.gamemodes.net.event.MessageEvent; +import forge.gamemodes.net.event.NetEvent; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; +import forge.gamemodes.net.server.FServerManager; +import forge.gamemodes.net.server.ServerGameLobby; import forge.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; import forge.interfaces.ILobbyView; @@ -13,16 +21,7 @@ import forge.interfaces.IUpdateable; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgeProfileProperties; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.GameLobby.GameLobbyData; import forge.model.FModel; -import forge.net.client.ClientGameLobby; -import forge.net.client.FGameClient; -import forge.net.event.IdentifiableNetEvent; -import forge.net.event.MessageEvent; -import forge.net.event.NetEvent; -import forge.net.event.UpdateLobbyPlayerEvent; -import forge.net.server.FServerManager; -import forge.net.server.ServerGameLobby; import forge.player.GamePlayerUtil; import forge.util.gui.SOptionPane; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/net/OfflineLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java similarity index 89% rename from forge-gui/src/main/java/forge/net/OfflineLobby.java rename to forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java index 392c8a880ca..ad21bbb8cd8 100644 --- a/forge-gui/src/main/java/forge/net/OfflineLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java @@ -1,11 +1,11 @@ -package forge.net; +package forge.gamemodes.net; import java.util.Collections; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; import forge.interfaces.IGuiGame; -import forge.match.GameLobby; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; //Temporary lobby instance to use for OnlineLobby before connecting to a server public final class OfflineLobby extends GameLobby { diff --git a/forge-gui/src/main/java/forge/net/ProtocolMethod.java b/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java similarity index 99% rename from forge-gui/src/main/java/forge/net/ProtocolMethod.java rename to forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java index fe7f697de6d..e7b2c622bc2 100644 --- a/forge-gui/src/main/java/forge/net/ProtocolMethod.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import com.google.common.base.Function; import forge.GuiBase; @@ -10,10 +10,10 @@ import forge.game.phase.PhaseType; import forge.game.player.DelayedReveal; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; +import forge.gamemodes.match.NextGameDecision; import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; import forge.localinstance.assets.FSkinProp; -import forge.match.NextGameDecision; import forge.player.PlayerZoneUpdates; import forge.trackable.TrackableCollection; import forge.util.ITriggerEvent; diff --git a/forge-gui/src/main/java/forge/net/ReplyPool.java b/forge-gui/src/main/java/forge/gamemodes/net/ReplyPool.java similarity index 98% rename from forge-gui/src/main/java/forge/net/ReplyPool.java rename to forge-gui/src/main/java/forge/gamemodes/net/ReplyPool.java index ce1431b6002..cdfb6ef9df3 100644 --- a/forge-gui/src/main/java/forge/net/ReplyPool.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/ReplyPool.java @@ -1,4 +1,4 @@ -package forge.net; +package forge.gamemodes.net; import java.util.Map; import java.util.concurrent.Callable; diff --git a/forge-gui/src/main/java/forge/net/client/ClientGameLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java similarity index 90% rename from forge-gui/src/main/java/forge/net/client/ClientGameLobby.java rename to forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java index 87d5da06413..a5cbce01ce1 100644 --- a/forge-gui/src/main/java/forge/net/client/ClientGameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java @@ -1,7 +1,7 @@ -package forge.net.client; +package forge.gamemodes.net.client; +import forge.gamemodes.match.GameLobby; import forge.interfaces.IGuiGame; -import forge.match.GameLobby; public final class ClientGameLobby extends GameLobby { private int localPlayer = -1; diff --git a/forge-gui/src/main/java/forge/net/client/FGameClient.java b/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java similarity index 93% rename from forge-gui/src/main/java/forge/net/client/FGameClient.java rename to forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java index 75547b95677..074ebe318be 100644 --- a/forge-gui/src/main/java/forge/net/client/FGameClient.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java @@ -1,7 +1,5 @@ -package forge.net.client; +package forge.gamemodes.net.client; -import forge.net.CompatibleObjectDecoder; -import forge.net.CompatibleObjectEncoder; import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; @@ -21,13 +19,15 @@ import java.util.concurrent.TimeoutException; import com.google.common.collect.Lists; import forge.game.player.PlayerView; +import forge.gamemodes.net.CompatibleObjectDecoder; +import forge.gamemodes.net.CompatibleObjectEncoder; +import forge.gamemodes.net.ReplyPool; +import forge.gamemodes.net.event.IdentifiableNetEvent; +import forge.gamemodes.net.event.LobbyUpdateEvent; +import forge.gamemodes.net.event.MessageEvent; +import forge.gamemodes.net.event.NetEvent; import forge.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; -import forge.net.ReplyPool; -import forge.net.event.IdentifiableNetEvent; -import forge.net.event.LobbyUpdateEvent; -import forge.net.event.MessageEvent; -import forge.net.event.NetEvent; public class FGameClient implements IToServer { diff --git a/forge-gui/src/main/java/forge/net/client/GameClientHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java similarity index 97% rename from forge-gui/src/main/java/forge/net/client/GameClientHandler.java rename to forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java index f93ef631051..db52bbcddbc 100644 --- a/forge-gui/src/main/java/forge/net/client/GameClientHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java @@ -1,12 +1,17 @@ -package forge.net.client; +package forge.gamemodes.net.client; import com.google.common.collect.Lists; import forge.LobbyPlayer; import forge.game.*; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.net.GameProtocolHandler; +import forge.gamemodes.net.IRemote; +import forge.gamemodes.net.ProtocolMethod; +import forge.gamemodes.net.ReplyPool; +import forge.gamemodes.net.event.LoginEvent; import forge.interfaces.ILobbyListener; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.LobbySlot; import forge.player.LobbyPlayerHuman; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; @@ -17,11 +22,6 @@ import io.netty.channel.ChannelHandlerContext; import forge.game.player.PlayerView; import forge.interfaces.IGuiGame; import forge.model.FModel; -import forge.net.GameProtocolHandler; -import forge.net.IRemote; -import forge.net.ProtocolMethod; -import forge.net.ReplyPool; -import forge.net.event.LoginEvent; import forge.trackable.TrackableCollection; import java.util.*; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/IToServer.java b/forge-gui/src/main/java/forge/gamemodes/net/client/IToServer.java new file mode 100644 index 00000000000..bef7652d148 --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/IToServer.java @@ -0,0 +1,6 @@ +package forge.gamemodes.net.client; + +import forge.gamemodes.net.IRemote; + +public interface IToServer extends IRemote { +} diff --git a/forge-gui/src/main/java/forge/net/client/NetGameController.java b/forge-gui/src/main/java/forge/gamemodes/net/client/NetGameController.java similarity index 95% rename from forge-gui/src/main/java/forge/net/client/NetGameController.java rename to forge-gui/src/main/java/forge/gamemodes/net/client/NetGameController.java index 85fe12feed5..5123c058e6f 100644 --- a/forge-gui/src/main/java/forge/net/client/NetGameController.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/NetGameController.java @@ -1,16 +1,16 @@ -package forge.net.client; +package forge.gamemodes.net.client; import java.util.List; import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; +import forge.gamemodes.match.NextGameDecision; +import forge.gamemodes.net.GameProtocolSender; +import forge.gamemodes.net.ProtocolMethod; import forge.interfaces.IDevModeCheats; import forge.interfaces.IGameController; import forge.interfaces.IMacroSystem; -import forge.match.NextGameDecision; -import forge.net.GameProtocolSender; -import forge.net.ProtocolMethod; import forge.util.ITriggerEvent; public class NetGameController implements IGameController { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/package-info.java b/forge-gui/src/main/java/forge/gamemodes/net/client/package-info.java new file mode 100644 index 00000000000..6bb306298e0 --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/package-info.java @@ -0,0 +1 @@ +package forge.gamemodes.net.client; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/net/event/GuiGameEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/GuiGameEvent.java similarity index 87% rename from forge-gui/src/main/java/forge/net/event/GuiGameEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/GuiGameEvent.java index 20e9b9dfb2e..5ff72ab51d9 100644 --- a/forge-gui/src/main/java/forge/net/event/GuiGameEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/GuiGameEvent.java @@ -1,7 +1,7 @@ -package forge.net.event; +package forge.gamemodes.net.event; -import forge.net.ProtocolMethod; -import forge.net.server.RemoteClient; +import forge.gamemodes.net.ProtocolMethod; +import forge.gamemodes.net.server.RemoteClient; public final class GuiGameEvent implements IdentifiableNetEvent { private static final long serialVersionUID = 6223690008522514574L; diff --git a/forge-gui/src/main/java/forge/net/event/IdentifiableNetEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/IdentifiableNetEvent.java similarity index 75% rename from forge-gui/src/main/java/forge/net/event/IdentifiableNetEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/IdentifiableNetEvent.java index a6df6ad10b0..5adcc0cdb24 100644 --- a/forge-gui/src/main/java/forge/net/event/IdentifiableNetEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/IdentifiableNetEvent.java @@ -1,4 +1,4 @@ -package forge.net.event; +package forge.gamemodes.net.event; import forge.game.IIdentifiable; diff --git a/forge-gui/src/main/java/forge/net/event/LobbyUpdateEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/LobbyUpdateEvent.java similarity index 79% rename from forge-gui/src/main/java/forge/net/event/LobbyUpdateEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/LobbyUpdateEvent.java index bd2ae2a38a1..f3e3779148d 100644 --- a/forge-gui/src/main/java/forge/net/event/LobbyUpdateEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/LobbyUpdateEvent.java @@ -1,7 +1,7 @@ -package forge.net.event; +package forge.gamemodes.net.event; -import forge.match.GameLobby.GameLobbyData; -import forge.net.server.RemoteClient; +import forge.gamemodes.match.GameLobby.GameLobbyData; +import forge.gamemodes.net.server.RemoteClient; public class LobbyUpdateEvent implements NetEvent { private static final long serialVersionUID = 7114918637727047985L; diff --git a/forge-gui/src/main/java/forge/net/event/LoginEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/LoginEvent.java similarity index 89% rename from forge-gui/src/main/java/forge/net/event/LoginEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/LoginEvent.java index 170750751a9..9a2fc6dcee3 100644 --- a/forge-gui/src/main/java/forge/net/event/LoginEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/LoginEvent.java @@ -1,6 +1,6 @@ -package forge.net.event; +package forge.gamemodes.net.event; -import forge.net.server.RemoteClient; +import forge.gamemodes.net.server.RemoteClient; public class LoginEvent implements NetEvent { private static final long serialVersionUID = -8865183377417377938L; diff --git a/forge-gui/src/main/java/forge/net/event/LogoutEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/LogoutEvent.java similarity index 82% rename from forge-gui/src/main/java/forge/net/event/LogoutEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/LogoutEvent.java index e10fc3a95f7..658f2a4eee1 100644 --- a/forge-gui/src/main/java/forge/net/event/LogoutEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/LogoutEvent.java @@ -1,6 +1,6 @@ -package forge.net.event; +package forge.gamemodes.net.event; -import forge.net.server.RemoteClient; +import forge.gamemodes.net.server.RemoteClient; public class LogoutEvent implements NetEvent { private static final long serialVersionUID = -8262613254026625787L; diff --git a/forge-gui/src/main/java/forge/net/event/MessageEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/MessageEvent.java similarity index 89% rename from forge-gui/src/main/java/forge/net/event/MessageEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/MessageEvent.java index 7ccfe9f2e25..b7660da9c71 100644 --- a/forge-gui/src/main/java/forge/net/event/MessageEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/MessageEvent.java @@ -1,6 +1,6 @@ -package forge.net.event; +package forge.gamemodes.net.event; -import forge.net.server.RemoteClient; +import forge.gamemodes.net.server.RemoteClient; public final class MessageEvent implements NetEvent { private static final long serialVersionUID = 1700060210647684186L; diff --git a/forge-gui/src/main/java/forge/net/event/NetEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/NetEvent.java similarity index 61% rename from forge-gui/src/main/java/forge/net/event/NetEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/NetEvent.java index 728faf03b96..a5fe571c6f3 100644 --- a/forge-gui/src/main/java/forge/net/event/NetEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/NetEvent.java @@ -1,8 +1,8 @@ -package forge.net.event; +package forge.gamemodes.net.event; import java.io.Serializable; -import forge.net.server.RemoteClient; +import forge.gamemodes.net.server.RemoteClient; public interface NetEvent extends Serializable { void updateForClient(RemoteClient client); diff --git a/forge-gui/src/main/java/forge/net/event/ReplyEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/ReplyEvent.java similarity index 88% rename from forge-gui/src/main/java/forge/net/event/ReplyEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/ReplyEvent.java index 7114536bc0e..6e10c7f3683 100644 --- a/forge-gui/src/main/java/forge/net/event/ReplyEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/ReplyEvent.java @@ -1,8 +1,8 @@ -package forge.net.event; +package forge.gamemodes.net.event; import java.io.Serializable; -import forge.net.server.RemoteClient; +import forge.gamemodes.net.server.RemoteClient; public final class ReplyEvent implements NetEvent { private static final long serialVersionUID = -2814651319617795386L; diff --git a/forge-gui/src/main/java/forge/net/event/UpdateLobbyPlayerEvent.java b/forge-gui/src/main/java/forge/gamemodes/net/event/UpdateLobbyPlayerEvent.java similarity index 98% rename from forge-gui/src/main/java/forge/net/event/UpdateLobbyPlayerEvent.java rename to forge-gui/src/main/java/forge/gamemodes/net/event/UpdateLobbyPlayerEvent.java index 1c8bdfe7232..cf287999deb 100644 --- a/forge-gui/src/main/java/forge/net/event/UpdateLobbyPlayerEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/UpdateLobbyPlayerEvent.java @@ -1,4 +1,4 @@ -package forge.net.event; +package forge.gamemodes.net.event; import java.util.Collections; import java.util.Set; @@ -7,8 +7,8 @@ import forge.ai.AIOption; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; -import forge.match.LobbySlotType; -import forge.net.server.RemoteClient; +import forge.gamemodes.match.LobbySlotType; +import forge.gamemodes.net.server.RemoteClient; public final class UpdateLobbyPlayerEvent implements NetEvent { private static final long serialVersionUID = -7354695008599789571L; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/event/package-info.java b/forge-gui/src/main/java/forge/gamemodes/net/event/package-info.java new file mode 100644 index 00000000000..7e325db4627 --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/net/event/package-info.java @@ -0,0 +1 @@ +package forge.gamemodes.net.event; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/gamemodes/net/package-info.java b/forge-gui/src/main/java/forge/gamemodes/net/package-info.java new file mode 100644 index 00000000000..ed6db7a8506 --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/net/package-info.java @@ -0,0 +1 @@ +package forge.gamemodes.net; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/net/server/FServerManager.java b/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java similarity index 96% rename from forge-gui/src/main/java/forge/net/server/FServerManager.java rename to forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java index 8e4942ce6b4..e3c59cf040c 100644 --- a/forge-gui/src/main/java/forge/net/server/FServerManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java @@ -1,19 +1,19 @@ -package forge.net.server; +package forge.gamemodes.net.server; import forge.GuiBase; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; +import forge.gamemodes.net.CompatibleObjectDecoder; +import forge.gamemodes.net.CompatibleObjectEncoder; +import forge.gamemodes.net.event.LobbyUpdateEvent; +import forge.gamemodes.net.event.LoginEvent; +import forge.gamemodes.net.event.LogoutEvent; +import forge.gamemodes.net.event.MessageEvent; +import forge.gamemodes.net.event.NetEvent; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; -import forge.net.CompatibleObjectDecoder; -import forge.net.CompatibleObjectEncoder; -import forge.net.event.LobbyUpdateEvent; -import forge.net.event.LoginEvent; -import forge.net.event.LogoutEvent; -import forge.net.event.MessageEvent; -import forge.net.event.NetEvent; -import forge.net.event.UpdateLobbyPlayerEvent; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; diff --git a/forge-gui/src/main/java/forge/net/server/GameServerHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java similarity index 83% rename from forge-gui/src/main/java/forge/net/server/GameServerHandler.java rename to forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java index fc1fabd1d89..d5d5a023dc3 100644 --- a/forge-gui/src/main/java/forge/net/server/GameServerHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java @@ -1,11 +1,11 @@ -package forge.net.server; +package forge.gamemodes.net.server; import io.netty.channel.ChannelHandlerContext; +import forge.gamemodes.net.GameProtocolHandler; +import forge.gamemodes.net.IRemote; +import forge.gamemodes.net.ProtocolMethod; +import forge.gamemodes.net.ReplyPool; import forge.interfaces.IGameController; -import forge.net.GameProtocolHandler; -import forge.net.IRemote; -import forge.net.ProtocolMethod; -import forge.net.ReplyPool; final class GameServerHandler extends GameProtocolHandler { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/IToClient.java b/forge-gui/src/main/java/forge/gamemodes/net/server/IToClient.java new file mode 100644 index 00000000000..a2e0b4ba7df --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/IToClient.java @@ -0,0 +1,6 @@ +package forge.gamemodes.net.server; + +import forge.gamemodes.net.IRemote; + +public interface IToClient extends IRemote { +} diff --git a/forge-gui/src/main/java/forge/net/server/NetGuiGame.java b/forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java similarity index 98% rename from forge-gui/src/main/java/forge/net/server/NetGuiGame.java rename to forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java index 91f71ab42f5..e0508bad59f 100644 --- a/forge-gui/src/main/java/forge/net/server/NetGuiGame.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java @@ -1,4 +1,4 @@ -package forge.net.server; +package forge.gamemodes.net.server; import com.google.common.base.Function; import forge.LobbyPlayer; @@ -12,11 +12,11 @@ import forge.game.player.IHasIcon; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; +import forge.gamemodes.match.AbstractGuiGame; +import forge.gamemodes.net.GameProtocolSender; +import forge.gamemodes.net.ProtocolMethod; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; -import forge.match.AbstractGuiGame; -import forge.net.GameProtocolSender; -import forge.net.ProtocolMethod; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; import forge.trackable.TrackableCollection; diff --git a/forge-gui/src/main/java/forge/net/server/RemoteClient.java b/forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java similarity index 87% rename from forge-gui/src/main/java/forge/net/server/RemoteClient.java rename to forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java index 9d48719919d..9130145167e 100644 --- a/forge-gui/src/main/java/forge/net/server/RemoteClient.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java @@ -1,12 +1,13 @@ -package forge.net.server; +package forge.gamemodes.net.server; -import forge.net.ReplyPool; -import forge.net.event.IdentifiableNetEvent; -import forge.net.event.NetEvent; import io.netty.channel.Channel; import java.util.concurrent.TimeoutException; +import forge.gamemodes.net.ReplyPool; +import forge.gamemodes.net.event.IdentifiableNetEvent; +import forge.gamemodes.net.event.NetEvent; + public final class RemoteClient implements IToClient { private final Channel channel; diff --git a/forge-gui/src/main/java/forge/net/server/ServerGameLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java similarity index 93% rename from forge-gui/src/main/java/forge/net/server/ServerGameLobby.java rename to forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java index 255ad807c63..3ee3916608e 100644 --- a/forge-gui/src/main/java/forge/net/server/ServerGameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java @@ -1,13 +1,13 @@ -package forge.net.server; +package forge.gamemodes.net.server; import java.util.Collections; import org.apache.commons.lang3.StringUtils; +import forge.gamemodes.match.GameLobby; +import forge.gamemodes.match.LobbySlot; +import forge.gamemodes.match.LobbySlotType; import forge.interfaces.IGuiGame; -import forge.match.GameLobby; -import forge.match.LobbySlot; -import forge.match.LobbySlotType; public final class ServerGameLobby extends GameLobby { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/package-info.java b/forge-gui/src/main/java/forge/gamemodes/net/server/package-info.java new file mode 100644 index 00000000000..99e4ae37e76 --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/package-info.java @@ -0,0 +1 @@ +package forge.gamemodes.net.server; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java similarity index 95% rename from forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java index 077981baee7..6e02090c079 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java similarity index 98% rename from forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java index 6953bc4e872..8fb89403ae4 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestBattle.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.util.Set; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java similarity index 94% rename from forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java index ae99050a606..694984777bc 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestChaosBattle.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.io.File; import java.util.EnumSet; @@ -8,17 +8,17 @@ import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameType; import forge.game.GameView; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.quest.QuestEventDifficulty; +import forge.gamemodes.quest.QuestEventDuel; +import forge.gamemodes.quest.QuestEventDuelManager; +import forge.gamemodes.quest.QuestWorld; import forge.interfaces.IButton; import forge.interfaces.IGuiGame; import forge.interfaces.IWinLoseView; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.planarconquest.ConquestPreferences.CQPref; -import forge.quest.QuestEventDifficulty; -import forge.quest.QuestEventDuel; -import forge.quest.QuestEventDuelManager; -import forge.quest.QuestWorld; import forge.util.Aggregates; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestCommander.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestCommander.java similarity index 98% rename from forge-gui/src/main/java/forge/planarconquest/ConquestCommander.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestCommander.java index 6bff8b41e60..8240fbe3ff6 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestCommander.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestCommander.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import com.google.common.base.Predicate; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestController.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java similarity index 98% rename from forge-gui/src/main/java/forge/planarconquest/ConquestController.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java index 035aba2cb6b..2d164da59ae 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestController.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.io.File; import java.util.ArrayList; @@ -34,18 +34,18 @@ import forge.game.GameRules; import forge.game.GameType; import forge.game.GameView; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.quest.BoosterUtils; import forge.interfaces.IButton; import forge.interfaces.IGuiGame; import forge.interfaces.IWinLoseView; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; -import forge.planarconquest.ConquestPreferences.CQPref; import forge.player.GamePlayerUtil; import forge.player.LobbyPlayerHuman; -import forge.quest.BoosterUtils; import forge.util.Aggregates; import forge.util.FileUtil; import forge.util.storage.IStorage; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestData.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java similarity index 99% rename from forge-gui/src/main/java/forge/planarconquest/ConquestData.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java index 039037f3c13..bf3923020db 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java @@ -15,11 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import com.google.common.base.Function; import forge.card.CardDb; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; @@ -29,7 +30,6 @@ import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.localinstance.assets.ISkinImage; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.planarconquest.ConquestPreferences.CQPref; import forge.util.FileUtil; import forge.util.XmlReader; import forge.util.XmlWriter; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestDeckMap.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java similarity index 96% rename from forge-gui/src/main/java/forge/planarconquest/ConquestDeckMap.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java index 6671331029d..9404a939734 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestDeckMap.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import forge.deck.Deck; import forge.util.storage.StorageBase; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java similarity index 99% rename from forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java index 133cf6d67e9..55b0fc09fe6 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.io.File; import java.util.EnumSet; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestLocation.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java similarity index 98% rename from forge-gui/src/main/java/forge/planarconquest/ConquestLocation.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java index a73053cf441..f4e281540af 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestLocation.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPlane.java similarity index 99% rename from forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPlane.java index 2022cab112a..033633c39a2 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPlane.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPlane.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.util.Collections; import java.util.EnumSet; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPlaneData.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPlaneData.java similarity index 96% rename from forge-gui/src/main/java/forge/planarconquest/ConquestPlaneData.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPlaneData.java index 744a1cb8011..7b3a1990c03 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPlaneData.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPlaneData.java @@ -1,8 +1,8 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; +import forge.gamemodes.planarconquest.ConquestEvent.ConquestEventRecord; import forge.item.PaperCard; import forge.model.FModel; -import forge.planarconquest.ConquestEvent.ConquestEventRecord; import forge.util.XmlReader; import forge.util.XmlWriter; import forge.util.XmlWriter.IXmlWritable; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPreferences.java similarity index 98% rename from forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPreferences.java index 9bec3994f99..ba0085c884e 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestPreferences.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestPreferences.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.io.Serializable; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestRecord.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRecord.java similarity index 94% rename from forge-gui/src/main/java/forge/planarconquest/ConquestRecord.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRecord.java index 6f00f64bf31..8122c9e946e 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestRecord.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRecord.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import forge.util.XmlReader; import forge.util.XmlWriter; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java similarity index 99% rename from forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java index f413a4dc4b8..b38d08cbed8 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestRegion.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import java.util.ArrayList; import java.util.HashSet; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestReward.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestReward.java similarity index 92% rename from forge-gui/src/main/java/forge/planarconquest/ConquestReward.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestReward.java index bc1351b03d0..54e205e6b9d 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestReward.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestReward.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import forge.item.PaperCard; diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java similarity index 99% rename from forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java index e06c8d24ac9..9178010506e 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -14,13 +14,13 @@ import forge.deck.Deck; import forge.deck.DeckFormat; import forge.deck.DeckSection; import forge.deck.generation.*; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.quest.QuestUtil; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.IHasSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.planarconquest.ConquestPreferences.CQPref; -import forge.quest.QuestUtil; import forge.util.FileUtil; import forge.util.Localizer; import forge.util.MyRandom; diff --git a/forge-gui/src/main/java/forge/planarconquest/IVConquestStats.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java similarity index 89% rename from forge-gui/src/main/java/forge/planarconquest/IVConquestStats.java rename to forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java index 2ecb628c09c..3034a8c5984 100644 --- a/forge-gui/src/main/java/forge/planarconquest/IVConquestStats.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java @@ -1,4 +1,4 @@ -package forge.planarconquest; +package forge.gamemodes.planarconquest; import forge.interfaces.IButton; diff --git a/forge-gui/src/main/java/forge/puzzle/Puzzle.java b/forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java similarity index 99% rename from forge-gui/src/main/java/forge/puzzle/Puzzle.java rename to forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java index 007fb690d6c..11b424a4671 100644 --- a/forge-gui/src/main/java/forge/puzzle/Puzzle.java +++ b/forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java @@ -1,4 +1,4 @@ -package forge.puzzle; +package forge.gamemodes.puzzle; import com.google.common.collect.Sets; import forge.ai.GameState; diff --git a/forge-gui/src/main/java/forge/puzzle/PuzzleIO.java b/forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java similarity index 98% rename from forge-gui/src/main/java/forge/puzzle/PuzzleIO.java rename to forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java index c433ed807f6..0f6297c1fd2 100644 --- a/forge-gui/src/main/java/forge/puzzle/PuzzleIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java @@ -1,4 +1,4 @@ -package forge.puzzle; +package forge.gamemodes.puzzle; import com.google.common.collect.Lists; diff --git a/forge-gui/src/main/java/forge/quest/BoosterUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/BoosterUtils.java rename to forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java index cf23ad1eee4..7f8e6e216cf 100644 --- a/forge-gui/src/main/java/forge/quest/BoosterUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -23,18 +23,18 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import forge.card.*; import forge.game.GameFormat; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.item.*; import forge.item.IPaperCard.Predicates.Presets; import forge.model.FModel; -import forge.quest.data.QuestPreferences.QPref; import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.PredicateString.StringOp; import org.apache.commons.lang3.StringUtils; -import java.util.*; +import static forge.gamemodes.quest.QuestUtilCards.isLegalInQuestFormat; -import static forge.quest.QuestUtilCards.isLegalInQuestFormat; +import java.util.*; /** *

diff --git a/forge-gui/src/main/java/forge/quest/IQuestEvent.java b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestEvent.java similarity index 85% rename from forge-gui/src/main/java/forge/quest/IQuestEvent.java rename to forge-gui/src/main/java/forge/gamemodes/quest/IQuestEvent.java index ab4d19a8c29..752f0167e26 100644 --- a/forge-gui/src/main/java/forge/quest/IQuestEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestEvent.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import forge.game.player.IHasIcon; diff --git a/forge-gui/src/main/java/forge/quest/IQuestRewardCard.java b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java similarity index 94% rename from forge-gui/src/main/java/forge/quest/IQuestRewardCard.java rename to forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java index 5661550bd84..4e963b38579 100644 --- a/forge-gui/src/main/java/forge/quest/IQuestRewardCard.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import forge.item.InventoryItem; import forge.item.PaperCard; diff --git a/forge-gui/src/main/java/forge/quest/IQuestTournamentView.java b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java similarity index 75% rename from forge-gui/src/main/java/forge/quest/IQuestTournamentView.java rename to forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java index ff47d6ad18b..cd7b46734b2 100644 --- a/forge-gui/src/main/java/forge/quest/IQuestTournamentView.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java @@ -1,9 +1,9 @@ -package forge.quest; +package forge.gamemodes.quest; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.quest.QuestDraftUtils.Mode; +import forge.gamemodes.quest.data.QuestEventDraftContainer; import forge.interfaces.IButton; -import forge.limited.BoosterDraft; -import forge.quest.QuestDraftUtils.Mode; -import forge.quest.data.QuestEventDraftContainer; public interface IQuestTournamentView { Mode getMode(); diff --git a/forge-gui/src/main/java/forge/quest/IVQuestStats.java b/forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/IVQuestStats.java rename to forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java index 19ab3593a20..3b4c8a048af 100644 --- a/forge-gui/src/main/java/forge/quest/IVQuestStats.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import forge.interfaces.IButton; import forge.interfaces.ICheckBox; diff --git a/forge-gui/src/main/java/forge/quest/MainWorldEventDuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/MainWorldEventDuelManager.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/MainWorldEventDuelManager.java rename to forge-gui/src/main/java/forge/gamemodes/quest/MainWorldEventDuelManager.java index 3421238909d..d7ac90f1454 100644 --- a/forge-gui/src/main/java/forge/quest/MainWorldEventDuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/MainWorldEventDuelManager.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import java.io.File; import java.util.ArrayList; @@ -6,11 +6,11 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.MainWorldDuelReader; import forge.model.FModel; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.MainWorldDuelReader; import forge.util.CollectionSuppliers; import forge.util.MyRandom; import forge.util.maps.EnumMapOfLists; diff --git a/forge-gui/src/main/java/forge/quest/QuestChallengeGenerator.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestChallengeGenerator.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java index 3248395acda..1aec7104b99 100644 --- a/forge-gui/src/main/java/forge/quest/QuestChallengeGenerator.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Predicate; import forge.deck.DeckgenUtil; diff --git a/forge-gui/src/main/java/forge/quest/QuestController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/QuestController.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java index 5775d1f546a..882e9824989 100644 --- a/forge-gui/src/main/java/forge/quest/QuestController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import java.io.File; import java.util.ArrayList; @@ -35,22 +35,22 @@ import forge.deck.DeckGroup; import forge.game.GameFormat; import forge.game.event.GameEvent; import forge.game.event.GameEventMulligan; +import forge.gamemodes.quest.bazaar.QuestBazaarManager; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.bazaar.QuestPetStorage; +import forge.gamemodes.quest.data.DeckConstructionRules; +import forge.gamemodes.quest.data.GameFormatQuest; +import forge.gamemodes.quest.data.QuestAchievements; +import forge.gamemodes.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestData; +import forge.gamemodes.quest.data.StarRating; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.QuestChallengeReader; import forge.item.PreconDeck; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.bazaar.QuestBazaarManager; -import forge.quest.bazaar.QuestItemType; -import forge.quest.bazaar.QuestPetStorage; -import forge.quest.data.DeckConstructionRules; -import forge.quest.data.GameFormatQuest; -import forge.quest.data.QuestAchievements; -import forge.quest.data.QuestAssets; -import forge.quest.data.QuestData; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.data.StarRating; -import forge.quest.io.QuestChallengeReader; import forge.util.storage.IStorage; import forge.util.storage.StorageBase; diff --git a/forge-gui/src/main/java/forge/quest/QuestDeckGroupMap.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckGroupMap.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/QuestDeckGroupMap.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckGroupMap.java index 4ef703fc1b5..307776d332e 100644 --- a/forge-gui/src/main/java/forge/quest/QuestDeckGroupMap.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckGroupMap.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import java.util.HashMap; import java.util.Map; diff --git a/forge-gui/src/main/java/forge/quest/QuestDeckMap.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestDeckMap.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java index 5c87ff54e57..18da1cefc3a 100644 --- a/forge-gui/src/main/java/forge/quest/QuestDeckMap.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import forge.deck.Deck; import forge.util.storage.StorageBase; diff --git a/forge-gui/src/main/java/forge/quest/QuestDraftUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestDraftUtils.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java index 6bc8342c624..bd6cfb4d7d1 100644 --- a/forge-gui/src/main/java/forge/quest/QuestDraftUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.collect.Lists; @@ -11,16 +11,16 @@ import forge.game.GameRules; import forge.game.GameType; import forge.game.Match; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.limited.LimitedDeckEvaluator; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.tournament.system.TournamentBracket; +import forge.gamemodes.tournament.system.TournamentPairing; +import forge.gamemodes.tournament.system.TournamentPlayer; import forge.interfaces.IGuiGame; -import forge.limited.LimitedDeckEvaluator; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.data.QuestPreferences; -import forge.tournament.system.TournamentBracket; -import forge.tournament.system.TournamentPairing; -import forge.tournament.system.TournamentPlayer; import forge.util.MyRandom; import forge.util.storage.IStorage; diff --git a/forge-gui/src/main/java/forge/quest/QuestEvent.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestEvent.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java index 2a9bf6c1b63..394151445f0 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Function; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventChallenge.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestEventChallenge.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java index 9009b97c441..97d8613acef 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventChallenge.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Function; import forge.deck.Deck; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventCommanderDuel.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuel.java similarity index 94% rename from forge-gui/src/main/java/forge/quest/QuestEventCommanderDuel.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuel.java index 1d7924a04d7..4fe972a114f 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventCommanderDuel.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuel.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import forge.deck.DeckProxy; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventCommanderDuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestEventCommanderDuelManager.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java index c9fbaa3457c..c7278e0afdb 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventCommanderDuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java @@ -1,9 +1,9 @@ -package forge.quest; +package forge.gamemodes.quest; import forge.deck.*; +import forge.gamemodes.quest.data.QuestPreferences; import forge.item.PaperCard; import forge.model.FModel; -import forge.quest.data.QuestPreferences; import forge.util.MyRandom; import java.util.ArrayList; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventDifficulty.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDifficulty.java similarity index 92% rename from forge-gui/src/main/java/forge/quest/QuestEventDifficulty.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDifficulty.java index dcf7db625e3..7f82351a31e 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventDifficulty.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDifficulty.java @@ -1,9 +1,9 @@ -package forge.quest; +package forge.gamemodes.quest; import org.apache.commons.lang3.StringUtils; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.model.FModel; -import forge.quest.data.QuestPreferences.QPref; /** * TODO: Write javadoc for this type. diff --git a/forge-gui/src/main/java/forge/quest/QuestEventDraft.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/QuestEventDraft.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java index 88ff16f4bf6..776633aa61a 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import forge.GuiBase; import forge.card.CardEdition; @@ -24,18 +24,18 @@ import forge.card.CardRarity; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.limited.LimitedPoolType; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.ReadPriceList; +import forge.gamemodes.tournament.system.TournamentBracket; +import forge.gamemodes.tournament.system.TournamentPairing; +import forge.gamemodes.tournament.system.TournamentPlayer; import forge.item.BoosterPack; import forge.item.PaperCard; -import forge.limited.BoosterDraft; -import forge.limited.LimitedPoolType; import forge.model.CardBlock; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.ReadPriceList; -import forge.tournament.system.TournamentBracket; -import forge.tournament.system.TournamentPairing; -import forge.tournament.system.TournamentPlayer; import forge.util.MyRandom; import forge.util.NameGenerator; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventDuel.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuel.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestEventDuel.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuel.java index bcb2f97ba1e..3e633ae7e27 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventDuel.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuel.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; /** diff --git a/forge-gui/src/main/java/forge/quest/QuestEventDuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestEventDuelManager.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java index 138176ed248..83fc30228af 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventDuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.QuestDuelReader; import forge.model.FModel; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.QuestDuelReader; import forge.util.CollectionSuppliers; import forge.util.MyRandom; import forge.util.maps.EnumMapOfLists; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventDuelManagerInterface.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManagerInterface.java similarity index 89% rename from forge-gui/src/main/java/forge/quest/QuestEventDuelManagerInterface.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManagerInterface.java index 48052ce87e6..58b49901433 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventDuelManagerInterface.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManagerInterface.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import java.util.List; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventLDADuel.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuel.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestEventLDADuel.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuel.java index c2efbb1da94..974bb1971d3 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventLDADuel.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuel.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import forge.deck.DeckgenUtil; diff --git a/forge-gui/src/main/java/forge/quest/QuestEventLDADuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestEventLDADuelManager.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java index 424701015de..a277f3de574 100644 --- a/forge-gui/src/main/java/forge/quest/QuestEventLDADuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import forge.deck.CardArchetypeLDAGenerator; import forge.deck.io.Archetype; import forge.game.GameFormat; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.model.FModel; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; import forge.util.CollectionSuppliers; import forge.util.MyRandom; import forge.util.maps.EnumMapOfLists; diff --git a/forge-gui/src/main/java/forge/quest/QuestMode.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestMode.java similarity index 95% rename from forge-gui/src/main/java/forge/quest/QuestMode.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestMode.java index a50ea359177..c5fd721dc87 100644 --- a/forge-gui/src/main/java/forge/quest/QuestMode.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestMode.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; /** * TODO: Write javadoc for this type. diff --git a/forge-gui/src/main/java/forge/quest/QuestRewardCard.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCard.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestRewardCard.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCard.java index 9b0541dbc91..64bd8606b1d 100644 --- a/forge-gui/src/main/java/forge/quest/QuestRewardCard.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCard.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/quest/QuestRewardCardChooser.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardChooser.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestRewardCardChooser.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardChooser.java index 9850681e4e1..ae4343d47bc 100644 --- a/forge-gui/src/main/java/forge/quest/QuestRewardCardChooser.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardChooser.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import java.util.ArrayList; import java.util.Collections; diff --git a/forge-gui/src/main/java/forge/quest/QuestRewardCardDuplicate.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardDuplicate.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/QuestRewardCardDuplicate.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardDuplicate.java index 4b6a0e66df9..929ce4199f0 100644 --- a/forge-gui/src/main/java/forge/quest/QuestRewardCardDuplicate.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardDuplicate.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import java.util.ArrayList; import java.util.Collections; diff --git a/forge-gui/src/main/java/forge/quest/QuestRewardCardFiltered.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/QuestRewardCardFiltered.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java index ba565e9b774..de4dd312ecb 100644 --- a/forge-gui/src/main/java/forge/quest/QuestRewardCardFiltered.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; diff --git a/forge-gui/src/main/java/forge/quest/QuestSpellShop.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestSpellShop.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java index 318b689bedd..cda0191ca65 100644 --- a/forge-gui/src/main/java/forge/quest/QuestSpellShop.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Function; import forge.GuiBase; @@ -6,13 +6,13 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckFormat; import forge.deck.DeckSection; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.ReadPriceList; import forge.item.*; import forge.itemmanager.IItemManager; import forge.itemmanager.SItemManagerUtil; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.ReadPriceList; import forge.util.ItemPool; import forge.util.gui.SOptionPane; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui/src/main/java/forge/quest/QuestTournamentController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestTournamentController.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java index b718fd9cd83..e937ae4c9f3 100644 --- a/forge-gui/src/main/java/forge/quest/QuestTournamentController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import java.util.ArrayList; import java.util.List; @@ -9,20 +9,20 @@ import com.google.common.collect.Lists; import forge.GuiBase; import forge.deck.DeckGroup; import forge.game.GameType; +import forge.gamemodes.limited.BoosterDraft; +import forge.gamemodes.quest.QuestDraftUtils.Mode; +import forge.gamemodes.quest.QuestEventDraft.QuestDraftFormat; +import forge.gamemodes.quest.data.QuestAchievements; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.tournament.system.TournamentBracket; +import forge.gamemodes.tournament.system.TournamentPairing; +import forge.gamemodes.tournament.system.TournamentPlayer; import forge.interfaces.IGuiGame; import forge.item.BoosterPack; import forge.item.PaperCard; -import forge.limited.BoosterDraft; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.QuestDraftUtils.Mode; -import forge.quest.QuestEventDraft.QuestDraftFormat; -import forge.quest.data.QuestAchievements; -import forge.quest.data.QuestPreferences; -import forge.tournament.system.TournamentBracket; -import forge.tournament.system.TournamentPairing; -import forge.tournament.system.TournamentPlayer; import forge.util.TextUtil; import forge.util.ThreadUtil; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/quest/QuestUtil.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/QuestUtil.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java index 5f67620fb5b..9efd1a0d816 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.collect.ImmutableMap; @@ -29,21 +29,21 @@ import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; +import forge.gamemodes.quest.bazaar.IQuestBazaarItem; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.bazaar.QuestPetController; +import forge.gamemodes.quest.data.DeckConstructionRules; +import forge.gamemodes.quest.data.QuestAchievements; +import forge.gamemodes.quest.data.QuestAssets; import forge.interfaces.IButton; import forge.interfaces.IGuiGame; import forge.item.IPaperCard; import forge.item.PaperToken; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.HostedMatch; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.bazaar.IQuestBazaarItem; -import forge.quest.bazaar.QuestItemType; -import forge.quest.bazaar.QuestPetController; -import forge.quest.data.DeckConstructionRules; -import forge.quest.data.QuestAchievements; -import forge.quest.data.QuestAssets; import forge.util.Localizer; import forge.util.gui.SGuiChoose; import forge.util.gui.SOptionPane; @@ -77,7 +77,7 @@ public class QuestUtil { * Returns new card instances of extra AI cards in play at start of event. * * @param qe - * a {@link forge.quest.QuestEvent} object. + * a {@link forge.gamemodes.quest.QuestEvent} object. * @return a {@link java.util.List} object. */ public static List getComputerStartingCards(final QuestEvent qe) { @@ -96,7 +96,7 @@ public class QuestUtil { *

* Returns list of current plant/pet configuration only. * @param qc - * a {@link forge.quest.QuestController} object. + * a {@link forge.gamemodes.quest.QuestController} object. * @return a {@link java.util.List} object. */ public static List getHumanStartingCards(final QuestController qc) { @@ -124,9 +124,9 @@ public class QuestUtil { * plant/pet configuration, and cards in play at start of quest. * * @param qc - * a {@link forge.quest.QuestController} object. + * a {@link forge.gamemodes.quest.QuestController} object. * @param qe - * a {@link forge.quest.QuestEvent} object. + * a {@link forge.gamemodes.quest.QuestEvent} object. * @return a {@link java.util.List} object. */ public static List getHumanStartingCards(final QuestController qc, final QuestEvent qe) { @@ -360,7 +360,7 @@ public class QuestUtil { * - Current deck info
* - "Challenge In" info
* - * @param view0 {@link forge.quest.IVQuestStats} + * @param view0 {@link forge.gamemodes.quest.IVQuestStats} */ public static void updateQuestView(final IVQuestStats view0) { final QuestController qCtrl = FModel.getQuest(); @@ -453,7 +453,7 @@ public class QuestUtil { } /** Updates the current selected quest event, used when game is started. - * @param event0 {@link forge.quest.QuestEvent} + * @param event0 {@link forge.gamemodes.quest.QuestEvent} */ public static void setEvent(final QuestEvent event0) { event = event0; diff --git a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/QuestUtilCards.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java index a780157ab74..d965977f588 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Function; import com.google.common.base.Predicate; @@ -30,18 +30,18 @@ import forge.card.MagicColor; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameFormat; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.data.GameFormatQuest; +import forge.gamemodes.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.item.*; import forge.item.SealedProduct.Template; import forge.item.generation.BoosterSlots; import forge.item.generation.UnOpenedProduct; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.quest.bazaar.QuestItemType; -import forge.quest.data.GameFormatQuest; -import forge.quest.data.QuestAssets; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; import forge.util.Aggregates; import forge.util.ItemPool; import forge.util.MyRandom; diff --git a/forge-gui/src/main/java/forge/quest/QuestUtilUnlockSets.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/QuestUtilUnlockSets.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java index cb2e852554f..7f64be4ec92 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtilUnlockSets.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import java.util.ArrayList; import java.util.Collections; @@ -33,12 +33,12 @@ import com.google.common.collect.Lists; import forge.GuiBase; import forge.card.CardEdition; +import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.io.ReadPriceList; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.UnOpenedProduct; import forge.model.FModel; -import forge.quest.data.QuestPreferences.QPref; -import forge.quest.io.ReadPriceList; import forge.util.gui.SGuiChoose; import forge.util.gui.SOptionPane; import forge.util.storage.IStorage; diff --git a/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestWinLoseController.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java index 8b07f978a41..5508ef16f10 100644 --- a/forge-gui/src/main/java/forge/quest/QuestWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.collect.ImmutableList; import forge.LobbyPlayer; @@ -8,6 +8,10 @@ import forge.game.GameFormat; import forge.game.GameOutcome; import forge.game.GameView; import forge.game.player.*; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.interfaces.IButton; import forge.interfaces.IWinLoseView; import forge.item.*; @@ -19,10 +23,6 @@ import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.quest.bazaar.QuestItemType; -import forge.quest.data.QuestPreferences; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; import forge.util.Localizer; import forge.util.MyRandom; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/quest/QuestWorld.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/QuestWorld.java rename to forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java index f69cbe5d7df..1e501342a91 100644 --- a/forge-gui/src/main/java/forge/quest/QuestWorld.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java @@ -15,14 +15,14 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import com.google.common.base.Function; import forge.deck.Deck; import forge.game.GameFormat; +import forge.gamemodes.quest.data.GameFormatQuest; import forge.item.PaperCard; import forge.model.FModel; -import forge.quest.data.GameFormatQuest; import forge.util.storage.StorageReaderFile; import java.util.ArrayList; diff --git a/forge-gui/src/main/java/forge/quest/SellRules.java b/forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/SellRules.java rename to forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java index 614cf576fe5..a5877b28267 100644 --- a/forge-gui/src/main/java/forge/quest/SellRules.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; -import forge.quest.data.QuestAchievements; +import forge.gamemodes.quest.data.QuestAchievements; import forge.util.FileSection; import java.util.List; diff --git a/forge-gui/src/main/java/forge/quest/StartingPoolPreferences.java b/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/StartingPoolPreferences.java rename to forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java index b4713b04686..7da42a6690a 100644 --- a/forge-gui/src/main/java/forge/quest/StartingPoolPreferences.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest; +package forge.gamemodes.quest; import java.util.List; diff --git a/forge-gui/src/main/java/forge/quest/StartingPoolType.java b/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolType.java similarity index 95% rename from forge-gui/src/main/java/forge/quest/StartingPoolType.java rename to forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolType.java index 875c84f1adb..6b6fccb0d86 100644 --- a/forge-gui/src/main/java/forge/quest/StartingPoolType.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolType.java @@ -1,4 +1,4 @@ -package forge.quest; +package forge.gamemodes.quest; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/IQuestBazaarItem.java similarity index 94% rename from forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/IQuestBazaarItem.java index 721989f3b30..5de342e8cea 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/IQuestBazaarItem.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/IQuestBazaarItem.java @@ -15,11 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; import forge.localinstance.assets.ISkinImage; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; /** * This interface defines a thing that can be sold at the Bazaar. diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestBazaarManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestBazaarManager.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java index 6e3db328e7a..5ce9a499764 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestBazaarManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import java.io.File; import java.io.IOException; @@ -44,9 +44,9 @@ import org.xml.sax.SAXException; import com.thoughtworks.xstream.XStream; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; import forge.util.IgnoringXStream; import forge.util.XmlUtil; @@ -134,7 +134,7 @@ public class QuestBazaarManager { * * @param stallName * a {@link java.lang.String} object. - * @return a {@link forge.quest.bazaar.QuestStallDefinition} object. + * @return a {@link forge.gamemodes.quest.bazaar.QuestStallDefinition} object. */ public QuestStallDefinition getStall(final String stallName) { if (stalls.isEmpty()) { diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java index 2c1a291228a..098ffaf2baa 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemBasic.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java @@ -15,17 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import forge.GuiBase; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemCharmOfVigor.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemCharmOfVigor.java similarity index 91% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemCharmOfVigor.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemCharmOfVigor.java index d150ef2372e..665a35f4fe8 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemCharmOfVigor.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemCharmOfVigor.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemCharmOfVim.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemCharmOfVim.java similarity index 89% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemCharmOfVim.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemCharmOfVim.java index 8b4dd2db0e9..760411d8e1b 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemCharmOfVim.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemCharmOfVim.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; public class QuestItemCharmOfVim extends QuestItemBasic { QuestItemCharmOfVim() { diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemElixir.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemElixir.java similarity index 94% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemElixir.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemElixir.java index 5371d01cbcf..f9cb4eaa7d9 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemElixir.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemElixir.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestAssets; /** * This item has special coding. diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemEstates.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemEstates.java similarity index 94% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemEstates.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemEstates.java index 59c48177b79..9c44d797562 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemEstates.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemEstates.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestAssets; /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemMembership.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemMembership.java similarity index 94% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemMembership.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemMembership.java index 91a06c40f10..67aa1dc7337 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemMembership.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemMembership.java @@ -15,9 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestAssets; /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemPoundFlesh.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemPoundFlesh.java similarity index 93% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemPoundFlesh.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemPoundFlesh.java index ffbbf46dc74..00f01997eee 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemPoundFlesh.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemPoundFlesh.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.QuestMode; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.data.QuestAssets; /** * This item has special coding. diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemType.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemType.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemType.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemType.java index 07cb6165f9e..a7aaf1a6958 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemType.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemType.java @@ -15,16 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import com.thoughtworks.xstream.annotations.XStreamAlias; -import forge.quest.data.QuestItemCondition; + +import forge.gamemodes.quest.data.QuestItemCondition; /** * TODO: Write javadoc for this type. * */ -@XStreamAlias(value = "forge.quest.data.item.QuestItemType") +@XStreamAlias(value = "forge.gamemodes.quest.data.item.QuestItemType") public enum QuestItemType { /** The SLEIGHT. */ diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemZeppelin.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemZeppelin.java similarity index 90% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestItemZeppelin.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemZeppelin.java index 55e2717e127..1402ab7b14f 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestItemZeppelin.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemZeppelin.java @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java index cf2e129582f..4060c06d747 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import java.util.ArrayList; import java.util.List; @@ -24,14 +24,14 @@ import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import forge.GuiBase; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestPreferences; import forge.item.PaperToken; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.data.QuestAssets; -import forge.quest.data.QuestPreferences; /** *

diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java index 35091dabd40..1fe2951d656 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStats.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java @@ -1,4 +1,4 @@ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStorage.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestPetStorage.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java index 899f7c93d4a..f26ad2ab838 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetStorage.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java @@ -1,10 +1,11 @@ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.security.NoTypePermission; import com.thoughtworks.xstream.security.NullPermission; import com.thoughtworks.xstream.security.PrimitiveTypePermission; -import forge.quest.data.QuestAssets; + +import forge.gamemodes.quest.data.QuestAssets; import forge.util.IgnoringXStream; import forge.util.XmlUtil; import org.w3c.dom.Attr; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestStallDefinition.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java rename to forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestStallDefinition.java index fbeec5ac344..4a1002d59e0 100644 --- a/forge-gui/src/main/java/forge/quest/bazaar/QuestStallDefinition.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestStallDefinition.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.bazaar; +package forge.gamemodes.quest.bazaar; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/package-info.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/package-info.java new file mode 100644 index 00000000000..972f66e917c --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.gamemodes.quest.bazaar; + diff --git a/forge-gui/src/main/java/forge/quest/data/DeckConstructionRules.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/DeckConstructionRules.java similarity index 90% rename from forge-gui/src/main/java/forge/quest/data/DeckConstructionRules.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/DeckConstructionRules.java index 3744beea09d..c058d8b3b55 100644 --- a/forge-gui/src/main/java/forge/quest/data/DeckConstructionRules.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/DeckConstructionRules.java @@ -1,4 +1,4 @@ -package forge.quest.data; +package forge.gamemodes.quest.data; /** * Used to clarify which subformat a quest is using e.g. Commander. diff --git a/forge-gui/src/main/java/forge/quest/data/GameFormatQuest.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/data/GameFormatQuest.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java index b7da238eb3e..a8eb41ec78e 100644 --- a/forge-gui/src/main/java/forge/quest/data/GameFormatQuest.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.data; +package forge.gamemodes.quest.data; import com.google.common.base.Predicate; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestAchievements.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/data/QuestAchievements.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java index d5c29d91158..d4f36857292 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestAchievements.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java @@ -1,10 +1,10 @@ -package forge.quest.data; +package forge.gamemodes.quest.data; +import forge.gamemodes.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestEventDraft.QuestDraftFormat; +import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.model.FModel; -import forge.quest.QuestEventDraft; -import forge.quest.QuestEventDraft.QuestDraftFormat; -import forge.quest.data.QuestPreferences.DifficultyPrefs; -import forge.quest.data.QuestPreferences.QPref; import java.util.ArrayList; import java.util.HashSet; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestAssets.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/data/QuestAssets.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java index 98e03b13394..32b20a860ff 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestAssets.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.data; +package forge.gamemodes.quest.data; import java.lang.reflect.InvocationTargetException; @@ -25,15 +25,15 @@ import java.util.Map; import forge.deck.Deck; import forge.deck.DeckGroup; +import forge.gamemodes.quest.QuestDeckGroupMap; +import forge.gamemodes.quest.QuestDeckMap; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.QuestUtilCards; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.model.FModel; -import forge.quest.QuestDeckGroupMap; -import forge.quest.QuestDeckMap; -import forge.quest.QuestMode; -import forge.quest.QuestUtilCards; -import forge.quest.bazaar.QuestItemType; -import forge.quest.data.QuestPreferences.QPref; import forge.util.ItemPool; /** */ diff --git a/forge-gui/src/main/java/forge/quest/data/QuestData.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/data/QuestData.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java index c50a93ad720..4142d0a9372 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java @@ -15,13 +15,13 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.data; +package forge.gamemodes.quest.data; import forge.game.GameFormat; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.io.QuestDataIO; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.quest.QuestMode; -import forge.quest.io.QuestDataIO; import java.io.File; import java.util.HashMap; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestEventDraftContainer.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestEventDraftContainer.java similarity index 68% rename from forge-gui/src/main/java/forge/quest/data/QuestEventDraftContainer.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/QuestEventDraftContainer.java index e8501b58790..752b30d72b9 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestEventDraftContainer.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestEventDraftContainer.java @@ -1,8 +1,8 @@ -package forge.quest.data; +package forge.gamemodes.quest.data; import java.util.ArrayList; -import forge.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestEventDraft; public class QuestEventDraftContainer extends ArrayList { private static final long serialVersionUID = -417036762608756613L; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestItemCondition.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestItemCondition.java similarity index 93% rename from forge-gui/src/main/java/forge/quest/data/QuestItemCondition.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/QuestItemCondition.java index 8013d4b523a..be45ac34ee7 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestItemCondition.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestItemCondition.java @@ -1,4 +1,4 @@ -package forge.quest.data; +package forge.gamemodes.quest.data; /** * This class should store the quest items' properties that are to be serialized. diff --git a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/data/QuestPreferences.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java index a1e7df1a795..3008d8d1d63 100644 --- a/forge-gui/src/main/java/forge/quest/data/QuestPreferences.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.data; +package forge.gamemodes.quest.data; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.PreferencesStore; diff --git a/forge-gui/src/main/java/forge/quest/data/StarRating.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/StarRating.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/data/StarRating.java rename to forge-gui/src/main/java/forge/gamemodes/quest/data/StarRating.java index 37f5f30213b..05984f21cf2 100644 --- a/forge-gui/src/main/java/forge/quest/data/StarRating.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/StarRating.java @@ -1,4 +1,4 @@ -package forge.quest.data; +package forge.gamemodes.quest.data; public class StarRating { public String Name; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/package-info.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/package-info.java new file mode 100644 index 00000000000..b65fd18b64b --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.gamemodes.quest.data; + diff --git a/forge-gui/src/main/java/forge/quest/io/MainWorldDuelReader.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/MainWorldDuelReader.java similarity index 97% rename from forge-gui/src/main/java/forge/quest/io/MainWorldDuelReader.java rename to forge-gui/src/main/java/forge/gamemodes/quest/io/MainWorldDuelReader.java index 22fe331d71a..e6163c5cbf2 100644 --- a/forge-gui/src/main/java/forge/quest/io/MainWorldDuelReader.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/MainWorldDuelReader.java @@ -1,4 +1,4 @@ -package forge.quest.io; +package forge.gamemodes.quest.io; import java.io.File; import java.io.FilenameFilter; @@ -21,9 +21,9 @@ import forge.deck.Deck; import forge.deck.DeckProxy; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.quest.QuestEvent; -import forge.quest.QuestEventDifficulty; -import forge.quest.QuestEventDuel; +import forge.gamemodes.quest.QuestEvent; +import forge.gamemodes.quest.QuestEventDifficulty; +import forge.gamemodes.quest.QuestEventDuel; import forge.util.FileSection; import forge.util.FileUtil; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/quest/io/QuestChallengeReader.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java similarity index 96% rename from forge-gui/src/main/java/forge/quest/io/QuestChallengeReader.java rename to forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java index 9e31616491d..d3adf100522 100644 --- a/forge-gui/src/main/java/forge/quest/io/QuestChallengeReader.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java @@ -1,10 +1,10 @@ -package forge.quest.io; +package forge.gamemodes.quest.io; import forge.ImageKeys; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.quest.QuestEventChallenge; -import forge.quest.QuestEventDifficulty; +import forge.gamemodes.quest.QuestEventChallenge; +import forge.gamemodes.quest.QuestEventDifficulty; import forge.util.FileSection; import forge.util.FileUtil; import forge.util.TextUtil; diff --git a/forge-gui/src/main/java/forge/quest/io/QuestDataIO.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java similarity index 98% rename from forge-gui/src/main/java/forge/quest/io/QuestDataIO.java rename to forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java index 71e2737dc0d..a88c05f8857 100644 --- a/forge-gui/src/main/java/forge/quest/io/QuestDataIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java @@ -15,12 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.io; +package forge.gamemodes.quest.io; import com.thoughtworks.xstream.security.NoTypePermission; import com.thoughtworks.xstream.security.NullPermission; import com.thoughtworks.xstream.security.PrimitiveTypePermission; -import forge.quest.data.QuestPreferences.QPref; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; @@ -32,14 +31,15 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestEventDraft; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.bazaar.QuestItemType; +import forge.gamemodes.quest.data.*; +import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.item.*; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.quest.QuestController; -import forge.quest.QuestEventDraft; -import forge.quest.QuestMode; -import forge.quest.bazaar.QuestItemType; -import forge.quest.data.*; import forge.util.FileUtil; import forge.util.IgnoringXStream; import forge.util.ItemPool; @@ -96,7 +96,7 @@ public class QuestDataIO { // allow any type from the same package xStream.allowTypesByWildcard(new String[] { QuestDataIO.class.getPackage().getName()+".*", - "forge.quest.data.*" + "forge.gamemodes.quest.data.*" }); xStream.registerConverter(new ItemPoolToXml()); xStream.registerConverter(new DeckToXml()); @@ -116,7 +116,7 @@ public class QuestDataIO { * * @param xmlSaveFile *   {@link java.io.File} - * @return {@link forge.quest.data.QuestData} + * @return {@link forge.gamemodes.quest.data.QuestData} */ public static QuestData loadData(final File xmlSaveFile) throws IOException { QuestData data; @@ -168,7 +168,7 @@ public class QuestDataIO { *

* * @param newData - * a {@link forge.quest.data.QuestData} object. + * a {@link forge.gamemodes.quest.data.QuestData} object. * @param input * a {@link java.lang.String} object. * @throws ParserConfigurationException @@ -320,7 +320,7 @@ public class QuestDataIO { continue; } final Element x = (Element) _x; - if (!x.getTagName().startsWith("forge.quest.data.")) { + if (!x.getTagName().startsWith("forge.gamemodes.quest.data.")) { continue; } final String sLevel = x.getElementsByTagName("level").item(0).getTextContent(); @@ -398,7 +398,7 @@ public class QuestDataIO { *

* * @param qd - * a {@link forge.quest.data.QuestData} object. + * a {@link forge.gamemodes.quest.data.QuestData} object. */ public static synchronized void saveData(final QuestData qd) { try { diff --git a/forge-gui/src/main/java/forge/quest/io/QuestDuelReader.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java similarity index 90% rename from forge-gui/src/main/java/forge/quest/io/QuestDuelReader.java rename to forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java index 808df3e1616..1d1bf79e92a 100644 --- a/forge-gui/src/main/java/forge/quest/io/QuestDuelReader.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java @@ -1,11 +1,11 @@ -package forge.quest.io; +package forge.gamemodes.quest.io; import forge.ImageKeys; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.quest.QuestEvent; -import forge.quest.QuestEventDifficulty; -import forge.quest.QuestEventDuel; +import forge.gamemodes.quest.QuestEvent; +import forge.gamemodes.quest.QuestEventDifficulty; +import forge.gamemodes.quest.QuestEventDuel; import forge.util.FileSection; import forge.util.FileUtil; import forge.util.storage.StorageReaderFolder; diff --git a/forge-gui/src/main/java/forge/quest/io/ReadPriceList.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java similarity index 99% rename from forge-gui/src/main/java/forge/quest/io/ReadPriceList.java rename to forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java index 60458bde657..d5249910e1c 100644 --- a/forge-gui/src/main/java/forge/quest/io/ReadPriceList.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.quest.io; +package forge.gamemodes.quest.io; import forge.card.MagicColor; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/package-info.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/package-info.java new file mode 100644 index 00000000000..ced0a767d1d --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.gamemodes.quest.io; + diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/package-info.java b/forge-gui/src/main/java/forge/gamemodes/quest/package-info.java new file mode 100644 index 00000000000..547a7b4879c --- /dev/null +++ b/forge-gui/src/main/java/forge/gamemodes/quest/package-info.java @@ -0,0 +1,3 @@ +/** Forge Card Game. */ +package forge.gamemodes.quest; + diff --git a/forge-gui/src/main/java/forge/tournament/TournamentData.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java similarity index 98% rename from forge-gui/src/main/java/forge/tournament/TournamentData.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java index 4574ecd7884..e7085f5af8f 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentData.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java @@ -1,12 +1,12 @@ -package forge.tournament; +package forge.gamemodes.tournament; import com.thoughtworks.xstream.annotations.XStreamOmitField; import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; +import forge.gamemodes.match.HostedMatch; import forge.localinstance.properties.ForgeConstants; -import forge.match.HostedMatch; import java.io.File; import java.text.DateFormat; diff --git a/forge-gui/src/main/java/forge/tournament/TournamentIO.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java similarity index 99% rename from forge-gui/src/main/java/forge/tournament/TournamentIO.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java index 6a0a90c2726..4ce8a46e8ed 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java @@ -1,4 +1,4 @@ -package forge.tournament; +package forge.gamemodes.tournament; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; diff --git a/forge-gui/src/main/java/forge/tournament/TournamentUtil.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java similarity index 99% rename from forge-gui/src/main/java/forge/tournament/TournamentUtil.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java index 08f99eed11b..823dd6a18b9 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java @@ -1,4 +1,4 @@ -package forge.tournament; +package forge.gamemodes.tournament; import forge.deck.Deck; import forge.deck.DeckType; diff --git a/forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java similarity index 99% rename from forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java index ecdefdd6388..2007bae14ed 100644 --- a/forge-gui/src/main/java/forge/tournament/TournamentWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java @@ -1,4 +1,4 @@ -package forge.tournament; +package forge.gamemodes.tournament; import com.google.common.collect.Lists; diff --git a/forge-gui/src/main/java/forge/tournament/system/AbstractTournament.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java similarity index 99% rename from forge-gui/src/main/java/forge/tournament/system/AbstractTournament.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java index e658f3cac29..bd45f3b9f81 100644 --- a/forge-gui/src/main/java/forge/tournament/system/AbstractTournament.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java @@ -1,4 +1,4 @@ -package forge.tournament.system; +package forge.gamemodes.tournament.system; import com.google.common.collect.Lists; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; diff --git a/forge-gui/src/main/java/forge/tournament/system/TournamentBracket.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentBracket.java similarity index 98% rename from forge-gui/src/main/java/forge/tournament/system/TournamentBracket.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentBracket.java index 52222ceb60c..763d5a7fb3d 100644 --- a/forge-gui/src/main/java/forge/tournament/system/TournamentBracket.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentBracket.java @@ -1,4 +1,4 @@ -package forge.tournament.system; +package forge.gamemodes.tournament.system; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/tournament/system/TournamentPairing.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java similarity index 98% rename from forge-gui/src/main/java/forge/tournament/system/TournamentPairing.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java index 619cc142c3d..4b75135521c 100644 --- a/forge-gui/src/main/java/forge/tournament/system/TournamentPairing.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java @@ -1,4 +1,4 @@ -package forge.tournament.system; +package forge.gamemodes.tournament.system; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import forge.LobbyPlayer; diff --git a/forge-gui/src/main/java/forge/tournament/system/TournamentPlayer.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java similarity index 98% rename from forge-gui/src/main/java/forge/tournament/system/TournamentPlayer.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java index babd4050cde..600397b00e6 100644 --- a/forge-gui/src/main/java/forge/tournament/system/TournamentPlayer.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java @@ -1,4 +1,4 @@ -package forge.tournament.system; +package forge.gamemodes.tournament.system; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import forge.LobbyPlayer; diff --git a/forge-gui/src/main/java/forge/tournament/system/TournamentRoundRobin.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java similarity index 98% rename from forge-gui/src/main/java/forge/tournament/system/TournamentRoundRobin.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java index 5ec1b04b9ab..b379fdeea12 100644 --- a/forge-gui/src/main/java/forge/tournament/system/TournamentRoundRobin.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java @@ -1,4 +1,4 @@ -package forge.tournament.system; +package forge.gamemodes.tournament.system; import com.google.common.collect.Lists; import forge.player.GamePlayerUtil; diff --git a/forge-gui/src/main/java/forge/tournament/system/TournamentSwiss.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java similarity index 99% rename from forge-gui/src/main/java/forge/tournament/system/TournamentSwiss.java rename to forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java index 31c9ae300ff..53c00eda0eb 100644 --- a/forge-gui/src/main/java/forge/tournament/system/TournamentSwiss.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java @@ -1,4 +1,4 @@ -package forge.tournament.system; +package forge.gamemodes.tournament.system; import com.google.common.collect.Lists; diff --git a/forge-gui/src/main/java/forge/interfaces/IGameController.java b/forge-gui/src/main/java/forge/interfaces/IGameController.java index 758c50077c4..add0d69533c 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGameController.java +++ b/forge-gui/src/main/java/forge/interfaces/IGameController.java @@ -5,7 +5,7 @@ import java.util.List; import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; -import forge.match.NextGameDecision; +import forge.gamemodes.match.NextGameDecision; import forge.util.ITriggerEvent; public interface IGameController { diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java index 029676c0496..68ffe5d1e19 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java +++ b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java @@ -9,10 +9,10 @@ import java.util.List; import com.google.common.base.Function; import forge.download.GuiDownloadService; +import forge.gamemodes.match.HostedMatch; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; -import forge.match.HostedMatch; import forge.sound.IAudioClip; import forge.sound.IAudioMusic; import forge.util.Callback; diff --git a/forge-gui/src/main/java/forge/interfaces/ILobbyListener.java b/forge-gui/src/main/java/forge/interfaces/ILobbyListener.java index dc1f67f7218..1102fda97ab 100644 --- a/forge-gui/src/main/java/forge/interfaces/ILobbyListener.java +++ b/forge-gui/src/main/java/forge/interfaces/ILobbyListener.java @@ -1,7 +1,7 @@ package forge.interfaces; -import forge.match.GameLobby.GameLobbyData; -import forge.net.client.ClientGameLobby; +import forge.gamemodes.match.GameLobby.GameLobbyData; +import forge.gamemodes.net.client.ClientGameLobby; public interface ILobbyListener { void message(String source, String message); diff --git a/forge-gui/src/main/java/forge/interfaces/IPlayerChangeListener.java b/forge-gui/src/main/java/forge/interfaces/IPlayerChangeListener.java index 61146fe105e..d414ce8a7b9 100644 --- a/forge-gui/src/main/java/forge/interfaces/IPlayerChangeListener.java +++ b/forge-gui/src/main/java/forge/interfaces/IPlayerChangeListener.java @@ -1,6 +1,6 @@ package forge.interfaces; -import forge.net.event.UpdateLobbyPlayerEvent; +import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; public interface IPlayerChangeListener { void update(int index, UpdateLobbyPlayerEvent event); diff --git a/forge-gui/src/main/java/forge/interfaces/IUpdateable.java b/forge-gui/src/main/java/forge/interfaces/IUpdateable.java index 0a1c7e1cff3..dd1f80f574f 100644 --- a/forge-gui/src/main/java/forge/interfaces/IUpdateable.java +++ b/forge-gui/src/main/java/forge/interfaces/IUpdateable.java @@ -1,6 +1,6 @@ package forge.interfaces; -import forge.match.LobbySlotType; +import forge.gamemodes.match.LobbySlotType; public interface IUpdateable{ void update(boolean fullUpdate); diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index 866f8eb2a34..c1723ec13d5 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -23,16 +23,16 @@ import forge.deck.DeckProxy; import forge.deck.DeckSection; import forge.game.GameFormat; import forge.game.keyword.Keyword; +import forge.gamemodes.planarconquest.ConquestCommander; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestRegion; +import forge.gamemodes.quest.QuestSpellShop; +import forge.gamemodes.quest.QuestWorld; import forge.interfaces.IButton; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.model.FModel; -import forge.planarconquest.ConquestCommander; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestRegion; -import forge.quest.QuestSpellShop; -import forge.quest.QuestWorld; import forge.util.gui.SGuiChoose; import forge.util.gui.SOptionPane; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java index 228085c97a4..8190ea419b2 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java +++ b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java @@ -23,12 +23,12 @@ import forge.card.mana.ManaCost; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; import forge.game.GameFormat; +import forge.gamemodes.limited.DraftRankCache; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.item.InventoryItemFromSet; import forge.item.PaperCard; import forge.itemmanager.ItemColumnConfig.SortState; -import forge.limited.DraftRankCache; import forge.model.FModel; import forge.util.Localizer; import forge.util.CardTranslation; diff --git a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java index d44f68f540c..1e0fa5ea57c 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java @@ -6,13 +6,13 @@ import forge.StaticData; import forge.card.*; import forge.deck.DeckProxy; import forge.game.GameFormat; +import forge.gamemodes.quest.data.StarRating; import forge.interfaces.IButton; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.SItemManagerUtil.StatTypes; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.quest.data.StarRating; import forge.util.BinaryUtil; import forge.util.PredicateString.StringOp; diff --git a/forge-gui/src/main/java/forge/limited/package-info.java b/forge-gui/src/main/java/forge/limited/package-info.java deleted file mode 100644 index 1323ddca75b..00000000000 --- a/forge-gui/src/main/java/forge/limited/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.limited; - diff --git a/forge-gui/src/main/java/forge/match/input/package-info.java b/forge-gui/src/main/java/forge/match/input/package-info.java deleted file mode 100644 index ec31157cdb5..00000000000 --- a/forge-gui/src/main/java/forge/match/input/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.match.input; - diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index 6fb3b17efe3..690502d68c8 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -32,24 +32,24 @@ import forge.game.GameFormat; import forge.game.GameType; import forge.game.card.CardUtil; import forge.game.spellability.Spell; -import forge.gauntlet.GauntletData; +import forge.gamemodes.gauntlet.GauntletData; +import forge.gamemodes.limited.GauntletMini; +import forge.gamemodes.limited.ThemedChaosDraft; +import forge.gamemodes.planarconquest.ConquestController; +import forge.gamemodes.planarconquest.ConquestPlane; +import forge.gamemodes.planarconquest.ConquestPreferences; +import forge.gamemodes.planarconquest.ConquestUtil; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestWorld; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.gamemodes.tournament.TournamentData; import forge.interfaces.IProgressBar; import forge.itemmanager.ItemManagerConfig; -import forge.limited.GauntletMini; -import forge.limited.ThemedChaosDraft; import forge.localinstance.achievements.*; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.planarconquest.ConquestController; -import forge.planarconquest.ConquestPlane; -import forge.planarconquest.ConquestPreferences; -import forge.planarconquest.ConquestUtil; import forge.player.GamePlayerUtil; -import forge.quest.QuestController; -import forge.quest.QuestWorld; -import forge.quest.data.QuestPreferences; -import forge.tournament.TournamentData; import forge.util.CardTranslation; import forge.util.FileUtil; import forge.util.Lang; diff --git a/forge-gui/src/main/java/forge/model/MetaSet.java b/forge-gui/src/main/java/forge/model/MetaSet.java index 9b977d4e647..1b9d68fbffc 100644 --- a/forge-gui/src/main/java/forge/model/MetaSet.java +++ b/forge-gui/src/main/java/forge/model/MetaSet.java @@ -20,13 +20,13 @@ package forge.model; import com.google.common.base.Predicate; +import forge.gamemodes.limited.CustomLimited; +import forge.gamemodes.limited.SealedCardPoolGenerator; import forge.item.IPaperCard; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.IUnOpenedProduct; import forge.item.generation.UnOpenedProduct; -import forge.limited.CustomLimited; -import forge.limited.SealedCardPoolGenerator; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/net/client/IToServer.java b/forge-gui/src/main/java/forge/net/client/IToServer.java deleted file mode 100644 index 9f69092a186..00000000000 --- a/forge-gui/src/main/java/forge/net/client/IToServer.java +++ /dev/null @@ -1,6 +0,0 @@ -package forge.net.client; - -import forge.net.IRemote; - -public interface IToServer extends IRemote { -} diff --git a/forge-gui/src/main/java/forge/net/client/package-info.java b/forge-gui/src/main/java/forge/net/client/package-info.java deleted file mode 100644 index 7747d9eabb7..00000000000 --- a/forge-gui/src/main/java/forge/net/client/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package forge.net.client; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/net/event/package-info.java b/forge-gui/src/main/java/forge/net/event/package-info.java deleted file mode 100644 index b6f2560b69e..00000000000 --- a/forge-gui/src/main/java/forge/net/event/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package forge.net.event; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/net/package-info.java b/forge-gui/src/main/java/forge/net/package-info.java deleted file mode 100644 index 3d560a403f2..00000000000 --- a/forge-gui/src/main/java/forge/net/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package forge.net; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/net/server/IToClient.java b/forge-gui/src/main/java/forge/net/server/IToClient.java deleted file mode 100644 index f5ca229fe3d..00000000000 --- a/forge-gui/src/main/java/forge/net/server/IToClient.java +++ /dev/null @@ -1,6 +0,0 @@ -package forge.net.server; - -import forge.net.IRemote; - -public interface IToClient extends IRemote { -} diff --git a/forge-gui/src/main/java/forge/net/server/package-info.java b/forge-gui/src/main/java/forge/net/server/package-info.java deleted file mode 100644 index 346f318f84b..00000000000 --- a/forge-gui/src/main/java/forge/net/server/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package forge.net.server; \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/player/HumanCostDecision.java b/forge-gui/src/main/java/forge/player/HumanCostDecision.java index f44f4e561a3..2e589bce30e 100644 --- a/forge-gui/src/main/java/forge/player/HumanCostDecision.java +++ b/forge-gui/src/main/java/forge/player/HumanCostDecision.java @@ -33,9 +33,9 @@ import forge.game.player.PlayerView; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; import forge.game.zone.ZoneType; -import forge.match.input.InputConfirm; -import forge.match.input.InputSelectCardsFromList; -import forge.match.input.InputSelectManyBase; +import forge.gamemodes.match.input.InputConfirm; +import forge.gamemodes.match.input.InputSelectCardsFromList; +import forge.gamemodes.match.input.InputSelectManyBase; import forge.util.Aggregates; import forge.util.TextUtil; import forge.util.collect.FCollectionView; diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index 21ab3cb1680..b43a133d838 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -22,9 +22,9 @@ import forge.game.player.PlayerView; import forge.game.spellability.*; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; -import forge.match.input.InputPayMana; -import forge.match.input.InputPayManaOfCostPayment; -import forge.match.input.InputSelectCardsFromList; +import forge.gamemodes.match.input.InputPayMana; +import forge.gamemodes.match.input.InputPayManaOfCostPayment; +import forge.gamemodes.match.input.InputSelectCardsFromList; import forge.util.TextUtil; import forge.util.collect.FCollectionView; import forge.util.gui.SGuiChoose; diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 39ee45e5cb1..1599820d63e 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -61,6 +61,8 @@ import forge.game.zone.MagicStack; import forge.game.zone.PlayerZone; import forge.game.zone.Zone; import forge.game.zone.ZoneType; +import forge.gamemodes.match.NextGameDecision; +import forge.gamemodes.match.input.*; import forge.interfaces.IDevModeCheats; import forge.interfaces.IGameController; import forge.interfaces.IGuiGame; @@ -71,8 +73,6 @@ import forge.localinstance.achievements.AchievementCollection; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences.FPref; -import forge.match.NextGameDecision; -import forge.match.input.*; import forge.model.FModel; import forge.util.CardTranslation; import forge.util.ITriggerEvent; diff --git a/forge-gui/src/main/java/forge/player/TargetSelection.java b/forge-gui/src/main/java/forge/player/TargetSelection.java index dcaddb0ab28..6102dccc761 100644 --- a/forge-gui/src/main/java/forge/player/TargetSelection.java +++ b/forge-gui/src/main/java/forge/player/TargetSelection.java @@ -37,7 +37,7 @@ import forge.game.spellability.StackItemView; import forge.game.spellability.TargetRestrictions; import forge.game.zone.Zone; import forge.game.zone.ZoneType; -import forge.match.input.InputSelectTargets; +import forge.gamemodes.match.input.InputSelectTargets; import forge.util.Aggregates; import java.util.ArrayList; diff --git a/forge-gui/src/main/java/forge/quest/bazaar/package-info.java b/forge-gui/src/main/java/forge/quest/bazaar/package-info.java deleted file mode 100644 index 3721f2ec75f..00000000000 --- a/forge-gui/src/main/java/forge/quest/bazaar/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.quest.bazaar; - diff --git a/forge-gui/src/main/java/forge/quest/data/package-info.java b/forge-gui/src/main/java/forge/quest/data/package-info.java deleted file mode 100644 index d825a8d5923..00000000000 --- a/forge-gui/src/main/java/forge/quest/data/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.quest.data; - diff --git a/forge-gui/src/main/java/forge/quest/io/package-info.java b/forge-gui/src/main/java/forge/quest/io/package-info.java deleted file mode 100644 index b53092c935e..00000000000 --- a/forge-gui/src/main/java/forge/quest/io/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.quest.io; - diff --git a/forge-gui/src/main/java/forge/quest/package-info.java b/forge-gui/src/main/java/forge/quest/package-info.java deleted file mode 100644 index c56b40d7644..00000000000 --- a/forge-gui/src/main/java/forge/quest/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.quest; - From fe76d8b934297ad327ac833db12a09b20f030248 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Fri, 5 Mar 2021 12:21:26 -0300 Subject: [PATCH 21/32] refactor: group gui-related packages This is just a first step... Probably there are many other classes that should be either completely added here, or decomposed and partially added here. --- .../src/main/java/forge/GuiDesktop.java | 7 ++-- .../src/main/java/forge/ImageCache.java | 1 + .../src/main/java/forge/ImageLoader.java | 2 +- .../src/main/java/forge/Singletons.java | 1 + .../src/main/java/forge/control/FControl.java | 4 +-- .../java/forge/deckchooser/FDeckChooser.java | 4 +-- .../java/forge/download/GuiDownloader.java | 3 +- .../java/forge/error/BugReportDialog.java | 1 + .../main/java/forge/gui/CardDetailPanel.java | 4 +-- .../main/java/forge/gui/CardPicturePanel.java | 1 - .../src/main/java/forge/gui/GuiChoose.java | 1 - .../src/main/java/forge/gui/GuiDialog.java | 1 - .../src/main/java/forge/gui/ImportDialog.java | 3 +- .../src/main/java/forge/gui/ListChooser.java | 1 - .../forge/gui/framework/SDisplayUtil.java | 2 +- .../java/forge/gui/framework/SLayoutIO.java | 4 +-- .../java/forge/itemmanager/DeckManager.java | 6 ++-- .../java/forge/itemmanager/ItemManager.java | 2 +- .../filters/AdvancedSearchFilter.java | 4 +-- .../itemmanager/filters/CardSearchFilter.java | 2 +- .../itemmanager/filters/StatTypeFilter.java | 2 +- .../filters/ToggleButtonsFilter.java | 2 +- .../filters/TokenSearchFilter.java | 3 +- .../forge/itemmanager/views/StarRenderer.java | 2 +- .../java/forge/screens/bazaar/VBazaarUI.java | 4 +-- .../deckeditor/AddBasicLandsDialog.java | 2 +- .../screens/deckeditor/CDeckEditorUI.java | 2 +- .../deckeditor/controllers/ACEditorBase.java | 3 +- .../deckeditor/controllers/CCurrentDeck.java | 2 +- .../deckeditor/controllers/CDeckgen.java | 2 +- .../controllers/CEditorCommander.java | 3 +- .../controllers/CEditorConstructed.java | 3 +- .../controllers/CEditorLimited.java | 3 +- .../deckeditor/controllers/CEditorQuest.java | 3 +- .../controllers/CEditorQuestCardShop.java | 2 +- .../controllers/CEditorQuestLimited.java | 3 +- .../controllers/CEditorVariant.java | 3 +- .../controllers/CEditorWinstonProcess.java | 2 +- .../controllers/CProbabilities.java | 2 +- .../java/forge/screens/home/PlayerPanel.java | 4 +-- .../main/java/forge/screens/home/VHomeUI.java | 2 +- .../main/java/forge/screens/home/VLobby.java | 9 ++--- .../home/gauntlet/CSubmenuGauntletBuild.java | 2 +- .../home/gauntlet/CSubmenuGauntletLoad.java | 2 +- .../home/gauntlet/ContestGauntletLister.java | 4 +-- .../home/gauntlet/QuickGauntletLister.java | 8 ++--- .../home/online/CSubmenuOnlineLobby.java | 6 ++-- .../home/online/VSubmenuOnlineLobby.java | 4 +-- .../home/puzzle/CSubmenuPuzzleCreate.java | 7 ++-- .../home/puzzle/CSubmenuPuzzleSolve.java | 6 ++-- .../screens/home/puzzle/CSubmenuTutorial.java | 6 ++-- .../home/quest/CSubmenuChallenges.java | 6 ++-- .../screens/home/quest/CSubmenuDuels.java | 6 ++-- .../home/quest/CSubmenuQuestDecks.java | 6 ++-- .../home/quest/CSubmenuQuestDraft.java | 2 +- .../home/quest/CSubmenuQuestLoadData.java | 6 ++-- .../home/quest/CSubmenuQuestPrefs.java | 4 +-- .../home/quest/CSubmenuQuestStart.java | 6 ++-- .../quest/DialogChoosePoolDistribution.java | 2 +- .../screens/home/quest/QuestFileLister.java | 8 ++--- .../screens/home/quest/VSubmenuDuels.java | 2 +- .../home/quest/VSubmenuQuestDraft.java | 2 +- .../forge/screens/home/quest/ViewItem.java | 4 +-- .../home/sanctioned/CSubmenuDraft.java | 8 ++--- .../home/sanctioned/CSubmenuSealed.java | 8 ++--- .../home/sanctioned/CSubmenuWinston.java | 8 ++--- .../home/settings/CSubmenuAchievements.java | 4 +-- .../home/settings/CSubmenuDownloaders.java | 15 +++++--- .../home/settings/CSubmenuPreferences.java | 6 ++-- .../home/settings/CSubmenuReleaseNotes.java | 4 +-- .../home/settings/VSubmenuAvatars.java | 2 +- .../home/settings/VSubmenuDownloaders.java | 2 +- .../java/forge/screens/match/CMatchUI.java | 6 ++-- .../java/forge/screens/match/VAutoYields.java | 2 +- .../java/forge/screens/match/ViewWinLose.java | 4 +-- .../match/controllers/CDetailPicture.java | 2 +- .../screens/match/controllers/CDock.java | 2 +- .../screens/match/controllers/CHand.java | 2 +- .../forge/screens/match/controllers/CLog.java | 2 +- .../screens/match/controllers/CPrompt.java | 2 +- .../java/forge/screens/match/views/VDock.java | 2 +- .../forge/screens/match/views/VStack.java | 4 +-- .../workshop/controllers/CCardScript.java | 4 +-- .../src/main/java/forge/toolbox/FButton.java | 4 +-- .../main/java/forge/toolbox/FCheckBox.java | 2 +- .../main/java/forge/toolbox/FComboBox.java | 2 +- .../java/forge/toolbox/FComboBoxWrapper.java | 2 +- .../main/java/forge/toolbox/FHyperlink.java | 2 +- .../src/main/java/forge/toolbox/FLabel.java | 14 ++++---- .../src/main/java/forge/toolbox/FPanel.java | 6 ++-- .../java/forge/toolbox/FPasswordField.java | 2 +- .../main/java/forge/toolbox/FProgressBar.java | 5 +-- .../src/main/java/forge/toolbox/FSkin.java | 2 +- .../main/java/forge/toolbox/FTextField.java | 2 +- .../src/main/java/forge/view/FView.java | 2 +- .../src/main/java/forge/view/Main.java | 4 +-- .../java/forge/view/arcane/CardPanel.java | 2 +- .../forge/view/arcane/CardPanelContainer.java | 2 +- .../java/forge/view/arcane/FloatingZone.java | 2 +- .../main/java/forge/view/arcane/PlayArea.java | 2 +- .../src/test/java/forge/CardRankerTest.java | 1 + .../java/forge/GuiDownloadPicturesLQTest.java | 2 +- .../forge/GuiDownloadSetPicturesLQTest.java | 2 +- .../src/test/java/forge/PanelTest.java | 4 +-- .../ai/simulation/SimulationTestCase.java | 2 +- .../test/java/forge/item/DeckHintsTest.java | 2 +- .../PlanarConquestCommanderGeneraterGA.java | 3 +- .../PlanarConquestGeneraterGA.java | 3 +- .../PlanarConquestGeneraterGAModern.java | 3 +- .../PlanarConquestGeneraterGAStandard.java | 3 +- .../PlanarConquestTribalGeneraterGA.java | 3 +- .../src/forge/CachedCardImage.java | 1 + forge-gui-mobile/src/forge/Forge.java | 4 ++- forge-gui-mobile/src/forge/GuiMobile.java | 6 ++-- .../src/forge/assets/AssetsDownloader.java | 8 +++-- .../src/forge/assets/FBufferedImage.java | 2 +- forge-gui-mobile/src/forge/assets/FSkin.java | 2 +- .../src/forge/assets/FSkinFont.java | 2 +- .../src/forge/assets/ImageLoader.java | 2 +- .../src/forge/card/CardFaceSymbols.java | 3 +- .../src/forge/card/CardImageRenderer.java | 3 +- .../src/forge/card/CardRenderer.java | 5 +-- .../src/forge/deck/FDeckChooser.java | 8 ++--- .../src/forge/deck/FDeckEditor.java | 2 +- .../src/forge/deck/FDeckImportDialog.java | 4 +-- .../src/forge/error/BugReportDialog.java | 1 + .../src/forge/itemmanager/ItemManager.java | 2 +- .../filters/AdvancedSearchFilter.java | 2 +- .../src/forge/menu/FMenuItem.java | 4 +-- .../src/forge/screens/FScreen.java | 2 +- .../src/forge/screens/LoadingOverlay.java | 2 +- .../screens/constructed/LobbyScreen.java | 6 ++-- .../screens/gauntlet/LoadGauntletScreen.java | 4 +-- .../screens/home/puzzle/PuzzleScreen.java | 2 +- .../limited/DraftingProcessScreen.java | 2 +- .../screens/limited/LoadDraftScreen.java | 7 ++-- .../screens/limited/LoadSealedScreen.java | 6 ++-- .../forge/screens/limited/NewDraftScreen.java | 4 +-- .../screens/limited/NewSealedScreen.java | 2 +- .../forge/screens/match/MatchController.java | 8 ++--- .../src/forge/screens/match/MatchScreen.java | 2 +- .../screens/match/views/VCardDisplayArea.java | 4 +-- .../src/forge/screens/match/views/VField.java | 2 +- .../src/forge/screens/match/views/VStack.java | 6 ++-- .../match/winlose/GauntletWinLose.java | 21 ++---------- .../screens/match/winlose/ViewWinLose.java | 10 +++--- .../screens/online/OnlineLobbyScreen.java | 9 ++--- .../ConquestCollectionScreen.java | 2 +- .../ConquestMultiverseScreen.java | 6 ++-- .../planarconquest/ConquestStatsScreen.java | 2 +- .../planarconquest/LoadConquestScreen.java | 4 +-- .../planarconquest/NewConquestScreen.java | 2 +- .../forge/screens/quest/LoadQuestScreen.java | 5 +-- .../forge/screens/quest/NewQuestScreen.java | 6 ++-- .../screens/quest/QuestBazaarScreen.java | 2 +- .../screens/quest/QuestChallengesScreen.java | 2 +- .../forge/screens/quest/QuestDecksScreen.java | 3 +- .../forge/screens/quest/QuestDuelsScreen.java | 5 +-- .../screens/quest/QuestLaunchScreen.java | 2 +- .../src/forge/screens/quest/QuestMenu.java | 8 ++--- .../screens/quest/QuestSpellShopScreen.java | 3 +- .../forge/screens/quest/QuestStatsScreen.java | 6 ++-- .../screens/quest/QuestTournamentsScreen.java | 4 +-- .../src/forge/screens/settings/FilesPage.java | 7 ++++ .../forge/screens/settings/GuiDownloader.java | 6 ++-- .../forge/screens/settings/SettingsPage.java | 2 +- .../src/forge/toolbox/FButton.java | 4 +-- .../src/forge/toolbox/FCheckBox.java | 2 +- .../src/forge/toolbox/FComboBox.java | 2 +- .../src/forge/toolbox/FContainer.java | 2 +- .../src/forge/toolbox/FLabel.java | 4 +-- .../src/forge/toolbox/FOverlay.java | 2 +- .../src/forge/toolbox/FProgressBar.java | 2 +- .../src/forge/toolbox/FTextField.java | 2 +- .../src/forge/toolbox/ListChooser.java | 2 +- .../src/forge/util/LibGDXImageFetcher.java | 2 +- .../java/forge/deck/DeckImportController.java | 6 ++-- .../src/main/java/forge/deck/DeckgenUtil.java | 2 +- .../java/forge/deck/NetDeckArchiveLegacy.java | 6 ++-- .../java/forge/deck/NetDeckArchiveModern.java | 6 ++-- .../forge/deck/NetDeckArchivePioneer.java | 6 ++-- .../forge/deck/NetDeckArchiveStandard.java | 6 ++-- .../forge/deck/NetDeckArchiveVintage.java | 6 ++-- .../main/java/forge/deck/NetDeckCategory.java | 6 ++-- .../main/java/forge/download/AutoUpdater.java | 7 ++-- .../java/forge/error/ExceptionHandler.java | 1 + .../gamemodes/gauntlet/GauntletData.java | 2 +- .../forge/gamemodes/gauntlet/GauntletIO.java | 3 +- .../gauntlet/GauntletWinLoseController.java | 4 +-- .../forge/gamemodes/limited/BoosterDraft.java | 4 +-- .../forge/gamemodes/limited/CardRanker.java | 6 +++- .../limited/CardThemedDeckBuilder.java | 7 +++- .../forge/gamemodes/limited/GauntletMini.java | 2 +- .../limited/LimitedWinLoseController.java | 4 +-- .../limited/SealedCardPoolGenerator.java | 4 +-- .../gamemodes/match/AbstractGuiGame.java | 8 ++--- .../java/forge/gamemodes/match/GameLobby.java | 6 ++-- .../forge/gamemodes/match/HostedMatch.java | 22 ++++++------ .../forge/gamemodes/match/LocalLobby.java | 4 +-- .../gamemodes/match/input/InputAttack.java | 3 +- .../gamemodes/match/input/InputBlock.java | 4 +-- .../gamemodes/match/input/InputConfirm.java | 2 +- .../gamemodes/match/input/InputLockUI.java | 2 +- .../gamemodes/match/input/InputPayMana.java | 4 +-- .../match/input/InputPlaybackControl.java | 2 +- .../gamemodes/match/input/InputProxy.java | 2 +- .../input/InputSelectEntitiesFromList.java | 2 +- .../match/input/InputSelectTargets.java | 2 +- .../match/input/InputSyncronizedBase.java | 4 +-- .../net/CompatibleObjectDecoder.java | 3 +- .../net/CompatibleObjectEncoder.java | 3 +- .../gamemodes/net/GameProtocolHandler.java | 4 +-- .../forge/gamemodes/net/IOnlineLobby.java | 2 +- .../forge/gamemodes/net/NetConnectUtil.java | 8 ++--- .../forge/gamemodes/net/OfflineLobby.java | 2 +- .../forge/gamemodes/net/ProtocolMethod.java | 5 +-- .../gamemodes/net/client/ClientGameLobby.java | 2 +- .../gamemodes/net/client/FGameClient.java | 2 +- .../net/client/GameClientHandler.java | 2 +- .../gamemodes/net/server/FServerManager.java | 4 +-- .../gamemodes/net/server/ServerGameLobby.java | 2 +- .../planarconquest/ConquestBattle.java | 6 ++-- .../planarconquest/ConquestChaosBattle.java | 6 ++-- .../planarconquest/ConquestController.java | 10 +++--- .../planarconquest/ConquestData.java | 2 +- .../planarconquest/ConquestEvent.java | 2 +- .../planarconquest/ConquestRegion.java | 2 +- .../planarconquest/ConquestUtil.java | 10 ++++-- .../planarconquest/IVConquestStats.java | 2 +- .../forge/gamemodes/quest/BoosterUtils.java | 8 ++++- .../gamemodes/quest/IQuestTournamentView.java | 2 +- .../forge/gamemodes/quest/IVQuestStats.java | 6 ++-- .../gamemodes/quest/QuestDraftUtils.java | 4 +-- .../gamemodes/quest/QuestEventDraft.java | 2 +- .../forge/gamemodes/quest/QuestSpellShop.java | 6 ++-- .../quest/QuestTournamentController.java | 8 ++--- .../java/forge/gamemodes/quest/QuestUtil.java | 12 +++---- .../forge/gamemodes/quest/QuestUtilCards.java | 2 ++ .../gamemodes/quest/QuestUtilUnlockSets.java | 6 ++-- .../quest/QuestWinLoseController.java | 7 ++-- .../quest/StartingPoolPreferences.java | 4 +-- .../quest/bazaar/QuestItemBasic.java | 2 +- .../quest/bazaar/QuestPetController.java | 2 +- .../gamemodes/tournament/TournamentData.java | 3 +- .../TournamentWinLoseController.java | 4 +-- .../main/java/forge/{ => gui}/FThreads.java | 2 +- .../main/java/forge/{ => gui}/GuiBase.java | 4 +-- .../main/java/forge/{ => gui}/UiCommand.java | 2 +- .../forge/{ => gui}/card/CardDetailUtil.java | 8 ++++- .../forge/{ => gui}/card/CardPreferences.java | 2 +- .../{ => gui}/card/CardReaderExperiments.java | 3 +- .../forge/{ => gui}/card/CardScriptInfo.java | 2 +- .../{ => gui}/card/CardScriptParser.java | 3 +- .../forge/{ => gui}/control/ChatArea.java | 2 +- .../control/FControlGameEventHandler.java | 6 ++-- .../control/FControlGamePlayback.java | 4 +-- .../{ => gui}/control/WatchLocalGame.java | 4 +-- .../forge/{ => gui}/control/package-info.java | 2 +- .../GuiDownloadAchievementImages.java | 2 +- .../download/GuiDownloadPicturesHQ.java | 2 +- .../download/GuiDownloadPicturesLQ.java | 2 +- .../{ => gui}/download/GuiDownloadPrices.java | 2 +- .../download/GuiDownloadQuestImages.java | 2 +- .../download/GuiDownloadService.java | 16 ++++----- .../download/GuiDownloadSetPicturesLQ.java | 2 +- .../{ => gui}/download/GuiDownloadSkins.java | 2 +- .../download/GuiDownloadZipService.java | 8 ++--- .../forge/{ => gui}/error/BugReporter.java | 8 ++--- .../{ => gui}/events/IUiEventVisitor.java | 2 +- .../java/forge/{ => gui}/events/UiEvent.java | 2 +- .../events/UiEventAttackerDeclared.java | 2 +- .../events/UiEventBlockerAssigned.java | 2 +- .../events/UiEventNextGameDecision.java | 2 +- .../forge/{ => gui}/interfaces/IButton.java | 4 +-- .../forge/{ => gui}/interfaces/ICheckBox.java | 2 +- .../forge/{ => gui}/interfaces/IComboBox.java | 2 +- .../{ => gui}/interfaces/IComponent.java | 2 +- .../forge/{ => gui}/interfaces/IGuiBase.java | 4 +-- .../forge/{ => gui}/interfaces/IGuiGame.java | 3 +- .../{ => gui}/interfaces/ILobbyView.java | 5 ++- .../{ => gui}/interfaces/IMayViewCards.java | 2 +- .../{ => gui}/interfaces/IProgressBar.java | 2 +- .../{ => gui}/interfaces/ITextComponent.java | 2 +- .../{ => gui}/interfaces/ITextField.java | 2 +- .../{ => gui}/interfaces/IWinLoseView.java | 2 +- .../{util/gui => gui/util}/SGuiChoose.java | 4 +-- .../{util/gui => gui/util}/SOptionPane.java | 4 +-- .../forge/itemmanager/AdvancedSearch.java | 12 +++---- .../java/forge/itemmanager/ColumnDef.java | 12 ++++++- .../java/forge/itemmanager/SFilterUtil.java | 9 +++-- .../forge/itemmanager/SItemManagerUtil.java | 5 +-- .../achievements/Achievement.java | 2 +- .../achievements/AchievementCollection.java | 4 +-- .../PlaneswalkerAchievements.java | 2 +- .../properties/ForgeConstants.java | 2 +- .../properties/ForgeProfileProperties.java | 2 +- .../src/main/java/forge/model/FModel.java | 6 ++-- .../main/java/forge/model/UnOpenedMeta.java | 2 +- .../java/forge/player/GamePlayerUtil.java | 4 +-- .../java/forge/player/HumanCostDecision.java | 2 +- .../src/main/java/forge/player/HumanPlay.java | 5 +-- .../forge/player/PlayerControllerHuman.java | 34 +++++++++++-------- .../java/forge/sound/EventVisualizer.java | 8 ++--- .../main/java/forge/sound/SoundSystem.java | 4 +-- .../main/java/forge/util/ImageFetcher.java | 3 +- .../main/java/forge/util/OperatingSystem.java | 2 +- .../main/java/forge/util/WaitCallback.java | 2 +- .../main/java/forge/util/WaitRunnable.java | 2 +- 308 files changed, 667 insertions(+), 560 deletions(-) rename forge-gui/src/main/java/forge/{ => gui}/FThreads.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/GuiBase.java (96%) rename forge-gui/src/main/java/forge/{ => gui}/UiCommand.java (97%) rename forge-gui/src/main/java/forge/{ => gui}/card/CardDetailUtil.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/card/CardPreferences.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/card/CardReaderExperiments.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/card/CardScriptInfo.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/card/CardScriptParser.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/control/ChatArea.java (83%) rename forge-gui/src/main/java/forge/{ => gui}/control/FControlGameEventHandler.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/control/FControlGamePlayback.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/control/WatchLocalGame.java (97%) rename forge-gui/src/main/java/forge/{ => gui}/control/package-info.java (68%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadAchievementImages.java (97%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadPicturesHQ.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadPicturesLQ.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadPrices.java (97%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadQuestImages.java (98%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadService.java (98%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadSetPicturesLQ.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadSkins.java (95%) rename forge-gui/src/main/java/forge/{ => gui}/download/GuiDownloadZipService.java (98%) rename forge-gui/src/main/java/forge/{ => gui}/error/BugReporter.java (98%) rename forge-gui/src/main/java/forge/{ => gui}/events/IUiEventVisitor.java (86%) rename forge-gui/src/main/java/forge/{ => gui}/events/UiEvent.java (84%) rename forge-gui/src/main/java/forge/{ => gui}/events/UiEventAttackerDeclared.java (96%) rename forge-gui/src/main/java/forge/{ => gui}/events/UiEventBlockerAssigned.java (94%) rename forge-gui/src/main/java/forge/{ => gui}/events/UiEventNextGameDecision.java (96%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IButton.java (84%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/ICheckBox.java (78%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IComboBox.java (88%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IComponent.java (87%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IGuiBase.java (97%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IGuiGame.java (99%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/ILobbyView.java (53%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IMayViewCards.java (96%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IProgressBar.java (90%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/ITextComponent.java (78%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/ITextField.java (75%) rename forge-gui/src/main/java/forge/{ => gui}/interfaces/IWinLoseView.java (93%) rename forge-gui/src/main/java/forge/{util/gui => gui/util}/SGuiChoose.java (99%) rename forge-gui/src/main/java/forge/{util/gui => gui/util}/SOptionPane.java (98%) diff --git a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java index fa9b06a8d82..e9e0f8cb723 100644 --- a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java +++ b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java @@ -2,17 +2,18 @@ package forge; import com.google.common.base.Function; -import forge.download.GuiDownloadService; import forge.download.GuiDownloader; import forge.error.BugReportDialog; import forge.gamemodes.match.HostedMatch; import forge.gui.BoxedProductCardListViewer; import forge.gui.CardListChooser; import forge.gui.CardListViewer; +import forge.gui.FThreads; import forge.gui.GuiChoose; +import forge.gui.download.GuiDownloadService; import forge.gui.framework.FScreen; -import forge.interfaces.IGuiBase; -import forge.interfaces.IGuiGame; +import forge.gui.interfaces.IGuiBase; +import forge.gui.interfaces.IGuiGame; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui-desktop/src/main/java/forge/ImageCache.java b/forge-gui-desktop/src/main/java/forge/ImageCache.java index 7e4df457229..343ca853b22 100644 --- a/forge-gui-desktop/src/main/java/forge/ImageCache.java +++ b/forge-gui-desktop/src/main/java/forge/ImageCache.java @@ -24,6 +24,7 @@ import com.mortennobel.imagescaling.ResampleOp; import forge.game.card.CardView; import forge.game.player.PlayerView; +import forge.gui.FThreads; import forge.item.InventoryItem; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui-desktop/src/main/java/forge/ImageLoader.java b/forge-gui-desktop/src/main/java/forge/ImageLoader.java index 15b74700baa..f29f93cfeb3 100644 --- a/forge-gui-desktop/src/main/java/forge/ImageLoader.java +++ b/forge-gui-desktop/src/main/java/forge/ImageLoader.java @@ -2,7 +2,7 @@ package forge; import com.google.common.cache.CacheLoader; -import forge.error.BugReporter; +import forge.gui.error.BugReporter; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; diff --git a/forge-gui-desktop/src/main/java/forge/Singletons.java b/forge-gui-desktop/src/main/java/forge/Singletons.java index 84d3972f765..8e1321f8611 100644 --- a/forge-gui-desktop/src/main/java/forge/Singletons.java +++ b/forge-gui-desktop/src/main/java/forge/Singletons.java @@ -18,6 +18,7 @@ package forge; import forge.control.FControl; +import forge.gui.FThreads; import forge.model.FModel; import forge.view.FView; diff --git a/forge-gui-desktop/src/main/java/forge/control/FControl.java b/forge-gui-desktop/src/main/java/forge/control/FControl.java index e3f46f89a22..fb28631f2cf 100644 --- a/forge-gui-desktop/src/main/java/forge/control/FControl.java +++ b/forge-gui-desktop/src/main/java/forge/control/FControl.java @@ -40,19 +40,20 @@ import javax.swing.WindowConstants; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import forge.GuiBase; import forge.ImageCache; import forge.LobbyPlayer; import forge.Singletons; import forge.gamemodes.match.HostedMatch; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.QuestDataIO; +import forge.gui.GuiBase; import forge.gui.SOverlayUtils; import forge.gui.framework.FScreen; import forge.gui.framework.InvalidLayoutFileException; import forge.gui.framework.SLayoutIO; import forge.gui.framework.SOverflowUtil; import forge.gui.framework.SResizingUtil; +import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; @@ -65,7 +66,6 @@ import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; import forge.util.Localizer; import forge.util.RestartUtil; -import forge.util.gui.SOptionPane; import forge.view.FFrame; import forge.view.FView; diff --git a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java index ff86d0daa05..1d1c7e1be59 100644 --- a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java +++ b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java @@ -19,14 +19,14 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableList; -import forge.FThreads; -import forge.UiCommand; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEvent; import forge.gamemodes.quest.QuestEventChallenge; import forge.gamemodes.quest.QuestUtil; +import forge.gui.FThreads; +import forge.gui.UiCommand; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerContainer; diff --git a/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java b/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java index fcec51ced98..f11ce5b0b33 100644 --- a/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java +++ b/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java @@ -25,8 +25,9 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import net.miginfocom.swing.MigLayout; -import forge.UiCommand; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; +import forge.gui.download.GuiDownloadService; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FButton; import forge.toolbox.FLabel; diff --git a/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java b/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java index c114918bfdb..0e5b246e9c2 100644 --- a/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java +++ b/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java @@ -40,6 +40,7 @@ import javax.swing.KeyStroke; import forge.model.FModel; import net.miginfocom.swing.MigLayout; import forge.gui.WrapLayout; +import forge.gui.error.BugReporter; import forge.localinstance.properties.ForgePreferences; /** diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java index ed08ae5effb..c758ec716d2 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java @@ -30,8 +30,6 @@ import javax.swing.border.EmptyBorder; import org.apache.commons.lang3.StringUtils; -import forge.card.CardDetailUtil; -import forge.card.CardDetailUtil.DetailColors; import forge.card.CardEdition; import forge.card.CardRarity; import forge.game.GameView; @@ -39,6 +37,8 @@ import forge.game.card.Card; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; import forge.game.zone.ZoneType; +import forge.gui.card.CardDetailUtil; +import forge.gui.card.CardDetailUtil.DetailColors; import forge.item.IPaperCard; import forge.item.InventoryItemFromSet; import forge.model.FModel; diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java index 7506748935a..6b39497080e 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java @@ -17,7 +17,6 @@ */ package forge.gui; -import forge.GuiBase; import forge.ImageCache; import forge.ImageKeys; import forge.game.card.CardView.CardStateView; diff --git a/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java b/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java index 0e202b6693a..1895456ecf7 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java +++ b/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java @@ -19,7 +19,6 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.base.Function; -import forge.FThreads; import forge.card.ICardFace; import forge.game.card.Card; import forge.game.card.CardView; diff --git a/forge-gui-desktop/src/main/java/forge/gui/GuiDialog.java b/forge-gui-desktop/src/main/java/forge/gui/GuiDialog.java index 6924ba602ae..1dee99d0675 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/GuiDialog.java +++ b/forge-gui-desktop/src/main/java/forge/gui/GuiDialog.java @@ -9,7 +9,6 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableList; -import forge.FThreads; import forge.game.card.CardView; import forge.screens.match.CMatchUI; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java b/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java index f26358243c8..8a753d90e88 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java @@ -58,9 +58,8 @@ import org.apache.commons.lang3.tuple.Pair; import com.google.common.collect.ImmutableList; -import forge.UiCommand; -import forge.error.BugReporter; import forge.gui.ImportSourceAnalyzer.OpType; +import forge.gui.error.BugReporter; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FButton; diff --git a/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java b/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java index b7cf5954534..670877951ef 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java @@ -40,7 +40,6 @@ import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import forge.FThreads; import forge.toolbox.FList; import forge.toolbox.FMouseAdapter; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SDisplayUtil.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SDisplayUtil.java index 0527359adf8..487980aeab3 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SDisplayUtil.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SDisplayUtil.java @@ -17,7 +17,7 @@ import java.util.TimerTask; import javax.swing.JPanel; import javax.swing.SwingUtilities; -import forge.FThreads; +import forge.gui.FThreads; import forge.view.FFrame; /** diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java index 3da48e447cb..7973d72b82a 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SLayoutIO.java @@ -26,9 +26,10 @@ import javax.xml.stream.events.Attribute; import javax.xml.stream.events.StartElement; import javax.xml.stream.events.XMLEvent; -import forge.FThreads; import forge.Singletons; +import forge.gui.FThreads; import forge.gui.SOverlayUtils; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.FileLocation; import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FAbsolutePositioner; @@ -36,7 +37,6 @@ import forge.toolbox.SaveOpenDialog; import forge.toolbox.SaveOpenDialog.Filetypes; import forge.util.CollectionSuppliers; import forge.util.ThreadUtil; -import forge.util.gui.SOptionPane; import forge.util.maps.HashMapOfLists; import forge.util.maps.MapOfLists; import forge.view.FFrame; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index efba3454986..f3cda6bfe15 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -19,7 +19,6 @@ import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; import forge.Singletons; -import forge.UiCommand; import forge.deck.DeckBase; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; @@ -28,6 +27,7 @@ import forge.game.GameType; import forge.game.IHasGameType; import forge.gamemodes.quest.QuestWorld; import forge.gui.GuiUtils; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.item.InventoryItem; import forge.itemmanager.filters.AdvancedSearchFilter; @@ -121,7 +121,7 @@ public final class DeckManager extends ItemManager implements IHasGam /** * Sets the delete command. * - * @param c0   {@link forge.UiCommand} command executed on delete. + * @param c0   {@link forge.forge.gui.UiCommand} command executed on delete. */ public void setDeleteCommand(final UiCommand c0) { this.cmdDelete = c0; @@ -130,7 +130,7 @@ public final class DeckManager extends ItemManager implements IHasGam /** * Sets the select command. * - * @param c0   {@link forge.UiCommand} command executed on row select. + * @param c0   {@link forge.forge.gui.UiCommand} command executed on row select. */ public void setSelectCommand(final UiCommand c0) { this.cmdSelect = c0; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java index a6676f568bd..954210ad429 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java @@ -42,8 +42,8 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; -import forge.UiCommand; import forge.gui.GuiUtils; +import forge.gui.UiCommand; import forge.item.InventoryItem; import forge.itemmanager.filters.ItemFilter; import forge.itemmanager.views.ImageView; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java index 6884c9889dc..0657953673f 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java @@ -6,9 +6,9 @@ import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.MouseEvent; -import forge.UiCommand; import forge.gui.GuiUtils; -import forge.interfaces.IButton; +import forge.gui.UiCommand; +import forge.gui.interfaces.IButton; import forge.item.InventoryItem; import forge.itemmanager.AdvancedSearch; import forge.itemmanager.ItemManager; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java index 03e5c7b9621..20364aefde2 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java @@ -2,7 +2,7 @@ package forge.itemmanager.filters; import com.google.common.base.Predicate; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ItemManager; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java index 775cdaf496e..c0a2ec67a66 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java @@ -2,7 +2,7 @@ package forge.itemmanager.filters; import com.google.common.base.Predicates; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.item.InventoryItem; import forge.item.ItemPredicate; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ToggleButtonsFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ToggleButtonsFilter.java index 735cb0e459b..0edf3a54f8f 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ToggleButtonsFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ToggleButtonsFilter.java @@ -7,7 +7,7 @@ import java.util.List; import javax.swing.Icon; import javax.swing.JPanel; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.item.InventoryItem; import forge.itemmanager.ItemManager; import forge.toolbox.FLabel; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java index e1fd9d7c54e..947c4e0b402 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java @@ -1,7 +1,8 @@ package forge.itemmanager.filters; import com.google.common.base.Predicate; -import forge.UiCommand; + +import forge.gui.UiCommand; import forge.item.InventoryItem; import forge.item.PaperToken; import forge.itemmanager.ItemManager; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java index f1f7377d882..c8ff2130cab 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java @@ -17,7 +17,7 @@ */ package forge.itemmanager.views; -import forge.card.CardPreferences; +import forge.gui.card.CardPreferences; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.localinstance.assets.FSkinProp; diff --git a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java index 9e15ec5e64e..5f40c414b21 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java @@ -1,8 +1,8 @@ package forge.screens.bazaar; -import forge.GuiBase; -import forge.UiCommand; import forge.gamemodes.quest.bazaar.QuestBazaarManager; +import forge.gui.GuiBase; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.localinstance.assets.FSkinProp; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java index 42147fd5769..3ea5daa06b1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java @@ -35,7 +35,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import forge.ImageCache; import forge.StaticData; -import forge.UiCommand; import forge.card.CardEdition; import forge.card.CardRules; import forge.card.mana.ManaCostShard; @@ -43,6 +42,7 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckProxy; import forge.deck.DeckgenUtil; +import forge.gui.UiCommand; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java index be7750966f8..11c4a9f2a40 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java @@ -27,10 +27,10 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import forge.Singletons; -import forge.UiCommand; import forge.deck.DeckBase; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; +import forge.gui.UiCommand; import forge.gui.framework.EDocID; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java index c06569096a3..686d6a7e322 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java @@ -19,11 +19,12 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import forge.UiCommand; + import forge.deck.*; import forge.game.GameType; import forge.gui.GuiChoose; import forge.gui.GuiUtils; +import forge.gui.UiCommand; import forge.gui.framework.*; import forge.item.InventoryItem; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java index 96789fad97e..b1372fb92ef 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CCurrentDeck.java @@ -11,11 +11,11 @@ import javax.swing.SwingUtilities; import javax.swing.filechooser.FileFilter; import forge.Singletons; -import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java index f77822b3586..708bd0bdb2a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckgen.java @@ -5,7 +5,6 @@ import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import forge.Singletons; -import forge.UiCommand; import forge.card.CardDb; import forge.card.CardRulesPredicates; import forge.card.MagicColor; @@ -17,6 +16,7 @@ import forge.deck.generation.DeckGenerator3Color; import forge.deck.generation.DeckGenerator5Color; import forge.deck.generation.DeckGeneratorBase; import forge.deck.generation.DeckGeneratorMonoColor; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java index a6aff9b7132..b5dbf1c4062 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java @@ -20,7 +20,7 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.base.Supplier; -import forge.UiCommand; + import forge.card.CardDb; import forge.card.CardRules; import forge.card.CardRulesPredicates; @@ -28,6 +28,7 @@ import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameFormat; import forge.game.GameType; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java index ee7a4a4f4af..cb50eae61cb 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java @@ -20,13 +20,14 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.base.Supplier; -import forge.UiCommand; + import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.itemmanager.CardManager; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java index c35e194b880..c14653f6955 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java @@ -18,13 +18,14 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Supplier; -import forge.UiCommand; + import forge.card.CardEdition; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java index 57062e5df9a..3977d7bd78f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java @@ -21,7 +21,7 @@ import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.base.Supplier; -import forge.UiCommand; + import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.card.ColorSet; @@ -33,6 +33,7 @@ import forge.game.GameType; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gui.GuiUtils; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.InventoryItem; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java index f99cd92bd8e..6950471e104 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java @@ -17,12 +17,12 @@ */ package forge.screens.deckeditor.controllers; -import forge.UiCommand; import forge.deck.DeckBase; import forge.game.GameType; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestSpellShop; import forge.gamemodes.quest.QuestUtil; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java index 2658dca42a3..6e17f9407d0 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java @@ -19,13 +19,14 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Function; import com.google.common.base.Supplier; -import forge.UiCommand; + import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; import forge.game.GameType; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEventDraft; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.InventoryItem; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java index d1e59a6cf2c..e2d74900609 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java @@ -20,10 +20,11 @@ package forge.screens.deckeditor.controllers; import com.google.common.base.Predicate; import com.google.common.base.Supplier; import com.google.common.collect.Iterables; -import forge.UiCommand; + import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameType; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java index eb8b955f03e..33c6614d721 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java @@ -18,7 +18,6 @@ package forge.screens.deckeditor.controllers; import forge.Singletons; -import forge.UiCommand; import forge.card.MagicColor; import forge.deck.CardPool; import forge.deck.Deck; @@ -28,6 +27,7 @@ import forge.game.GameType; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.limited.IBoosterDraft; import forge.gamemodes.limited.WinstonDraft; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CProbabilities.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CProbabilities.java index 7a3fd676276..b70f8646192 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CProbabilities.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CProbabilities.java @@ -7,8 +7,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import forge.UiCommand; import forge.deck.DeckBase; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java index fc2310b87a0..e0287d6c23d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java @@ -23,13 +23,14 @@ import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; import forge.Singletons; -import forge.UiCommand; import forge.ai.AIOption; import forge.deck.DeckSection; import forge.game.GameType; import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences; @@ -51,7 +52,6 @@ import forge.toolbox.FSkin.SkinImage; import forge.toolbox.FTextField; import forge.util.MyRandom; import forge.util.NameGenerator; -import forge.util.gui.SOptionPane; import forge.util.Localizer; @SuppressWarnings("serial") diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java b/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java index 900bacdc7da..e02bf2fcddd 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java @@ -285,7 +285,7 @@ public enum VHomeUI implements IVTopLevelUI { } /* (non-Javadoc) - * @see forge.gui.framework.IVTopLevelUI#onClosing(forge.control.FControl.Screens) + * @see forge.gui.framework.IVTopLevelUI#onClosing(forge.gui.control.FControl.Screens) */ @Override public boolean onClosing(FScreen screen) { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index 97370fd3c05..57485fc0ecf 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -3,8 +3,7 @@ package forge.screens.home; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.GuiBase; -import forge.UiCommand; + import forge.ai.AIOption; import forge.deck.*; import forge.deckchooser.FDeckChooser; @@ -15,7 +14,10 @@ import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gui.CardDetailPanel; -import forge.interfaces.ILobbyView; +import forge.gui.GuiBase; +import forge.gui.UiCommand; +import forge.gui.interfaces.ILobbyView; +import forge.gui.util.SOptionPane; import forge.interfaces.IPlayerChangeListener; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences; @@ -27,7 +29,6 @@ import forge.util.Aggregates; import forge.util.Lang; import forge.util.Localizer; import forge.util.NameGenerator; -import forge.util.gui.SOptionPane; import net.miginfocom.swing.MigLayout; import javax.swing.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java index 02b9febe403..047b89af095 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletBuild.java @@ -11,10 +11,10 @@ import javax.swing.filechooser.FileFilter; import org.apache.commons.lang3.ArrayUtils; -import forge.UiCommand; import forge.deck.Deck; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FOptionPane; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java index 525fa3284fa..317555851a8 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/CSubmenuGauntletLoad.java @@ -9,7 +9,6 @@ import java.util.List; import javax.swing.JButton; import javax.swing.SwingUtilities; -import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckType; import forge.deckchooser.FDeckChooser; @@ -17,6 +16,7 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.model.FModel; import forge.player.GamePlayerUtil; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java index e92b1a3f20b..adfecaabc56 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java @@ -12,9 +12,9 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; -import forge.UiCommand; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; +import forge.gui.UiCommand; import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedPanel; @@ -182,7 +182,7 @@ public class ContestGauntletLister extends JPanel { return true; } - /** @param c0   {@link forge.UiCommand} command executed on row select. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on row select. */ public void setSelectCommand(final UiCommand c0) { this.cmdRowSelect = c0; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java index 84351847eb4..18216725aea 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java @@ -13,10 +13,10 @@ import javax.swing.SwingConstants; import javax.swing.border.Border; import net.miginfocom.swing.MigLayout; -import forge.UiCommand; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; import forge.gamemodes.quest.QuestUtil; +import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; @@ -281,17 +281,17 @@ public class QuickGauntletLister extends JPanel { return true; } - /** @param c0   {@link forge.UiCommand} command executed on row select. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on row select. */ public void setCmdSelect(final UiCommand c0) { this.cmdRowSelect = c0; } - /** @param c0   {@link forge.UiCommand} command executed on row delete. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on row delete. */ public void setCmdDelete(final UiCommand c0) { this.cmdRowDelete = c0; } - /** @param c0   {@link forge.UiCommand} command executed on row activate. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on row activate. */ public void setCmdActivate(final UiCommand c0) { this.cmdRowActivate = c0; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java index ace48d1864d..e08ab28e07e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/online/CSubmenuOnlineLobby.java @@ -7,21 +7,21 @@ import java.util.List; import javax.swing.JMenu; import javax.swing.SwingUtilities; -import forge.FThreads; -import forge.error.BugReporter; import forge.gamemodes.net.ChatMessage; import forge.gamemodes.net.NetConnectUtil; import forge.gui.FNetOverlay; +import forge.gui.FThreads; import forge.gui.SOverlayUtils; +import forge.gui.error.BugReporter; import forge.gui.framework.EDocID; import forge.gui.framework.ICDoc; +import forge.gui.util.SOptionPane; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.screens.home.CHomeUI; import forge.screens.home.CLobby; import forge.screens.home.VLobby; import forge.screens.home.sanctioned.ConstructedGameMenu; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public enum CSubmenuOnlineLobby implements ICDoc, IMenuProvider { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java index 233560aab08..ec7c68b61b4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java @@ -20,10 +20,10 @@ import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; -import forge.interfaces.ILobbyView; +import forge.gui.interfaces.ILobbyView; +import forge.gui.util.SOptionPane; import forge.toolbox.FButton; import forge.toolbox.FSkin; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public enum VSubmenuOnlineLobby implements IVSubmenu, IOnlineLobby, IVTopLevelUI { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java index 1baee6bef27..5c244263c0c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java @@ -1,20 +1,21 @@ package forge.screens.home.puzzle; import com.google.common.collect.Maps; -import forge.GuiBase; + import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; import forge.gamemodes.puzzle.Puzzle; +import forge.gui.GuiBase; import forge.gui.SOverlayUtils; import forge.gui.framework.ICDoc; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import forge.util.Localizer; import javax.swing.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java index bd2ba68ac74..69ef0003dd7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java @@ -1,7 +1,5 @@ package forge.screens.home.puzzle; -import forge.GuiBase; -import forge.UiCommand; import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; @@ -9,15 +7,17 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; import forge.gamemodes.puzzle.Puzzle; import forge.gamemodes.puzzle.PuzzleIO; +import forge.gui.GuiBase; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; +import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import forge.util.gui.SOptionPane; import javax.swing.*; import java.awt.event.ActionEvent; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java index ea5d2bde0ca..5681491456a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java @@ -1,7 +1,5 @@ package forge.screens.home.puzzle; -import forge.GuiBase; -import forge.UiCommand; import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; @@ -9,15 +7,17 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; import forge.gamemodes.puzzle.Puzzle; import forge.gamemodes.puzzle.PuzzleIO; +import forge.gui.GuiBase; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; +import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.menus.IMenuProvider; import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import forge.util.gui.SOptionPane; import javax.swing.*; import java.awt.event.ActionEvent; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java index d55dde9e95c..46dbbaf31a3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuChallenges.java @@ -16,12 +16,12 @@ import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import forge.Singletons; -import forge.UiCommand; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEventChallenge; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.bazaar.QuestItemType; import forge.gamemodes.quest.bazaar.QuestPetController; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.model.FModel; import forge.toolbox.FLabel; @@ -43,7 +43,7 @@ public enum CSubmenuChallenges implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#initialize() + * @see forge.gui.control.home.IControlSubmenu#initialize() */ @SuppressWarnings("serial") @Override @@ -136,7 +136,7 @@ public enum CSubmenuChallenges implements ICDoc { }; /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java index af883e4e254..441a104e445 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java @@ -1,10 +1,10 @@ package forge.screens.home.quest; -import forge.UiCommand; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEventDuel; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.bazaar.QuestPetController; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.model.FModel; import forge.toolbox.JXButtonPanel; @@ -28,7 +28,7 @@ public enum CSubmenuDuels implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#initialize() + * @see forge.gui.control.home.IControlSubmenu#initialize() */ @SuppressWarnings("serial") @Override @@ -160,7 +160,7 @@ public enum CSubmenuDuels implements ICDoc { }; /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java index 9f4861b91b9..78f599afb5c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDecks.java @@ -3,11 +3,11 @@ package forge.screens.home.quest; import javax.swing.SwingUtilities; import forge.Singletons; -import forge.UiCommand; import forge.deck.DeckProxy; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; @@ -52,7 +52,7 @@ public enum CSubmenuQuestDecks implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -71,7 +71,7 @@ public enum CSubmenuQuestDecks implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java index 1d0fa8c549c..0409e8e8b9a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java @@ -1,8 +1,8 @@ package forge.screens.home.quest; -import forge.UiCommand; import forge.deck.DeckGroup; import forge.gamemodes.quest.QuestTournamentController; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import java.awt.event.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java index d8310973cb1..003d4a10a1b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java @@ -1,10 +1,10 @@ package forge.screens.home.quest; -import forge.UiCommand; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.data.QuestData; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.QuestDataIO; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; @@ -45,14 +45,14 @@ public enum CSubmenuQuestLoadData implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java index dbbe2cb2a4c..48cd5e5bd6e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestPrefs.java @@ -25,14 +25,14 @@ public enum CSubmenuQuestPrefs implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java index 0d45aca5452..c1c3ec33560 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java @@ -1,6 +1,5 @@ package forge.screens.home.quest; -import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameFormat; @@ -9,6 +8,7 @@ import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gamemodes.quest.data.GameFormatQuest; import forge.gamemodes.quest.data.QuestData; import forge.gamemodes.quest.data.QuestPreferences; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.item.PaperCard; import forge.model.FModel; @@ -44,7 +44,7 @@ public enum CSubmenuQuestStart implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -143,7 +143,7 @@ public enum CSubmenuQuestStart implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java index 038795e6e66..cbabef00197 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java @@ -1,9 +1,9 @@ package forge.screens.home.quest; -import forge.UiCommand; import forge.card.MagicColor; import forge.gamemodes.quest.StartingPoolPreferences.PoolType; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; import forge.toolbox.*; import forge.util.Localizer; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java index 97877e86a4f..ea80b517e2f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java @@ -1,8 +1,8 @@ package forge.screens.home.quest; -import forge.UiCommand; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.data.QuestData; +import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; @@ -312,17 +312,17 @@ public class QuestFileLister extends JPanel { return false; } - /** @param c0   {@link forge.UiCommand} command executed on row select. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on row select. */ public void setSelectCommand(UiCommand c0) { this.cmdRowSelect = c0; } - /** @param c0   {@link forge.UiCommand} command executed on row edit. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on row edit. */ public void setEditCommand(UiCommand c0) { this.cmdRowEdit = c0; } - /** @param c0   {@link forge.UiCommand} command executed on delete. */ + /** @param c0   {@link forge.forge.gui.UiCommand} command executed on delete. */ public void setDeleteCommand(UiCommand c0) { this.cmdRowDelete = c0; } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java index ec13160ab09..09f25ec82cc 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java @@ -4,7 +4,7 @@ import forge.gamemodes.quest.IVQuestStats; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.screens.home.*; import forge.toolbox.*; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java index 16ef4fc852e..22e63fd097b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java @@ -1,6 +1,5 @@ package forge.screens.home.quest; -import forge.GuiBase; import forge.Singletons; import forge.game.GameType; import forge.gamemodes.limited.BoosterDraft; @@ -8,6 +7,7 @@ import forge.gamemodes.quest.IQuestTournamentView; import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestDraftUtils.Mode; import forge.gamemodes.quest.data.QuestEventDraftContainer; +import forge.gui.GuiBase; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java index 4e09fd1c2c7..1a2c3313283 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java @@ -1,10 +1,10 @@ package forge.screens.home.quest; -import forge.GuiBase; -import forge.UiCommand; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.bazaar.IQuestBazaarItem; import forge.gamemodes.quest.data.QuestAssets; +import forge.gui.GuiBase; +import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.screens.bazaar.VBazaarUI; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java index 8df0ec5094c..777de84a88f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java @@ -1,8 +1,6 @@ package forge.screens.home.sanctioned; -import forge.GuiBase; import forge.Singletons; -import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckProxy; @@ -11,8 +9,10 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.limited.LimitedPoolType; import forge.gamemodes.match.HostedMatch; +import forge.gui.GuiBase; import forge.gui.GuiChoose; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; @@ -63,7 +63,7 @@ public enum CSubmenuDraft implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -92,7 +92,7 @@ public enum CSubmenuDraft implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java index f33321ae5cd..1274197b550 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java @@ -7,9 +7,7 @@ import java.util.List; import javax.swing.*; -import forge.GuiBase; import forge.Singletons; -import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckBase; import forge.deck.DeckGroup; @@ -18,7 +16,9 @@ import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.limited.SealedCardPoolGenerator; import forge.gamemodes.match.HostedMatch; +import forge.gui.GuiBase; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; @@ -62,7 +62,7 @@ public enum CSubmenuSealed implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -97,7 +97,7 @@ public enum CSubmenuSealed implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java index 53c81e277a1..d3b9c6cf52f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuWinston.java @@ -8,9 +8,7 @@ import java.util.List; import javax.swing.JButton; import javax.swing.SwingUtilities; -import forge.GuiBase; import forge.Singletons; -import forge.UiCommand; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckProxy; @@ -19,8 +17,10 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.limited.LimitedPoolType; import forge.gamemodes.limited.WinstonDraft; import forge.gamemodes.match.HostedMatch; +import forge.gui.GuiBase; import forge.gui.GuiChoose; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.itemmanager.ItemManagerConfig; @@ -54,7 +54,7 @@ public enum CSubmenuWinston implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -78,7 +78,7 @@ public enum CSubmenuWinston implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuAchievements.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuAchievements.java index 64db6524ead..b304066544e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuAchievements.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuAchievements.java @@ -13,7 +13,7 @@ public enum CSubmenuAchievements implements ICDoc { SINGLETON_INSTANCE; /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -24,7 +24,7 @@ public enum CSubmenuAchievements implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java index beb3adaeed9..9afe7adc933 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java @@ -1,9 +1,16 @@ package forge.screens.home.settings; -import forge.UiCommand; import forge.download.*; -import forge.error.BugReporter; import forge.gui.ImportDialog; +import forge.gui.UiCommand; +import forge.gui.download.GuiDownloadAchievementImages; +import forge.gui.download.GuiDownloadPicturesHQ; +import forge.gui.download.GuiDownloadPicturesLQ; +import forge.gui.download.GuiDownloadPrices; +import forge.gui.download.GuiDownloadQuestImages; +import forge.gui.download.GuiDownloadSetPicturesLQ; +import forge.gui.download.GuiDownloadSkins; +import forge.gui.error.BugReporter; import forge.gui.framework.ICDoc; import javax.swing.*; @@ -91,7 +98,7 @@ public enum CSubmenuDownloaders implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -112,7 +119,7 @@ public enum CSubmenuDownloaders implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java index 4ee86ff452e..6ab74b5821e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java @@ -6,6 +6,8 @@ import forge.control.FControl.CloseAction; import forge.download.AutoUpdater; import forge.game.GameLogEntryType; import forge.gamemodes.net.server.FServerManager; +import forge.gui.GuiBase; +import forge.gui.UiCommand; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.localinstance.properties.ForgeConstants; @@ -55,7 +57,7 @@ public enum CSubmenuPreferences implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @SuppressWarnings("serial") @Override @@ -260,7 +262,7 @@ public enum CSubmenuPreferences implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java index 1b5031e1075..766a5c2c4bf 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuReleaseNotes.java @@ -41,7 +41,7 @@ public enum CSubmenuReleaseNotes implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void initialize() { @@ -50,7 +50,7 @@ public enum CSubmenuReleaseNotes implements ICDoc { } /* (non-Javadoc) - * @see forge.control.home.IControlSubmenu#update() + * @see forge.gui.control.home.IControlSubmenu#update() */ @Override public void update() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java index 4b0edebe96d..71522a4acb3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java @@ -1,6 +1,6 @@ package forge.screens.home.settings; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.gui.WrapLayout; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java index 8ab363f706a..f786fa23cb9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java @@ -2,11 +2,11 @@ package forge.screens.home.settings; import forge.ImageKeys; import forge.StaticData; -import forge.UiCommand; import forge.card.CardDb; import forge.card.CardEdition; import forge.card.CardEdition.CardInSet; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index 573faa909a1..8373bd31423 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -45,8 +45,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; -import forge.FThreads; -import forge.GuiBase; import forge.ImageCache; import forge.LobbyPlayer; import forge.Singletons; @@ -80,6 +78,8 @@ import forge.game.spellability.TargetChoices; import forge.game.zone.ZoneType; import forge.gamemodes.match.AbstractGuiGame; import forge.gui.FNetOverlay; +import forge.gui.FThreads; +import forge.gui.GuiBase; import forge.gui.GuiChoose; import forge.gui.GuiDialog; import forge.gui.GuiUtils; @@ -92,6 +92,7 @@ import forge.gui.framework.IVDoc; import forge.gui.framework.SDisplayUtil; import forge.gui.framework.SLayoutIO; import forge.gui.framework.VEmptyDoc; +import forge.gui.util.SOptionPane; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; @@ -129,7 +130,6 @@ import forge.util.ITriggerEvent; import forge.util.Localizer; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import forge.util.gui.SOptionPane; import forge.view.FView; import forge.view.arcane.CardPanel; import forge.view.arcane.FloatingZone; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java b/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java index 8f5d98ec1d0..1aae6107cb5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java @@ -9,7 +9,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import forge.Singletons; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.toolbox.FButton; import forge.toolbox.FCheckBox; import forge.toolbox.FList; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java index 3799732853c..7cf2b6bee07 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java @@ -17,12 +17,12 @@ import net.miginfocom.swing.MigLayout; import org.apache.commons.lang3.StringUtils; -import forge.UiCommand; import forge.game.GameLogEntry; import forge.game.GameLogEntryType; import forge.game.GameView; import forge.gui.SOverlayUtils; -import forge.interfaces.IWinLoseView; +import forge.gui.UiCommand; +import forge.gui.interfaces.IWinLoseView; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDetailPicture.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDetailPicture.java index 18ef30b7825..f2b82899bee 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDetailPicture.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDetailPicture.java @@ -3,7 +3,7 @@ package forge.screens.match.controllers; import forge.game.GameView; import forge.game.card.Card; import forge.game.card.CardView; -import forge.interfaces.IMayViewCards; +import forge.gui.interfaces.IMayViewCards; import forge.item.IPaperCard; import forge.item.InventoryItem; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java index e57c4c0e3a3..8d13beb683d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CDock.java @@ -23,8 +23,8 @@ import com.google.common.collect.Iterators; import com.google.common.primitives.Ints; import forge.Singletons; -import forge.UiCommand; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.ICDoc; import forge.gui.framework.SLayoutIO; import forge.localinstance.assets.FSkinProp; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CHand.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CHand.java index a8285aa86e3..d0ff7a9bdac 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CHand.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CHand.java @@ -29,10 +29,10 @@ import javax.swing.SwingUtilities; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import forge.FThreads; import forge.Singletons; import forge.game.card.CardView; import forge.game.player.PlayerView; +import forge.gui.FThreads; import forge.gui.framework.ICDoc; import forge.screens.match.CMatchUI; import forge.screens.match.views.VField; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CLog.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CLog.java index 3eff489ce66..bb84fbde87b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CLog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CLog.java @@ -3,7 +3,7 @@ package forge.screens.match.controllers; import java.util.Observable; import java.util.Observer; -import forge.FThreads; +import forge.gui.FThreads; import forge.gui.framework.ICDoc; import forge.screens.match.CMatchUI; import forge.screens.match.views.VLog; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java index 2aa7a0fd95e..47e13c68575 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java @@ -32,9 +32,9 @@ import java.beans.PropertyChangeListener; import javax.swing.JButton; -import forge.FThreads; import forge.game.GameView; import forge.game.card.CardView; +import forge.gui.FThreads; import forge.gui.framework.ICDoc; import forge.gui.framework.SDisplayUtil; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java index 0f333438f37..ef0d72c6baf 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java @@ -17,7 +17,7 @@ */ package forge.screens.match.views; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.gui.framework.*; import forge.localinstance.assets.FSkinProp; import forge.screens.match.controllers.CDock; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java index 86db942e4c6..ff5f2c09a6d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java @@ -18,11 +18,11 @@ package forge.screens.match.views; import forge.CachedCardImage; -import forge.card.CardDetailUtil; -import forge.card.CardDetailUtil.DetailColors; import forge.game.GameView; import forge.game.card.CardView.CardStateView; import forge.game.spellability.StackItemView; +import forge.gui.card.CardDetailUtil; +import forge.gui.card.CardDetailUtil.DetailColors; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java index 215e5942666..189e2ef4732 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/controllers/CCardScript.java @@ -16,9 +16,9 @@ import com.google.common.collect.ImmutableList; import forge.Singletons; import forge.card.CardDb; import forge.card.CardRules; -import forge.card.CardScriptInfo; -import forge.card.CardScriptParser; import forge.game.card.Card; +import forge.gui.card.CardScriptInfo; +import forge.gui.card.CardScriptParser; import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.item.PaperCard; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java b/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java index 6a600b8bbf7..70cceedc7a4 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FButton.java @@ -35,9 +35,9 @@ import java.awt.event.MouseEvent; import javax.swing.BorderFactory; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.gui.framework.ILocalRepaint; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinImage; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBox.java b/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBox.java index a67d68f0e6d..0b5aa10017f 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBox.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBox.java @@ -1,6 +1,6 @@ package forge.toolbox; -import forge.interfaces.ICheckBox; +import forge.gui.interfaces.ICheckBox; import forge.toolbox.FSkin.SkinnedCheckBox; /** diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FComboBox.java b/forge-gui-desktop/src/main/java/forge/toolbox/FComboBox.java index f83a0e32852..52fb618a47b 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FComboBox.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FComboBox.java @@ -22,7 +22,7 @@ import javax.swing.border.EmptyBorder; import javax.swing.plaf.basic.BasicComboBoxUI; import javax.swing.plaf.basic.ComboPopup; -import forge.interfaces.IComboBox; +import forge.gui.interfaces.IComboBox; import forge.toolbox.FSkin.SkinFont; import forge.toolbox.FSkin.SkinnedComboBox; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FComboBoxWrapper.java b/forge-gui-desktop/src/main/java/forge/toolbox/FComboBoxWrapper.java index 3f5ce9cbfb8..facd738b918 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FComboBoxWrapper.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FComboBoxWrapper.java @@ -13,7 +13,7 @@ import javax.swing.ListCellRenderer; import com.google.common.collect.ObjectArrays; -import forge.interfaces.IComboBox; +import forge.gui.interfaces.IComboBox; import forge.toolbox.FComboBox.TextAlignment; import forge.toolbox.FSkin.SkinFont; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FHyperlink.java b/forge-gui-desktop/src/main/java/forge/toolbox/FHyperlink.java index afc3c08fc49..340b9f91c2d 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FHyperlink.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FHyperlink.java @@ -9,7 +9,7 @@ import java.net.URISyntaxException; import javax.swing.SwingWorker; -import forge.UiCommand; +import forge.gui.UiCommand; @SuppressWarnings("serial") diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java b/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java index a36906fbdd1..175e166b69b 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java @@ -18,9 +18,9 @@ import javax.swing.Timer; import javax.swing.event.AncestorEvent; import javax.swing.event.AncestorListener; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.gui.framework.ILocalRepaint; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinColor; @@ -125,7 +125,7 @@ public class FLabel extends SkinnedLabel implements ILocalRepaint, IButton { * @return {@link forge.toolbox.FLabel.Builder} */ public Builder useSkinColors(final boolean b0) { bldUseSkinColors = b0; return this; } - /**@param c0   {@link forge.UiCommand} to execute if clicked + /**@param c0   {@link forge.forge.gui.UiCommand} to execute if clicked * @return {@link forge.toolbox.FLabel.Builder} */ public Builder cmdClick(final UiCommand c0) { this.bldCmd = c0; return this; } @@ -458,12 +458,12 @@ public class FLabel extends SkinnedLabel implements ILocalRepaint, IButton { return this.resizeTimer; } - /** @return {@link forge.UiCommand} */ + /** @return {@link forge.forge.gui.UiCommand} */ public Runnable getCommand() { return this.cmdClick; } - /** @return {@link forge.UiCommand} */ + /** @return {@link forge.forge.gui.UiCommand} */ public Runnable getRightClickCommand() { return this.cmdRightClick; } @@ -500,12 +500,12 @@ public class FLabel extends SkinnedLabel implements ILocalRepaint, IButton { } } - /** @param c0   {@link forge.UiCommand} on click */ + /** @param c0   {@link forge.forge.gui.UiCommand} on click */ public void setCommand(final Runnable c0) { this.cmdClick = c0; } - /** @param c0   {@link forge.UiCommand} on right-click */ + /** @param c0   {@link forge.forge.gui.UiCommand} on right-click */ public void setRightClickCommand(final Runnable c0) { this.cmdRightClick = c0; } diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FPanel.java b/forge-gui-desktop/src/main/java/forge/toolbox/FPanel.java index 5d6946e78d2..e1eb657532a 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FPanel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FPanel.java @@ -32,7 +32,7 @@ import java.util.List; import javax.swing.SwingConstants; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.gui.framework.ILocalRepaint; import forge.toolbox.FSkin.FPanelBase; import forge.toolbox.FSkin.SkinColor; @@ -115,12 +115,12 @@ public class FPanel extends FPanelBase implements ILocalRepaint { this.cornerDiameter = (int0 <= 0 ? 0 : int0); } - /** @param cmd0   {@link forge.UiCommand} on click */ + /** @param cmd0   {@link forge.forge.gui.UiCommand} on click */ public void setCommand(final UiCommand cmd0) { this.cmdClick = cmd0; } - /** @return {@link forge.UiCommand} */ + /** @return {@link forge.forge.gui.UiCommand} */ public UiCommand getCommand() { return this.cmdClick; } diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FPasswordField.java b/forge-gui-desktop/src/main/java/forge/toolbox/FPasswordField.java index 941e9426e36..fe89e55fb20 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FPasswordField.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FPasswordField.java @@ -14,7 +14,7 @@ import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import forge.gui.MouseUtil; -import forge.interfaces.ITextField; +import forge.gui.interfaces.ITextField; import forge.toolbox.FSkin.SkinnedPasswordField; /** diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java b/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java index c977e4318de..839448a7c85 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java @@ -1,8 +1,9 @@ package forge.toolbox; -import forge.interfaces.IProgressBar; - import javax.swing.*; + +import forge.gui.interfaces.IProgressBar; + import java.util.Date; /** diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index f93ee6c21b7..a694dc06a8d 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -17,8 +17,8 @@ */ package forge.toolbox; -import forge.FThreads; import forge.Singletons; +import forge.gui.FThreads; import forge.gui.GuiUtils; import forge.gui.framework.ILocalRepaint; import forge.localinstance.assets.FSkinProp; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FTextField.java b/forge-gui-desktop/src/main/java/forge/toolbox/FTextField.java index 506dd809bd3..f96725c540e 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FTextField.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FTextField.java @@ -17,7 +17,7 @@ import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; import forge.gui.MouseUtil; -import forge.interfaces.ITextField; +import forge.gui.interfaces.ITextField; import forge.toolbox.FSkin.SkinnedTextField; /** diff --git a/forge-gui-desktop/src/main/java/forge/view/FView.java b/forge-gui-desktop/src/main/java/forge/view/FView.java index 69a68c2f541..2867a012361 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FView.java +++ b/forge-gui-desktop/src/main/java/forge/view/FView.java @@ -2,9 +2,9 @@ package forge.view; import com.google.common.collect.Lists; import forge.Singletons; -import forge.UiCommand; import forge.gui.ImportDialog; import forge.gui.SOverlayUtils; +import forge.gui.UiCommand; import forge.gui.framework.*; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui-desktop/src/main/java/forge/view/Main.java b/forge-gui-desktop/src/main/java/forge/view/Main.java index b4fa85c8968..0a9fb687588 100644 --- a/forge-gui-desktop/src/main/java/forge/view/Main.java +++ b/forge-gui-desktop/src/main/java/forge/view/Main.java @@ -17,11 +17,11 @@ */ package forge.view; -import forge.GuiBase; import forge.GuiDesktop; import forge.Singletons; -import forge.card.CardReaderExperiments; import forge.error.ExceptionHandler; +import forge.gui.GuiBase; +import forge.gui.card.CardReaderExperiments; import forge.util.BuildInfo; import io.sentry.Sentry; import io.sentry.SentryClient; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java index 28829859770..0b9bac9e9e6 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java @@ -18,7 +18,6 @@ package forge.view.arcane; import forge.CachedCardImage; -import forge.FThreads; import forge.StaticData; import forge.card.CardEdition; import forge.card.mana.ManaCost; @@ -29,6 +28,7 @@ import forge.game.keyword.Keyword; import forge.game.card.CounterType; import forge.game.zone.ZoneType; import forge.gui.CardContainer; +import forge.gui.FThreads; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgeConstants.CounterDisplayType; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java index 7547f2d1878..2eb4cb07258 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanelContainer.java @@ -29,8 +29,8 @@ import java.util.List; import javax.swing.SwingUtilities; -import forge.FThreads; import forge.game.card.CardView; +import forge.gui.FThreads; import forge.screens.match.CMatchUI; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin.SkinnedPanel; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java index 2b7d7a7c5f0..5a467a4b18a 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java @@ -17,10 +17,10 @@ */ package forge.view.arcane; -import forge.FThreads; import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.gui.FThreads; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; import forge.screens.match.CMatchUI; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java index 9c5cd9217d5..b0312ce053c 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/PlayArea.java @@ -27,11 +27,11 @@ import java.util.List; import com.google.common.collect.Lists; -import forge.FThreads; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.gui.FThreads; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.screens.match.CMatchUI; diff --git a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java index aa4d43f5a4e..b07acad7afc 100644 --- a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java +++ b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java @@ -3,6 +3,7 @@ package forge; import forge.card.CardRarity; import forge.card.CardRules; import forge.gamemodes.limited.CardRanker; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; diff --git a/forge-gui-desktop/src/test/java/forge/GuiDownloadPicturesLQTest.java b/forge-gui-desktop/src/test/java/forge/GuiDownloadPicturesLQTest.java index 1adf82ce61d..2cb7e79b9af 100644 --- a/forge-gui-desktop/src/test/java/forge/GuiDownloadPicturesLQTest.java +++ b/forge-gui-desktop/src/test/java/forge/GuiDownloadPicturesLQTest.java @@ -2,8 +2,8 @@ package forge; import org.testng.annotations.Test; -import forge.download.GuiDownloadPicturesLQ; import forge.download.GuiDownloader; +import forge.gui.download.GuiDownloadPicturesLQ; /** * Created by IntelliJ IDEA. User: dhudson diff --git a/forge-gui-desktop/src/test/java/forge/GuiDownloadSetPicturesLQTest.java b/forge-gui-desktop/src/test/java/forge/GuiDownloadSetPicturesLQTest.java index 05341e657b2..eb96ce38d47 100644 --- a/forge-gui-desktop/src/test/java/forge/GuiDownloadSetPicturesLQTest.java +++ b/forge-gui-desktop/src/test/java/forge/GuiDownloadSetPicturesLQTest.java @@ -2,8 +2,8 @@ package forge; import org.testng.annotations.Test; -import forge.download.GuiDownloadSetPicturesLQ; import forge.download.GuiDownloader; +import forge.gui.download.GuiDownloadSetPicturesLQ; /** * Created by IntelliJ IDEA. User: dhudson diff --git a/forge-gui-desktop/src/test/java/forge/PanelTest.java b/forge-gui-desktop/src/test/java/forge/PanelTest.java index e192f5def14..29f38fcfcbb 100644 --- a/forge-gui-desktop/src/test/java/forge/PanelTest.java +++ b/forge-gui-desktop/src/test/java/forge/PanelTest.java @@ -1,9 +1,9 @@ package forge; -import forge.error.BugReporter; - import org.testng.annotations.Test; +import forge.gui.error.BugReporter; + import javax.swing.*; import java.awt.*; diff --git a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java index f08fec5d8ff..cb53e4a7707 100644 --- a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTestCase.java @@ -7,7 +7,6 @@ import java.util.Set; import com.google.common.base.Function; import com.google.common.collect.Lists; -import forge.GuiBase; import forge.GuiDesktop; import forge.StaticData; import forge.ai.AIOption; @@ -25,6 +24,7 @@ import forge.game.player.Player; import forge.game.player.RegisteredPlayer; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import forge.gui.GuiBase; import forge.item.IPaperCard; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java b/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java index 4a2ca5c8d69..c96df69b0c5 100644 --- a/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java +++ b/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java @@ -10,11 +10,11 @@ import junit.framework.Assert; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; -import forge.GuiBase; import forge.GuiDesktop; import forge.card.CardRarity; import forge.card.CardRules; import forge.card.DeckHints; +import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java index 9fcb2112a4a..950fb47920b 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java @@ -4,7 +4,7 @@ import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.GuiBase; + import forge.GuiDesktop; import forge.StaticData; import forge.card.CardRulesPredicates; @@ -14,6 +14,7 @@ import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; import forge.gamemodes.limited.CardRanker; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java index 2f7eee789c2..13c99b4d9b6 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java @@ -4,7 +4,7 @@ import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.GuiBase; + import forge.GuiDesktop; import forge.LobbyPlayer; import forge.StaticData; @@ -21,6 +21,7 @@ import forge.gamemodes.tournament.system.AbstractTournament; import forge.gamemodes.tournament.system.TournamentPairing; import forge.gamemodes.tournament.system.TournamentPlayer; import forge.gamemodes.tournament.system.TournamentSwiss; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java index 241372740f2..103a45fcbeb 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java @@ -1,7 +1,7 @@ package forge.planarconquestgenerate; import com.google.common.base.Function; -import forge.GuiBase; + import forge.GuiDesktop; import forge.deck.Deck; import forge.deck.DeckFormat; @@ -10,6 +10,7 @@ import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java index fd0dbc66ae9..6f5ce0d0961 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java @@ -1,13 +1,14 @@ package forge.planarconquestgenerate; import com.google.common.base.Function; -import forge.GuiBase; + import forge.GuiDesktop; import forge.deck.*; import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java index 485dea7a1d6..81c1e8e7d69 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java @@ -4,7 +4,7 @@ import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.GuiBase; + import forge.GuiDesktop; import forge.StaticData; import forge.card.CardRulesPredicates; @@ -14,6 +14,7 @@ import forge.game.GameFormat; import forge.game.GameRules; import forge.game.GameType; import forge.gamemodes.limited.CardRanker; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-mobile/src/forge/CachedCardImage.java b/forge-gui-mobile/src/forge/CachedCardImage.java index 29ad190f341..7919d23d762 100644 --- a/forge-gui-mobile/src/forge/CachedCardImage.java +++ b/forge-gui-mobile/src/forge/CachedCardImage.java @@ -3,6 +3,7 @@ package forge; import com.badlogic.gdx.graphics.Texture; import forge.assets.ImageCache; import forge.game.card.CardView; +import forge.gui.GuiBase; import forge.item.InventoryItem; import forge.screens.match.MatchController; import forge.util.ImageFetcher; diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 745afb1f252..bc0cc0fac2b 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -11,8 +11,10 @@ import forge.assets.AssetsDownloader; import forge.assets.FSkin; import forge.assets.FSkinFont; import forge.assets.ImageCache; -import forge.error.BugReporter; import forge.error.ExceptionHandler; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.error.BugReporter; import forge.interfaces.IDeviceAdapter; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-mobile/src/forge/GuiMobile.java b/forge-gui-mobile/src/forge/GuiMobile.java index 43b21c25407..265ee67b3ec 100644 --- a/forge-gui-mobile/src/forge/GuiMobile.java +++ b/forge-gui-mobile/src/forge/GuiMobile.java @@ -18,11 +18,11 @@ import forge.assets.ImageCache; import forge.card.CardRenderer; import forge.deck.Deck; import forge.deck.FDeckViewer; -import forge.download.GuiDownloadService; import forge.error.BugReportDialog; import forge.gamemodes.match.HostedMatch; -import forge.interfaces.IGuiBase; -import forge.interfaces.IGuiGame; +import forge.gui.download.GuiDownloadService; +import forge.gui.interfaces.IGuiBase; +import forge.gui.interfaces.IGuiGame; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java index fdd8a3858ad..c824cbbbe8c 100644 --- a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java +++ b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java @@ -3,13 +3,15 @@ package forge.assets; import com.badlogic.gdx.Application.ApplicationType; import com.badlogic.gdx.Gdx; import com.google.common.collect.ImmutableList; -import forge.FThreads; + import forge.Forge; -import forge.download.GuiDownloadZipService; +import forge.gui.FThreads; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgeConstants; import forge.screens.SplashScreen; import forge.util.FileUtil; -import forge.util.gui.SOptionPane; + import org.apache.commons.lang3.StringUtils; import java.io.File; diff --git a/forge-gui-mobile/src/forge/assets/FBufferedImage.java b/forge-gui-mobile/src/forge/assets/FBufferedImage.java index fa6ccd48a38..92d289ea148 100644 --- a/forge-gui-mobile/src/forge/assets/FBufferedImage.java +++ b/forge-gui-mobile/src/forge/assets/FBufferedImage.java @@ -7,8 +7,8 @@ import com.badlogic.gdx.graphics.Pixmap.Format; import com.badlogic.gdx.graphics.glutils.FrameBuffer; import com.badlogic.gdx.math.Matrix4; -import forge.FThreads; import forge.Graphics; +import forge.gui.FThreads; //Special graphics object for rendering to a texture public abstract class FBufferedImage extends FImageComplex { diff --git a/forge-gui-mobile/src/forge/assets/FSkin.java b/forge-gui-mobile/src/forge/assets/FSkin.java index 0e4a13ca28f..27ddeec0e51 100644 --- a/forge-gui-mobile/src/forge/assets/FSkin.java +++ b/forge-gui-mobile/src/forge/assets/FSkin.java @@ -14,9 +14,9 @@ import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import forge.FThreads; import forge.assets.FSkinImage.SourceFile; import forge.card.CardFaceSymbols; +import forge.gui.FThreads; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui-mobile/src/forge/assets/FSkinFont.java b/forge-gui-mobile/src/forge/assets/FSkinFont.java index 5bb946f7748..7eea723e7cc 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinFont.java +++ b/forge-gui-mobile/src/forge/assets/FSkinFont.java @@ -26,8 +26,8 @@ import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFont import com.badlogic.gdx.graphics.glutils.PixmapTextureData; import com.badlogic.gdx.utils.Array; -import forge.FThreads; import forge.Forge; +import forge.gui.FThreads; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.LineReader; diff --git a/forge-gui-mobile/src/forge/assets/ImageLoader.java b/forge-gui-mobile/src/forge/assets/ImageLoader.java index 8579d1952ea..55e2de81fd2 100644 --- a/forge-gui-mobile/src/forge/assets/ImageLoader.java +++ b/forge-gui-mobile/src/forge/assets/ImageLoader.java @@ -10,10 +10,10 @@ import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.TextureData; import com.badlogic.gdx.graphics.glutils.PixmapTextureData; import com.google.common.cache.CacheLoader; -import forge.FThreads; import forge.Forge; import forge.ImageKeys; +import forge.gui.FThreads; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; diff --git a/forge-gui-mobile/src/forge/card/CardFaceSymbols.java b/forge-gui-mobile/src/forge/card/CardFaceSymbols.java index a26bc910f45..e11169f396c 100644 --- a/forge-gui-mobile/src/forge/card/CardFaceSymbols.java +++ b/forge-gui-mobile/src/forge/card/CardFaceSymbols.java @@ -21,7 +21,8 @@ import forge.Graphics; import forge.assets.FSkinImage; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; -import forge.error.BugReporter; +import forge.gui.error.BugReporter; + import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index 8608a48bbaa..dff156230b7 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -15,13 +15,14 @@ import forge.assets.FSkinImage; import forge.assets.FSkinTexture; import forge.assets.ImageCache; import forge.assets.TextRenderer; -import forge.card.CardDetailUtil.DetailColors; import forge.card.CardRenderer.CardStackPosition; import forge.card.mana.ManaCost; import forge.game.GameView; import forge.game.card.CardView.CardStateView; import forge.game.card.CardView; import forge.game.zone.ZoneType; +import forge.gui.card.CardDetailUtil; +import forge.gui.card.CardDetailUtil.DetailColors; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index 318c9f50c6e..12ed7b937c9 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -17,7 +17,6 @@ import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Array; import forge.CachedCardImage; import forge.Forge; -import forge.FThreads; import forge.Graphics; import forge.assets.FImage; import forge.assets.FImageComplex; @@ -28,13 +27,15 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.FTextureRegionImage; import forge.assets.ImageCache; -import forge.card.CardDetailUtil.DetailColors; import forge.card.CardZoom.ActivateHandler; import forge.card.mana.ManaCost; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; import forge.game.card.CounterType; import forge.game.zone.ZoneType; +import forge.gui.FThreads; +import forge.gui.card.CardDetailUtil; +import forge.gui.card.CardDetailUtil.DetailColors; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui-mobile/src/forge/deck/FDeckChooser.java b/forge-gui-mobile/src/forge/deck/FDeckChooser.java index 971e562e541..fd1ccf5cfc3 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckChooser.java +++ b/forge-gui-mobile/src/forge/deck/FDeckChooser.java @@ -1,12 +1,9 @@ package forge.deck; -import forge.FThreads; import forge.Forge; -import forge.GuiBase; import forge.assets.ImageCache; import forge.deck.FDeckEditor.EditorType; import forge.deck.io.DeckPreferences; -import forge.error.BugReporter; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.gauntlet.GauntletData; @@ -16,7 +13,10 @@ import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEvent; import forge.gamemodes.quest.QuestEventChallenge; import forge.gamemodes.quest.QuestUtil; -import forge.interfaces.IGuiGame; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.error.BugReporter; +import forge.gui.interfaces.IGuiGame; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index 20e30f0a929..0deec005e4f 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -17,11 +17,11 @@ import forge.assets.FTextureRegionImage; import forge.Graphics; import forge.card.CardDb; import forge.card.CardEdition; -import forge.card.CardPreferences; import forge.card.CardRulesPredicates; import forge.deck.io.DeckPreferences; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.planarconquest.ConquestUtil; +import forge.gui.card.CardPreferences; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ColumnDef; diff --git a/forge-gui-mobile/src/forge/deck/FDeckImportDialog.java b/forge-gui-mobile/src/forge/deck/FDeckImportDialog.java index 36cb44c6a51..a28ba25d567 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckImportDialog.java +++ b/forge-gui-mobile/src/forge/deck/FDeckImportDialog.java @@ -21,10 +21,11 @@ import java.util.List; import com.google.common.collect.ImmutableList; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.deck.DeckRecognizer.TokenType; +import forge.gui.FThreads; +import forge.gui.util.SOptionPane; import forge.toolbox.FCheckBox; import forge.toolbox.FComboBox; import forge.toolbox.FDialog; @@ -34,7 +35,6 @@ import forge.toolbox.FOptionPane; import forge.toolbox.FTextArea; import forge.util.Callback; import forge.util.Localizer; -import forge.util.gui.SOptionPane; public class FDeckImportDialog extends FDialog { diff --git a/forge-gui-mobile/src/forge/error/BugReportDialog.java b/forge-gui-mobile/src/forge/error/BugReportDialog.java index 3393413a27a..70d937a67c0 100644 --- a/forge-gui-mobile/src/forge/error/BugReportDialog.java +++ b/forge-gui-mobile/src/forge/error/BugReportDialog.java @@ -6,6 +6,7 @@ import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.gui.error.BugReporter; import forge.screens.FScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java index 373da380dc8..1b3c1064d1a 100644 --- a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java +++ b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java @@ -25,13 +25,13 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.card.CardZoom.ActivateHandler; +import forge.gui.FThreads; import forge.item.InventoryItem; import forge.itemmanager.filters.AdvancedSearchFilter; import forge.itemmanager.filters.ItemFilter; diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java index d99ee726106..4f1b1d62959 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java @@ -7,7 +7,7 @@ import com.google.common.collect.Iterables; import forge.Forge; import forge.assets.FSkinImage; import forge.assets.TextRenderer; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; import forge.item.InventoryItem; import forge.itemmanager.AdvancedSearch; import forge.itemmanager.ItemManager; diff --git a/forge-gui-mobile/src/forge/menu/FMenuItem.java b/forge-gui-mobile/src/forge/menu/FMenuItem.java index 3508963cd48..98baff9636b 100644 --- a/forge-gui-mobile/src/forge/menu/FMenuItem.java +++ b/forge-gui-mobile/src/forge/menu/FMenuItem.java @@ -5,13 +5,13 @@ import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer.Task; import forge.Graphics; -import forge.UiCommand; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; -import forge.interfaces.IButton; +import forge.gui.UiCommand; +import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.screens.FScreen.Header; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/FScreen.java b/forge-gui-mobile/src/forge/screens/FScreen.java index 7ceece302c6..c4f9bbdd5cf 100644 --- a/forge-gui-mobile/src/forge/screens/FScreen.java +++ b/forge-gui-mobile/src/forge/screens/FScreen.java @@ -8,10 +8,10 @@ import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; -import forge.GuiBase; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gui.GuiBase; import forge.assets.FSkinFont; import forge.assets.FSkinTexture; import forge.menu.FPopupMenu; diff --git a/forge-gui-mobile/src/forge/screens/LoadingOverlay.java b/forge-gui-mobile/src/forge/screens/LoadingOverlay.java index 04b086866df..c9a2fe31bb1 100644 --- a/forge-gui-mobile/src/forge/screens/LoadingOverlay.java +++ b/forge-gui-mobile/src/forge/screens/LoadingOverlay.java @@ -3,12 +3,12 @@ package forge.screens; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.assets.FSkin; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gui.FThreads; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.toolbox.FOverlay; diff --git a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java index a71531e1ae8..c7d4e1b2469 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.ArrayList; import java.util.List; -import forge.GuiBase; import forge.assets.ImageCache; import forge.deck.CardPool; import forge.deck.Deck; @@ -21,7 +20,6 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.utils.Align; import com.google.common.collect.Iterables; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.ai.AIOption; @@ -33,7 +31,9 @@ import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gamemodes.net.server.FServerManager; -import forge.interfaces.ILobbyView; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java b/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java index dfc40b0f34e..34af617ac22 100644 --- a/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java +++ b/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java @@ -8,7 +8,6 @@ import java.util.Comparator; import java.util.List; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; @@ -20,6 +19,8 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; import forge.gamemodes.quest.QuestUtil; +import forge.gui.FThreads; +import forge.gui.util.SOptionPane; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.screens.LaunchScreen; @@ -35,7 +36,6 @@ import forge.toolbox.FEvent.FEventHandler; import forge.util.Callback; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public class LoadGauntletScreen extends LaunchScreen { diff --git a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java index 6cbeafa8c2e..2c32fc9530f 100644 --- a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java @@ -1,6 +1,5 @@ package forge.screens.home.puzzle; -import forge.GuiBase; import forge.assets.FSkinFont; import forge.deck.Deck; import forge.game.GameRules; @@ -9,6 +8,7 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; import forge.gamemodes.puzzle.Puzzle; import forge.gamemodes.puzzle.PuzzleIO; +import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; import forge.player.GamePlayerUtil; import forge.screens.LaunchScreen; diff --git a/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java b/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java index d23e7e416f8..e3c38719e01 100644 --- a/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/DraftingProcessScreen.java @@ -2,7 +2,6 @@ package forge.screens.limited; import org.apache.commons.lang3.StringUtils; -import forge.FThreads; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.FDeckEditor; @@ -10,6 +9,7 @@ import forge.deck.io.DeckPreferences; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestTournamentController; +import forge.gui.FThreads; import forge.model.FModel; import forge.screens.FScreen; import forge.screens.home.LoadGameMenu.LoadGameScreen; diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java index e14c84fc1c8..63f03734bf9 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java @@ -2,9 +2,7 @@ package forge.screens.limited; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; -import forge.GuiBase; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.LoadGameMenu; @@ -23,6 +21,9 @@ import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.util.SGuiChoose; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; @@ -31,7 +32,7 @@ import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.toolbox.FComboBox; import forge.util.Localizer; -import forge.util.gui.SGuiChoose; + import java.util.ArrayList; import java.util.List; diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java index e40dd2ce6cc..ddd3342d684 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java @@ -1,10 +1,8 @@ package forge.screens.limited; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; -import forge.GuiBase; import forge.assets.FSkinFont; import forge.deck.Deck; import forge.deck.DeckGroup; @@ -16,6 +14,9 @@ import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.util.SGuiChoose; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; @@ -30,7 +31,6 @@ import forge.toolbox.FEvent; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; import forge.toolbox.FEvent.FEventHandler; -import forge.util.gui.SGuiChoose; import forge.util.Localizer; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java b/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java index b51c3818426..6b00a198d84 100644 --- a/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/NewDraftScreen.java @@ -1,11 +1,12 @@ package forge.screens.limited; -import forge.FThreads; import forge.Forge; import forge.assets.FSkinFont; import forge.deck.FDeckEditor.EditorType; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.limited.LimitedPoolType; +import forge.gui.FThreads; +import forge.gui.util.SGuiChoose; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; import forge.screens.home.NewGameMenu; @@ -14,7 +15,6 @@ import forge.toolbox.FTextArea; import forge.util.Localizer; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.gui.SGuiChoose; public class NewDraftScreen extends LaunchScreen { private static final float PADDING = Utils.scale(10); diff --git a/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java index 456b89665bd..e1ec02ce806 100644 --- a/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/NewSealedScreen.java @@ -1,6 +1,5 @@ package forge.screens.limited; -import forge.FThreads; import forge.Forge; import forge.assets.FSkinFont; import forge.deck.DeckGroup; @@ -8,6 +7,7 @@ import forge.deck.FDeckEditor; import forge.deck.FDeckEditor.EditorType; import forge.deck.io.DeckPreferences; import forge.gamemodes.limited.SealedCardPoolGenerator; +import forge.gui.FThreads; import forge.screens.LaunchScreen; import forge.screens.home.NewGameMenu; import forge.toolbox.FLabel; diff --git a/forge-gui-mobile/src/forge/screens/match/MatchController.java b/forge-gui-mobile/src/forge/screens/match/MatchController.java index 6d7b3bcd666..9eb1eabe430 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchController.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchController.java @@ -6,7 +6,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import forge.FThreads; import forge.assets.FSkinImage; import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; @@ -18,7 +17,6 @@ import com.google.common.collect.Maps; import forge.Forge; import forge.Graphics; -import forge.GuiBase; import forge.LobbyPlayer; import forge.assets.FImage; import forge.assets.FSkin; @@ -38,6 +36,10 @@ import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; import forge.gamemodes.match.AbstractGuiGame; import forge.gamemodes.match.HostedMatch; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences; @@ -60,8 +62,6 @@ import forge.util.collect.FCollectionView; import forge.util.ITriggerEvent; import forge.util.MessageUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; public class MatchController extends AbstractGuiGame { private MatchController() { } diff --git a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java index e09c7cf4eb5..a18136d825f 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java @@ -21,7 +21,6 @@ import com.google.common.collect.Maps; import forge.Forge; import forge.Forge.KeyInputAdapter; import forge.Graphics; -import forge.GuiBase; import forge.animation.AbilityEffect; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; @@ -33,6 +32,7 @@ import forge.game.combat.CombatView; import forge.game.phase.PhaseType; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.gui.GuiBase; import forge.interfaces.IGameController; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java b/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java index 6af3cc4c31f..cb798b04e37 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java @@ -8,13 +8,13 @@ import java.util.Map; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.math.Vector2; -import forge.FThreads; import forge.Graphics; -import forge.GuiBase; import forge.card.CardZoom; import forge.card.CardRenderer.CardStackPosition; import forge.card.CardZoom.ActivateHandler; import forge.game.card.CardView; +import forge.gui.FThreads; +import forge.gui.GuiBase; import forge.screens.match.MatchController; import forge.toolbox.FCardPanel; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VField.java b/forge-gui-mobile/src/forge/screens/match/views/VField.java index da3d6587707..b1c20e3d80f 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VField.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VField.java @@ -3,10 +3,10 @@ package forge.screens.match.views; import java.util.ArrayList; import java.util.List; -import forge.FThreads; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; import forge.game.player.PlayerView; +import forge.gui.FThreads; import forge.screens.match.views.VCardDisplayArea.CardAreaPanel; import forge.toolbox.FContainer; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VStack.java b/forge-gui-mobile/src/forge/screens/match/views/VStack.java index 5cd99ead01e..167d1151019 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VStack.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VStack.java @@ -14,18 +14,18 @@ import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.TextRenderer; -import forge.card.CardDetailUtil; import forge.card.CardRenderer; import forge.card.CardZoom; -import forge.card.CardDetailUtil.DetailColors; import forge.card.CardRenderer.CardStackPosition; import forge.game.GameView; import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.spellability.StackItemView; import forge.game.zone.ZoneType; +import forge.gui.card.CardDetailUtil; +import forge.gui.card.CardDetailUtil.DetailColors; +import forge.gui.interfaces.IGuiGame; import forge.interfaces.IGameController; -import forge.interfaces.IGuiGame; import forge.menu.FCheckBoxMenuItem; import forge.menu.FDropDown; import forge.menu.FMenuItem; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java index 46134e39b23..fc3be9d2483 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java @@ -1,28 +1,11 @@ package forge.screens.match.winlose; -/** Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -import forge.FThreads; import forge.game.GameView; import forge.gamemodes.gauntlet.GauntletWinLoseController; +import forge.gui.FThreads; +import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; -import forge.util.gui.SOptionPane; import java.util.List; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java index 49eed38bc72..ce8e2f0a405 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java @@ -2,7 +2,7 @@ package forge.screens.match.winlose; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; -import forge.FThreads; + import forge.Forge; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; @@ -10,7 +10,10 @@ import forge.assets.FSkinFont; import forge.game.GameLogEntry; import forge.game.GameLogEntryType; import forge.game.GameView; -import forge.interfaces.IWinLoseView; +import forge.gui.FThreads; +import forge.gui.interfaces.IWinLoseView; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.menu.FMagnifyView; @@ -25,8 +28,7 @@ import forge.toolbox.FOverlay; import forge.toolbox.FTextArea; import forge.util.Localizer; import forge.util.Utils; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; + import org.apache.commons.lang3.StringUtils; import java.util.List; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java b/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java index 46cf5a34506..c5bcc2e01e6 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineLobbyScreen.java @@ -1,9 +1,8 @@ package forge.screens.online; import com.google.common.collect.ImmutableList; -import forge.FThreads; + import forge.Forge; -import forge.GuiBase; import forge.gamemodes.match.GameLobby; import forge.gamemodes.net.ChatMessage; import forge.gamemodes.net.IOnlineChatInterface; @@ -12,13 +11,15 @@ import forge.gamemodes.net.NetConnectUtil; import forge.gamemodes.net.OfflineLobby; import forge.gamemodes.net.client.FGameClient; import forge.gamemodes.net.server.FServerManager; -import forge.interfaces.ILobbyView; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.interfaces.ILobbyView; +import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.screens.LoadingOverlay; import forge.screens.constructed.LobbyScreen; import forge.screens.online.OnlineMenu.OnlineScreen; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public class OnlineLobbyScreen extends LobbyScreen implements IOnlineLobby { diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java index a5e51bc03c3..5a6123c493c 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java @@ -6,7 +6,6 @@ import java.util.Map.Entry; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; -import forge.FThreads; import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinFont; @@ -18,6 +17,7 @@ import forge.gamemodes.planarconquest.ConquestPlane; import forge.gamemodes.planarconquest.ConquestPreferences; import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gui.FThreads; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManager; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java index 837a14f5472..8bbb6679422 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java @@ -9,7 +9,6 @@ import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.animation.ForgeAnimation; @@ -19,13 +18,11 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.FSkinTexture; import forge.card.CardAvatarImage; -import forge.card.CardDetailUtil; import forge.card.CardFaceSymbols; import forge.card.CardImageRenderer; import forge.card.CardRenderer; import forge.card.CardZoom; import forge.card.ColorSet; -import forge.card.CardDetailUtil.DetailColors; import forge.gamemodes.planarconquest.ConquestAwardPool; import forge.gamemodes.planarconquest.ConquestBattle; import forge.gamemodes.planarconquest.ConquestChaosBattle; @@ -40,6 +37,9 @@ import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestEvent.ChaosWheelOutcome; import forge.gamemodes.planarconquest.ConquestEvent.ConquestEventRecord; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gui.FThreads; +import forge.gui.card.CardDetailUtil; +import forge.gui.card.CardDetailUtil.DetailColors; import forge.item.PaperCard; import forge.model.FModel; import forge.screens.FScreen; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java index 501b630835c..8115d039dbc 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java @@ -8,7 +8,7 @@ import forge.assets.FSkinImage; import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestPlane; import forge.gamemodes.planarconquest.IVConquestStats; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; import forge.model.FModel; import forge.screens.FScreen; import forge.toolbox.FComboBox; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java index db7ded4a0ec..7a6e95bdcc6 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java @@ -11,7 +11,6 @@ import java.util.Map; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; @@ -21,6 +20,8 @@ import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestPreferences; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.gamemodes.quest.QuestUtil; +import forge.gui.FThreads; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgeConstants; import forge.assets.FSkinFont; import forge.assets.FSkinImage; @@ -38,7 +39,6 @@ import forge.toolbox.FEvent.FEventHandler; import forge.util.FileUtil; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public class LoadConquestScreen extends LaunchScreen { diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java index f5d03d6855c..323a2863c8e 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java @@ -2,7 +2,6 @@ package forge.screens.planarconquest; import com.google.common.collect.Iterables; -import forge.FThreads; import forge.assets.FImage; import forge.card.CardImage; import forge.card.CardListPreview; @@ -10,6 +9,7 @@ import forge.gamemodes.planarconquest.ConquestController; import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gui.FThreads; import forge.item.PaperCard; import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.model.FModel; diff --git a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java index 0633c4feecd..5866c245b97 100644 --- a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java @@ -12,7 +12,7 @@ import java.util.Map; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.utils.Align; -import forge.FThreads; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; @@ -23,6 +23,8 @@ import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gamemodes.quest.data.QuestData; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.QuestDataIO; +import forge.gui.FThreads; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgeConstants; import forge.assets.FSkinFont; import forge.assets.FSkinImage; @@ -39,7 +41,6 @@ import forge.toolbox.FTextArea; import forge.toolbox.FEvent.FEventHandler; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public class LoadQuestScreen extends LaunchScreen { diff --git a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java index 5519b9ac428..6f5f4ee21db 100644 --- a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java @@ -2,9 +2,7 @@ package forge.screens.quest; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; -import forge.UiCommand; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.card.MagicColor; @@ -22,6 +20,9 @@ import forge.gamemodes.quest.StartingPoolPreferences.PoolType; import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gamemodes.quest.data.GameFormatQuest; import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gui.FThreads; +import forge.gui.UiCommand; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.item.PreconDeck; import forge.itemmanager.filters.HistoricFormatSelect; @@ -46,7 +47,6 @@ import forge.toolbox.FScrollPane; import forge.util.FileUtil; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.gui.SOptionPane; import forge.util.Localizer; import java.util.ArrayList; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java index e559a958dee..26de38bae66 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java @@ -8,7 +8,6 @@ import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; -import forge.GuiBase; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; @@ -18,6 +17,7 @@ import forge.gamemodes.quest.bazaar.IQuestBazaarItem; import forge.gamemodes.quest.bazaar.QuestBazaarManager; import forge.gamemodes.quest.bazaar.QuestStallDefinition; import forge.gamemodes.quest.data.QuestAssets; +import forge.gui.GuiBase; import forge.model.FModel; import forge.screens.TabPageScreen; import forge.toolbox.FContainer; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestChallengesScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestChallengesScreen.java index bac1e06937a..cb84d55ff21 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestChallengesScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestChallengesScreen.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; import forge.assets.FSkinFont; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; import forge.model.FModel; import forge.toolbox.FLabel; import forge.util.Localizer; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java index 063a9a32c67..f2dc4f98457 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java @@ -1,7 +1,7 @@ package forge.screens.quest; import com.badlogic.gdx.utils.Align; -import forge.FThreads; + import forge.Forge; import forge.assets.FSkinFont; import forge.assets.ImageCache; @@ -13,6 +13,7 @@ import forge.game.GameType; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gui.FThreads; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java index 5d9d05122ca..484ee29f8d3 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java @@ -2,10 +2,11 @@ package forge.screens.quest; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; -import forge.FThreads; + import forge.assets.FSkinFont; import forge.gamemodes.quest.QuestEventDuel; -import forge.interfaces.IButton; +import forge.gui.FThreads; +import forge.gui.interfaces.IButton; import forge.model.FModel; import forge.screens.LoadingOverlay; import forge.screens.home.HomeScreen; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java index 9d37c134ed8..353612e646f 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestLaunchScreen.java @@ -1,7 +1,7 @@ package forge.screens.quest; -import forge.FThreads; import forge.gamemodes.quest.QuestUtil; +import forge.gui.FThreads; import forge.model.FModel; import forge.screens.LaunchScreen; import forge.screens.LoadingOverlay; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java index f72f26a260a..57e267296d8 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java @@ -3,7 +3,6 @@ package forge.screens.quest; import java.io.File; import java.io.IOException; -import forge.FThreads; import forge.Forge; import forge.assets.FSkinImage; import forge.deck.Deck; @@ -14,9 +13,10 @@ import forge.gamemodes.quest.IVQuestStats; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.QuestDataIO; -import forge.interfaces.IButton; -import forge.interfaces.ICheckBox; -import forge.interfaces.IComboBox; +import forge.gui.FThreads; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.ICheckBox; +import forge.gui.interfaces.IComboBox; import forge.localinstance.properties.ForgeConstants; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java index d789bf45d67..5cf3b8192a0 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java @@ -1,13 +1,14 @@ package forge.screens.quest; import com.badlogic.gdx.utils.Align; -import forge.FThreads; + import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.gamemodes.quest.QuestSpellShop; import forge.gamemodes.quest.QuestUtil; +import forge.gui.FThreads; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java index ed045d09804..503ae6e57ca 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java @@ -8,9 +8,9 @@ import forge.assets.FSkinImage; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.bazaar.QuestItemType; import forge.gamemodes.quest.bazaar.QuestPetController; -import forge.interfaces.IButton; -import forge.interfaces.ICheckBox; -import forge.interfaces.IComboBox; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.ICheckBox; +import forge.gui.interfaces.IComboBox; import forge.model.FModel; import forge.screens.FScreen; import forge.toolbox.FCheckBox; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java index 2117740b565..24cf048357f 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java @@ -3,9 +3,7 @@ package forge.screens.quest; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; -import forge.FThreads; import forge.Forge; -import forge.GuiBase; import forge.assets.FSkin; import forge.assets.FSkinColor; import forge.assets.FSkinFont; @@ -23,6 +21,8 @@ import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestTournamentController; import forge.gamemodes.quest.QuestDraftUtils.Mode; import forge.gamemodes.quest.data.QuestEventDraftContainer; +import forge.gui.FThreads; +import forge.gui.GuiBase; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; diff --git a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java index bfc99edac90..082b702cdd2 100644 --- a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java @@ -27,6 +27,13 @@ import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gui.download.GuiDownloadAchievementImages; +import forge.gui.download.GuiDownloadPicturesLQ; +import forge.gui.download.GuiDownloadPrices; +import forge.gui.download.GuiDownloadQuestImages; +import forge.gui.download.GuiDownloadService; +import forge.gui.download.GuiDownloadSetPicturesLQ; +import forge.gui.download.GuiDownloadSkins; import forge.screens.TabPageScreen.TabPage; import forge.toolbox.FFileChooser; import forge.toolbox.FFileChooser.ChoiceType; diff --git a/forge-gui-mobile/src/forge/screens/settings/GuiDownloader.java b/forge-gui-mobile/src/forge/screens/settings/GuiDownloader.java index ccb08b3310a..537f0d64819 100644 --- a/forge-gui-mobile/src/forge/screens/settings/GuiDownloader.java +++ b/forge-gui-mobile/src/forge/screens/settings/GuiDownloader.java @@ -20,9 +20,9 @@ package forge.screens.settings; import java.net.Proxy; import forge.Forge; -import forge.UiCommand; -import forge.download.GuiDownloadService; -import forge.download.GuiDownloadZipService; +import forge.gui.UiCommand; +import forge.gui.download.GuiDownloadService; +import forge.gui.download.GuiDownloadZipService; import forge.toolbox.FDialog; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index ead74e8a1f8..fb6235bdd64 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -3,7 +3,6 @@ package forge.screens.settings; import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; -import forge.GuiBase; import forge.MulliganDefs; import forge.StaticData; import forge.ai.AiProfileUtil; @@ -14,6 +13,7 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.ImageCache; import forge.game.GameLogEntryType; +import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-mobile/src/forge/toolbox/FButton.java b/forge-gui-mobile/src/forge/toolbox/FButton.java index 07da657eca7..dfe0fc0b11b 100644 --- a/forge-gui-mobile/src/forge/toolbox/FButton.java +++ b/forge-gui-mobile/src/forge/toolbox/FButton.java @@ -6,12 +6,12 @@ import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; import forge.Graphics; -import forge.UiCommand; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gui.UiCommand; +import forge.gui.interfaces.IButton; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; diff --git a/forge-gui-mobile/src/forge/toolbox/FCheckBox.java b/forge-gui-mobile/src/forge/toolbox/FCheckBox.java index 3da8bf5da2f..fd7d6438737 100644 --- a/forge-gui-mobile/src/forge/toolbox/FCheckBox.java +++ b/forge-gui-mobile/src/forge/toolbox/FCheckBox.java @@ -6,7 +6,7 @@ import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; -import forge.interfaces.ICheckBox; +import forge.gui.interfaces.ICheckBox; import forge.util.Utils; public class FCheckBox extends FLabel implements ICheckBox { diff --git a/forge-gui-mobile/src/forge/toolbox/FComboBox.java b/forge-gui-mobile/src/forge/toolbox/FComboBox.java index 63339d015dc..4adcf772ffc 100644 --- a/forge-gui-mobile/src/forge/toolbox/FComboBox.java +++ b/forge-gui-mobile/src/forge/toolbox/FComboBox.java @@ -7,7 +7,7 @@ import java.util.List; import com.badlogic.gdx.utils.Align; import forge.Graphics; -import forge.interfaces.IComboBox; +import forge.gui.interfaces.IComboBox; import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/toolbox/FContainer.java b/forge-gui-mobile/src/forge/toolbox/FContainer.java index 32fcf2ea0ab..838a7414dba 100644 --- a/forge-gui-mobile/src/forge/toolbox/FContainer.java +++ b/forge-gui-mobile/src/forge/toolbox/FContainer.java @@ -7,7 +7,7 @@ import java.util.List; import com.badlogic.gdx.math.Vector2; import forge.Graphics; -import forge.error.BugReporter; +import forge.gui.error.BugReporter; public abstract class FContainer extends FDisplayObject { private final List children = new ArrayList<>(); diff --git a/forge-gui-mobile/src/forge/toolbox/FLabel.java b/forge-gui-mobile/src/forge/toolbox/FLabel.java index 51f37a63663..1539f232d7e 100644 --- a/forge-gui-mobile/src/forge/toolbox/FLabel.java +++ b/forge-gui-mobile/src/forge/toolbox/FLabel.java @@ -4,13 +4,13 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; import forge.Graphics; -import forge.UiCommand; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; +import forge.gui.UiCommand; +import forge.gui.interfaces.IButton; import forge.assets.FSkinFont; -import forge.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; diff --git a/forge-gui-mobile/src/forge/toolbox/FOverlay.java b/forge-gui-mobile/src/forge/toolbox/FOverlay.java index e5f36a8b292..7dd5911e493 100644 --- a/forge-gui-mobile/src/forge/toolbox/FOverlay.java +++ b/forge-gui-mobile/src/forge/toolbox/FOverlay.java @@ -8,11 +8,11 @@ import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer.Task; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.gui.FThreads; import forge.screens.FScreen; import forge.screens.match.MatchController; diff --git a/forge-gui-mobile/src/forge/toolbox/FProgressBar.java b/forge-gui-mobile/src/forge/toolbox/FProgressBar.java index 160cf0bcd89..862a3eabfa6 100644 --- a/forge-gui-mobile/src/forge/toolbox/FProgressBar.java +++ b/forge-gui-mobile/src/forge/toolbox/FProgressBar.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Align; import forge.Graphics; import forge.assets.FSkinFont; -import forge.interfaces.IProgressBar; +import forge.gui.interfaces.IProgressBar; import forge.util.Utils; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui-mobile/src/forge/toolbox/FTextField.java b/forge-gui-mobile/src/forge/toolbox/FTextField.java index f427385706d..3b79c643626 100644 --- a/forge-gui-mobile/src/forge/toolbox/FTextField.java +++ b/forge-gui-mobile/src/forge/toolbox/FTextField.java @@ -8,7 +8,7 @@ import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; -import forge.interfaces.ITextField; +import forge.gui.interfaces.ITextField; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.toolbox.FEvent.FEventHandler; diff --git a/forge-gui-mobile/src/forge/toolbox/ListChooser.java b/forge-gui-mobile/src/forge/toolbox/ListChooser.java index 065e9dce99e..718ec5d1c7f 100644 --- a/forge-gui-mobile/src/forge/toolbox/ListChooser.java +++ b/forge-gui-mobile/src/forge/toolbox/ListChooser.java @@ -24,11 +24,11 @@ import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; -import forge.FThreads; import forge.Forge; import forge.Graphics; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gui.FThreads; import forge.item.InventoryItem; import forge.itemmanager.filters.AdvancedSearchFilter; import forge.itemmanager.filters.ItemFilter; diff --git a/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java b/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java index 9d2429b97e8..56348532c25 100644 --- a/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java +++ b/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java @@ -2,7 +2,7 @@ package forge.util; import com.badlogic.gdx.files.FileHandle; import forge.Forge; -import forge.GuiBase; +import forge.gui.GuiBase; import java.io.FileOutputStream; import java.io.IOException; diff --git a/forge-gui/src/main/java/forge/deck/DeckImportController.java b/forge-gui/src/main/java/forge/deck/DeckImportController.java index 5a4e7130875..eaceb2205b9 100644 --- a/forge-gui/src/main/java/forge/deck/DeckImportController.java +++ b/forge-gui/src/main/java/forge/deck/DeckImportController.java @@ -8,11 +8,11 @@ import java.util.List; import org.apache.commons.lang3.NotImplementedException; import org.apache.commons.lang3.StringUtils; -import forge.interfaces.ICheckBox; -import forge.interfaces.IComboBox; +import forge.gui.interfaces.ICheckBox; +import forge.gui.interfaces.IComboBox; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.model.FModel; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public class DeckImportController { diff --git a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java index 658340ecfb3..b1e5e0febdf 100644 --- a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java +++ b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java @@ -24,6 +24,7 @@ import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEvent; import forge.gamemodes.quest.QuestEventChallenge; import forge.gamemodes.quest.QuestEventDuel; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.itemmanager.IItemManager; import forge.localinstance.properties.ForgePreferences.FPref; @@ -31,7 +32,6 @@ import forge.model.FModel; import forge.util.Aggregates; import forge.util.Lang; import forge.util.MyRandom; -import forge.util.gui.SOptionPane; import forge.util.storage.IStorage; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java index 5e6bdcf35d4..18660c39d82 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java @@ -5,15 +5,15 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckArchiveLegacy extends StorageBase { diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java index eb93e35b6e9..3d921451d19 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java @@ -5,15 +5,15 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckArchiveModern extends StorageBase { diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java b/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java index e667fded18c..66264c7f499 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java @@ -5,15 +5,15 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckArchivePioneer extends StorageBase { diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java index 0600221af07..484a9a317ef 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java @@ -5,15 +5,15 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckArchiveStandard extends StorageBase { diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java index 27d3057d483..bc0a34c9c0e 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java @@ -5,15 +5,15 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckArchiveVintage extends StorageBase { diff --git a/forge-gui/src/main/java/forge/deck/NetDeckCategory.java b/forge-gui/src/main/java/forge/deck/NetDeckCategory.java index 1d8b9fb34ef..2faddf428c3 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckCategory.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckCategory.java @@ -8,15 +8,15 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckCategory extends StorageBase { diff --git a/forge-gui/src/main/java/forge/download/AutoUpdater.java b/forge-gui/src/main/java/forge/download/AutoUpdater.java index a33179ed2ad..cc6cca4ad7a 100644 --- a/forge-gui/src/main/java/forge/download/AutoUpdater.java +++ b/forge-gui/src/main/java/forge/download/AutoUpdater.java @@ -1,14 +1,17 @@ package forge.download; import com.google.common.collect.ImmutableList; -import forge.GuiBase; + +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.util.BuildInfo; import forge.util.FileUtil; import forge.util.Localizer; import forge.util.WaitCallback; -import forge.util.gui.SOptionPane; + import org.apache.commons.lang3.StringUtils; import javax.swing.*; diff --git a/forge-gui/src/main/java/forge/error/ExceptionHandler.java b/forge-gui/src/main/java/forge/error/ExceptionHandler.java index 19eeb7d24de..57802b34c31 100644 --- a/forge-gui/src/main/java/forge/error/ExceptionHandler.java +++ b/forge-gui/src/main/java/forge/error/ExceptionHandler.java @@ -29,6 +29,7 @@ import java.lang.Thread.UncaughtExceptionHandler; import com.esotericsoftware.minlog.Log; import forge.FTrace; +import forge.gui.error.BugReporter; import forge.localinstance.properties.ForgeConstants; import forge.util.MultiplexOutputStream; diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java index 6b57a79e963..097fdff80e6 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java @@ -2,11 +2,11 @@ package forge.gamemodes.gauntlet; import com.thoughtworks.xstream.annotations.XStreamOmitField; -import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; +import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; import java.io.File; diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java index de65914f895..cba8b733b6d 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java @@ -22,7 +22,8 @@ import com.thoughtworks.xstream.security.NullPermission; import com.thoughtworks.xstream.security.PrimitiveTypePermission; import forge.deck.Deck; import forge.deck.DeckSection; -import forge.error.BugReporter; +import forge.gui.error.BugReporter; + import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.XStream; diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java index 70486da312e..bb705a35a1b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletWinLoseController.java @@ -8,8 +8,8 @@ import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameView; import forge.game.player.RegisteredPlayer; -import forge.interfaces.IButton; -import forge.interfaces.IWinLoseView; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IWinLoseView; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.player.GamePlayerUtil; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java index 40e8a11722b..852d9924c45 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java @@ -24,6 +24,8 @@ import forge.StaticData; import forge.card.CardEdition; import forge.deck.CardPool; import forge.deck.Deck; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.ChaosBoosterSupplier; @@ -36,8 +38,6 @@ import forge.model.FModel; import forge.util.FileUtil; import forge.util.ItemPool; import forge.util.TextUtil; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import forge.util.storage.IStorage; import forge.util.Localizer; import org.apache.commons.lang3.ArrayUtils; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java index ae093bd402f..56b8fcda000 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java @@ -2,7 +2,11 @@ package forge.gamemodes.limited; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; -import forge.card.*; + +import forge.card.ColorSet; +import forge.card.DeckHints; +import forge.card.MagicColor; +import forge.gui.card.*; import forge.item.PaperCard; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java index e9dadbaca5c..9d3e68ad844 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java @@ -5,7 +5,11 @@ import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import forge.StaticData; -import forge.card.*; +import forge.card.CardEdition; +import forge.card.CardRules; +import forge.card.CardRulesPredicates; +import forge.card.ColorSet; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; import forge.deck.CardPool; @@ -16,6 +20,7 @@ import forge.deck.generation.DeckGenPool; import forge.deck.generation.DeckGeneratorBase; import forge.deck.generation.IDeckGenPool; import forge.game.GameFormat; +import forge.gui.card.*; import forge.item.IPaperCard; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java b/forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java index 62997adef14..72b906a4d66 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/GauntletMini.java @@ -20,11 +20,11 @@ package forge.gamemodes.limited; import java.util.ArrayList; import java.util.List; -import forge.GuiBase; import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; +import forge.gui.GuiBase; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Aggregates; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java index c1fbbc34f6a..69a5ee01eef 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedWinLoseController.java @@ -1,8 +1,8 @@ package forge.gamemodes.limited; import forge.game.GameView; -import forge.interfaces.IButton; -import forge.interfaces.IWinLoseView; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IWinLoseView; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java b/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java index 93573fdc2d8..359b5e44d20 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java @@ -25,6 +25,8 @@ import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.IUnOpenedProduct; @@ -38,8 +40,6 @@ import forge.model.UnOpenedMeta; import forge.util.FileUtil; import forge.util.MyRandom; import forge.util.TextUtil; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import forge.util.storage.IStorage; import forge.util.Localizer; import org.apache.commons.lang3.ArrayUtils; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java b/forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java index 65837e9bee8..9710e4f2a70 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/AbstractGuiGame.java @@ -17,8 +17,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import forge.FThreads; -import forge.GuiBase; import forge.game.GameView; import forge.game.card.Card; import forge.game.card.CardView; @@ -26,9 +24,11 @@ import forge.game.card.CardView.CardStateView; import forge.game.event.GameEventSpellAbilityCast; import forge.game.event.GameEventSpellRemovedFromStack; import forge.game.player.PlayerView; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; +import forge.gui.interfaces.IMayViewCards; import forge.interfaces.IGameController; -import forge.interfaces.IGuiGame; -import forge.interfaces.IMayViewCards; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java b/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java index 49bca8ce43d..b7f1a6350bb 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java @@ -16,7 +16,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.primitives.Ints; -import forge.GuiBase; import forge.LobbyPlayer; import forge.ai.AIOption; import forge.deck.CardPool; @@ -29,8 +28,10 @@ import forge.game.IHasGameType; import forge.game.player.Player; import forge.game.player.RegisteredPlayer; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; +import forge.gui.util.SOptionPane; import forge.interfaces.IGameController; -import forge.interfaces.IGuiGame; import forge.interfaces.IUpdateable; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences.FPref; @@ -38,7 +39,6 @@ import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; import forge.util.NameGenerator; -import forge.util.gui.SOptionPane; public abstract class GameLobby implements IHasGameType { private final static int MAX_PLAYERS = 8; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java index 278963468ae..9418a87e396 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java @@ -19,16 +19,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.eventbus.Subscribe; -import forge.FThreads; -import forge.GuiBase; -import forge.control.FControlGameEventHandler; -import forge.control.FControlGamePlayback; -import forge.control.WatchLocalGame; -import forge.events.IUiEventVisitor; -import forge.events.UiEvent; -import forge.events.UiEventAttackerDeclared; -import forge.events.UiEventBlockerAssigned; -import forge.events.UiEventNextGameDecision; import forge.game.Game; import forge.game.GameRules; import forge.game.GameType; @@ -39,7 +29,17 @@ import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.player.RegisteredPlayer; import forge.gamemodes.quest.QuestController; -import forge.interfaces.IGuiGame; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.control.FControlGameEventHandler; +import forge.gui.control.FControlGamePlayback; +import forge.gui.control.WatchLocalGame; +import forge.gui.events.IUiEventVisitor; +import forge.gui.events.UiEvent; +import forge.gui.events.UiEventAttackerDeclared; +import forge.gui.events.UiEventBlockerAssigned; +import forge.gui.events.UiEventNextGameDecision; +import forge.gui.interfaces.IGuiGame; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java b/forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java index 868c3349dda..65c20c4a74b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/LocalLobby.java @@ -2,8 +2,8 @@ package forge.gamemodes.match; import java.util.Collections; -import forge.GuiBase; -import forge.interfaces.IGuiGame; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; public final class LocalLobby extends GameLobby { diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java index 8c896fa1583..aa5ece42e65 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java @@ -18,7 +18,7 @@ package forge.gamemodes.match.input; import com.google.common.collect.Sets; -import forge.events.UiEventAttackerDeclared; + import forge.game.GameEntity; import forge.game.GameEntityView; import forge.game.card.*; @@ -31,6 +31,7 @@ import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; +import forge.gui.events.UiEventAttackerDeclared; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; import forge.util.collect.FCollectionView; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java index 06a66e91a94..8e99b9c2abc 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java @@ -17,8 +17,6 @@ */ package forge.gamemodes.match.input; -import forge.FThreads; -import forge.events.UiEventBlockerAssigned; import forge.game.card.Card; import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; @@ -29,6 +27,8 @@ import forge.game.event.GameEventCombatChanged; import forge.game.event.GameEventCombatUpdate; import forge.game.player.Player; import forge.game.zone.ZoneType; +import forge.gui.FThreads; +import forge.gui.events.UiEventBlockerAssigned; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; import forge.util.ThreadUtil; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java index 4b8d0a8f055..d785d5e3519 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java @@ -21,10 +21,10 @@ import java.util.List; import com.google.common.collect.ImmutableList; -import forge.GuiBase; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.spellability.SpellAbility; +import forge.gui.GuiBase; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.player.PlayerControllerHuman; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java index 4dc68e07feb..b1b4847fb7f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java @@ -3,11 +3,11 @@ package forge.gamemodes.match.input; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import forge.FThreads; import forge.game.card.Card; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbility; +import forge.gui.FThreads; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; import forge.util.ThreadUtil; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java index a4422d40eae..c0f2003da76 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java @@ -2,14 +2,14 @@ package forge.gamemodes.match.input; import java.util.*; -import forge.GuiBase; import forge.game.spellability.SpellAbilityView; +import forge.gui.FThreads; +import forge.gui.GuiBase; import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Lists; -import forge.FThreads; import forge.ai.ComputerUtilMana; import forge.ai.PlayerControllerAi; import forge.card.ColorSet; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java index 9eebdf6e7bc..06ed7c70539 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPlaybackControl.java @@ -1,9 +1,9 @@ package forge.gamemodes.match.input; -import forge.control.FControlGamePlayback; import forge.game.Game; import forge.game.card.Card; import forge.game.phase.PhaseHandler; +import forge.gui.control.FControlGamePlayback; public class InputPlaybackControl extends InputSyncronizedBase { private static final long serialVersionUID = 7979208993306642072L; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java index 139be85d511..a71cbdfefad 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java @@ -23,12 +23,12 @@ import java.util.Observable; import java.util.Observer; import java.util.concurrent.atomic.AtomicReference; -import forge.FThreads; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbility; +import forge.gui.FThreads; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java index 021c92c668c..f3c7a05b06e 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java @@ -1,12 +1,12 @@ package forge.gamemodes.match.input; -import forge.FThreads; import forge.game.GameEntity; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.Zone; +import forge.gui.FThreads; import forge.player.PlayerControllerHuman; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java index 761f3ac4eb7..1bf5054e97b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java @@ -4,7 +4,6 @@ import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import forge.FThreads; import forge.game.GameEntity; import forge.game.GameObject; import forge.game.ability.ApiType; @@ -14,6 +13,7 @@ import forge.game.card.CardView; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; +import forge.gui.FThreads; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java index 1a46abe15cb..df10c4fc797 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSyncronizedBase.java @@ -2,8 +2,8 @@ package forge.gamemodes.match.input; import java.util.concurrent.CountDownLatch; -import forge.FThreads; -import forge.error.BugReporter; +import forge.gui.FThreads; +import forge.gui.error.BugReporter; import forge.player.PlayerControllerHuman; public abstract class InputSyncronizedBase extends InputBase implements InputSynchronized { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java index 4110f9d1486..cfd004eb8c0 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java @@ -1,6 +1,5 @@ package forge.gamemodes.net; -import forge.GuiBase; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufInputStream; import io.netty.channel.ChannelHandlerContext; @@ -11,6 +10,8 @@ import net.jpountz.lz4.LZ4BlockInputStream; import java.io.ObjectInputStream; import java.io.StreamCorruptedException; +import forge.gui.GuiBase; + public class CompatibleObjectDecoder extends LengthFieldBasedFrameDecoder { private final ClassResolver classResolver; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java index 9cf17f0b1b8..945b0732fce 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java @@ -1,6 +1,5 @@ package forge.gamemodes.net; -import forge.GuiBase; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufOutputStream; import io.netty.channel.ChannelHandlerContext; @@ -10,6 +9,8 @@ import net.jpountz.lz4.LZ4BlockOutputStream; import java.io.ObjectOutputStream; import java.io.Serializable; +import forge.gui.GuiBase; + public class CompatibleObjectEncoder extends MessageToByteEncoder { private static final byte[] LENGTH_PLACEHOLDER = new byte[4]; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java index 59179d1e12b..8dcbb0f39d7 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java @@ -1,10 +1,10 @@ package forge.gamemodes.net; -import forge.FThreads; import forge.gamemodes.net.event.GuiGameEvent; import forge.gamemodes.net.event.ReplyEvent; +import forge.gui.FThreads; +import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; -import forge.util.gui.SOptionPane; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java index 26637b2fd48..5160e98cb06 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/IOnlineLobby.java @@ -2,7 +2,7 @@ package forge.gamemodes.net; import forge.gamemodes.match.GameLobby; import forge.gamemodes.net.client.FGameClient; -import forge.interfaces.ILobbyView; +import forge.gui.interfaces.ILobbyView; public interface IOnlineLobby { ILobbyView setLobby(GameLobby lobby); diff --git a/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java b/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java index d2c0c2bc3e9..30294e9a3f2 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java @@ -2,7 +2,6 @@ package forge.gamemodes.net; import org.apache.commons.lang3.StringUtils; -import forge.GuiBase; import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.match.GameLobby.GameLobbyData; import forge.gamemodes.net.client.ClientGameLobby; @@ -13,9 +12,11 @@ import forge.gamemodes.net.event.NetEvent; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; import forge.gamemodes.net.server.FServerManager; import forge.gamemodes.net.server.ServerGameLobby; -import forge.interfaces.IGuiGame; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; +import forge.gui.interfaces.ILobbyView; +import forge.gui.util.SOptionPane; import forge.interfaces.ILobbyListener; -import forge.interfaces.ILobbyView; import forge.interfaces.IPlayerChangeListener; import forge.interfaces.IUpdateable; import forge.localinstance.properties.ForgeConstants; @@ -23,7 +24,6 @@ import forge.localinstance.properties.ForgeProfileProperties; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; -import forge.util.gui.SOptionPane; import forge.util.Localizer; public class NetConnectUtil { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java index ad21bbb8cd8..68f4b20c7d2 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/OfflineLobby.java @@ -5,7 +5,7 @@ import java.util.Collections; import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; -import forge.interfaces.IGuiGame; +import forge.gui.interfaces.IGuiGame; //Temporary lobby instance to use for OnlineLobby before connecting to a server public final class OfflineLobby extends GameLobby { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java b/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java index e7b2c622bc2..a7494f1d8a7 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java @@ -1,7 +1,7 @@ package forge.gamemodes.net; import com.google.common.base.Function; -import forge.GuiBase; + import forge.deck.CardPool; import forge.game.GameEntityView; import forge.game.GameView; @@ -11,8 +11,9 @@ import forge.game.player.DelayedReveal; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.gamemodes.match.NextGameDecision; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; import forge.interfaces.IGameController; -import forge.interfaces.IGuiGame; import forge.localinstance.assets.FSkinProp; import forge.player.PlayerZoneUpdates; import forge.trackable.TrackableCollection; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java index a5cbce01ce1..d8eb799db12 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/ClientGameLobby.java @@ -1,7 +1,7 @@ package forge.gamemodes.net.client; import forge.gamemodes.match.GameLobby; -import forge.interfaces.IGuiGame; +import forge.gui.interfaces.IGuiGame; public final class ClientGameLobby extends GameLobby { private int localPlayer = -1; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java b/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java index 074ebe318be..a39cd3504f0 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java @@ -26,7 +26,7 @@ import forge.gamemodes.net.event.IdentifiableNetEvent; import forge.gamemodes.net.event.LobbyUpdateEvent; import forge.gamemodes.net.event.MessageEvent; import forge.gamemodes.net.event.NetEvent; -import forge.interfaces.IGuiGame; +import forge.gui.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; public class FGameClient implements IToServer { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java index db52bbcddbc..8097999a053 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java @@ -10,6 +10,7 @@ import forge.gamemodes.net.IRemote; import forge.gamemodes.net.ProtocolMethod; import forge.gamemodes.net.ReplyPool; import forge.gamemodes.net.event.LoginEvent; +import forge.gui.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; import forge.localinstance.properties.ForgePreferences.FPref; import forge.player.LobbyPlayerHuman; @@ -20,7 +21,6 @@ import forge.trackable.TrackableTypes; import forge.trackable.Tracker; import io.netty.channel.ChannelHandlerContext; import forge.game.player.PlayerView; -import forge.interfaces.IGuiGame; import forge.model.FModel; import forge.trackable.TrackableCollection; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java b/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java index e3c59cf040c..a48d090d06d 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java @@ -1,6 +1,5 @@ package forge.gamemodes.net.server; -import forge.GuiBase; import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.net.CompatibleObjectDecoder; @@ -11,8 +10,9 @@ import forge.gamemodes.net.event.LogoutEvent; import forge.gamemodes.net.event.MessageEvent; import forge.gamemodes.net.event.NetEvent; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; import forge.interfaces.IGameController; -import forge.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java b/forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java index 3ee3916608e..44369085159 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/ServerGameLobby.java @@ -7,7 +7,7 @@ import org.apache.commons.lang3.StringUtils; import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; -import forge.interfaces.IGuiGame; +import forge.gui.interfaces.IGuiGame; public final class ServerGameLobby extends GameLobby { diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java index 8fb89403ae4..b99f74fd33b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestBattle.java @@ -6,9 +6,9 @@ import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameType; import forge.game.GameView; -import forge.interfaces.IButton; -import forge.interfaces.IGuiGame; -import forge.interfaces.IWinLoseView; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IGuiGame; +import forge.gui.interfaces.IWinLoseView; import forge.item.PaperCard; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java index 694984777bc..665160d0f03 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestChaosBattle.java @@ -13,9 +13,9 @@ import forge.gamemodes.quest.QuestEventDifficulty; import forge.gamemodes.quest.QuestEventDuel; import forge.gamemodes.quest.QuestEventDuelManager; import forge.gamemodes.quest.QuestWorld; -import forge.interfaces.IButton; -import forge.interfaces.IGuiGame; -import forge.interfaces.IWinLoseView; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IGuiGame; +import forge.gui.interfaces.IWinLoseView; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java index 2d164da59ae..1984c2a3d1d 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestController.java @@ -22,8 +22,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; -import forge.FThreads; -import forge.GuiBase; import forge.LobbyPlayer; import forge.card.CardType; import forge.deck.CardPool; @@ -37,9 +35,11 @@ import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.gamemodes.quest.BoosterUtils; -import forge.interfaces.IButton; -import forge.interfaces.IGuiGame; -import forge.interfaces.IWinLoseView; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IGuiGame; +import forge.gui.interfaces.IWinLoseView; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java index bf3923020db..91fc3dfdeeb 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java @@ -21,6 +21,7 @@ import com.google.common.base.Function; import forge.card.CardDb; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gui.util.SOptionPane; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.ColumnDef; @@ -33,7 +34,6 @@ import forge.model.FModel; import forge.util.FileUtil; import forge.util.XmlReader; import forge.util.XmlWriter; -import forge.util.gui.SOptionPane; import forge.util.Localizer; import forge.util.CardTranslation; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java index 55b0fc09fe6..d2de58e5327 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestEvent.java @@ -8,7 +8,7 @@ import forge.LobbyPlayer; import forge.deck.Deck; import forge.deck.io.DeckSerializer; import forge.game.GameType; -import forge.interfaces.IGuiGame; +import forge.gui.interfaces.IGuiGame; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java index b38d08cbed8..ef58ba1103c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java @@ -8,11 +8,11 @@ import java.util.Set; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import forge.GuiBase; import forge.card.CardRulesPredicates; import forge.card.ColorSet; import forge.deck.generation.DeckGenPool; import forge.game.card.Card; +import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.assets.ISkinImage; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java index 9178010506e..b359b3199d2 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java @@ -6,7 +6,12 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import forge.card.*; +import forge.card.CardEdition; +import forge.card.CardRarity; +import forge.card.CardRules; +import forge.card.CardType; +import forge.card.ColorSet; +import forge.card.MagicColor; import forge.card.CardType.CoreType; import forge.card.mana.ManaCostShard; import forge.deck.CardPool; @@ -16,6 +21,8 @@ import forge.deck.DeckSection; import forge.deck.generation.*; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.gamemodes.quest.QuestUtil; +import forge.gui.card.*; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.IHasSkinProp; @@ -24,7 +31,6 @@ import forge.model.FModel; import forge.util.FileUtil; import forge.util.Localizer; import forge.util.MyRandom; -import forge.util.gui.SOptionPane; import java.util.EnumSet; import java.util.List; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java index 3034a8c5984..3ab3f537d06 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/IVConquestStats.java @@ -1,6 +1,6 @@ package forge.gamemodes.planarconquest; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; public interface IVConquestStats { IButton getLblAEtherShards(); diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java index 7f8e6e216cf..a648e3d3575 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java @@ -21,9 +21,15 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.card.*; + +import forge.card.CardEdition; +import forge.card.CardRules; +import forge.card.CardRulesPredicates; +import forge.card.MagicColor; +import forge.card.PrintSheet; import forge.game.GameFormat; import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gui.card.*; import forge.item.*; import forge.item.IPaperCard.Predicates.Presets; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java index cd7b46734b2..411cf1ca772 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestTournamentView.java @@ -3,7 +3,7 @@ package forge.gamemodes.quest; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.quest.QuestDraftUtils.Mode; import forge.gamemodes.quest.data.QuestEventDraftContainer; -import forge.interfaces.IButton; +import forge.gui.interfaces.IButton; public interface IQuestTournamentView { Mode getMode(); diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java b/forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java index 3b4c8a048af..dd621419279 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IVQuestStats.java @@ -1,8 +1,8 @@ package forge.gamemodes.quest; -import forge.interfaces.IButton; -import forge.interfaces.ICheckBox; -import forge.interfaces.IComboBox; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.ICheckBox; +import forge.gui.interfaces.IComboBox; /** Dictates methods required for a panel with stats/pet display. */ diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java index bd6cfb4d7d1..c5add0e3384 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java @@ -2,7 +2,6 @@ package forge.gamemodes.quest; import com.google.common.collect.Lists; -import forge.GuiBase; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; @@ -17,7 +16,8 @@ import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.tournament.system.TournamentBracket; import forge.gamemodes.tournament.system.TournamentPairing; import forge.gamemodes.tournament.system.TournamentPlayer; -import forge.interfaces.IGuiGame; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java index 776633aa61a..e95337bfd68 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java @@ -17,7 +17,6 @@ */ package forge.gamemodes.quest; -import forge.GuiBase; import forge.card.CardEdition; import forge.card.CardEdition.CardInSet; import forge.card.CardRarity; @@ -31,6 +30,7 @@ import forge.gamemodes.quest.io.ReadPriceList; import forge.gamemodes.tournament.system.TournamentBracket; import forge.gamemodes.tournament.system.TournamentPairing; import forge.gamemodes.tournament.system.TournamentPlayer; +import forge.gui.GuiBase; import forge.item.BoosterPack; import forge.item.PaperCard; import forge.model.CardBlock; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java index cda0191ca65..953ab94c0e9 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java @@ -1,20 +1,22 @@ package forge.gamemodes.quest; import com.google.common.base.Function; -import forge.GuiBase; + import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckFormat; import forge.deck.DeckSection; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.ReadPriceList; +import forge.gui.GuiBase; +import forge.gui.util.SOptionPane; import forge.item.*; import forge.itemmanager.IItemManager; import forge.itemmanager.SItemManagerUtil; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.util.ItemPool; -import forge.util.gui.SOptionPane; + import org.apache.commons.lang3.tuple.Pair; import java.util.ArrayList; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java index e937ae4c9f3..1a3b3bc198c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java @@ -6,7 +6,6 @@ import java.util.List; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import forge.GuiBase; import forge.deck.DeckGroup; import forge.game.GameType; import forge.gamemodes.limited.BoosterDraft; @@ -17,7 +16,10 @@ import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.tournament.system.TournamentBracket; import forge.gamemodes.tournament.system.TournamentPairing; import forge.gamemodes.tournament.system.TournamentPlayer; -import forge.interfaces.IGuiGame; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.BoosterPack; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; @@ -25,8 +27,6 @@ import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.util.TextUtil; import forge.util.ThreadUtil; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import forge.util.storage.IStorage; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java index 9efd1a0d816..3c512709054 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java @@ -19,8 +19,6 @@ package forge.gamemodes.quest; import com.google.common.collect.ImmutableMap; -import forge.FThreads; -import forge.GuiBase; import forge.LobbyPlayer; import forge.card.CardDb.SetPreference; import forge.card.CardEdition; @@ -36,8 +34,12 @@ import forge.gamemodes.quest.bazaar.QuestPetController; import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gamemodes.quest.data.QuestAchievements; import forge.gamemodes.quest.data.QuestAssets; -import forge.interfaces.IButton; -import forge.interfaces.IGuiGame; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IGuiGame; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.IPaperCard; import forge.item.PaperToken; import forge.localinstance.assets.FSkinProp; @@ -45,8 +47,6 @@ import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import org.apache.commons.lang3.tuple.ImmutablePair; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java index d965977f588..89ec386e287 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java @@ -23,6 +23,7 @@ import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.ICardDatabase; @@ -36,6 +37,7 @@ import forge.gamemodes.quest.data.QuestAssets; import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gui.card.*; import forge.item.*; import forge.item.SealedProduct.Template; import forge.item.generation.BoosterSlots; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java index 7f64be4ec92..88a6541c6ad 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java @@ -31,16 +31,16 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.GuiBase; import forge.card.CardEdition; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.ReadPriceList; +import forge.gui.GuiBase; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.UnOpenedProduct; import forge.model.FModel; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import forge.util.storage.IStorage; /** diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java index 5508ef16f10..83df7e5b011 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java @@ -12,8 +12,9 @@ import forge.gamemodes.quest.bazaar.QuestItemType; import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; import forge.gamemodes.quest.data.QuestPreferences.QPref; -import forge.interfaces.IButton; -import forge.interfaces.IWinLoseView; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IWinLoseView; +import forge.gui.util.SGuiChoose; import forge.item.*; import forge.item.IPaperCard.Predicates; import forge.item.generation.BoosterSlots; @@ -26,7 +27,7 @@ import forge.player.GamePlayerUtil; import forge.util.Localizer; import forge.util.MyRandom; import forge.util.TextUtil; -import forge.util.gui.SGuiChoose; + import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java b/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java index 7da42a6690a..ffdf164a0be 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/StartingPoolPreferences.java @@ -50,7 +50,7 @@ public final class StartingPoolPreferences { * Creates a new StartingPoolPreferences instance. * @param poolType The type of card pool to generate. * @param preferredColors A list of preferred colors to use when generating the card pool. - * See {@link forge.card.MagicColor} for allowed values. + * See {@link forge.gui.card.MagicColor} for allowed values. * @param includeArtifacts If true, artifacts will be included in the pool regardless of selected colors. This * mimics the old quest pool generation. * @param completeSet If true, four of each card in the starting pool will be generated. @@ -73,7 +73,7 @@ public final class StartingPoolPreferences { } /** - * @return A list of colors to use when generating the card pool. See {@link forge.card.MagicColor} for allowed values. + * @return A list of colors to use when generating the card pool. See {@link forge.gui.card.MagicColor} for allowed values. */ public List getPreferredColors() { return preferredColors; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java index 098ffaf2baa..e2bdc302a18 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestItemBasic.java @@ -21,9 +21,9 @@ import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import forge.GuiBase; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.data.QuestAssets; +import forge.gui.GuiBase; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java index 4060c06d747..86b8b2f7d84 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetController.java @@ -23,10 +23,10 @@ import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import forge.GuiBase; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.data.QuestAssets; import forge.gamemodes.quest.data.QuestPreferences; +import forge.gui.GuiBase; import forge.item.PaperToken; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java index e7085f5af8f..dfaa8672039 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java @@ -1,11 +1,12 @@ package forge.gamemodes.tournament; import com.thoughtworks.xstream.annotations.XStreamOmitField; -import forge.GuiBase; + import forge.deck.Deck; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.HostedMatch; +import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; import java.io.File; diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java index 2007bae14ed..d75fee33a17 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java @@ -6,8 +6,8 @@ import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameView; import forge.game.player.RegisteredPlayer; -import forge.interfaces.IButton; -import forge.interfaces.IWinLoseView; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IWinLoseView; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; import forge.player.GamePlayerUtil; diff --git a/forge-gui/src/main/java/forge/FThreads.java b/forge-gui/src/main/java/forge/gui/FThreads.java similarity index 99% rename from forge-gui/src/main/java/forge/FThreads.java rename to forge-gui/src/main/java/forge/gui/FThreads.java index e065cf85079..f90221c0c0e 100644 --- a/forge-gui/src/main/java/forge/FThreads.java +++ b/forge-gui/src/main/java/forge/gui/FThreads.java @@ -1,4 +1,4 @@ -package forge; +package forge.gui; import forge.util.ThreadUtil; diff --git a/forge-gui/src/main/java/forge/GuiBase.java b/forge-gui/src/main/java/forge/gui/GuiBase.java similarity index 96% rename from forge-gui/src/main/java/forge/GuiBase.java rename to forge-gui/src/main/java/forge/gui/GuiBase.java index 482904aea3e..1294f7c7228 100644 --- a/forge-gui/src/main/java/forge/GuiBase.java +++ b/forge-gui/src/main/java/forge/gui/GuiBase.java @@ -1,6 +1,6 @@ -package forge; +package forge.gui; -import forge.interfaces.IGuiBase; +import forge.gui.interfaces.IGuiBase; public class GuiBase { private static IGuiBase guiInterface; diff --git a/forge-gui/src/main/java/forge/UiCommand.java b/forge-gui/src/main/java/forge/gui/UiCommand.java similarity index 97% rename from forge-gui/src/main/java/forge/UiCommand.java rename to forge-gui/src/main/java/forge/gui/UiCommand.java index 3b320a5f2d7..ceb94ff2fc7 100644 --- a/forge-gui/src/main/java/forge/UiCommand.java +++ b/forge-gui/src/main/java/forge/gui/UiCommand.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge; +package forge.gui; /** *

diff --git a/forge-gui/src/main/java/forge/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java similarity index 99% rename from forge-gui/src/main/java/forge/card/CardDetailUtil.java rename to forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java index 1cd0d23bfd5..ab65a97d2d0 100644 --- a/forge-gui/src/main/java/forge/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java @@ -1,6 +1,12 @@ -package forge.card; +package forge.gui.card; import com.google.common.collect.Sets; + +import forge.card.CardRarity; +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.ColorSet; +import forge.card.MagicColor; import forge.card.mana.ManaCostShard; import forge.game.GameView; import forge.game.card.Card; diff --git a/forge-gui/src/main/java/forge/card/CardPreferences.java b/forge-gui/src/main/java/forge/gui/card/CardPreferences.java similarity index 99% rename from forge-gui/src/main/java/forge/card/CardPreferences.java rename to forge-gui/src/main/java/forge/gui/card/CardPreferences.java index a7bc5a007a1..cc7e22ea405 100644 --- a/forge-gui/src/main/java/forge/card/CardPreferences.java +++ b/forge-gui/src/main/java/forge/gui/card/CardPreferences.java @@ -1,4 +1,4 @@ -package forge.card; +package forge.gui.card; import forge.item.IPaperCard; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui/src/main/java/forge/card/CardReaderExperiments.java b/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java similarity index 99% rename from forge-gui/src/main/java/forge/card/CardReaderExperiments.java rename to forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java index 4a1439f3513..9b30e8262ef 100644 --- a/forge-gui/src/main/java/forge/card/CardReaderExperiments.java +++ b/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java @@ -1,6 +1,7 @@ -package forge.card; +package forge.gui.card; import forge.CardStorageReader; +import forge.card.CardRules; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/card/CardScriptInfo.java b/forge-gui/src/main/java/forge/gui/card/CardScriptInfo.java similarity index 99% rename from forge-gui/src/main/java/forge/card/CardScriptInfo.java rename to forge-gui/src/main/java/forge/gui/card/CardScriptInfo.java index 7a44e55ab9d..73700303006 100644 --- a/forge-gui/src/main/java/forge/card/CardScriptInfo.java +++ b/forge-gui/src/main/java/forge/gui/card/CardScriptInfo.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.card; +package forge.gui.card; import java.io.File; import java.io.PrintWriter; diff --git a/forge-gui/src/main/java/forge/card/CardScriptParser.java b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java similarity index 99% rename from forge-gui/src/main/java/forge/card/CardScriptParser.java rename to forge-gui/src/main/java/forge/gui/card/CardScriptParser.java index 02c877af4b2..d65aadfce23 100644 --- a/forge-gui/src/main/java/forge/card/CardScriptParser.java +++ b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java @@ -1,4 +1,4 @@ -package forge.card; +package forge.gui.card; import java.util.List; import java.util.Map; @@ -13,6 +13,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import forge.card.CardType; import forge.game.ability.ApiType; import forge.game.trigger.TriggerType; diff --git a/forge-gui/src/main/java/forge/control/ChatArea.java b/forge-gui/src/main/java/forge/gui/control/ChatArea.java similarity index 83% rename from forge-gui/src/main/java/forge/control/ChatArea.java rename to forge-gui/src/main/java/forge/gui/control/ChatArea.java index 98ee707a2eb..bfd112ccf12 100644 --- a/forge-gui/src/main/java/forge/control/ChatArea.java +++ b/forge-gui/src/main/java/forge/gui/control/ChatArea.java @@ -1,4 +1,4 @@ -package forge.control; +package forge.gui.control; /** How 'loudly' the message should sound */ public enum ChatArea { diff --git a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java similarity index 99% rename from forge-gui/src/main/java/forge/control/FControlGameEventHandler.java rename to forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java index e3e85dbf5ac..21d9bd72394 100644 --- a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java +++ b/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java @@ -1,4 +1,4 @@ -package forge.control; +package forge.gui.control; import java.util.Collection; import java.util.HashSet; @@ -9,7 +9,6 @@ import java.util.Set; import com.google.common.collect.Lists; import com.google.common.eventbus.Subscribe; -import forge.GuiBase; import forge.game.Game; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -19,7 +18,8 @@ import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.zone.Zone; import forge.game.zone.ZoneType; -import forge.interfaces.IGuiGame; +import forge.gui.GuiBase; +import forge.gui.interfaces.IGuiGame; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.PlayerControllerHuman; diff --git a/forge-gui/src/main/java/forge/control/FControlGamePlayback.java b/forge-gui/src/main/java/forge/gui/control/FControlGamePlayback.java similarity index 99% rename from forge-gui/src/main/java/forge/control/FControlGamePlayback.java rename to forge-gui/src/main/java/forge/gui/control/FControlGamePlayback.java index 07430bada16..6ce805877d6 100644 --- a/forge-gui/src/main/java/forge/control/FControlGamePlayback.java +++ b/forge-gui/src/main/java/forge/gui/control/FControlGamePlayback.java @@ -1,4 +1,4 @@ -package forge.control; +package forge.gui.control; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; @@ -6,7 +6,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import com.google.common.eventbus.Subscribe; -import forge.FThreads; import forge.game.Game; import forge.game.card.CardView; import forge.game.event.GameEvent; @@ -20,6 +19,7 @@ import forge.game.event.GameEventSpellResolved; import forge.game.event.GameEventTurnPhase; import forge.game.event.IGameEventVisitor; import forge.gamemodes.match.input.InputPlaybackControl; +import forge.gui.FThreads; import forge.player.PlayerControllerHuman; public class FControlGamePlayback extends IGameEventVisitor.Base { diff --git a/forge-gui/src/main/java/forge/control/WatchLocalGame.java b/forge-gui/src/main/java/forge/gui/control/WatchLocalGame.java similarity index 97% rename from forge-gui/src/main/java/forge/control/WatchLocalGame.java rename to forge-gui/src/main/java/forge/gui/control/WatchLocalGame.java index 59452fcb344..d568fa526cd 100644 --- a/forge-gui/src/main/java/forge/control/WatchLocalGame.java +++ b/forge-gui/src/main/java/forge/gui/control/WatchLocalGame.java @@ -1,7 +1,7 @@ /** * */ -package forge.control; +package forge.gui.control; import java.util.List; @@ -12,8 +12,8 @@ import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.gamemodes.match.input.Input; import forge.gamemodes.match.input.InputPlaybackControl; +import forge.gui.interfaces.IGuiGame; import forge.interfaces.IDevModeCheats; -import forge.interfaces.IGuiGame; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; diff --git a/forge-gui/src/main/java/forge/control/package-info.java b/forge-gui/src/main/java/forge/gui/control/package-info.java similarity index 68% rename from forge-gui/src/main/java/forge/control/package-info.java rename to forge-gui/src/main/java/forge/gui/control/package-info.java index b409b506609..2821d72fcd8 100644 --- a/forge-gui/src/main/java/forge/control/package-info.java +++ b/forge-gui/src/main/java/forge/gui/control/package-info.java @@ -1,3 +1,3 @@ /** Controller (as in model-view-controller) for Forge. */ -package forge.control; +package forge.gui.control; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadAchievementImages.java similarity index 97% rename from forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadAchievementImages.java index 532ecfe9090..6bf24143028 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadAchievementImages.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadAchievementImages.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import java.util.Map; import java.util.TreeMap; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java similarity index 99% rename from forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java index 776c6a5a166..2519533adae 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesHQ.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java similarity index 99% rename from forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java index a005eac42a4..ad7b3b46f58 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadPicturesLQ.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import forge.StaticData; import forge.item.PaperCard; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadPrices.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPrices.java similarity index 97% rename from forge-gui/src/main/java/forge/download/GuiDownloadPrices.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadPrices.java index 1e483f1ff72..f30a6cce352 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadPrices.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPrices.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import java.util.Map; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadQuestImages.java similarity index 98% rename from forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadQuestImages.java index 2be134a4696..3ec18989453 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadQuestImages.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadQuestImages.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import java.util.Map; import java.util.TreeMap; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java similarity index 98% rename from forge-gui/src/main/java/forge/download/GuiDownloadService.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java index 4656032b252..772e8e2232f 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import java.io.File; import java.io.FileNotFoundException; @@ -41,13 +41,13 @@ import org.apache.commons.lang3.tuple.Pair; import com.esotericsoftware.minlog.Log; -import forge.FThreads; -import forge.GuiBase; -import forge.UiCommand; -import forge.error.BugReporter; -import forge.interfaces.IButton; -import forge.interfaces.IProgressBar; -import forge.interfaces.ITextField; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.UiCommand; +import forge.gui.error.BugReporter; +import forge.gui.interfaces.IButton; +import forge.gui.interfaces.IProgressBar; +import forge.gui.interfaces.ITextField; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.HttpUtil; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java similarity index 99% rename from forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java index 3cfc87a09b2..c4f29070e9d 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadSetPicturesLQ.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.download; +package forge.gui.download; import com.google.common.collect.Iterables; import forge.StaticData; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadSkins.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadSkins.java similarity index 95% rename from forge-gui/src/main/java/forge/download/GuiDownloadSkins.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadSkins.java index af0e061ae62..c062e531f9b 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadSkins.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadSkins.java @@ -1,4 +1,4 @@ -package forge.download; +package forge.gui.download; import java.util.Map; import java.util.TreeMap; diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadZipService.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java similarity index 98% rename from forge-gui/src/main/java/forge/download/GuiDownloadZipService.java rename to forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java index dd142b04cf4..411bc63460c 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadZipService.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java @@ -1,4 +1,4 @@ -package forge.download; +package forge.gui.download; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; @@ -18,9 +18,9 @@ import java.util.zip.ZipFile; import com.esotericsoftware.minlog.Log; import com.google.common.io.Files; -import forge.FThreads; -import forge.GuiBase; -import forge.interfaces.IProgressBar; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.interfaces.IProgressBar; import forge.util.FileUtil; public class GuiDownloadZipService extends GuiDownloadService { diff --git a/forge-gui/src/main/java/forge/error/BugReporter.java b/forge-gui/src/main/java/forge/gui/error/BugReporter.java similarity index 98% rename from forge-gui/src/main/java/forge/error/BugReporter.java rename to forge-gui/src/main/java/forge/gui/error/BugReporter.java index f4a850e3d51..6a1e0e1d929 100644 --- a/forge-gui/src/main/java/forge/error/BugReporter.java +++ b/forge-gui/src/main/java/forge/gui/error/BugReporter.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.error; +package forge.gui.error; import java.io.BufferedWriter; import java.io.File; @@ -24,11 +24,11 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; -import forge.FThreads; -import forge.GuiBase; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.util.gui.SOptionPane; import forge.util.Localizer; import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; diff --git a/forge-gui/src/main/java/forge/events/IUiEventVisitor.java b/forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java similarity index 86% rename from forge-gui/src/main/java/forge/events/IUiEventVisitor.java rename to forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java index 6634d081ded..29c8d35984d 100644 --- a/forge-gui/src/main/java/forge/events/IUiEventVisitor.java +++ b/forge-gui/src/main/java/forge/gui/events/IUiEventVisitor.java @@ -1,4 +1,4 @@ -package forge.events; +package forge.gui.events; public interface IUiEventVisitor { T visit(UiEventBlockerAssigned event); diff --git a/forge-gui/src/main/java/forge/events/UiEvent.java b/forge-gui/src/main/java/forge/gui/events/UiEvent.java similarity index 84% rename from forge-gui/src/main/java/forge/events/UiEvent.java rename to forge-gui/src/main/java/forge/gui/events/UiEvent.java index 2a5fa6b98f0..5d809973830 100644 --- a/forge-gui/src/main/java/forge/events/UiEvent.java +++ b/forge-gui/src/main/java/forge/gui/events/UiEvent.java @@ -1,4 +1,4 @@ -package forge.events; +package forge.gui.events; import forge.game.event.Event; diff --git a/forge-gui/src/main/java/forge/events/UiEventAttackerDeclared.java b/forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java similarity index 96% rename from forge-gui/src/main/java/forge/events/UiEventAttackerDeclared.java rename to forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java index d6f1fae2182..a90cc213417 100644 --- a/forge-gui/src/main/java/forge/events/UiEventAttackerDeclared.java +++ b/forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java @@ -1,4 +1,4 @@ -package forge.events; +package forge.gui.events; import forge.game.GameEntityView; import forge.game.card.CardView; diff --git a/forge-gui/src/main/java/forge/events/UiEventBlockerAssigned.java b/forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java similarity index 94% rename from forge-gui/src/main/java/forge/events/UiEventBlockerAssigned.java rename to forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java index c17d7b9be73..c169140285c 100644 --- a/forge-gui/src/main/java/forge/events/UiEventBlockerAssigned.java +++ b/forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java @@ -1,4 +1,4 @@ -package forge.events; +package forge.gui.events; import forge.game.card.CardView; diff --git a/forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java b/forge-gui/src/main/java/forge/gui/events/UiEventNextGameDecision.java similarity index 96% rename from forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java rename to forge-gui/src/main/java/forge/gui/events/UiEventNextGameDecision.java index 20b5243a005..e4d6ed80044 100644 --- a/forge-gui/src/main/java/forge/events/UiEventNextGameDecision.java +++ b/forge-gui/src/main/java/forge/gui/events/UiEventNextGameDecision.java @@ -1,4 +1,4 @@ -package forge.events; +package forge.gui.events; import forge.gamemodes.match.NextGameDecision; import forge.player.PlayerControllerHuman; diff --git a/forge-gui/src/main/java/forge/interfaces/IButton.java b/forge-gui/src/main/java/forge/gui/interfaces/IButton.java similarity index 84% rename from forge-gui/src/main/java/forge/interfaces/IButton.java rename to forge-gui/src/main/java/forge/gui/interfaces/IButton.java index 583dae0820e..3150044e01c 100644 --- a/forge-gui/src/main/java/forge/interfaces/IButton.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IButton.java @@ -1,6 +1,6 @@ -package forge.interfaces; +package forge.gui.interfaces; -import forge.UiCommand; +import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; public interface IButton extends ITextComponent { diff --git a/forge-gui/src/main/java/forge/interfaces/ICheckBox.java b/forge-gui/src/main/java/forge/gui/interfaces/ICheckBox.java similarity index 78% rename from forge-gui/src/main/java/forge/interfaces/ICheckBox.java rename to forge-gui/src/main/java/forge/gui/interfaces/ICheckBox.java index a8fa52c12d7..4579943747a 100644 --- a/forge-gui/src/main/java/forge/interfaces/ICheckBox.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/ICheckBox.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; public interface ICheckBox extends IComponent { boolean isSelected(); diff --git a/forge-gui/src/main/java/forge/interfaces/IComboBox.java b/forge-gui/src/main/java/forge/gui/interfaces/IComboBox.java similarity index 88% rename from forge-gui/src/main/java/forge/interfaces/IComboBox.java rename to forge-gui/src/main/java/forge/gui/interfaces/IComboBox.java index 9aa609a0185..1147feca7c8 100644 --- a/forge-gui/src/main/java/forge/interfaces/IComboBox.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IComboBox.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; public interface IComboBox extends IComponent { void setSelectedItem(E item); diff --git a/forge-gui/src/main/java/forge/interfaces/IComponent.java b/forge-gui/src/main/java/forge/gui/interfaces/IComponent.java similarity index 87% rename from forge-gui/src/main/java/forge/interfaces/IComponent.java rename to forge-gui/src/main/java/forge/gui/interfaces/IComponent.java index e9dd9faf9cc..4113d9e7228 100644 --- a/forge-gui/src/main/java/forge/interfaces/IComponent.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IComponent.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; public interface IComponent { boolean isEnabled(); diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java b/forge-gui/src/main/java/forge/gui/interfaces/IGuiBase.java similarity index 97% rename from forge-gui/src/main/java/forge/interfaces/IGuiBase.java rename to forge-gui/src/main/java/forge/gui/interfaces/IGuiBase.java index 68ffe5d1e19..f032085f9cf 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IGuiBase.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; import java.io.File; import java.io.IOException; @@ -8,8 +8,8 @@ import java.util.List; import com.google.common.base.Function; -import forge.download.GuiDownloadService; import forge.gamemodes.match.HostedMatch; +import forge.gui.download.GuiDownloadService; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiGame.java b/forge-gui/src/main/java/forge/gui/interfaces/IGuiGame.java similarity index 99% rename from forge-gui/src/main/java/forge/interfaces/IGuiGame.java rename to forge-gui/src/main/java/forge/gui/interfaces/IGuiGame.java index a503de1daca..b6e62b7a1a3 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiGame.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IGuiGame.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; import java.util.Collection; import java.util.List; @@ -20,6 +20,7 @@ import forge.game.player.IHasIcon; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbilityView; import forge.game.zone.ZoneType; +import forge.interfaces.IGameController; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.player.PlayerZoneUpdate; diff --git a/forge-gui/src/main/java/forge/interfaces/ILobbyView.java b/forge-gui/src/main/java/forge/gui/interfaces/ILobbyView.java similarity index 53% rename from forge-gui/src/main/java/forge/interfaces/ILobbyView.java rename to forge-gui/src/main/java/forge/gui/interfaces/ILobbyView.java index 34d88893172..f3878a76499 100644 --- a/forge-gui/src/main/java/forge/interfaces/ILobbyView.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/ILobbyView.java @@ -1,4 +1,7 @@ -package forge.interfaces; +package forge.gui.interfaces; + +import forge.interfaces.IPlayerChangeListener; +import forge.interfaces.IUpdateable; public interface ILobbyView extends IUpdateable { void setPlayerChangeListener(IPlayerChangeListener iPlayerChangeListener); diff --git a/forge-gui/src/main/java/forge/interfaces/IMayViewCards.java b/forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java similarity index 96% rename from forge-gui/src/main/java/forge/interfaces/IMayViewCards.java rename to forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java index ec84e61ab54..30f9607e6ca 100644 --- a/forge-gui/src/main/java/forge/interfaces/IMayViewCards.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; import forge.game.card.CardView; diff --git a/forge-gui/src/main/java/forge/interfaces/IProgressBar.java b/forge-gui/src/main/java/forge/gui/interfaces/IProgressBar.java similarity index 90% rename from forge-gui/src/main/java/forge/interfaces/IProgressBar.java rename to forge-gui/src/main/java/forge/gui/interfaces/IProgressBar.java index 22604caf4c1..87d3fd9c1d1 100644 --- a/forge-gui/src/main/java/forge/interfaces/IProgressBar.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IProgressBar.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; public interface IProgressBar { void setDescription(String s0); diff --git a/forge-gui/src/main/java/forge/interfaces/ITextComponent.java b/forge-gui/src/main/java/forge/gui/interfaces/ITextComponent.java similarity index 78% rename from forge-gui/src/main/java/forge/interfaces/ITextComponent.java rename to forge-gui/src/main/java/forge/gui/interfaces/ITextComponent.java index 663f0dc589e..9157fd16331 100644 --- a/forge-gui/src/main/java/forge/interfaces/ITextComponent.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/ITextComponent.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; public interface ITextComponent extends IComponent { String getText(); diff --git a/forge-gui/src/main/java/forge/interfaces/ITextField.java b/forge-gui/src/main/java/forge/gui/interfaces/ITextField.java similarity index 75% rename from forge-gui/src/main/java/forge/interfaces/ITextField.java rename to forge-gui/src/main/java/forge/gui/interfaces/ITextField.java index 0c67145eb0f..613ad6575c8 100644 --- a/forge-gui/src/main/java/forge/interfaces/ITextField.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/ITextField.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; public interface ITextField extends ITextComponent { boolean requestFocusInWindow(); diff --git a/forge-gui/src/main/java/forge/interfaces/IWinLoseView.java b/forge-gui/src/main/java/forge/gui/interfaces/IWinLoseView.java similarity index 93% rename from forge-gui/src/main/java/forge/interfaces/IWinLoseView.java rename to forge-gui/src/main/java/forge/gui/interfaces/IWinLoseView.java index fc3dd3590b9..b09f079bf0a 100644 --- a/forge-gui/src/main/java/forge/interfaces/IWinLoseView.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IWinLoseView.java @@ -1,4 +1,4 @@ -package forge.interfaces; +package forge.gui.interfaces; import java.util.List; diff --git a/forge-gui/src/main/java/forge/util/gui/SGuiChoose.java b/forge-gui/src/main/java/forge/gui/util/SGuiChoose.java similarity index 99% rename from forge-gui/src/main/java/forge/util/gui/SGuiChoose.java rename to forge-gui/src/main/java/forge/gui/util/SGuiChoose.java index 4b8fcb3d860..81f7e76ec0a 100644 --- a/forge-gui/src/main/java/forge/util/gui/SGuiChoose.java +++ b/forge-gui/src/main/java/forge/gui/util/SGuiChoose.java @@ -1,4 +1,4 @@ -package forge.util.gui; +package forge.gui.util; import java.util.ArrayList; import java.util.Arrays; @@ -10,7 +10,7 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.base.Function; import com.google.common.collect.Iterables; -import forge.GuiBase; +import forge.gui.GuiBase; public class SGuiChoose { diff --git a/forge-gui/src/main/java/forge/util/gui/SOptionPane.java b/forge-gui/src/main/java/forge/gui/util/SOptionPane.java similarity index 98% rename from forge-gui/src/main/java/forge/util/gui/SOptionPane.java rename to forge-gui/src/main/java/forge/gui/util/SOptionPane.java index 1b1ac10d84c..d4faca3d9fc 100644 --- a/forge-gui/src/main/java/forge/util/gui/SOptionPane.java +++ b/forge-gui/src/main/java/forge/gui/util/SOptionPane.java @@ -1,10 +1,10 @@ -package forge.util.gui; +package forge.gui.util; import java.util.List; import com.google.common.collect.ImmutableList; -import forge.GuiBase; +import forge.gui.GuiBase; import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index c1723ec13d5..b78deedfa8f 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -8,9 +8,6 @@ import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import forge.FThreads; -import forge.GuiBase; -import forge.UiCommand; import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.CardRules; @@ -28,13 +25,16 @@ import forge.gamemodes.planarconquest.ConquestPlane; import forge.gamemodes.planarconquest.ConquestRegion; import forge.gamemodes.quest.QuestSpellShop; import forge.gamemodes.quest.QuestWorld; -import forge.interfaces.IButton; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.UiCommand; +import forge.gui.interfaces.IButton; +import forge.gui.util.SGuiChoose; +import forge.gui.util.SOptionPane; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.model.FModel; -import forge.util.gui.SGuiChoose; -import forge.util.gui.SOptionPane; import forge.util.Localizer; import forge.util.CardTranslation; diff --git a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java index 8190ea419b2..a50e3bcc802 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java +++ b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java @@ -18,12 +18,22 @@ package forge.itemmanager; import com.google.common.base.Function; -import forge.card.*; + +import forge.card.CardAiHints; +import forge.card.CardEdition; +import forge.card.CardRarity; +import forge.card.CardRules; +import forge.card.CardSplitType; +import forge.card.CardType; +import forge.card.ColorSet; +import forge.card.ICardFace; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; import forge.game.GameFormat; import forge.gamemodes.limited.DraftRankCache; +import forge.gui.card.*; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.item.InventoryItemFromSet; diff --git a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java index 1e0fa5ea57c..0bacfd9d9e3 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java @@ -3,11 +3,16 @@ package forge.itemmanager; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import forge.StaticData; -import forge.card.*; +import forge.card.CardEdition; +import forge.card.CardRules; +import forge.card.CardRulesPredicates; +import forge.card.ColorSet; +import forge.card.MagicColor; import forge.deck.DeckProxy; import forge.game.GameFormat; import forge.gamemodes.quest.data.StarRating; -import forge.interfaces.IButton; +import forge.gui.card.*; +import forge.gui.interfaces.IButton; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.SItemManagerUtil.StatTypes; diff --git a/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java b/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java index 0c9d1702be5..0caca0cee3b 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java @@ -1,11 +1,12 @@ package forge.itemmanager; import com.google.common.base.Predicate; -import forge.GuiBase; + import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.deck.DeckProxy; -import forge.interfaces.IComboBox; +import forge.gui.GuiBase; +import forge.gui.interfaces.IComboBox; import forge.item.InventoryItem; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.IHasSkinProp; diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java b/forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java index bf60ddf11be..0a44a072099 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Achievement.java @@ -6,9 +6,9 @@ import java.util.Locale; import org.w3c.dom.Element; -import forge.GuiBase; import forge.game.Game; import forge.game.player.Player; +import forge.gui.GuiBase; import forge.item.IPaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java b/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java index 0d42d4828bb..1481162b20d 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java @@ -1,6 +1,5 @@ package forge.localinstance.achievements; -import forge.GuiBase; import java.io.File; import java.io.FileNotFoundException; import java.util.Iterator; @@ -21,7 +20,8 @@ import com.google.common.collect.Maps; import forge.game.GameType; import forge.game.Match; import forge.game.player.Player; -import forge.interfaces.IComboBox; +import forge.gui.GuiBase; +import forge.gui.interfaces.IComboBox; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.PlayerControllerHuman; diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java index 23713fac42b..4e143e8f908 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java @@ -1,8 +1,8 @@ package forge.localinstance.achievements; -import forge.GuiBase; import forge.game.Game; import forge.game.player.Player; +import forge.gui.GuiBase; import forge.item.IPaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java index 570cb61acd7..6fba61b02a1 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java @@ -17,7 +17,7 @@ */ package forge.localinstance.properties; -import forge.GuiBase; +import forge.gui.GuiBase; import forge.util.FileUtil; import java.io.File; diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java index 3ec66112c7d..bfdb65efdf0 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java @@ -27,7 +27,7 @@ import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; -import forge.GuiBase; +import forge.gui.GuiBase; import forge.util.FileSection; import forge.util.FileUtil; diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index 690502d68c8..0449c876b30 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -22,7 +22,6 @@ import com.google.common.collect.Maps; import forge.*; import forge.CardStorageReader.ProgressObserver; import forge.ai.AiProfileUtil; -import forge.card.CardPreferences; import forge.card.CardType; import forge.deck.CardArchetypeLDAGenerator; import forge.deck.CardRelationMatrixGenerator; @@ -43,7 +42,10 @@ import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestWorld; import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.tournament.TournamentData; -import forge.interfaces.IProgressBar; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.card.CardPreferences; +import forge.gui.interfaces.IProgressBar; import forge.itemmanager.ItemManagerConfig; import forge.localinstance.achievements.*; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui/src/main/java/forge/model/UnOpenedMeta.java b/forge-gui/src/main/java/forge/model/UnOpenedMeta.java index b704188dc4a..4c2d14c3076 100644 --- a/forge-gui/src/main/java/forge/model/UnOpenedMeta.java +++ b/forge-gui/src/main/java/forge/model/UnOpenedMeta.java @@ -18,11 +18,11 @@ package forge.model; +import forge.gui.util.SGuiChoose; import forge.item.PaperCard; import forge.item.generation.IUnOpenedProduct; import forge.util.MyRandom; import forge.util.TextUtil; -import forge.util.gui.SGuiChoose; import java.util.ArrayList; import java.util.List; diff --git a/forge-gui/src/main/java/forge/player/GamePlayerUtil.java b/forge-gui/src/main/java/forge/player/GamePlayerUtil.java index 80a658c7c03..a87837c4209 100644 --- a/forge-gui/src/main/java/forge/player/GamePlayerUtil.java +++ b/forge-gui/src/main/java/forge/player/GamePlayerUtil.java @@ -5,16 +5,16 @@ import java.util.Set; import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; -import forge.GuiBase; import forge.LobbyPlayer; import forge.ai.AIOption; import forge.ai.AiProfileUtil; import forge.ai.LobbyPlayerAi; +import forge.gui.GuiBase; +import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.util.GuiDisplayUtil; import forge.util.MyRandom; -import forge.util.gui.SOptionPane; public final class GamePlayerUtil { private GamePlayerUtil() { } diff --git a/forge-gui/src/main/java/forge/player/HumanCostDecision.java b/forge-gui/src/main/java/forge/player/HumanCostDecision.java index 2e589bce30e..ebabe6e5bf6 100644 --- a/forge-gui/src/main/java/forge/player/HumanCostDecision.java +++ b/forge-gui/src/main/java/forge/player/HumanCostDecision.java @@ -36,10 +36,10 @@ import forge.game.zone.ZoneType; import forge.gamemodes.match.input.InputConfirm; import forge.gamemodes.match.input.InputSelectCardsFromList; import forge.gamemodes.match.input.InputSelectManyBase; +import forge.gui.util.SGuiChoose; import forge.util.Aggregates; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.gui.SGuiChoose; import forge.util.ITriggerEvent; import forge.util.Localizer; import forge.util.CardTranslation; diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index b43a133d838..07d56089446 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -2,7 +2,7 @@ package forge.player; import com.google.common.collect.Iterables; -import forge.FThreads; + import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GameActionUtil; @@ -25,9 +25,10 @@ import forge.game.zone.ZoneType; import forge.gamemodes.match.input.InputPayMana; import forge.gamemodes.match.input.InputPayManaOfCostPayment; import forge.gamemodes.match.input.InputSelectCardsFromList; +import forge.gui.FThreads; +import forge.gui.util.SGuiChoose; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.gui.SGuiChoose; import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 1599820d63e..2e1411261c1 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -23,19 +23,20 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; -import forge.FThreads; -import forge.GuiBase; import forge.LobbyPlayer; import forge.StaticData; import forge.ai.GameState; -import forge.card.*; +import forge.card.CardDb; +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.ColorSet; +import forge.card.ICardFace; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; -import forge.control.FControlGamePlayback; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; -import forge.events.UiEventNextGameDecision; import forge.game.*; import forge.game.ability.AbilityKey; import forge.game.ability.ApiType; @@ -63,9 +64,15 @@ import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.gamemodes.match.NextGameDecision; import forge.gamemodes.match.input.*; +import forge.gui.FThreads; +import forge.gui.GuiBase; +import forge.gui.card.*; +import forge.gui.control.FControlGamePlayback; +import forge.gui.events.UiEventNextGameDecision; +import forge.gui.interfaces.IGuiGame; +import forge.gui.util.SOptionPane; import forge.interfaces.IDevModeCheats; import forge.interfaces.IGameController; -import forge.interfaces.IGuiGame; import forge.interfaces.IMacroSystem; import forge.item.IPaperCard; import forge.item.PaperCard; @@ -82,7 +89,6 @@ import forge.util.MessageUtil; import forge.util.TextUtil; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import forge.util.gui.SOptionPane; import io.sentry.Sentry; /** @@ -618,7 +624,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont * (non-Javadoc) * * @see - * forge.game.player.PlayerController#confirmAction(forge.card.spellability. + * forge.game.player.PlayerController#confirmAction(forge.gui.card.spellability. * SpellAbility, java.lang.String, java.lang.String) */ @Override @@ -1067,8 +1073,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont * (non-Javadoc) * * @see - * forge.game.player.PlayerController#chooseTargets(forge.card.spellability. - * SpellAbility, forge.card.spellability.SpellAbilityStackInstance) + * forge.game.player.PlayerController#chooseTargets(forge.gui.card.spellability. + * SpellAbility, forge.gui.card.spellability.SpellAbilityStackInstance) */ @Override public TargetChoices chooseNewTargetsFor(final SpellAbility ability, Predicate filter, boolean optional) { @@ -1093,7 +1099,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont * * @see * forge.game.player.PlayerController#chooseCardsToDiscardUnlessType(int, - * java.lang.String, forge.card.spellability.SpellAbility) + * java.lang.String, forge.gui.card.spellability.SpellAbility) */ @Override public CardCollectionView chooseCardsToDiscardUnlessType(final int num, final CardCollectionView hand, @@ -1265,8 +1271,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont * (non-Javadoc) * * @see - * forge.game.player.PlayerController#confirmReplacementEffect(forge.card. - * replacement.ReplacementEffect, forge.card.spellability.SpellAbility, + * forge.game.player.PlayerController#confirmReplacementEffect(forge.gui.card. + * replacement.ReplacementEffect, forge.gui.card.spellability.SpellAbility, * java.lang.String) */ @Override @@ -1571,7 +1577,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont /* * (non-Javadoc) * - * @see forge.game.player.PlayerController#chooseModeForAbility(forge.card. + * @see forge.game.player.PlayerController#chooseModeForAbility(forge.gui.card. * spellability.SpellAbility, java.util.List, int, int) */ @Override diff --git a/forge-gui/src/main/java/forge/sound/EventVisualizer.java b/forge-gui/src/main/java/forge/sound/EventVisualizer.java index 1269c80fe6a..7351795d281 100644 --- a/forge-gui/src/main/java/forge/sound/EventVisualizer.java +++ b/forge-gui/src/main/java/forge/sound/EventVisualizer.java @@ -3,10 +3,6 @@ package forge.sound; import java.util.Collection; import forge.LobbyPlayer; -import forge.events.IUiEventVisitor; -import forge.events.UiEventAttackerDeclared; -import forge.events.UiEventBlockerAssigned; -import forge.events.UiEventNextGameDecision; import forge.game.card.Card; import forge.game.event.EventValueChangeType; import forge.game.event.GameEvent; @@ -36,6 +32,10 @@ import forge.game.event.IGameEventVisitor; import forge.game.spellability.AbilityManaPart; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import forge.gui.events.IUiEventVisitor; +import forge.gui.events.UiEventAttackerDeclared; +import forge.gui.events.UiEventBlockerAssigned; +import forge.gui.events.UiEventNextGameDecision; import forge.util.TextUtil; import forge.util.maps.MapOfLists; diff --git a/forge-gui/src/main/java/forge/sound/SoundSystem.java b/forge-gui/src/main/java/forge/sound/SoundSystem.java index 42d8940d812..77bd17b7100 100644 --- a/forge-gui/src/main/java/forge/sound/SoundSystem.java +++ b/forge-gui/src/main/java/forge/sound/SoundSystem.java @@ -6,9 +6,9 @@ import java.util.Map; import com.google.common.eventbus.Subscribe; -import forge.GuiBase; -import forge.events.UiEvent; import forge.game.event.GameEvent; +import forge.gui.GuiBase; +import forge.gui.events.UiEvent; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/util/ImageFetcher.java b/forge-gui/src/main/java/forge/util/ImageFetcher.java index b04d0828519..bc4633774cf 100644 --- a/forge-gui/src/main/java/forge/util/ImageFetcher.java +++ b/forge-gui/src/main/java/forge/util/ImageFetcher.java @@ -9,9 +9,10 @@ import java.util.concurrent.Executors; import java.util.regex.Matcher; import java.util.regex.Pattern; -import forge.FThreads; import forge.ImageKeys; import forge.StaticData; +import forge.gui.FThreads; + import org.apache.commons.lang3.tuple.Pair; import forge.item.PaperCard; diff --git a/forge-gui/src/main/java/forge/util/OperatingSystem.java b/forge-gui/src/main/java/forge/util/OperatingSystem.java index b8780fad281..933f2a77886 100644 --- a/forge-gui/src/main/java/forge/util/OperatingSystem.java +++ b/forge-gui/src/main/java/forge/util/OperatingSystem.java @@ -1,6 +1,6 @@ package forge.util; -import forge.FThreads; +import forge.gui.FThreads; public class OperatingSystem { private static String os = System.getProperty("os.name").toLowerCase(); diff --git a/forge-gui/src/main/java/forge/util/WaitCallback.java b/forge-gui/src/main/java/forge/util/WaitCallback.java index 773aed41e25..95c7c0d4573 100644 --- a/forge-gui/src/main/java/forge/util/WaitCallback.java +++ b/forge-gui/src/main/java/forge/util/WaitCallback.java @@ -1,6 +1,6 @@ package forge.util; -import forge.FThreads; +import forge.gui.FThreads; public abstract class WaitCallback extends Callback implements Runnable { public class Lock { diff --git a/forge-gui/src/main/java/forge/util/WaitRunnable.java b/forge-gui/src/main/java/forge/util/WaitRunnable.java index 89a4f114f07..b12b4b39b04 100644 --- a/forge-gui/src/main/java/forge/util/WaitRunnable.java +++ b/forge-gui/src/main/java/forge/util/WaitRunnable.java @@ -1,6 +1,6 @@ package forge.util; -import forge.FThreads; +import forge.gui.FThreads; public abstract class WaitRunnable implements Runnable { public class Lock { From f3fd57c014eb33fd45fc52b0954e8349edb349e1 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Wed, 17 Mar 2021 11:50:26 -0300 Subject: [PATCH 22/32] fixup! Merge branch 'reorganize-forge-gui' into 'master' --- forge-gui-android/src/forge/app/Main.java | 2 +- forge-gui-ios/src/forge/ios/Main.java | 18 +++++++++-------- .../src/forge/screens/settings/FilesPage.java | 20 ++++++------------- .../java/forge/deck/NetDeckArchiveBlock.java | 15 +++++++++----- 4 files changed, 27 insertions(+), 28 deletions(-) diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java index ca359ef7919..f9dde915886 100644 --- a/forge-gui-android/src/forge/app/Main.java +++ b/forge-gui-android/src/forge/app/Main.java @@ -44,7 +44,7 @@ import com.badlogic.gdx.backends.android.AndroidApplication; import forge.Forge; import forge.interfaces.IDeviceAdapter; import forge.model.FModel; -import forge.properties.ForgePreferences; +import forge.localinstance.properties.ForgePreferences; import forge.util.FileUtil; import forge.util.ThreadUtil; diff --git a/forge-gui-ios/src/forge/ios/Main.java b/forge-gui-ios/src/forge/ios/Main.java index 05ac5e1197d..2936bcc3703 100644 --- a/forge-gui-ios/src/forge/ios/Main.java +++ b/forge-gui-ios/src/forge/ios/Main.java @@ -1,23 +1,25 @@ package forge.ios; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.robovm.apple.foundation.NSAutoreleasePool; +import org.robovm.apple.uikit.UIApplication; +import org.robovm.apple.uikit.UIPasteboard; + import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.backends.iosrobovm.IOSApplication; import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration; import com.badlogic.gdx.backends.iosrobovm.IOSFiles; + import forge.Forge; import forge.assets.AssetsDownloader; import forge.interfaces.IDeviceAdapter; +import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import forge.properties.ForgePreferences; import forge.util.FileUtil; -import org.robovm.apple.foundation.NSAutoreleasePool; -import org.robovm.apple.uikit.UIApplication; -import org.robovm.apple.uikit.UIPasteboard; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; public class Main extends IOSApplication.Delegate { diff --git a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java index 082b702cdd2..4ba9c371c7d 100644 --- a/forge-gui-mobile/src/forge/screens/settings/FilesPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/FilesPage.java @@ -5,24 +5,11 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -import forge.Forge; -import forge.download.GuiDownloadAchievementImages; -import forge.download.GuiDownloadPicturesLQ; -import forge.download.GuiDownloadPrices; -import forge.download.GuiDownloadQuestImages; -import forge.download.GuiDownloadSetPicturesLQ; -import forge.download.GuiDownloadService; -import forge.download.GuiDownloadSkins; -import forge.download.GuiDownloadZipService; -import forge.properties.ForgeConstants; -import forge.util.FileUtil; -import forge.localinstance.properties.ForgeProfileProperties; -import forge.util.Localizer; - import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.utils.Align; +import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; @@ -34,6 +21,9 @@ import forge.gui.download.GuiDownloadQuestImages; import forge.gui.download.GuiDownloadService; import forge.gui.download.GuiDownloadSetPicturesLQ; import forge.gui.download.GuiDownloadSkins; +import forge.gui.download.GuiDownloadZipService; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgeProfileProperties; import forge.screens.TabPageScreen.TabPage; import forge.toolbox.FFileChooser; import forge.toolbox.FFileChooser.ChoiceType; @@ -42,6 +32,8 @@ import forge.toolbox.FList; import forge.toolbox.FOptionPane; import forge.toolbox.GuiChoose; import forge.util.Callback; +import forge.util.FileUtil; +import forge.util.Localizer; public class FilesPage extends TabPage { private final FGroupList lstItems = add(new FGroupList<>()); diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveBlock.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveBlock.java index 5cd139add2c..762828496d1 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveBlock.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveBlock.java @@ -3,17 +3,22 @@ package forge.deck; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; -import forge.GuiBase; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; -import forge.download.GuiDownloadZipService; import forge.game.GameType; -import forge.properties.ForgeConstants; +import forge.gui.GuiBase; +import forge.gui.download.GuiDownloadZipService; +import forge.gui.util.SGuiChoose; +import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.WaitCallback; -import forge.util.gui.SGuiChoose; import forge.util.storage.StorageBase; public class NetDeckArchiveBlock extends StorageBase { From 0978162bf5acd5cbbf76eefc967a76e86cf5e64a Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Wed, 17 Mar 2021 11:52:50 -0300 Subject: [PATCH 23/32] Organize imports --- .../java/forge/ai/AiAttackController.java | 15 ++- .../main/java/forge/ai/AiBlockController.java | 16 ++- .../src/main/java/forge/ai/AiCardMemory.java | 6 +- .../src/main/java/forge/ai/AiController.java | 51 +++++++-- .../main/java/forge/ai/AiCostDecision.java | 35 +++++- .../src/main/java/forge/ai/AiProfileUtil.java | 14 +-- .../src/main/java/forge/ai/ComputerUtil.java | 36 +++++- .../java/forge/ai/ComputerUtilAbility.java | 7 +- .../main/java/forge/ai/ComputerUtilCard.java | 32 ++++-- .../java/forge/ai/ComputerUtilCombat.java | 9 +- .../main/java/forge/ai/ComputerUtilCost.java | 35 ++++-- .../main/java/forge/ai/ComputerUtilMana.java | 42 +++++-- .../src/main/java/forge/ai/GameState.java | 30 +++-- .../java/forge/ai/PlayerControllerAi.java | 51 +++++++-- .../main/java/forge/ai/SpecialAiLogic.java | 8 +- .../src/main/java/forge/ai/SpecialCardAi.java | 21 +++- .../main/java/forge/ai/SpellAbilityAi.java | 9 +- .../src/main/java/forge/ai/SpellApiToAi.java | 5 +- .../forge/ai/ability/ActivateAbilityAi.java | 6 +- .../main/java/forge/ai/ability/AddTurnAi.java | 8 +- .../main/java/forge/ai/ability/AmassAi.java | 6 +- .../main/java/forge/ai/ability/AnimateAi.java | 27 +++-- .../main/java/forge/ai/ability/AttachAi.java | 28 ++++- .../forge/ai/ability/CanPlayAsDrawbackAi.java | 6 +- .../forge/ai/ability/ChangeCombatantsAi.java | 6 +- .../java/forge/ai/ability/ChangeZoneAi.java | 37 +++++- .../forge/ai/ability/ChangeZoneAllAi.java | 23 +++- .../main/java/forge/ai/ability/CharmAi.java | 13 ++- .../java/forge/ai/ability/ChooseCardAi.java | 1 - .../forge/ai/ability/ChooseCardNameAi.java | 5 +- .../java/forge/ai/ability/ChooseColorAi.java | 4 +- .../forge/ai/ability/ChooseCompanionAi.java | 13 ++- .../ai/ability/ChooseGenericEffectAi.java | 21 +++- .../java/forge/ai/ability/ChoosePlayerAi.java | 7 +- .../java/forge/ai/ability/ChooseTypeAi.java | 19 ++- .../main/java/forge/ai/ability/ClashAi.java | 2 +- .../main/java/forge/ai/ability/CloneAi.java | 6 +- .../forge/ai/ability/CopyPermanentAi.java | 23 +++- .../forge/ai/ability/CopySpellAbilityAi.java | 14 ++- .../main/java/forge/ai/ability/CounterAi.java | 20 +++- .../java/forge/ai/ability/CountersAi.java | 7 +- .../java/forge/ai/ability/CountersMoveAi.java | 14 ++- .../java/forge/ai/ability/CountersPutAi.java | 34 ++++-- .../forge/ai/ability/CountersPutAllAi.java | 5 +- .../ai/ability/CountersPutOrRemoveAi.java | 14 ++- .../forge/ai/ability/CountersRemoveAi.java | 15 ++- .../java/forge/ai/ability/DamageAiBase.java | 1 + .../java/forge/ai/ability/DamageAllAi.java | 7 +- .../java/forge/ai/ability/DamageDealAi.java | 33 ++++-- .../forge/ai/ability/DamagePreventAi.java | 12 +- .../main/java/forge/ai/ability/DebuffAi.java | 8 +- .../forge/ai/ability/DelayedTriggerAi.java | 9 +- .../main/java/forge/ai/ability/DestroyAi.java | 17 ++- .../java/forge/ai/ability/DestroyAllAi.java | 8 +- .../src/main/java/forge/ai/ability/DigAi.java | 7 +- .../java/forge/ai/ability/DigUntilAi.java | 4 +- .../main/java/forge/ai/ability/DiscardAi.java | 11 +- .../java/forge/ai/ability/DrainManaAi.java | 4 +- .../main/java/forge/ai/ability/DrawAi.java | 14 ++- .../main/java/forge/ai/ability/EffectAi.java | 22 +++- .../main/java/forge/ai/ability/ExploreAi.java | 13 ++- .../main/java/forge/ai/ability/FightAi.java | 12 +- .../src/main/java/forge/ai/ability/FogAi.java | 10 +- .../forge/ai/ability/ImmediateTriggerAi.java | 7 +- .../forge/ai/ability/LegendaryRuleAi.java | 1 + .../ai/ability/LifeExchangeVariantAi.java | 7 +- .../java/forge/ai/ability/LifeGainAi.java | 7 +- .../java/forge/ai/ability/ManaEffectAi.java | 22 +++- .../java/forge/ai/ability/ManifestAi.java | 7 +- .../main/java/forge/ai/ability/MeldAi.java | 1 + .../main/java/forge/ai/ability/MillAi.java | 11 +- .../java/forge/ai/ability/MustBlockAi.java | 12 +- .../main/java/forge/ai/ability/MutateAi.java | 5 +- .../java/forge/ai/ability/PermanentAi.java | 6 +- .../forge/ai/ability/PermanentCreatureAi.java | 9 +- .../main/java/forge/ai/ability/PhasesAi.java | 5 +- .../main/java/forge/ai/ability/PlayAi.java | 22 +++- .../forge/ai/ability/PowerExchangeAi.java | 6 +- .../main/java/forge/ai/ability/ProtectAi.java | 7 +- .../main/java/forge/ai/ability/PumpAi.java | 26 ++++- .../java/forge/ai/ability/PumpAiBase.java | 12 +- .../main/java/forge/ai/ability/PumpAllAi.java | 8 +- .../ai/ability/RearrangeTopOfLibraryAi.java | 7 +- .../java/forge/ai/ability/RegenerateAi.java | 11 +- .../forge/ai/ability/RegenerateAllAi.java | 4 +- .../main/java/forge/ai/ability/RepeatAi.java | 5 +- .../java/forge/ai/ability/RepeatEachAi.java | 7 +- .../java/forge/ai/ability/SacrificeAi.java | 4 +- .../main/java/forge/ai/ability/ScryAi.java | 7 +- .../java/forge/ai/ability/SetStateAi.java | 8 +- .../java/forge/ai/ability/StoreSVarAi.java | 6 +- .../main/java/forge/ai/ability/SurveilAi.java | 6 +- .../src/main/java/forge/ai/ability/TapAi.java | 7 +- .../main/java/forge/ai/ability/TapAiBase.java | 5 +- .../main/java/forge/ai/ability/TapAllAi.java | 4 +- .../main/java/forge/ai/ability/TokenAi.java | 12 +- .../java/forge/ai/ability/UnattachAllAi.java | 6 +- .../main/java/forge/ai/ability/UntapAi.java | 14 ++- .../main/java/forge/ai/ability/VoteAi.java | 4 +- .../java/forge/ai/simulation/GameCopier.java | 22 +++- .../ai/simulation/SpellAbilityPicker.java | 16 ++- .../main/java/forge/CardStorageReader.java | 4 +- forge-core/src/main/java/forge/ImageKeys.java | 15 ++- .../src/main/java/forge/MulliganDefs.java | 4 +- .../src/main/java/forge/StaticData.java | 14 ++- .../src/main/java/forge/card/CardDb.java | 35 ++++-- .../src/main/java/forge/card/CardEdition.java | 46 ++++++-- .../src/main/java/forge/card/CardFace.java | 11 +- .../src/main/java/forge/card/CardRules.java | 8 +- .../src/main/java/forge/card/CardType.java | 1 - .../src/main/java/forge/card/ColorSet.java | 7 +- .../src/main/java/forge/card/DeckHints.java | 18 +-- .../main/java/forge/card/ICardDatabase.java | 9 +- .../src/main/java/forge/card/PrintSheet.java | 13 ++- .../src/main/java/forge/deck/CardPool.java | 22 ++-- forge-core/src/main/java/forge/deck/Deck.java | 13 ++- .../src/main/java/forge/deck/DeckBase.java | 3 +- .../src/main/java/forge/deck/DeckFormat.java | 18 +-- .../src/main/java/forge/deck/DeckGroup.java | 7 +- .../main/java/forge/deck/DeckRecognizer.java | 13 ++- .../deck/generation/DeckGenerator2Color.java | 11 +- .../deck/generation/DeckGenerator3Color.java | 8 +- .../deck/generation/DeckGenerator4Color.java | 8 +- .../deck/generation/DeckGenerator5Color.java | 8 +- .../deck/generation/DeckGeneratorBase.java | 27 +++-- .../generation/DeckGeneratorMonoColor.java | 9 +- .../java/forge/deck/io/DeckFileHeader.java | 9 +- .../forge/deck/io/DeckGroupSerializer.java | 12 +- .../java/forge/deck/io/DeckSerializer.java | 15 +-- .../main/java/forge/deck/io/DeckStorage.java | 10 +- .../src/main/java/forge/item/BoosterBox.java | 8 +- .../src/main/java/forge/item/BoosterPack.java | 4 +- .../src/main/java/forge/item/FatPack.java | 12 +- .../src/main/java/forge/item/IPaperCard.java | 12 +- .../src/main/java/forge/item/PaperToken.java | 9 +- .../src/main/java/forge/item/PreconDeck.java | 10 +- .../main/java/forge/item/SealedProduct.java | 14 ++- .../main/java/forge/item/TournamentPack.java | 4 +- .../item/generation/BoosterGenerator.java | 20 +++- .../item/generation/ChaosBoosterSupplier.java | 4 +- .../item/generation/IUnOpenedProduct.java | 7 +- .../item/generation/UnOpenedProduct.java | 20 ++-- .../main/java/forge/token/ITokenDatabase.java | 9 +- .../src/main/java/forge/token/TokenDb.java | 10 +- .../src/main/java/forge/util/Aggregates.java | 10 +- .../src/main/java/forge/util/Base64Coder.java | 3 +- .../main/java/forge/util/CardTranslation.java | 14 ++- .../main/java/forge/util/ComparatorUtil.java | 3 +- .../src/main/java/forge/util/FileSection.java | 5 +- .../src/main/java/forge/util/FileUtil.java | 18 ++- .../src/main/java/forge/util/ItemPool.java | 15 ++- .../main/java/forge/util/ItemPoolSorter.java | 7 +- forge-core/src/main/java/forge/util/Lang.java | 9 +- .../src/main/java/forge/util/LineReader.java | 7 +- .../src/main/java/forge/util/Localizer.java | 6 +- .../main/java/forge/util/NameGenerator.java | 4 +- .../main/java/forge/util/PredicateCard.java | 1 + .../main/java/forge/util/PredicateString.java | 3 +- .../src/main/java/forge/util/TextUtil.java | 14 +-- .../src/main/java/forge/util/ThreadUtil.java | 9 +- .../java/forge/util/collect/FCollection.java | 19 ++- .../java/forge/util/maps/EnumMapOfLists.java | 4 +- .../java/forge/util/maps/HashMapOfLists.java | 4 +- .../java/forge/util/maps/MapToAmountUtil.java | 12 +- .../java/forge/util/storage/StorageBase.java | 9 +- .../forge/util/storage/StorageExtendable.java | 4 +- .../storage/StorageImmediatelySerialized.java | 5 +- .../util/storage/StorageNestedFolders.java | 4 +- .../forge/util/storage/StorageReaderBase.java | 5 +- .../forge/util/storage/StorageReaderFile.java | 12 +- .../storage/StorageReaderFileSections.java | 12 +- .../util/storage/StorageReaderFolder.java | 14 ++- ...geReaderRecursiveFolderWithUserFolder.java | 17 ++- .../main/java/forge/game/CardTraitBase.java | 16 +-- forge-game/src/main/java/forge/game/Game.java | 31 ++++- .../src/main/java/forge/game/GameAction.java | 47 ++++++-- .../main/java/forge/game/GameActionUtil.java | 24 +++- .../src/main/java/forge/game/GameEntity.java | 12 +- .../src/main/java/forge/game/GameFormat.java | 25 ++-- .../src/main/java/forge/game/GameLog.java | 4 +- .../src/main/java/forge/game/GameOutcome.java | 12 +- .../src/main/java/forge/game/GameType.java | 1 + .../src/main/java/forge/game/GameView.java | 5 +- .../src/main/java/forge/game/Match.java | 23 +++- .../src/main/java/forge/game/PlanarDice.java | 8 +- .../main/java/forge/game/StaticEffect.java | 13 +-- .../forge/game/ability/AbilityApiBased.java | 4 +- .../forge/game/ability/AbilityFactory.java | 13 ++- .../java/forge/game/ability/AbilityUtils.java | 36 ++++-- .../main/java/forge/game/ability/ApiType.java | 6 +- .../game/ability/SpellAbilityEffect.java | 4 +- .../game/ability/StaticAbilityApiBased.java | 4 +- .../game/ability/effects/AbandonEffect.java | 6 +- .../effects/ActivateAbilityEffect.java | 16 +-- .../game/ability/effects/AddTurnEffect.java | 4 +- .../ability/effects/AnimateAllEffect.java | 12 +- .../game/ability/effects/AnimateEffect.java | 10 +- .../ability/effects/AnimateEffectBase.java | 8 +- .../game/ability/effects/AttachEffect.java | 8 +- .../game/ability/effects/BalanceEffect.java | 8 +- .../ability/effects/BecomesBlockedEffect.java | 14 +-- .../game/ability/effects/BidLifeEffect.java | 2 +- .../game/ability/effects/BlockEffect.java | 13 ++- .../game/ability/effects/BondEffect.java | 4 +- .../effects/ChangeCombatantsEffect.java | 18 +-- .../ability/effects/ChangeTargetsEffect.java | 12 +- .../ability/effects/ChangeTextEffect.java | 2 +- .../ability/effects/ChangeZoneAllEffect.java | 15 ++- .../ability/effects/ChangeZoneEffect.java | 25 ++-- .../game/ability/effects/CharmEffect.java | 8 +- .../ability/effects/ChooseCardEffect.java | 8 +- .../ability/effects/ChooseCardNameEffect.java | 12 +- .../ability/effects/ChooseColorEffect.java | 8 +- .../effects/ChooseDirectionEffect.java | 2 +- .../ability/effects/ChooseGenericEffect.java | 5 +- .../ability/effects/ChooseNumberEffect.java | 11 +- .../ability/effects/ChoosePlayerEffect.java | 6 +- .../ability/effects/ChooseSourceEffect.java | 8 +- .../ability/effects/ChooseTypeEffect.java | 9 +- .../game/ability/effects/ClashEffect.java | 4 +- .../game/ability/effects/CloneEffect.java | 27 +++-- .../effects/ControlExchangeEffect.java | 4 +- .../effects/ControlExchangeVariantEffect.java | 8 +- .../ability/effects/ControlPlayerEffect.java | 4 +- .../ability/effects/ControlSpellEffect.java | 5 +- .../ability/effects/CopyPermanentEffect.java | 14 +-- .../effects/CopySpellAbilityEffect.java | 10 +- .../game/ability/effects/CounterEffect.java | 12 +- .../ability/effects/CountersMoveEffect.java | 14 +-- .../effects/CountersProliferateEffect.java | 6 +- .../ability/effects/CountersPutEffect.java | 16 +-- .../effects/CountersPutOrRemoveEffect.java | 12 +- .../effects/CountersRemoveAllEffect.java | 8 +- .../ability/effects/CountersRemoveEffect.java | 16 +-- .../game/ability/effects/DamageAllEffect.java | 4 +- .../ability/effects/DamageDealEffect.java | 8 +- .../ability/effects/DamageEachEffect.java | 4 +- .../game/ability/effects/DebuffEffect.java | 16 +-- .../effects/DeclareCombatantsEffect.java | 4 +- .../ability/effects/DelayedTriggerEffect.java | 4 +- .../game/ability/effects/DestroyEffect.java | 12 +- .../forge/game/ability/effects/DigEffect.java | 10 +- .../game/ability/effects/DigUntilEffect.java | 7 +- .../game/ability/effects/DiscardEffect.java | 23 ++-- .../game/ability/effects/DrainManaEffect.java | 10 +- .../game/ability/effects/DrawEffect.java | 4 +- .../game/ability/effects/EffectEffect.java | 14 +-- .../game/ability/effects/EncodeEffect.java | 2 +- .../game/ability/effects/EndTurnEffect.java | 4 +- .../game/ability/effects/ExploreEffect.java | 5 +- .../game/ability/effects/FightEffect.java | 8 +- .../game/ability/effects/FlipCoinEffect.java | 12 +- .../game/ability/effects/GameLossEffect.java | 4 +- .../effects/ImmediateTriggerEffect.java | 4 +- .../ability/effects/LifeExchangeEffect.java | 4 +- .../effects/LifeExchangeVariantEffect.java | 4 +- .../game/ability/effects/LifeGainEffect.java | 4 +- .../game/ability/effects/LifeSetEffect.java | 6 +- .../game/ability/effects/ManaEffect.java | 12 +- .../ability/effects/ManaReflectedEffect.java | 8 +- .../game/ability/effects/MillEffect.java | 3 +- .../ability/effects/MultiplePilesEffect.java | 9 +- .../ability/effects/MustAttackEffect.java | 4 +- .../game/ability/effects/MustBlockEffect.java | 12 +- .../game/ability/effects/MutateEffect.java | 9 +- .../ability/effects/OwnershipGainEffect.java | 4 +- .../ability/effects/PeekAndRevealEffect.java | 12 +- .../game/ability/effects/PhasesEffect.java | 8 +- .../game/ability/effects/PlayEffect.java | 2 +- .../effects/PlayLandVariantEffect.java | 5 +- .../game/ability/effects/PoisonEffect.java | 4 +- .../ability/effects/PowerExchangeEffect.java | 4 +- .../ability/effects/ProtectAllEffect.java | 9 +- .../game/ability/effects/ProtectEffect.java | 13 ++- .../game/ability/effects/PumpAllEffect.java | 12 +- .../game/ability/effects/PumpEffect.java | 14 +-- .../effects/RearrangeTopOfLibraryEffect.java | 8 +- .../ability/effects/RegenerateEffect.java | 6 +- .../ability/effects/RegenerationEffect.java | 4 +- .../effects/RemoveFromCombatEffect.java | 7 +- .../ability/effects/ReorderZoneEffect.java | 6 +- .../ability/effects/RepeatEachEffect.java | 13 ++- .../ability/effects/ReplaceDamageEffect.java | 2 +- .../effects/ReplaceSplitDamageEffect.java | 2 +- .../ability/effects/RestartGameEffect.java | 12 +- .../game/ability/effects/RevealEffect.java | 8 +- .../ability/effects/RevealHandEffect.java | 4 +- .../game/ability/effects/RollDiceEffect.java | 11 +- .../ability/effects/SacrificeAllEffect.java | 7 +- .../game/ability/effects/SacrificeEffect.java | 22 ++-- .../game/ability/effects/ScryEffect.java | 5 +- .../ability/effects/SetInMotionEffect.java | 4 +- .../game/ability/effects/SetStateEffect.java | 2 +- .../game/ability/effects/ShuffleEffect.java | 6 +- .../game/ability/effects/SkipTurnEffect.java | 4 +- .../game/ability/effects/SubgameEffect.java | 6 +- .../ability/effects/SwitchBlockEffect.java | 4 +- .../game/ability/effects/TapAllEffect.java | 4 +- .../ability/effects/TapOrUntapAllEffect.java | 9 +- .../ability/effects/TapOrUntapEffect.java | 9 +- .../game/ability/effects/TokenEffect.java | 3 +- .../game/ability/effects/TokenEffectBase.java | 6 +- .../game/ability/effects/TwoPilesEffect.java | 4 +- .../ability/effects/UnattachAllEffect.java | 8 +- .../game/ability/effects/UnattachEffect.java | 7 +- .../game/ability/effects/UntapAllEffect.java | 4 +- .../game/ability/effects/VoteEffect.java | 2 +- .../src/main/java/forge/game/card/Card.java | 84 +++++++++++--- .../java/forge/game/card/CardCloneStates.java | 5 +- .../forge/game/card/CardDamageHistory.java | 6 +- .../java/forge/game/card/CardFactory.java | 25 ++-- .../java/forge/game/card/CardFactoryUtil.java | 33 ++++-- .../main/java/forge/game/card/CardLists.java | 2 +- .../java/forge/game/card/CardProperty.java | 9 +- .../main/java/forge/game/card/CardState.java | 17 ++- .../main/java/forge/game/card/CardUtil.java | 19 ++- .../main/java/forge/game/card/CardView.java | 25 ++-- .../java/forge/game/card/token/TokenInfo.java | 13 ++- .../forge/game/combat/AttackConstraints.java | 29 ++++- .../forge/game/combat/AttackRequirement.java | 12 +- .../main/java/forge/game/combat/Combat.java | 35 ++++-- .../java/forge/game/combat/CombatUtil.java | 19 ++- .../java/forge/game/combat/CombatView.java | 1 - .../game/combat/GlobalAttackRestrictions.java | 7 +- .../java/forge/game/cost/CostAddMana.java | 2 +- .../java/forge/game/cost/CostAdjustment.java | 24 ++-- .../main/java/forge/game/cost/CostDraw.java | 6 +- .../java/forge/game/cost/CostGainLife.java | 6 +- .../main/java/forge/game/cost/CostPart.java | 8 +- .../java/forge/game/cost/CostPayment.java | 7 +- .../java/forge/game/cost/CostPutCounter.java | 4 +- .../forge/game/cost/CostRemoveAnyCounter.java | 9 +- .../forge/game/cost/CostRemoveCounter.java | 4 +- .../main/java/forge/game/cost/CostReveal.java | 1 + .../java/forge/game/cost/CostUnattach.java | 4 +- .../java/forge/game/cost/PaymentDecision.java | 4 +- .../event/GameEventAnteCardsSelected.java | 1 + .../event/GameEventAttackersDeclared.java | 1 + .../game/event/GameEventBlockersDeclared.java | 10 +- .../game/event/GameEventCardStatsChanged.java | 10 +- .../game/event/GameEventCombatEnded.java | 4 +- .../game/event/GameEventCombatUpdate.java | 4 +- .../game/event/GameEventGameOutcome.java | 4 +- .../game/event/GameEventTokenStateUpdate.java | 4 +- .../main/java/forge/game/keyword/Keyword.java | 10 +- .../forge/game/keyword/KeywordInstance.java | 2 +- .../forge/game/mana/ManaCostBeingPaid.java | 16 ++- .../main/java/forge/game/mana/ManaPool.java | 11 +- .../game/mulligan/VancouverMulligan.java | 1 + .../src/main/java/forge/game/phase/Phase.java | 8 +- .../java/forge/game/phase/PhaseHandler.java | 36 +++++- .../main/java/forge/game/phase/PhaseType.java | 11 +- .../src/main/java/forge/game/phase/Untap.java | 11 +- .../main/java/forge/game/player/Player.java | 77 +++++++++++-- .../forge/game/player/PlayerProperty.java | 6 +- .../java/forge/game/player/PlayerView.java | 20 ++-- .../forge/game/player/RegisteredPlayer.java | 14 +-- .../game/replacement/ReplaceAddCounter.java | 4 +- .../replacement/ReplaceAssignDealDamage.java | 4 +- .../game/replacement/ReplaceAttached.java | 4 +- .../game/replacement/ReplaceBeginPhase.java | 4 +- .../game/replacement/ReplaceBeginTurn.java | 4 +- .../game/replacement/ReplaceCounter.java | 4 +- .../forge/game/replacement/ReplaceDamage.java | 4 +- .../game/replacement/ReplaceDealtDamage.java | 4 +- .../game/replacement/ReplaceDestroy.java | 4 +- .../game/replacement/ReplaceDiscard.java | 4 +- .../forge/game/replacement/ReplaceDraw.java | 4 +- .../game/replacement/ReplaceDrawCards.java | 4 +- .../game/replacement/ReplaceGainLife.java | 4 +- .../game/replacement/ReplaceGameLoss.java | 6 +- .../forge/game/replacement/ReplaceMill.java | 3 +- .../forge/game/replacement/ReplaceMoved.java | 5 +- .../game/replacement/ReplaceProduceMana.java | 8 +- .../forge/game/replacement/ReplaceScry.java | 4 +- .../game/replacement/ReplaceSetInMotion.java | 4 +- .../game/replacement/ReplaceSurveil.java | 4 +- .../forge/game/replacement/ReplaceTap.java | 4 +- .../forge/game/replacement/ReplaceToken.java | 4 +- .../game/replacement/ReplaceTurnFaceUp.java | 4 +- .../forge/game/replacement/ReplaceUntap.java | 6 +- .../game/replacement/ReplacementEffect.java | 8 +- .../game/replacement/ReplacementHandler.java | 21 ++-- .../game/replacement/ReplacementType.java | 4 +- .../game/spellability/AbilityManaPart.java | 13 ++- .../forge/game/spellability/AbilitySub.java | 4 +- .../game/spellability/OptionalCostValue.java | 4 +- .../forge/game/spellability/SpellAbility.java | 24 +++- .../spellability/SpellAbilityCondition.java | 16 ++- .../spellability/SpellAbilityRestriction.java | 18 ++- .../SpellAbilityStackInstance.java | 22 ++-- .../spellability/SpellAbilityVariables.java | 7 +- .../game/spellability/TargetChoices.java | 8 +- .../game/spellability/TargetRestrictions.java | 3 +- .../game/staticability/StaticAbility.java | 13 ++- .../StaticAbilityCantAttackBlock.java | 4 +- .../StaticAbilityCantBeCast.java | 4 +- .../StaticAbilityContinuous.java | 23 +++- .../StaticAbilityPreventDamage.java | 4 +- .../main/java/forge/game/trigger/Trigger.java | 17 ++- .../forge/game/trigger/TriggerAbandoned.java | 4 +- .../forge/game/trigger/TriggerAlways.java | 4 +- .../forge/game/trigger/TriggerAttached.java | 4 +- .../trigger/TriggerAttackerUnblocked.java | 4 +- .../trigger/TriggerAttackerUnblockedOnce.java | 4 +- .../trigger/TriggerAttackersDeclared.java | 4 +- .../forge/game/trigger/TriggerAttacks.java | 6 +- .../game/trigger/TriggerBecomeRenowned.java | 4 +- .../game/trigger/TriggerBecomesTarget.java | 4 +- .../trigger/TriggerBecomesTargetOnce.java | 4 +- .../game/trigger/TriggerBlockersDeclared.java | 4 +- .../forge/game/trigger/TriggerBlocks.java | 4 +- .../forge/game/trigger/TriggerChampioned.java | 4 +- .../trigger/TriggerChangesController.java | 4 +- .../game/trigger/TriggerChangesZone.java | 24 ++-- .../game/trigger/TriggerChangesZoneAll.java | 4 +- .../forge/game/trigger/TriggerClashed.java | 4 +- .../game/trigger/TriggerCounterAddedAll.java | 3 +- .../game/trigger/TriggerCounterRemoved.java | 4 +- .../trigger/TriggerCounterRemovedOnce.java | 4 +- .../forge/game/trigger/TriggerCountered.java | 4 +- .../forge/game/trigger/TriggerCrewed.java | 4 +- .../forge/game/trigger/TriggerCycled.java | 4 +- .../game/trigger/TriggerDamageDealtOnce.java | 10 +- .../forge/game/trigger/TriggerDamageDone.java | 4 +- .../game/trigger/TriggerDamagePrevented.java | 4 +- .../trigger/TriggerDamagePreventedOnce.java | 4 +- .../forge/game/trigger/TriggerDevoured.java | 4 +- .../forge/game/trigger/TriggerDiscarded.java | 4 +- .../java/forge/game/trigger/TriggerDrawn.java | 4 +- .../game/trigger/TriggerExcessDamage.java | 4 +- .../forge/game/trigger/TriggerExerted.java | 6 +- .../forge/game/trigger/TriggerExiled.java | 11 +- .../forge/game/trigger/TriggerExploited.java | 4 +- .../forge/game/trigger/TriggerExplores.java | 4 +- .../java/forge/game/trigger/TriggerFight.java | 4 +- .../forge/game/trigger/TriggerFightOnce.java | 6 +- .../game/trigger/TriggerFlippedCoin.java | 4 +- .../forge/game/trigger/TriggerForetell.java | 4 +- .../forge/game/trigger/TriggerHandler.java | 21 ++-- .../forge/game/trigger/TriggerImmediate.java | 4 +- .../game/trigger/TriggerInvestigated.java | 4 +- .../forge/game/trigger/TriggerLandPlayed.java | 4 +- .../forge/game/trigger/TriggerLifeGained.java | 4 +- .../forge/game/trigger/TriggerLosesGame.java | 4 +- .../forge/game/trigger/TriggerMutates.java | 3 +- .../forge/game/trigger/TriggerNewGame.java | 4 +- .../trigger/TriggerPayCumulativeUpkeep.java | 4 +- .../forge/game/trigger/TriggerPayEcho.java | 4 +- .../forge/game/trigger/TriggerPayLife.java | 4 +- .../java/forge/game/trigger/TriggerPhase.java | 4 +- .../forge/game/trigger/TriggerPhaseIn.java | 4 +- .../forge/game/trigger/TriggerPhaseOut.java | 4 +- .../forge/game/trigger/TriggerPlanarDice.java | 4 +- .../game/trigger/TriggerPlaneswalkedFrom.java | 4 +- .../game/trigger/TriggerPlaneswalkedTo.java | 4 +- .../forge/game/trigger/TriggerRolledDie.java | 7 +- .../forge/game/trigger/TriggerSacrificed.java | 4 +- .../java/forge/game/trigger/TriggerScry.java | 4 +- .../game/trigger/TriggerSetInMotion.java | 4 +- .../forge/game/trigger/TriggerShuffled.java | 4 +- .../game/trigger/TriggerSpellAbilityCopy.java | 1 + .../forge/game/trigger/TriggerSurveil.java | 4 +- .../java/forge/game/trigger/TriggerTaps.java | 4 +- .../game/trigger/TriggerTapsForMana.java | 8 +- .../game/trigger/TriggerTokenCreated.java | 4 +- .../game/trigger/TriggerTransformed.java | 4 +- .../forge/game/trigger/TriggerTurnBegin.java | 4 +- .../forge/game/trigger/TriggerTurnFaceUp.java | 4 +- .../java/forge/game/trigger/TriggerType.java | 4 +- .../forge/game/trigger/TriggerUnattach.java | 4 +- .../forge/game/trigger/TriggerUntaps.java | 4 +- .../forge/game/trigger/TriggerWaiting.java | 6 +- .../forge/game/trigger/WrappedAbility.java | 25 ++-- .../forge/game/zone/CostPaymentStack.java | 6 +- .../main/java/forge/game/zone/MagicStack.java | 8 +- .../main/java/forge/game/zone/PlayerZone.java | 1 + .../src/main/java/forge/game/zone/Zone.java | 10 +- .../main/java/forge/game/zone/ZoneType.java | 4 +- .../forge/game/ability/AbilityKeyTest.java | 7 +- .../game/mana/ManaCostBeingPaidTest.java | 7 +- forge-gui-android/src/forge/app/Main.java | 17 +-- .../src/main/java/forge/GuiDesktop.java | 45 +++++--- .../src/main/java/forge/ImageCache.java | 27 +++-- .../src/main/java/forge/ImageLoader.java | 12 +- .../java/forge/control/KeyboardShortcuts.java | 2 +- .../java/forge/deckchooser/FDeckChooser.java | 28 +++-- .../java/forge/deckchooser/FDeckViewer.java | 33 +++--- .../java/forge/download/GuiDownloader.java | 2 +- .../java/forge/error/BugReportDialog.java | 4 +- .../main/java/forge/gui/CardListChooser.java | 25 ++-- .../main/java/forge/gui/CardListViewer.java | 2 +- .../main/java/forge/gui/CardPicturePanel.java | 13 ++- .../src/main/java/forge/gui/DualListBox.java | 4 +- .../src/main/java/forge/gui/FNetOverlay.java | 5 +- .../src/main/java/forge/gui/GuiChoose.java | 6 +- .../java/forge/gui/GuiProgressBarWindow.java | 8 +- .../src/main/java/forge/gui/ImportDialog.java | 5 +- .../java/forge/gui/ImportSourceAnalyzer.java | 15 ++- .../src/main/java/forge/gui/ListChooser.java | 1 - .../src/main/java/forge/gui/MouseUtil.java | 7 +- .../main/java/forge/gui/SOverlayUtils.java | 2 +- .../java/forge/gui/framework/DragCell.java | 3 +- .../java/forge/gui/framework/DragTab.java | 7 +- .../main/java/forge/gui/framework/EDocID.java | 26 ++++- .../java/forge/gui/framework/FScreen.java | 6 +- .../forge/gui/framework/SOverflowUtil.java | 11 +- .../forge/gui/framework/SRearrangingUtil.java | 18 +-- .../forge/gui/framework/SResizingUtil.java | 27 +++-- .../java/forge/itemmanager/CardManager.java | 27 ++++- .../java/forge/itemmanager/DeckManager.java | 12 +- .../java/forge/itemmanager/ItemManager.java | 14 ++- .../itemmanager/ItemManagerContainer.java | 6 +- .../forge/itemmanager/SpellShopManager.java | 4 +- .../java/forge/itemmanager/TokenManager.java | 4 +- .../filters/AdvancedSearchFilter.java | 21 ++-- .../itemmanager/filters/CardCMCFilter.java | 12 +- .../itemmanager/filters/CardColorFilter.java | 6 +- .../itemmanager/filters/CardFoilFilter.java | 4 +- .../itemmanager/filters/CardFormatFilter.java | 1 + .../itemmanager/filters/CardRatingFilter.java | 5 +- .../itemmanager/filters/CardSearchFilter.java | 10 +- .../itemmanager/filters/CardSetFilter.java | 8 +- .../itemmanager/filters/CardTypeFilter.java | 12 +- .../itemmanager/filters/DeckColorFilter.java | 4 +- .../itemmanager/filters/DeckFolderFilter.java | 6 +- .../itemmanager/filters/DeckFormatFilter.java | 2 +- .../itemmanager/filters/DeckSetFilter.java | 8 +- .../itemmanager/filters/FormatFilter.java | 8 +- .../forge/itemmanager/filters/ItemFilter.java | 27 +++-- .../itemmanager/filters/ListLabelFilter.java | 5 +- .../itemmanager/filters/StatTypeFilter.java | 10 +- .../itemmanager/filters/TextSearchFilter.java | 17 +-- .../filters/TokenSearchFilter.java | 9 +- .../itemmanager/filters/ValueRangeFilter.java | 13 ++- .../itemmanager/views/ColorSetRenderer.java | 9 +- .../views/DeckQuantityRenderer.java | 11 +- .../itemmanager/views/DeckStarRenderer.java | 11 +- .../itemmanager/views/IntegerRenderer.java | 5 +- .../forge/itemmanager/views/ItemView.java | 12 +- .../itemmanager/views/ManaCostRenderer.java | 9 +- .../forge/itemmanager/views/StarRenderer.java | 11 +- .../src/main/java/forge/menus/ForgeMenu.java | 2 +- .../src/main/java/forge/menus/HelpMenu.java | 20 ++-- .../main/java/forge/menus/IMenuProvider.java | 3 +- .../src/main/java/forge/menus/LayoutMenu.java | 2 +- .../src/main/java/forge/menus/MenuUtil.java | 11 +- .../java/forge/screens/bazaar/VBazaarUI.java | 8 +- .../deckeditor/AddBasicLandsDialog.java | 10 +- .../screens/deckeditor/CDeckEditorUI.java | 7 +- .../forge/screens/deckeditor/DeckImport.java | 9 +- .../forge/screens/deckeditor/SEditorIO.java | 10 +- .../screens/deckeditor/VDeckEditorUI.java | 4 +- .../deckeditor/controllers/ACEditorBase.java | 30 +++-- .../deckeditor/controllers/CDeckEditor.java | 8 +- .../controllers/CEditorCommander.java | 12 +- .../controllers/CEditorConstructed.java | 12 +- .../controllers/CEditorDraftingProcess.java | 14 ++- .../controllers/CEditorLimited.java | 21 +++- .../deckeditor/controllers/CEditorQuest.java | 19 +-- .../controllers/CEditorQuestCardShop.java | 20 ++-- .../CEditorQuestDraftingProcess.java | 12 +- .../controllers/CEditorQuestLimited.java | 12 +- .../controllers/CEditorTokenViewer.java | 12 +- .../controllers/CEditorVariant.java | 4 +- .../controllers/CEditorWinstonProcess.java | 4 +- .../controllers/DeckController.java | 24 ++-- .../controllers/DeckHtmlSerializer.java | 18 +-- .../deckeditor/menus/CDeckEditorUIMenus.java | 3 +- .../deckeditor/menus/DeckFileMenu.java | 13 ++- .../screens/deckeditor/views/VAllDecks.java | 4 +- .../screens/deckeditor/views/VBrawlDecks.java | 4 +- .../deckeditor/views/VCardCatalog.java | 4 +- .../deckeditor/views/VCommanderDecks.java | 4 +- .../deckeditor/views/VCurrentDeck.java | 4 +- .../deckeditor/views/VOathbreakerDecks.java | 4 +- .../deckeditor/views/VProbabilities.java | 2 +- .../screens/deckeditor/views/VStatistics.java | 2 +- .../deckeditor/views/VTinyLeadersDecks.java | 4 +- .../java/forge/screens/home/LblGroup.java | 11 +- .../java/forge/screens/home/LblHeader.java | 9 +- .../java/forge/screens/home/LblMenuItem.java | 10 +- .../java/forge/screens/home/PlayerPanel.java | 7 +- .../java/forge/screens/home/PnlGroup.java | 9 +- .../java/forge/screens/home/StartButton.java | 14 +-- .../java/forge/screens/home/StopButton.java | 13 ++- .../main/java/forge/screens/home/VHomeUI.java | 40 +++++-- .../main/java/forge/screens/home/VLobby.java | 48 +++++--- .../home/gauntlet/ContestGauntletLister.java | 2 +- .../home/gauntlet/QuickGauntletLister.java | 2 +- .../home/gauntlet/VSubmenuGauntletBuild.java | 18 ++- .../gauntlet/VSubmenuGauntletContests.java | 10 +- .../home/gauntlet/VSubmenuGauntletLoad.java | 5 +- .../home/gauntlet/VSubmenuGauntletQuick.java | 11 +- .../forge/screens/home/online/OnlineMenu.java | 12 +- .../home/online/VSubmenuOnlineLobby.java | 8 +- .../home/puzzle/CSubmenuPuzzleCreate.java | 18 +-- .../home/puzzle/CSubmenuPuzzleSolve.java | 17 +-- .../screens/home/puzzle/CSubmenuTutorial.java | 17 +-- .../screens/home/puzzle/PuzzleGameMenu.java | 7 +- .../home/puzzle/VSubmenuPuzzleCreate.java | 14 ++- .../home/puzzle/VSubmenuPuzzleSolve.java | 12 +- .../screens/home/puzzle/VSubmenuTutorial.java | 12 +- .../screens/home/quest/CSubmenuDuels.java | 15 ++- .../home/quest/CSubmenuQuestDraft.java | 5 +- .../home/quest/CSubmenuQuestLoadData.java | 14 +-- .../home/quest/CSubmenuQuestStart.java | 16 ++- .../home/quest/DialogChooseFormats.java | 23 +++- .../quest/DialogChoosePoolDistribution.java | 26 +++-- .../screens/home/quest/DialogChooseSets.java | 37 ++++-- .../screens/home/quest/PnlDraftEvent.java | 17 +-- .../forge/screens/home/quest/PnlEvent.java | 19 +-- .../screens/home/quest/QuestFileLister.java | 28 +++-- .../home/quest/VSubmenuChallenges.java | 23 +++- .../screens/home/quest/VSubmenuDuels.java | 24 +++- .../home/quest/VSubmenuQuestDecks.java | 8 +- .../home/quest/VSubmenuQuestDraft.java | 37 ++++-- .../home/quest/VSubmenuQuestLoadData.java | 5 +- .../home/quest/VSubmenuQuestPrefs.java | 19 +-- .../home/quest/VSubmenuQuestStart.java | 25 ++-- .../forge/screens/home/quest/ViewItem.java | 8 +- .../forge/screens/home/quest/ViewStall.java | 23 ++-- .../home/sanctioned/CSubmenuDraft.java | 20 ++-- .../home/sanctioned/CSubmenuSealed.java | 4 +- .../home/sanctioned/ConstructedGameMenu.java | 14 ++- .../home/sanctioned/SleeveSelector.java | 19 +-- .../home/sanctioned/VSubmenuConstructed.java | 2 +- .../home/sanctioned/VSubmenuDraft.java | 16 ++- .../home/sanctioned/VSubmenuSealed.java | 17 ++- .../home/sanctioned/VSubmenuWinston.java | 2 +- .../home/settings/CSubmenuDownloaders.java | 7 +- .../home/settings/CSubmenuPreferences.java | 27 +++-- .../home/settings/VSubmenuAchievements.java | 12 +- .../home/settings/VSubmenuAvatars.java | 11 +- .../home/settings/VSubmenuDownloaders.java | 36 ++++-- .../home/settings/VSubmenuPreferences.java | 35 ++++-- .../home/settings/VSubmenuReleaseNotes.java | 7 +- .../forge/screens/match/GameLogPanel.java | 2 +- .../forge/screens/match/GauntletWinLose.java | 4 +- .../screens/match/QuestDraftWinLose.java | 6 +- .../screens/match/QuestWinLoseCardViewer.java | 2 +- .../forge/screens/match/TargetingOverlay.java | 6 +- .../screens/match/VAssignCombatDamage.java | 7 +- .../java/forge/screens/match/VAutoYields.java | 2 +- .../java/forge/screens/match/ViewWinLose.java | 5 +- .../screens/match/controllers/CCombat.java | 2 +- .../screens/match/controllers/CPrompt.java | 4 +- .../screens/match/menus/CardOverlaysMenu.java | 17 +-- .../forge/screens/match/menus/GameMenu.java | 3 +- .../forge/screens/match/views/VAntes.java | 2 +- .../forge/screens/match/views/VCombat.java | 2 +- .../forge/screens/match/views/VDetail.java | 4 +- .../java/forge/screens/match/views/VDev.java | 2 +- .../java/forge/screens/match/views/VDock.java | 19 ++- .../forge/screens/match/views/VField.java | 4 +- .../java/forge/screens/match/views/VHand.java | 4 +- .../java/forge/screens/match/views/VLog.java | 3 +- .../forge/screens/match/views/VPicture.java | 4 +- .../forge/screens/match/views/VPrompt.java | 26 +++-- .../forge/screens/match/views/VStack.java | 28 +++-- .../forge/screens/workshop/VWorkshopUI.java | 4 +- .../workshop/menus/CWorkshopUIMenus.java | 3 +- .../workshop/menus/WorkshopFileMenu.java | 13 ++- .../screens/workshop/views/VCardDesigner.java | 9 +- .../screens/workshop/views/VCardScript.java | 2 +- .../workshop/views/VWorkshopCatalog.java | 9 +- .../main/java/forge/sound/AltSoundSystem.java | 9 +- .../src/main/java/forge/sound/AudioClip.java | 21 ++-- .../java/forge/toolbox/FCheckBoxList.java | 15 ++- .../src/main/java/forge/toolbox/FLabel.java | 12 +- .../main/java/forge/toolbox/FOptionPane.java | 2 +- .../main/java/forge/toolbox/FProgressBar.java | 7 +- .../src/main/java/forge/toolbox/FSkin.java | 108 ++++++++++++++---- .../forge/toolbox/imaging/FImagePanel.java | 16 ++- .../forge/toolbox/special/CardZoomer.java | 17 ++- .../forge/toolbox/special/PhaseIndicator.java | 4 +- .../forge/toolbox/special/PhaseLabel.java | 12 +- .../toolbox/special/PlayerDetailsPanel.java | 21 ++-- .../java/forge/util/SwingImageFetcher.java | 5 +- .../src/main/java/forge/view/FDialog.java | 2 +- .../main/java/forge/view/FNavigationBar.java | 2 +- .../src/main/java/forge/view/FTitleBar.java | 11 +- .../main/java/forge/view/FTitleBarBase.java | 23 ++-- .../src/main/java/forge/view/FView.java | 71 +++++++++--- .../main/java/forge/view/ITitleBarOwner.java | 5 +- .../main/java/forge/view/SimulateMatch.java | 35 ++++-- .../src/main/java/forge/view/SplashFrame.java | 24 +++- .../java/forge/view/TimeLimitedCodeBlock.java | 8 +- .../main/java/forge/view/arcane/CardArea.java | 24 ++-- .../java/forge/view/arcane/CardPanel.java | 44 ++++--- .../forge/view/arcane/FloatingCardArea.java | 20 ++-- .../java/forge/view/arcane/FloatingZone.java | 16 +-- .../java/forge/view/arcane/ListCardArea.java | 5 +- .../forge/view/arcane/ScaledImagePanel.java | 6 +- .../arcane/util/CardPanelMouseAdapter.java | 4 +- .../arcane/util/CardPanelMouseListener.java | 4 +- .../forge/view/arcane/util/OutlinedLabel.java | 15 ++- .../test/java/forge/BoosterDraft1Test.java | 4 +- .../src/test/java/forge/BoosterDraftTest.java | 8 +- .../src/test/java/forge/CardRankerTest.java | 15 +-- .../src/test/java/forge/PanelTest.java | 11 +- .../src/test/java/forge/RunTest.java | 3 +- .../ai/simulation/GameSimulatorTest.java | 5 +- .../deck/generate/Generate2ColorDeckTest.java | 6 +- .../deck/generate/Generate3ColorDeckTest.java | 6 +- .../deck/generate/Generate5ColorDeckTest.java | 6 +- .../BaseGameSimulationTest.java | 18 +-- .../ComprehensiveRulesSection103.java | 3 +- .../ComprehensiveRulesSection104.java | 10 +- .../gamesimulationtests/util/GameWrapper.java | 16 ++- .../util/LobbyPlayerForTests.java | 10 +- .../util/PlayerControllerForTests.java | 44 +++++-- .../util/SpecificationHandler.java | 8 +- .../util/card/CardSpecificationBuilder.java | 3 +- .../gamestate/GameStateSpecification.java | 6 +- .../GameStateSpecificationBuilder.java | 8 +- .../playeractions/ActivateAbilityAction.java | 4 +- .../playeractions/DeclareAttackersAction.java | 6 +- .../playeractions/DeclareBlockersAction.java | 1 + .../util/playeractions/PlayerActions.java | 11 +- .../testactions/CardAssertAction.java | 3 +- .../testactions/PlayerAssertAction.java | 3 +- .../test/java/forge/gui/ListChooserTest.java | 4 +- .../forge/gui/game/CardDetailPanelTest.java | 3 +- .../test/java/forge/item/DeckHintsTest.java | 11 +- .../src/test/java/forge/model/FModelTest.java | 10 +- .../PlanarConquestCommanderGeneraterGA.java | 13 ++- .../PlanarConquestGeneraterGA.java | 19 +-- .../PlanarConquestGeneraterGAModern.java | 6 +- .../PlanarConquestGeneraterGAStandard.java | 10 +- .../PlanarConquestTribalGeneraterGA.java | 12 +- forge-gui-mobile-dev/src/forge/app/Main.java | 23 +++- .../src/forge/CachedCardImage.java | 1 + forge-gui-mobile/src/forge/Forge.java | 13 ++- forge-gui-mobile/src/forge/Graphics.java | 9 +- .../src/forge/animation/GifDecoder.java | 2 +- .../src/forge/assets/AssetsDownloader.java | 14 +-- .../src/forge/assets/BitmapFontWriter.java | 1 + .../src/forge/assets/FBufferedImage.java | 2 +- .../src/forge/assets/FLanguage.java | 6 +- .../src/forge/assets/FRotatedImage.java | 1 + forge-gui-mobile/src/forge/assets/FSkin.java | 7 +- .../src/forge/assets/FSkinTexture.java | 8 +- .../src/forge/assets/ImageCache.java | 20 ++-- .../src/forge/assets/ImageLoader.java | 7 +- .../src/forge/card/CardFaceSymbols.java | 8 +- .../src/forge/card/CardImageRenderer.java | 18 +-- .../src/forge/card/CardListPreview.java | 2 +- .../src/forge/card/CardRenderer.java | 22 ++-- forge-gui-mobile/src/forge/card/CardZoom.java | 2 +- .../src/forge/card/GameEntityPicker.java | 2 +- .../src/forge/deck/AddBasicLandsDialog.java | 6 +- .../src/forge/deck/FDeckChooser.java | 30 ++--- .../src/forge/deck/FDeckEditor.java | 29 +++-- .../src/forge/deck/FDeckViewer.java | 4 +- .../src/forge/deck/FSideboardDialog.java | 6 +- .../src/forge/error/BugReportDialog.java | 3 +- .../src/forge/itemmanager/DeckManager.java | 8 +- .../src/forge/itemmanager/ItemManager.java | 20 ++-- .../filters/AdvancedSearchFilter.java | 6 +- .../itemmanager/filters/CardTypeFilter.java | 6 +- .../itemmanager/filters/DeckFolderFilter.java | 6 +- .../itemmanager/filters/FormatFilter.java | 18 +-- .../filters/HistoricFormatSelect.java | 9 +- .../itemmanager/filters/ListLabelFilter.java | 1 + .../itemmanager/filters/StatTypeFilter.java | 5 +- .../forge/itemmanager/views/ImageView.java | 28 ++--- .../forge/itemmanager/views/ItemListView.java | 16 +-- .../src/forge/itemmanager/views/ItemView.java | 14 +-- .../src/forge/menu/FDropDown.java | 2 +- .../src/forge/menu/FMagnifyView.java | 1 + .../src/forge/menu/FMenuItem.java | 2 +- forge-gui-mobile/src/forge/menu/FMenuTab.java | 2 +- forge-gui-mobile/src/forge/menu/FTooltip.java | 3 +- .../src/forge/screens/FScreen.java | 2 +- .../src/forge/screens/LoadingOverlay.java | 2 +- .../src/forge/screens/TabPageScreen.java | 4 +- .../achievements/AchievementsScreen.java | 4 +- .../screens/constructed/AvatarSelector.java | 12 +- .../screens/constructed/LobbyScreen.java | 23 ++-- .../screens/constructed/PlayerPanel.java | 15 +-- .../screens/constructed/SleevesSelector.java | 14 +-- .../screens/gauntlet/LoadGauntletScreen.java | 5 +- .../src/forge/screens/home/HomeScreen.java | 1 + .../screens/home/puzzle/PuzzleScreen.java | 8 +- .../screens/limited/LoadDraftScreen.java | 20 ++-- .../screens/limited/LoadSealedScreen.java | 7 +- .../forge/screens/match/MatchController.java | 6 +- .../src/forge/screens/match/MatchScreen.java | 8 +- .../forge/screens/match/TargetingOverlay.java | 6 +- .../match/views/VAssignCombatDamage.java | 20 ++-- .../screens/match/views/VAutoYields.java | 2 +- .../screens/match/views/VCardDisplayArea.java | 2 +- .../forge/screens/match/views/VDevMenu.java | 2 +- .../src/forge/screens/match/views/VLog.java | 2 +- .../forge/screens/match/views/VManaPool.java | 2 +- .../screens/match/views/VPhaseIndicator.java | 2 +- .../screens/match/views/VPlayerPanel.java | 2 +- .../forge/screens/match/views/VPrompt.java | 3 +- .../src/forge/screens/match/views/VStack.java | 4 +- .../match/winlose/GauntletWinLose.java | 4 +- .../screens/match/winlose/ViewWinLose.java | 8 +- .../screens/online/OnlineChatScreen.java | 4 +- .../src/forge/screens/online/OnlineMenu.java | 4 +- .../planarconquest/ConquestAEtherScreen.java | 10 +- .../planarconquest/ConquestChaosWheel.java | 2 +- .../ConquestCollectionScreen.java | 4 +- .../ConquestCommandersScreen.java | 4 +- .../ConquestMultiverseScreen.java | 10 +- .../planarconquest/ConquestPlaneSelector.java | 2 +- .../ConquestPlaneswalkScreen.java | 2 +- .../planarconquest/ConquestPrefsScreen.java | 2 +- .../planarconquest/ConquestRewardDialog.java | 5 +- .../planarconquest/ConquestStatsScreen.java | 2 +- .../planarconquest/LoadConquestScreen.java | 8 +- .../planarconquest/NewConquestScreen.java | 4 +- .../forge/screens/quest/LoadQuestScreen.java | 8 +- .../forge/screens/quest/NewQuestScreen.java | 16 +-- .../screens/quest/QuestBazaarScreen.java | 2 +- .../forge/screens/quest/QuestDeckEditor.java | 1 + .../forge/screens/quest/QuestDecksScreen.java | 4 +- .../forge/screens/quest/QuestDuelsScreen.java | 4 +- .../forge/screens/quest/QuestEventPanel.java | 3 +- .../src/forge/screens/quest/QuestMenu.java | 2 +- .../forge/screens/quest/QuestPrefsScreen.java | 2 +- .../screens/quest/QuestSpellShopScreen.java | 18 +-- .../forge/screens/quest/QuestStatsScreen.java | 2 +- .../screens/quest/QuestTournamentsScreen.java | 9 +- .../forge/screens/settings/SettingsPage.java | 9 +- .../screens/settings/SettingsScreen.java | 2 +- .../src/forge/sound/AudioClip.java | 2 +- .../src/forge/toolbox/DualListBox.java | 8 +- .../src/forge/toolbox/FButton.java | 7 +- .../src/forge/toolbox/FChoiceList.java | 9 +- .../src/forge/toolbox/FDialog.java | 4 +- .../src/forge/toolbox/FFileChooser.java | 10 +- .../src/forge/toolbox/FGroupBox.java | 3 +- .../src/forge/toolbox/FGroupList.java | 2 +- .../src/forge/toolbox/FLabel.java | 4 +- forge-gui-mobile/src/forge/toolbox/FList.java | 3 +- .../src/forge/toolbox/FOptionPane.java | 5 +- .../src/forge/toolbox/FProgressBar.java | 19 +-- .../src/forge/toolbox/FTextField.java | 3 +- .../src/forge/toolbox/FToggleSwitch.java | 1 + .../src/forge/toolbox/GuiChoose.java | 18 +-- .../src/forge/toolbox/GuiDialog.java | 6 +- .../src/forge/toolbox/ListChooser.java | 8 +- .../src/forge/util/LibGDXImageFetcher.java | 9 +- .../forge/deck/ArchetypeDeckGenerator.java | 9 +- .../forge/deck/CardArchetypeLDAGenerator.java | 12 +- .../deck/CardRelationMatrixGenerator.java | 17 ++- .../forge/deck/CardThemedDeckGenerator.java | 6 +- .../forge/deck/CommanderDeckGenerator.java | 7 +- .../java/forge/deck/DeckGeneratorTheme.java | 8 +- .../src/main/java/forge/deck/DeckProxy.java | 4 +- .../src/main/java/forge/deck/DeckgenUtil.java | 23 +++- .../java/forge/deck/NetDeckArchiveLegacy.java | 7 +- .../java/forge/deck/NetDeckArchiveModern.java | 7 +- .../forge/deck/NetDeckArchivePioneer.java | 7 +- .../forge/deck/NetDeckArchiveStandard.java | 7 +- .../forge/deck/NetDeckArchiveVintage.java | 7 +- .../main/java/forge/deck/io/Archetype.java | 4 +- .../java/forge/deck/io/CardThemedLDAIO.java | 15 ++- .../java/forge/deck/io/DeckPreferences.java | 10 +- .../main/java/forge/download/AutoUpdater.java | 28 +++-- .../gamemodes/gauntlet/GauntletData.java | 14 +-- .../forge/gamemodes/gauntlet/GauntletIO.java | 15 ++- .../gamemodes/gauntlet/GauntletUtil.java | 5 +- .../limited/ArchetypeDeckBuilder.java | 4 +- .../gamemodes/limited/BoosterDeckBuilder.java | 4 +- .../forge/gamemodes/limited/BoosterDraft.java | 19 ++- .../forge/gamemodes/limited/CardRanker.java | 14 +-- .../limited/CardRankingComparator.java | 5 +- .../CardThemedCommanderDeckBuilder.java | 5 +- .../CardThemedConquestDeckBuilder.java | 5 +- .../limited/CardThemedDeckBuilder.java | 13 ++- .../gamemodes/limited/CustomLimited.java | 14 +-- .../limited/LimitedDeckEvaluator.java | 4 +- .../gamemodes/limited/LimitedPlayer.java | 6 +- .../gamemodes/limited/LimitedPlayerAI.java | 4 +- .../gamemodes/limited/ReadDraftRankings.java | 6 +- .../limited/SealedCardPoolGenerator.java | 22 ++-- .../gamemodes/limited/SealedDeckBuilder.java | 9 +- .../gamemodes/limited/ThemedChaosDraft.java | 7 +- .../java/forge/gamemodes/match/GameLobby.java | 1 - .../forge/gamemodes/match/HostedMatch.java | 11 +- .../gamemodes/match/input/InputAttack.java | 15 ++- .../gamemodes/match/input/InputBlock.java | 6 +- .../match/input/InputConfirmMulligan.java | 3 +- .../match/input/InputLondonMulligan.java | 1 + .../gamemodes/match/input/InputPayMana.java | 15 ++- ...InputSelectCardsForConvokeOrImprovise.java | 4 +- .../input/InputSelectEntitiesFromList.java | 8 +- .../match/input/InputSelectTargets.java | 14 +-- .../gamemodes/net/CObjectInputStream.java | 4 +- .../net/CompatibleObjectDecoder.java | 9 +- .../net/CompatibleObjectEncoder.java | 11 +- .../gamemodes/net/GameProtocolHandler.java | 8 +- .../forge/gamemodes/net/NetConnectUtil.java | 4 +- .../forge/gamemodes/net/ProtocolMethod.java | 10 +- .../gamemodes/net/client/FGameClient.java | 25 ++-- .../net/client/GameClientHandler.java | 21 +++- .../gamemodes/net/server/FServerManager.java | 43 ++++--- .../net/server/GameServerHandler.java | 2 +- .../gamemodes/net/server/NetGuiGame.java | 9 +- .../gamemodes/net/server/RemoteClient.java | 3 +- .../planarconquest/ConquestAwardPool.java | 1 + .../planarconquest/ConquestData.java | 18 ++- .../planarconquest/ConquestDeckMap.java | 4 +- .../planarconquest/ConquestLocation.java | 1 + .../planarconquest/ConquestUtil.java | 22 ++-- .../java/forge/gamemodes/puzzle/Puzzle.java | 11 +- .../java/forge/gamemodes/puzzle/PuzzleIO.java | 10 +- .../forge/gamemodes/quest/BoosterUtils.java | 21 ++-- .../gamemodes/quest/IQuestRewardCard.java | 4 +- .../quest/QuestChallengeGenerator.java | 10 +- .../gamemodes/quest/QuestController.java | 2 +- .../forge/gamemodes/quest/QuestDeckMap.java | 4 +- .../gamemodes/quest/QuestDraftUtils.java | 8 +- .../forge/gamemodes/quest/QuestEvent.java | 8 +- .../gamemodes/quest/QuestEventChallenge.java | 7 +- .../quest/QuestEventCommanderDuelManager.java | 16 ++- .../gamemodes/quest/QuestEventDraft.java | 14 ++- .../quest/QuestEventDuelManager.java | 9 +- .../quest/QuestEventLDADuelManager.java | 9 +- .../quest/QuestRewardCardFiltered.java | 8 +- .../forge/gamemodes/quest/QuestSpellShop.java | 27 +++-- .../quest/QuestTournamentController.java | 2 +- .../java/forge/gamemodes/quest/QuestUtil.java | 14 +-- .../forge/gamemodes/quest/QuestUtilCards.java | 26 +++-- .../gamemodes/quest/QuestUtilUnlockSets.java | 2 +- .../quest/QuestWinLoseController.java | 29 +++-- .../forge/gamemodes/quest/QuestWorld.java | 17 +-- .../java/forge/gamemodes/quest/SellRules.java | 4 +- .../quest/bazaar/QuestBazaarManager.java | 6 +- .../gamemodes/quest/bazaar/QuestPetStats.java | 7 +- .../quest/bazaar/QuestPetStorage.java | 32 +++--- .../gamemodes/quest/data/GameFormatQuest.java | 6 +- .../quest/data/QuestAchievements.java | 10 +- .../gamemodes/quest/data/QuestAssets.java | 1 - .../forge/gamemodes/quest/data/QuestData.java | 10 +- .../quest/data/QuestPreferences.java | 4 +- .../quest/io/QuestChallengeReader.java | 12 +- .../forge/gamemodes/quest/io/QuestDataIO.java | 69 ++++++++--- .../gamemodes/quest/io/QuestDuelReader.java | 10 +- .../gamemodes/quest/io/ReadPriceList.java | 8 +- .../gamemodes/tournament/TournamentData.java | 14 +-- .../gamemodes/tournament/TournamentIO.java | 20 +++- .../gamemodes/tournament/TournamentUtil.java | 12 +- .../TournamentWinLoseController.java | 5 +- .../tournament/system/AbstractTournament.java | 12 +- .../tournament/system/TournamentPairing.java | 9 +- .../tournament/system/TournamentPlayer.java | 9 +- .../system/TournamentRoundRobin.java | 7 +- .../tournament/system/TournamentSwiss.java | 9 +- .../java/forge/gui/card/CardDetailUtil.java | 13 ++- .../java/forge/gui/card/CardPreferences.java | 10 +- .../forge/gui/card/CardReaderExperiments.java | 16 ++- .../gui/control/FControlGameEventHandler.java | 36 +++++- .../gui/download/GuiDownloadPicturesHQ.java | 10 +- .../gui/download/GuiDownloadPicturesLQ.java | 12 +- .../gui/download/GuiDownloadService.java | 2 +- .../download/GuiDownloadSetPicturesLQ.java | 13 ++- .../forge/gui/interfaces/IMayViewCards.java | 1 + .../forge/itemmanager/AdvancedSearch.java | 17 ++- .../forge/itemmanager/BooleanExpression.java | 7 +- .../java/forge/itemmanager/ColumnDef.java | 15 +-- .../java/forge/itemmanager/ItemColumn.java | 6 +- .../forge/itemmanager/ItemManagerConfig.java | 12 +- .../forge/itemmanager/ItemManagerModel.java | 2 +- .../java/forge/itemmanager/SFilterUtil.java | 10 +- .../forge/itemmanager/SItemManagerUtil.java | 12 +- .../achievements/AchievementCollection.java | 2 +- .../achievements/AltWinAchievements.java | 2 +- .../localinstance/achievements/Domain.java | 8 +- .../PlaneswalkerAchievements.java | 2 +- .../properties/ForgeConstants.java | 6 +- .../properties/ForgeProfileProperties.java | 2 +- .../properties/PreferencesStore.java | 4 +- .../src/main/java/forge/model/CardBlock.java | 14 +-- .../src/main/java/forge/model/FModel.java | 24 ++-- .../src/main/java/forge/model/MetaSet.java | 6 +- .../main/java/forge/model/UnOpenedMeta.java | 6 +- .../java/forge/player/GamePlayerUtil.java | 2 +- .../java/forge/player/HumanCostDecision.java | 38 +++++- .../src/main/java/forge/player/HumanPlay.java | 51 +++++++-- .../forge/player/HumanPlaySpellAbility.java | 13 ++- .../forge/player/PlayerControllerHuman.java | 67 +++++++++-- .../java/forge/player/TargetSelection.java | 13 ++- .../src/main/java/forge/util/HttpUtil.java | 6 +- .../main/java/forge/util/IgnoringXStream.java | 6 +- .../main/java/forge/util/ImageFetcher.java | 5 +- .../src/main/java/forge/util/WordUtil.java | 4 +- .../src/main/java/forge/util/XmlUtil.java | 10 +- 994 files changed, 6511 insertions(+), 3770 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/AiAttackController.java b/forge-ai/src/main/java/forge/ai/AiAttackController.java index 87cd7afcfb3..5f2e126f872 100644 --- a/forge-ai/src/main/java/forge/ai/AiAttackController.java +++ b/forge-ai/src/main/java/forge/ai/AiAttackController.java @@ -17,16 +17,26 @@ */ package forge.ai; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Lists; + import forge.ai.ability.AnimateAi; import forge.card.CardTypeView; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.ProtectEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.combat.GlobalAttackRestrictions; @@ -43,9 +53,6 @@ import forge.util.MyRandom; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import java.util.ArrayList; -import java.util.List; - //doesHumanAttackAndWin() uses the global variable AllZone.getComputerPlayer() /** diff --git a/forge-ai/src/main/java/forge/ai/AiBlockController.java b/forge-ai/src/main/java/forge/ai/AiBlockController.java index d7925fd2792..ca567fdcb4a 100644 --- a/forge-ai/src/main/java/forge/ai/AiBlockController.java +++ b/forge-ai/src/main/java/forge/ai/AiBlockController.java @@ -17,11 +17,23 @@ */ package forge.ai; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; + import forge.card.CardStateName; import forge.game.GameEntity; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.keyword.Keyword; @@ -32,8 +44,6 @@ import forge.game.zone.ZoneType; import forge.util.MyRandom; import forge.util.collect.FCollectionView; -import java.util.*; - /** *

diff --git a/forge-ai/src/main/java/forge/ai/AiCardMemory.java b/forge-ai/src/main/java/forge/ai/AiCardMemory.java index 9e203710dd9..062489e3db2 100644 --- a/forge-ai/src/main/java/forge/ai/AiCardMemory.java +++ b/forge-ai/src/main/java/forge/ai/AiCardMemory.java @@ -18,13 +18,13 @@ package forge.ai; -import forge.game.card.Card; -import forge.game.player.Player; - import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import forge.game.card.Card; +import forge.game.player.Player; + /** *

* AiCardMemory class. diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index eda967e4b29..2958ef944d5 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -17,11 +17,19 @@ */ package forge.ai; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.esotericsoftware.minlog.Log; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.ai.ability.ChangeZoneAi; import forge.ai.ability.ExploreAi; import forge.ai.simulation.SpellAbilityPicker; @@ -30,16 +38,38 @@ import forge.card.mana.ManaCost; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; -import forge.game.*; +import forge.game.CardTraitBase; +import forge.game.CardTraitPredicates; +import forge.game.Direction; +import forge.game.Game; +import forge.game.GameActionUtil; +import forge.game.GameEntity; +import forge.game.GlobalRuleChange; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.SpellApiBased; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPlayOption; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Accessors; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostAdjustment; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostPart; +import forge.game.cost.CostPayEnergy; +import forge.game.cost.CostPayLife; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostRemoveCounter; +import forge.game.cost.CostSacrifice; import forge.game.keyword.Keyword; import forge.game.mana.ManaCostBeingPaid; import forge.game.phase.PhaseType; @@ -48,7 +78,15 @@ import forge.game.player.PlayerActionConfirmMode; import forge.game.replacement.ReplaceMoved; import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementType; -import forge.game.spellability.*; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.LandAbility; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.OptionalCostValue; +import forge.game.spellability.Spell; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityCondition; +import forge.game.spellability.SpellAbilityPredicates; +import forge.game.spellability.SpellPermanent; import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerType; @@ -56,16 +94,13 @@ import forge.game.trigger.WrappedAbility; import forge.game.zone.ZoneType; import forge.item.PaperCard; import forge.util.Aggregates; +import forge.util.ComparatorUtil; import forge.util.Expressions; import forge.util.MyRandom; -import forge.util.ComparatorUtil; import forge.util.collect.FCollectionView; import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; -import java.util.*; -import java.util.Map.Entry; - /** *

* AiController class. diff --git a/forge-ai/src/main/java/forge/ai/AiCostDecision.java b/forge-ai/src/main/java/forge/ai/AiCostDecision.java index 88a3ca7d5fa..138b3864374 100644 --- a/forge-ai/src/main/java/forge/ai/AiCostDecision.java +++ b/forge-ai/src/main/java/forge/ai/AiCostDecision.java @@ -1,5 +1,7 @@ package forge.ai; +import static forge.ai.ComputerUtilCard.getBestCreatureAI; + import java.util.Collections; import java.util.List; import java.util.Map; @@ -21,7 +23,36 @@ import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CounterEnumType; import forge.game.card.CounterType; -import forge.game.cost.*; +import forge.game.cost.CostAddMana; +import forge.game.cost.CostChooseCreatureType; +import forge.game.cost.CostDamage; +import forge.game.cost.CostDecisionMakerBase; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostDraw; +import forge.game.cost.CostExert; +import forge.game.cost.CostExile; +import forge.game.cost.CostExileFromStack; +import forge.game.cost.CostExiledMoveToGrave; +import forge.game.cost.CostFlipCoin; +import forge.game.cost.CostGainControl; +import forge.game.cost.CostGainLife; +import forge.game.cost.CostMill; +import forge.game.cost.CostPartMana; +import forge.game.cost.CostPayEnergy; +import forge.game.cost.CostPayLife; +import forge.game.cost.CostPutCardToLib; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostRemoveAnyCounter; +import forge.game.cost.CostRemoveCounter; +import forge.game.cost.CostReturn; +import forge.game.cost.CostReveal; +import forge.game.cost.CostSacrifice; +import forge.game.cost.CostTap; +import forge.game.cost.CostTapType; +import forge.game.cost.CostUnattach; +import forge.game.cost.CostUntap; +import forge.game.cost.CostUntapType; +import forge.game.cost.PaymentDecision; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.spellability.SpellAbility; @@ -31,8 +62,6 @@ import forge.util.Aggregates; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import static forge.ai.ComputerUtilCard.getBestCreatureAI; - public class AiCostDecision extends CostDecisionMakerBase { private final SpellAbility ability; private final Card source; diff --git a/forge-ai/src/main/java/forge/ai/AiProfileUtil.java b/forge-ai/src/main/java/forge/ai/AiProfileUtil.java index 06f60545f52..15f636b4135 100644 --- a/forge-ai/src/main/java/forge/ai/AiProfileUtil.java +++ b/forge-ai/src/main/java/forge/ai/AiProfileUtil.java @@ -17,19 +17,19 @@ */ package forge.ai; -import forge.LobbyPlayer; -import forge.util.Aggregates; -import forge.util.FileUtil; - -import forge.util.TextUtil; -import org.apache.commons.lang3.ArrayUtils; - import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.ArrayUtils; + +import forge.LobbyPlayer; +import forge.util.Aggregates; +import forge.util.FileUtil; +import forge.util.TextUtil; + /** * Holds default AI personality profile values in an enum. * Loads profile from the given text file when setProfile is called. diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 795b2d959e0..66855252408 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -17,12 +17,22 @@ */ package forge.ai; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; + import forge.ai.ability.ChooseGenericEffectAi; import forge.ai.ability.ProtectAi; import forge.ai.ability.TokenAi; @@ -30,16 +40,33 @@ import forge.card.CardStateName; import forge.card.CardType; import forge.card.ColorSet; import forge.card.MagicColor; -import forge.game.*; +import forge.game.CardTraitPredicates; +import forge.game.Game; +import forge.game.GameActionUtil; +import forge.game.GameObject; +import forge.game.GameType; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.CharmEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardState; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostPart; +import forge.game.cost.CostPayment; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostSacrifice; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -61,9 +88,6 @@ import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.TextUtil; import forge.util.collect.FCollection; -import org.apache.commons.lang3.StringUtils; - -import java.util.*; /** diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java b/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java index 8505ff58bed..fa8c7d633d9 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java @@ -1,7 +1,11 @@ package forge.ai; +import java.util.Iterator; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; + import forge.card.CardStateName; import forge.game.Game; import forge.game.GameActionUtil; @@ -17,9 +21,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; import forge.game.zone.ZoneType; -import java.util.Iterator; -import java.util.List; - public class ComputerUtilAbility { public static CardCollection getAvailableLandsToPlay(final Game game, final Player player) { if (!game.getStack().isEmpty() || !game.getPhaseHandler().getPhase().isMain()) { diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java index 2b97c368c26..4078d93981c 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java @@ -1,5 +1,20 @@ package forge.ai; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.MutablePair; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -18,7 +33,16 @@ import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactory; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; @@ -40,12 +64,6 @@ import forge.item.PaperCard; import forge.util.Aggregates; import forge.util.Expressions; import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.MutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; -import java.util.Map.Entry; public class ComputerUtilCard { public static Card getMostExpensivePermanentAI(final CardCollectionView list, final SpellAbility spell, final boolean targeted) { diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index d37e8ccedff..d4b7d549f74 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -30,7 +30,14 @@ import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.CostPayment; diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCost.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCost.java index 84ddd5791c6..cb56ec9fd46 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCost.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCost.java @@ -1,16 +1,41 @@ package forge.ai; +import java.util.List; +import java.util.Set; + +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; import com.google.common.collect.Sets; + import forge.ai.ability.AnimateAi; import forge.card.ColorSet; import forge.game.Game; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.combat.Combat; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostDamage; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostPart; +import forge.game.cost.CostPayLife; +import forge.game.cost.CostPayment; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostRemoveAnyCounter; +import forge.game.cost.CostRemoveCounter; +import forge.game.cost.CostSacrifice; +import forge.game.cost.CostTapType; +import forge.game.cost.PaymentDecision; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.spellability.Spell; @@ -20,12 +45,6 @@ import forge.util.MyRandom; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; -import java.util.Set; - public class ComputerUtilCost { diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java index 161e84c2dda..2e7127f7aa0 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java @@ -1,8 +1,26 @@ package forge.ai; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import com.google.common.collect.*; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Iterables; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; + import forge.ai.ability.AnimateAi; import forge.card.ColorSet; import forge.card.MagicColor; @@ -13,11 +31,23 @@ import forge.card.mana.ManaCostShard; import forge.game.CardTraitPredicates; import forge.game.Game; import forge.game.GameActionUtil; -import forge.game.ability.*; -import forge.game.card.*; +import forge.game.ability.AbilityKey; +import forge.game.ability.AbilityUtils; +import forge.game.ability.ApiType; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostAdjustment; +import forge.game.cost.CostPartMana; +import forge.game.cost.CostPayEnergy; +import forge.game.cost.CostPayment; import forge.game.keyword.Keyword; import forge.game.mana.Mana; import forge.game.mana.ManaCostBeingPaid; @@ -37,10 +67,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.MyRandom; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; public class ComputerUtilMana { private final static boolean DEBUG_MANA_PAYMENT = false; diff --git a/forge-ai/src/main/java/forge/ai/GameState.java b/forge-ai/src/main/java/forge/ai/GameState.java index 768cb8743a6..1c09d0171ee 100644 --- a/forge-ai/src/main/java/forge/ai/GameState.java +++ b/forge-ai/src/main/java/forge/ai/GameState.java @@ -1,9 +1,25 @@ package forge.ai; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; + import forge.StaticData; import forge.card.CardStateName; import forge.card.MagicColor; @@ -13,7 +29,12 @@ import forge.game.GameObject; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityKey; import forge.game.ability.effects.DetachedCardEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCloneStates; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactory; +import forge.game.card.CounterType; import forge.game.card.token.TokenInfo; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; @@ -32,13 +53,6 @@ import forge.item.IPaperCard; import forge.item.PaperCard; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.StringUtils; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.*; -import java.util.Map.Entry; public abstract class GameState { private static final Map ZONES = new HashMap<>(); diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index 9fc64c9d3fd..573d0ce54d9 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -1,11 +1,24 @@ package forge.ai; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; + import forge.LobbyPlayer; import forge.ai.ability.ProtectAi; import forge.card.CardStateName; @@ -21,19 +34,43 @@ import forge.game.GameObject; import forge.game.GameType; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; +import forge.game.card.CardView; +import forge.game.card.CounterType; import forge.game.combat.Combat; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostAdjustment; +import forge.game.cost.CostExile; +import forge.game.cost.CostPart; +import forge.game.cost.CostPartMana; import forge.game.keyword.KeywordInterface; import forge.game.mana.Mana; import forge.game.mana.ManaConversionMatrix; import forge.game.mana.ManaCostBeingPaid; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; -import forge.game.player.*; +import forge.game.player.DelayedReveal; +import forge.game.player.Player; +import forge.game.player.PlayerActionConfirmMode; +import forge.game.player.PlayerController; +import forge.game.player.PlayerView; import forge.game.replacement.ReplacementEffect; -import forge.game.spellability.*; +import forge.game.spellability.Ability; +import forge.game.spellability.AbilityStatic; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.LandAbility; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.OptionalCostValue; +import forge.game.spellability.Spell; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityStackInstance; +import forge.game.spellability.TargetChoices; import forge.game.trigger.WrappedAbility; import forge.game.zone.ZoneType; import forge.item.PaperCard; @@ -42,12 +79,6 @@ import forge.util.ITriggerEvent; import forge.util.MyRandom; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.security.InvalidParameterException; -import java.util.*; /** diff --git a/forge-ai/src/main/java/forge/ai/SpecialAiLogic.java b/forge-ai/src/main/java/forge/ai/SpecialAiLogic.java index c757133f256..2bc71048210 100644 --- a/forge-ai/src/main/java/forge/ai/SpecialAiLogic.java +++ b/forge-ai/src/main/java/forge/ai/SpecialAiLogic.java @@ -9,7 +9,13 @@ import forge.ai.ability.TokenAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.combat.Combat; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; diff --git a/forge-ai/src/main/java/forge/ai/SpecialCardAi.java b/forge-ai/src/main/java/forge/ai/SpecialCardAi.java index 85de244dbfd..f4581c5ccca 100644 --- a/forge-ai/src/main/java/forge/ai/SpecialCardAi.java +++ b/forge-ai/src/main/java/forge/ai/SpecialCardAi.java @@ -17,10 +17,17 @@ */ package forge.ai; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.ai.ability.AnimateAi; import forge.card.ColorSet; import forge.card.MagicColor; @@ -29,7 +36,14 @@ import forge.game.Game; import forge.game.GameType; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.CostPart; @@ -50,11 +64,6 @@ import forge.util.MyRandom; import forge.util.TextUtil; import forge.util.maps.LinkedHashMapToAmount; import forge.util.maps.MapToAmount; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; /** * Special logic for individual cards diff --git a/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java b/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java index d8c185684fd..841ea538387 100644 --- a/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java @@ -1,7 +1,12 @@ package forge.ai; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.card.CardStateName; import forge.card.ICardFace; import forge.card.mana.ManaCost; @@ -21,10 +26,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityCondition; import forge.util.MyRandom; -import java.util.Collection; -import java.util.List; -import java.util.Map; - /** * Base class for API-specific AI logic *

diff --git a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java index 5f8aa04c2e1..6aad3f581c1 100644 --- a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java @@ -1,13 +1,14 @@ package forge.ai; +import java.util.Map; + import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; + import forge.ai.ability.*; import forge.game.ability.ApiType; import forge.util.ReflectionUtil; -import java.util.Map; - public enum SpellApiToAi { Converter; diff --git a/forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java b/forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java index 18029dd4d7f..e261dab37db 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java @@ -1,5 +1,8 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -10,9 +13,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; -import java.util.Map; - public class ActivateAbilityAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java index f20a3f2f7fd..2f3b28c53c1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java @@ -17,15 +17,15 @@ */ package forge.ai.ability; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - /** *

* AbilityFactory_Turns class. diff --git a/forge-ai/src/main/java/forge/ai/ability/AmassAi.java b/forge-ai/src/main/java/forge/ai/ability/AmassAi.java index ab54f83224d..fdd19038669 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AmassAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AmassAi.java @@ -9,7 +9,11 @@ import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; import forge.game.card.token.TokenInfo; import forge.game.phase.PhaseHandler; import forge.game.player.Player; diff --git a/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java b/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java index 67f4d6fc376..34d33387a54 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java @@ -1,14 +1,31 @@ package forge.ai.ability; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import forge.ai.*; + +import forge.ai.AiCardMemory; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.SpellAbilityAi; import forge.card.CardType; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.ability.effects.AnimateEffectBase; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardTraitChanges; +import forge.game.card.CardUtil; import forge.game.cost.CostPutCounter; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -19,12 +36,6 @@ import forge.game.staticability.StaticAbilityContinuous; import forge.game.staticability.StaticAbilityLayer; import forge.game.zone.ZoneType; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import forge.game.ability.effects.AnimateEffectBase; - /** *

* AbilityFactoryAnimate class. diff --git a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java index c4eb2fd118f..52b88f28a97 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java @@ -1,17 +1,39 @@ package forge.ai.ability; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import forge.ai.*; + +import forge.ai.AiCardMemory; +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GameObject; import forge.game.GlobalRuleChange; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; @@ -31,8 +53,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.*; - public class AttachAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/CanPlayAsDrawbackAi.java b/forge-ai/src/main/java/forge/ai/ability/CanPlayAsDrawbackAi.java index 96876913dd9..a0afe996eac 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CanPlayAsDrawbackAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CanPlayAsDrawbackAi.java @@ -1,13 +1,13 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.List; -import java.util.Map; - public class CanPlayAsDrawbackAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeCombatantsAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeCombatantsAi.java index 1187dc81cdc..f99261af499 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeCombatantsAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeCombatantsAi.java @@ -1,5 +1,8 @@ package forge.ai.ability; +import java.util.Collection; +import java.util.Map; + import forge.ai.SpellAbilityAi; import forge.game.GameEntity; import forge.game.player.Player; @@ -7,9 +10,6 @@ import forge.game.player.PlayerCollection; import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; -import java.util.Collection; -import java.util.Map; - public class ChangeCombatantsAi extends SpellAbilityAi { /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index 17cf3deab63..33508f046d9 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -1,11 +1,35 @@ package forge.ai.ability; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import forge.ai.*; + +import forge.ai.AiBlockController; +import forge.ai.AiCardMemory; +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialAiLogic; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; +import forge.ai.SpellApiToAi; import forge.card.MagicColor; import forge.game.Game; import forge.game.GameObject; @@ -13,8 +37,14 @@ import forge.game.GlobalRuleChange; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.cost.Cost; import forge.game.cost.CostDiscard; @@ -29,9 +59,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; - -import java.util.*; public class ChangeZoneAi extends SpellAbilityAi { /* diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java index c2d8939dc8c..2c3ab5706a1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java @@ -1,12 +1,29 @@ package forge.ai.ability; +import java.util.Collections; + import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiPlayerPredicates; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.cost.Cost; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -17,8 +34,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.Collections; - public class ChangeZoneAllAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/CharmAi.java b/forge-ai/src/main/java/forge/ai/ability/CharmAi.java index 8835fc47e33..46da4dca610 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CharmAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CharmAi.java @@ -1,7 +1,15 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Lists; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiPlayDecision; +import forge.ai.ComputerUtilAbility; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.ability.effects.CharmEffect; import forge.game.card.Card; @@ -12,9 +20,6 @@ import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.collect.FCollection; -import java.util.List; -import java.util.Map; - public class CharmAi extends SpellAbilityAi { @Override protected boolean checkApiLogic(Player ai, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java index 18586b6a20a..a50ee8c6def 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java @@ -10,7 +10,6 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import forge.ai.ComputerUtilAbility; - import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCombat; import forge.ai.SpellAbilityAi; diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java index efd87798478..469a095fa4e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java @@ -7,7 +7,10 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import forge.StaticData; -import forge.ai.*; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.card.CardDb; import forge.card.CardRules; import forge.card.CardSplitType; diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseColorAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseColorAi.java index b8699dab200..b395c6382ad 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseColorAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseColorAi.java @@ -8,7 +8,9 @@ import forge.ai.SpecialCardAi; import forge.ai.SpellAbilityAi; import forge.card.MagicColor; import forge.game.Game; -import forge.game.card.*; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseCompanionAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseCompanionAi.java index 1240d9ab54f..e3e50950b18 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCompanionAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCompanionAi.java @@ -1,15 +1,16 @@ package forge.ai.ability; -import com.google.common.collect.Lists; -import forge.ai.SpellAbilityAi; -import forge.game.card.Card; -import forge.game.player.Player; -import forge.game.spellability.SpellAbility; - import java.util.Collections; import java.util.List; import java.util.Map; +import com.google.common.collect.Lists; + +import forge.ai.SpellAbilityAi; +import forge.game.card.Card; +import forge.game.player.Player; +import forge.game.spellability.SpellAbility; + public class ChooseCompanionAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java index 0287e539f96..9078eab7c4f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseGenericEffectAi.java @@ -1,14 +1,28 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import forge.ai.*; + +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; +import forge.ai.SpellApiToAi; import forge.card.MagicColor; import forge.game.Game; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; @@ -21,9 +35,6 @@ import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.collect.FCollection; -import java.util.List; -import java.util.Map; - public class ChooseGenericEffectAi extends SpellAbilityAi { diff --git a/forge-ai/src/main/java/forge/ai/ability/ChoosePlayerAi.java b/forge-ai/src/main/java/forge/ai/ability/ChoosePlayerAi.java index 5b98b108cda..2b5c6af415a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChoosePlayerAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChoosePlayerAi.java @@ -1,16 +1,17 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.ai.ComputerUtil; import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; - public class ChoosePlayerAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseTypeAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseTypeAi.java index 3ca712c2c0b..91690a61212 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseTypeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseTypeAi.java @@ -1,11 +1,23 @@ package forge.ai.ability; +import java.util.HashSet; +import java.util.Set; + import com.google.common.base.Predicates; -import forge.ai.*; + +import forge.ai.AiCardMemory; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilMana; +import forge.ai.SpellAbilityAi; import forge.card.CardType; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.keyword.Keyword; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -13,9 +25,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Aggregates; -import java.util.HashSet; -import java.util.Set; - public class ChooseTypeAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/ClashAi.java b/forge-ai/src/main/java/forge/ai/ability/ClashAi.java index 2d8859d8a4c..0c6c65ff151 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ClashAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ClashAi.java @@ -4,8 +4,8 @@ package forge.ai.ability; import java.util.Map; import com.google.common.collect.Iterables; -import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.card.Card; import forge.game.card.CardCollectionView; diff --git a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java index a97839b66ab..abcc104fed4 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java @@ -1,5 +1,8 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.Game; @@ -14,9 +17,6 @@ import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; - public class CloneAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java index 3bc49b3f392..d493849c6af 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java @@ -1,14 +1,29 @@ package forge.ai.ability; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; -import forge.ai.*; + +import forge.ai.AiPlayDecision; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -17,10 +32,6 @@ import forge.game.player.PlayerCollection; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.Collection; -import java.util.List; -import java.util.Map; - public class CopyPermanentAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java index 2483d259119..3fb611d430f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java @@ -1,6 +1,15 @@ package forge.ai.ability; -import forge.ai.*; +import java.util.List; +import java.util.Map; + +import forge.ai.AiCardMemory; +import forge.ai.AiPlayDecision; +import forge.ai.AiProps; +import forge.ai.ComputerUtilCard; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.ApiType; import forge.game.player.Player; @@ -10,9 +19,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.util.MyRandom; -import java.util.List; -import java.util.Map; - public class CopySpellAbilityAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/CounterAi.java b/forge-ai/src/main/java/forge/ai/ability/CounterAi.java index 4f153415e31..764d74822be 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CounterAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CounterAi.java @@ -1,6 +1,19 @@ package forge.ai.ability; -import forge.ai.*; +import java.util.Iterator; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; @@ -16,11 +29,6 @@ import forge.game.spellability.SpellAbilityStackInstance; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.Iterator; public class CounterAi extends SpellAbilityAi { diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersAi.java index ad8d6335b8a..2b73110bc43 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersAi.java @@ -22,7 +22,12 @@ import java.util.List; import com.google.common.base.Predicate; import forge.ai.ComputerUtilCard; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.keyword.Keyword; import forge.util.Aggregates; diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java index 14b22f00b1d..105e248f346 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java @@ -1,13 +1,22 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -17,9 +26,6 @@ import forge.game.zone.ZoneType; import forge.util.MyRandom; import forge.util.collect.FCollection; -import java.util.List; -import java.util.Map; - public class CountersMoveAi extends SpellAbilityAi { @Override protected boolean checkApiLogic(final Player ai, final SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java index 331067a1770..a47b8326bd1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java @@ -1,19 +1,43 @@ package forge.ai.ability; +import java.util.Collections; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.ai.*; + +import forge.ai.AiCardMemory; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialAiLogic; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.card.CardStateName; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostPart; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostRemoveCounter; +import forge.game.cost.CostSacrifice; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -27,10 +51,6 @@ import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.MyRandom; -import java.util.Collections; -import java.util.List; -import java.util.Map; - public class CountersPutAi extends SpellAbilityAi { /* diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java index ce72b27f805..ace8c07c457 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java @@ -1,7 +1,10 @@ package forge.ai.ability; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; + import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; @@ -18,8 +21,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; - public class CountersPutAllAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutOrRemoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutOrRemoveAi.java index 70e66e15c59..e0f53792b5a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutOrRemoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutOrRemoveAi.java @@ -17,21 +17,27 @@ */ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GlobalRuleChange; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.player.PlayerController.BinaryChoiceType; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import java.util.List; -import java.util.Map; - /** *

* AbilityFactory_PutOrRemoveCountersAi class. diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java index fe9b81d8104..82527015d51 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java @@ -1,6 +1,10 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicates; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; @@ -9,7 +13,13 @@ import forge.game.Game; import forge.game.GameEntity; import forge.game.GlobalRuleChange; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -18,9 +28,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; - public class CountersRemoveAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageAiBase.java b/forge-ai/src/main/java/forge/ai/ability/DamageAiBase.java index 44ebb7170c5..ede5ecf7b2b 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageAiBase.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageAiBase.java @@ -1,6 +1,7 @@ package forge.ai.ability; import com.google.common.collect.Iterables; + import forge.ai.ComputerUtilCombat; import forge.ai.SpellAbilityAi; import forge.game.Game; diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java index 70bf867fc18..4d1203b61c1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java @@ -1,7 +1,12 @@ package forge.ai.ability; import com.google.common.base.Predicate; -import forge.ai.*; + +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardCollection; diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java index ee015483a26..220e06c0876 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java @@ -1,16 +1,39 @@ package forge.ai.ability; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; import forge.game.cost.Cost; import forge.game.cost.CostPartMana; import forge.game.cost.CostRemoveCounter; @@ -26,12 +49,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; public class DamageDealAi extends DamageAiBase { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java b/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java index 964c427c649..447a187df2d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java @@ -1,6 +1,13 @@ package forge.ai.ability; -import forge.ai.*; +import java.util.ArrayList; +import java.util.List; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; @@ -19,9 +26,6 @@ import forge.game.spellability.TargetChoices; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.ArrayList; -import java.util.List; - public class DamagePreventAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DebuffAi.java b/forge-ai/src/main/java/forge/ai/ability/DebuffAi.java index b41018c9d35..4a28f540a1e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DebuffAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DebuffAi.java @@ -1,5 +1,9 @@ package forge.ai.ability; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -21,10 +25,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - public class DebuffAi extends SpellAbilityAi { // ************************************************************************* // ***************************** Debuff ************************************ diff --git a/forge-ai/src/main/java/forge/ai/ability/DelayedTriggerAi.java b/forge-ai/src/main/java/forge/ai/ability/DelayedTriggerAi.java index bede875289d..7319d44d128 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DelayedTriggerAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DelayedTriggerAi.java @@ -1,7 +1,14 @@ package forge.ai.ability; import com.google.common.base.Predicate; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiPlayDecision; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; +import forge.ai.SpellApiToAi; import forge.card.mana.ManaCost; import forge.game.ability.ApiType; import forge.game.card.Card; diff --git a/forge-ai/src/main/java/forge/ai/ability/DestroyAi.java b/forge-ai/src/main/java/forge/ai/ability/DestroyAi.java index cee64159ff9..0b97955cb30 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DestroyAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DestroyAi.java @@ -1,10 +1,23 @@ package forge.ai.ability; import com.google.common.base.Predicate; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialAiLogic; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; import forge.game.cost.Cost; import forge.game.cost.CostPart; import forge.game.cost.CostSacrifice; diff --git a/forge-ai/src/main/java/forge/ai/ability/DestroyAllAi.java b/forge-ai/src/main/java/forge/ai/ability/DestroyAllAi.java index 0748cf03489..13f1a975b53 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DestroyAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DestroyAllAi.java @@ -2,7 +2,13 @@ package forge.ai.ability; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import forge.ai.*; + +import forge.ai.AiBlockController; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.SpellAbilityAi; import forge.card.MagicColor; import forge.game.card.Card; import forge.game.card.CardCollection; diff --git a/forge-ai/src/main/java/forge/ai/ability/DigAi.java b/forge-ai/src/main/java/forge/ai/ability/DigAi.java index 43eaf8a28ad..4d7ffc1f458 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigAi.java @@ -5,7 +5,12 @@ import java.util.Map; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import forge.ai.*; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; diff --git a/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java b/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java index 9900061c522..449561f46bf 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java @@ -1,5 +1,7 @@ package forge.ai.ability; +import java.util.List; + import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; import forge.game.card.Card; @@ -12,8 +14,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; - public class DigUntilAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java b/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java index 3cf639917e3..102089f06e6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java @@ -1,6 +1,13 @@ package forge.ai.ability; -import forge.ai.*; +import java.util.List; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardCollectionView; @@ -15,8 +22,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; - public class DiscardAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DrainManaAi.java b/forge-ai/src/main/java/forge/ai/ability/DrainManaAi.java index fbb96a1dc91..96310431fc3 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrainManaAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrainManaAi.java @@ -1,5 +1,7 @@ package forge.ai.ability; +import java.util.List; + import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -8,8 +10,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.util.MyRandom; -import java.util.List; - public class DrainManaAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index b48bc62b42e..3f664109774 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -18,14 +18,24 @@ */ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiCostDecision; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.card.Card; import forge.game.card.CounterEnumType; import forge.game.card.CounterType; -import forge.game.cost.*; +import forge.game.cost.Cost; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostPart; +import forge.game.cost.CostPayLife; +import forge.game.cost.PaymentDecision; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; diff --git a/forge-ai/src/main/java/forge/ai/ability/EffectAi.java b/forge-ai/src/main/java/forge/ai/ability/EffectAi.java index 16999292f12..8614c4eb2d2 100644 --- a/forge-ai/src/main/java/forge/ai/ability/EffectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/EffectAi.java @@ -1,12 +1,28 @@ package forge.ai.ability; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; -import forge.ai.*; + +import forge.ai.AiCardMemory; +import forge.ai.AiController; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; +import forge.ai.SpellApiToAi; import forge.game.Game; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.phase.PhaseHandler; @@ -18,8 +34,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; - public class EffectAi extends SpellAbilityAi { @Override protected boolean canPlayAI(final Player ai,final SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/ExploreAi.java b/forge-ai/src/main/java/forge/ai/ability/ExploreAi.java index ba299f3a0c9..261c4e9d9d6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ExploreAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ExploreAi.java @@ -1,8 +1,17 @@ package forge.ai.ability; -import forge.ai.*; -import forge.game.card.*; +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; diff --git a/forge-ai/src/main/java/forge/ai/ability/FightAi.java b/forge-ai/src/main/java/forge/ai/ability/FightAi.java index 942579582f1..e40166f2cd5 100644 --- a/forge-ai/src/main/java/forge/ai/ability/FightAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/FightAi.java @@ -1,6 +1,13 @@ package forge.ai.ability; -import forge.ai.*; +import java.util.List; +import java.util.Map; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; @@ -16,9 +23,6 @@ import forge.game.trigger.Trigger; import forge.game.trigger.TriggerType; import forge.util.MyRandom; -import java.util.List; -import java.util.Map; - public class FightAi extends SpellAbilityAi { @Override protected boolean checkAiLogic(final Player ai, final SpellAbility sa, final String aiLogic) { diff --git a/forge-ai/src/main/java/forge/ai/ability/FogAi.java b/forge-ai/src/main/java/forge/ai/ability/FogAi.java index 72a4a2eaf91..6dc63330369 100644 --- a/forge-ai/src/main/java/forge/ai/ability/FogAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/FogAi.java @@ -1,7 +1,13 @@ package forge.ai.ability; -import forge.ai.*; +import java.util.List; + +import forge.ai.AiCardMemory; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCombat; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GameObject; import forge.game.card.Card; @@ -12,8 +18,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Aggregates; -import java.util.List; - public class FogAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java b/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java index fe0830352a6..5b32df43cee 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java @@ -1,6 +1,11 @@ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiController; +import forge.ai.AiPlayDecision; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; +import forge.ai.SpellApiToAi; import forge.game.player.Player; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; diff --git a/forge-ai/src/main/java/forge/ai/ability/LegendaryRuleAi.java b/forge-ai/src/main/java/forge/ai/ability/LegendaryRuleAi.java index 4ad913b7a25..f91ef1ba505 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LegendaryRuleAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LegendaryRuleAi.java @@ -3,6 +3,7 @@ package forge.ai.ability; import java.util.Map; import com.google.common.collect.Iterables; + import forge.ai.SpellAbilityAi; import forge.game.card.Card; import forge.game.card.CounterEnumType; diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java index e1432844d01..0fd3e1e0702 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java @@ -1,6 +1,11 @@ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCombat; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.card.Card; import forge.game.keyword.Keyword; diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeGainAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeGainAi.java index 78044dedaec..daf8d04d7bc 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeGainAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeGainAi.java @@ -1,7 +1,12 @@ package forge.ai.ability; import com.google.common.collect.Iterables; -import forge.ai.*; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; diff --git a/forge-ai/src/main/java/forge/ai/ability/ManaEffectAi.java b/forge-ai/src/main/java/forge/ai/ability/ManaEffectAi.java index 012549c8b85..0d26dcd0667 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ManaEffectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ManaEffectAi.java @@ -1,12 +1,27 @@ package forge.ai.ability; +import java.util.Arrays; +import java.util.List; + import com.google.common.base.Predicates; -import forge.ai.*; + +import forge.ai.AiPlayDecision; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.card.ColorSet; import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.cost.CostPart; import forge.game.cost.CostRemoveCounter; import forge.game.keyword.Keyword; @@ -17,9 +32,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Aggregates; -import java.util.Arrays; -import java.util.List; - public class ManaEffectAi extends SpellAbilityAi { /* diff --git a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java index 79e7fad1e2d..d25fcba5e39 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java @@ -1,7 +1,11 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; @@ -24,9 +28,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; -import java.util.Map; - /** * Created by friarsol on 1/23/15. */ diff --git a/forge-ai/src/main/java/forge/ai/ability/MeldAi.java b/forge-ai/src/main/java/forge/ai/ability/MeldAi.java index 0bc04e173c2..c0c84ce984f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MeldAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MeldAi.java @@ -1,6 +1,7 @@ package forge.ai.ability; import com.google.common.base.Predicates; + import forge.ai.SpellAbilityAi; import forge.game.card.CardCollectionView; import forge.game.card.CardLists; diff --git a/forge-ai/src/main/java/forge/ai/ability/MillAi.java b/forge-ai/src/main/java/forge/ai/ability/MillAi.java index 02b94e24d67..f2216b0a5f8 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MillAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MillAi.java @@ -1,7 +1,13 @@ package forge.ai.ability; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCost; import forge.ai.SpecialCardAi; @@ -19,11 +25,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Map; - public class MillAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java b/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java index fe921f05e72..9e1ecdeb558 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java @@ -1,9 +1,16 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.ai.*; + +import forge.ai.AiCardMemory; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -17,9 +24,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; - public class MustBlockAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/MutateAi.java b/forge-ai/src/main/java/forge/ai/ability/MutateAi.java index ca17518e2f2..c6bb4028e00 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MutateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MutateAi.java @@ -1,7 +1,10 @@ package forge.ai.ability; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; + import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.card.Card; @@ -13,8 +16,6 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; -import java.util.Map; - public class MutateAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java index fbc05b92472..1775616561a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PermanentAi.java @@ -1,6 +1,5 @@ package forge.ai.ability; -import forge.game.card.*; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Predicates; @@ -13,6 +12,11 @@ import forge.card.CardType.Supertype; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GlobalRuleChange; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.cost.Cost; import forge.game.keyword.KeywordInterface; import forge.game.mana.ManaCostBeingPaid; diff --git a/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java b/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java index 2f094df70ee..2426fb01c01 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java @@ -1,7 +1,14 @@ package forge.ai.ability; import com.google.common.base.Predicate; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.ability.ApiType; diff --git a/forge-ai/src/main/java/forge/ai/ability/PhasesAi.java b/forge-ai/src/main/java/forge/ai/ability/PhasesAi.java index ca9dcd4e57c..8973d02888a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PhasesAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PhasesAi.java @@ -1,6 +1,9 @@ package forge.ai.ability; +import java.util.List; + import com.google.common.base.Predicates; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; @@ -16,8 +19,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; - public class PhasesAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java index 443fb1eacfa..324794ea276 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java @@ -1,16 +1,30 @@ package forge.ai.ability; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.ai.*; +import forge.ai.AiController; +import forge.ai.AiPlayDecision; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.card.CardStateName; import forge.card.CardTypeView; import forge.game.Game; import forge.game.GameType; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.cost.Cost; import forge.game.keyword.Keyword; import forge.game.player.Player; @@ -23,10 +37,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - public class PlayAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java b/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java index 1db4d76d321..9626b8f6f43 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java @@ -1,5 +1,8 @@ package forge.ai.ability; +import java.util.Collections; +import java.util.List; + import com.google.common.base.Predicate; import forge.ai.ComputerUtilCard; @@ -14,9 +17,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.Collections; -import java.util.List; - public class PowerExchangeAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java b/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java index 9557f3204eb..60084d0b8e6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java @@ -5,7 +5,12 @@ import java.util.List; import com.google.common.base.Predicate; -import forge.ai.*; +import forge.ai.AiAttackController; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.ComputerUtilCost; +import forge.ai.SpellAbilityAi; import forge.card.MagicColor; import forge.game.Game; import forge.game.GameObject; diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAi.java b/forge-ai/src/main/java/forge/ai/ability/PumpAi.java index 0939a8879ba..b77e246d183 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAi.java @@ -1,14 +1,32 @@ package forge.ai.ability; +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Lists; -import forge.ai.*; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.SpecialAiLogic; +import forge.ai.SpecialCardAi; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.cost.Cost; import forge.game.cost.CostTapType; import forge.game.keyword.Keyword; @@ -20,10 +38,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.staticability.StaticAbility; import forge.game.zone.ZoneType; -import org.apache.commons.lang3.StringUtils; - -import java.util.Arrays; -import java.util.List; public class PumpAi extends PumpAiBase { diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java b/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java index 02bce81f94b..aba87269e83 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAiBase.java @@ -1,8 +1,11 @@ package forge.ai.ability; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCombat; @@ -10,7 +13,12 @@ import forge.ai.SpellAbilityAi; import forge.card.MagicColor; import forge.game.Game; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.keyword.Keyword; @@ -21,8 +29,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public abstract class PumpAiBase extends SpellAbilityAi { public boolean containsUsefulKeyword(final Player ai, final List keywords, final Card card, final SpellAbility sa, final int attack) { diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java b/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java index 98bd675ed51..381147880bd 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java @@ -1,5 +1,9 @@ package forge.ai.ability; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import com.google.common.base.Predicate; import forge.ai.ComputerUtil; @@ -22,10 +26,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - public class PumpAllAi extends PumpAiBase { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java b/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java index 3e9d91f327d..004591af7a8 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java @@ -1,7 +1,12 @@ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiCardMemory; +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardLists; diff --git a/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java b/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java index 64603e40410..b5b9ece8fc5 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java @@ -17,7 +17,13 @@ */ package forge.ai.ability; -import forge.ai.*; +import java.util.ArrayList; +import java.util.List; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCombat; +import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; @@ -33,9 +39,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.ArrayList; -import java.util.List; - /** *

* AbilityFactory_Regenerate class. diff --git a/forge-ai/src/main/java/forge/ai/ability/RegenerateAllAi.java b/forge-ai/src/main/java/forge/ai/ability/RegenerateAllAi.java index 5054445fce2..0f8e35a4854 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RegenerateAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RegenerateAllAi.java @@ -1,5 +1,7 @@ package forge.ai.ability; +import java.util.List; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCombat; import forge.ai.SpellAbilityAi; @@ -15,8 +17,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public class RegenerateAllAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java b/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java index 077177cd0a4..0f9c2a20ffe 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java @@ -1,7 +1,10 @@ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiController; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; diff --git a/forge-ai/src/main/java/forge/ai/ability/RepeatEachAi.java b/forge-ai/src/main/java/forge/ai/ability/RepeatEachAi.java index c7a08d63d11..079a0cb8fb7 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RepeatEachAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RepeatEachAi.java @@ -1,6 +1,10 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; + import forge.ai.ComputerUtilCard; import forge.ai.SpecialCardAi; import forge.ai.SpellAbilityAi; @@ -17,9 +21,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.TextUtil; -import java.util.List; -import java.util.Map; - public class RepeatEachAi extends SpellAbilityAi { diff --git a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java index 7fb243db7c0..dfd420dab29 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java @@ -1,5 +1,7 @@ package forge.ai.ability; +import java.util.List; + import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; import forge.ai.ComputerUtilMana; @@ -17,8 +19,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.List; - public class SacrificeAi extends SpellAbilityAi { // ************************************************************** // *************************** Sacrifice *********************** diff --git a/forge-ai/src/main/java/forge/ai/ability/ScryAi.java b/forge-ai/src/main/java/forge/ai/ability/ScryAi.java index 00b86b44550..276eb4172fc 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ScryAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ScryAi.java @@ -1,11 +1,16 @@ package forge.ai.ability; import com.google.common.base.Predicates; + import forge.ai.ComputerUtilMana; import forge.ai.SpellAbilityAi; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; import forge.game.card.Card.SplitCMCMode; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; diff --git a/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java b/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java index bc90961a6c5..98b8e1e16c2 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java @@ -1,14 +1,20 @@ package forge.ai.ability; import com.google.common.base.Predicate; + import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.card.CardStateName; import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardState; +import forge.game.card.CardUtil; +import forge.game.card.CounterEnumType; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; diff --git a/forge-ai/src/main/java/forge/ai/ability/StoreSVarAi.java b/forge-ai/src/main/java/forge/ai/ability/StoreSVarAi.java index 837123548b3..bec7848d51e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/StoreSVarAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/StoreSVarAi.java @@ -1,5 +1,8 @@ package forge.ai.ability; +import java.util.ArrayList; +import java.util.List; + import forge.ai.ComputerUtilMana; import forge.ai.SpellAbilityAi; import forge.game.Game; @@ -14,9 +17,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.trigger.WrappedAbility; -import java.util.ArrayList; -import java.util.List; - public class StoreSVarAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java b/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java index fb5e6efa0f7..94c40655dec 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java @@ -1,6 +1,10 @@ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiCardMemory; +import forge.ai.AiProps; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.card.Card; import forge.game.cost.Cost; import forge.game.cost.CostPayLife; diff --git a/forge-ai/src/main/java/forge/ai/ability/TapAi.java b/forge-ai/src/main/java/forge/ai/ability/TapAi.java index dee2820f9e4..0224fb3d910 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TapAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TapAi.java @@ -1,6 +1,11 @@ package forge.ai.ability; -import forge.ai.*; +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCost; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.cost.Cost; diff --git a/forge-ai/src/main/java/forge/ai/ability/TapAiBase.java b/forge-ai/src/main/java/forge/ai/ability/TapAiBase.java index e198d6f26ee..fb27b86a4d6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TapAiBase.java +++ b/forge-ai/src/main/java/forge/ai/ability/TapAiBase.java @@ -1,7 +1,10 @@ package forge.ai.ability; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; + import forge.ai.ComputerUtil; import forge.ai.ComputerUtilAbility; import forge.ai.ComputerUtilCard; @@ -20,8 +23,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public abstract class TapAiBase extends SpellAbilityAi { /** diff --git a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java index 43ba7f68d0f..ff456311037 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java @@ -1,5 +1,7 @@ package forge.ai.ability; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -19,8 +21,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; -import java.util.List; - public class TapAllAi extends SpellAbilityAi { @Override protected boolean canPlayAI(final Player ai, SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index bc1d2256025..bd9bffded98 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -4,7 +4,16 @@ import java.util.Map; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import forge.ai.*; + +import forge.ai.AiController; +import forge.ai.AiProps; +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.PlayerControllerAi; +import forge.ai.SpellAbilityAi; +import forge.ai.SpellApiToAi; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; @@ -27,7 +36,6 @@ import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; - import forge.util.MyRandom; /** diff --git a/forge-ai/src/main/java/forge/ai/ability/UnattachAllAi.java b/forge-ai/src/main/java/forge/ai/ability/UnattachAllAi.java index c40f1833b64..15b2c12a6d0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/UnattachAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/UnattachAllAi.java @@ -1,5 +1,8 @@ package forge.ai.ability; +import java.util.ArrayList; +import java.util.List; + import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; @@ -12,9 +15,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.util.MyRandom; -import java.util.ArrayList; -import java.util.List; - public class UnattachAllAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java index 250b1f27ad8..fe3480cec7a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java @@ -1,8 +1,17 @@ package forge.ai.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import forge.ai.*; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilAbility; +import forge.ai.ComputerUtilCard; +import forge.ai.ComputerUtilCost; +import forge.ai.ComputerUtilMana; +import forge.ai.SpellAbilityAi; import forge.card.mana.ManaCostShard; import forge.game.Game; import forge.game.ability.AbilityUtils; @@ -23,9 +32,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; - public class UntapAi extends SpellAbilityAi { @Override protected boolean checkAiLogic(final Player ai, final SpellAbility sa, final String aiLogic) { diff --git a/forge-ai/src/main/java/forge/ai/ability/VoteAi.java b/forge-ai/src/main/java/forge/ai/ability/VoteAi.java index c31126beb28..7a1221aff3a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/VoteAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/VoteAi.java @@ -1,6 +1,8 @@ package forge.ai.ability; +import java.util.Map; + import forge.ai.SpellAbilityAi; import forge.game.card.Card; import forge.game.card.CardLists; @@ -9,8 +11,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.Map; - public class VoteAi extends SpellAbilityAi { /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility) diff --git a/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java b/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java index 8cf8c3d9d0d..eccdeb48f16 100644 --- a/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java +++ b/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java @@ -1,13 +1,27 @@ package forge.ai.simulation; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.LobbyPlayer; import forge.ai.LobbyPlayerAi; -import forge.game.*; -import forge.game.card.*; +import forge.game.Game; +import forge.game.GameEntity; +import forge.game.GameObject; +import forge.game.GameObjectMap; +import forge.game.GameRules; +import forge.game.Match; +import forge.game.StaticEffect; +import forge.game.card.Card; +import forge.game.card.CardCloneStates; +import forge.game.card.CardFactory; +import forge.game.card.CounterType; import forge.game.card.token.TokenInfo; import forge.game.combat.Combat; import forge.game.keyword.KeywordInterface; @@ -22,10 +36,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.PlayerZoneBattlefield; import forge.game.zone.ZoneType; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - public class GameCopier { private static final ZoneType[] ZONES = new ZoneType[] { ZoneType.Battlefield, diff --git a/forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java b/forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java index 9d98f72b8d9..913e42a45ce 100644 --- a/forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java +++ b/forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java @@ -1,5 +1,10 @@ package forge.ai.simulation; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Set; + import forge.ai.AiPlayDecision; import forge.ai.ComputerUtil; import forge.ai.ComputerUtilAbility; @@ -9,7 +14,11 @@ import forge.ai.ability.ExploreAi; import forge.ai.simulation.GameStateEvaluator.Score; import forge.game.Game; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.spellability.AbilitySub; @@ -19,11 +28,6 @@ import forge.game.spellability.SpellAbilityCondition; import forge.game.zone.ZoneType; import forge.util.TextUtil; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Set; - public class SpellAbilityPicker { private Game game; private Player player; diff --git a/forge-core/src/main/java/forge/CardStorageReader.java b/forge-core/src/main/java/forge/CardStorageReader.java index 257305926d6..d83f642b715 100644 --- a/forge-core/src/main/java/forge/CardStorageReader.java +++ b/forge-core/src/main/java/forge/CardStorageReader.java @@ -41,10 +41,12 @@ import java.util.concurrent.Future; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import forge.util.BuildInfo; import org.apache.commons.lang3.time.StopWatch; + import com.google.common.io.Files; + import forge.card.CardRules; +import forge.util.BuildInfo; import forge.util.FileUtil; import forge.util.Localizer; import forge.util.ThreadUtil; diff --git a/forge-core/src/main/java/forge/ImageKeys.java b/forge-core/src/main/java/forge/ImageKeys.java index f4f168a5c8c..c1b78502756 100644 --- a/forge-core/src/main/java/forge/ImageKeys.java +++ b/forge-core/src/main/java/forge/ImageKeys.java @@ -1,17 +1,16 @@ package forge; -import forge.item.*; -import forge.util.FileUtil; -import forge.util.ImageUtil; -import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - - - import java.io.File; import java.util.HashMap; import java.util.Map; +import org.apache.commons.lang3.StringUtils; + +import forge.item.PaperCard; +import forge.util.FileUtil; +import forge.util.ImageUtil; +import forge.util.TextUtil; + public final class ImageKeys { public static final String CARD_PREFIX = "c:"; public static final String TOKEN_PREFIX = "t:"; diff --git a/forge-core/src/main/java/forge/MulliganDefs.java b/forge-core/src/main/java/forge/MulliganDefs.java index a4a535fde55..f35cb824dbf 100644 --- a/forge-core/src/main/java/forge/MulliganDefs.java +++ b/forge-core/src/main/java/forge/MulliganDefs.java @@ -1,9 +1,9 @@ package forge; -import com.google.common.collect.Lists; - import java.util.List; +import com.google.common.collect.Lists; + /* * A class that contains definitions of available Mulligan rule variants and helper methods to access them */ diff --git a/forge-core/src/main/java/forge/StaticData.java b/forge-core/src/main/java/forge/StaticData.java index ad365454fc1..ac20072e2a9 100644 --- a/forge-core/src/main/java/forge/StaticData.java +++ b/forge-core/src/main/java/forge/StaticData.java @@ -1,11 +1,20 @@ package forge; +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + import com.google.common.base.Predicate; + import forge.card.CardDb; +import forge.card.CardDb.CardRequest; import forge.card.CardEdition; import forge.card.CardRules; import forge.card.PrintSheet; -import forge.card.CardDb.CardRequest; import forge.item.BoosterBox; import forge.item.FatPack; import forge.item.PaperCard; @@ -14,9 +23,6 @@ import forge.token.TokenDb; import forge.util.storage.IStorage; import forge.util.storage.StorageBase; -import java.io.File; -import java.util.*; - /** * The class holding game invariants, such as cards, editions, game formats. All that data, which is not supposed to be changed by player diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index 90d7adcdf7d..f0bead576bd 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -17,18 +17,39 @@ */ package forge.card; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; -import com.google.common.collect.*; +import com.google.common.collect.Iterables; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimaps; + import forge.card.CardEdition.CardInSet; import forge.card.CardEdition.Type; import forge.deck.generation.IDeckGenPool; import forge.item.PaperCard; -import forge.util.*; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; -import java.util.Map.Entry; +import forge.util.Aggregates; +import forge.util.CollectionSuppliers; +import forge.util.Lang; +import forge.util.MyRandom; +import forge.util.TextUtil; public final class CardDb implements ICardDatabase, IDeckGenPool { public final static String foilSuffix = "+"; diff --git a/forge-core/src/main/java/forge/card/CardEdition.java b/forge-core/src/main/java/forge/card/CardEdition.java index ee780da05ab..a306090bff5 100644 --- a/forge-core/src/main/java/forge/card/CardEdition.java +++ b/forge-core/src/main/java/forge/card/CardEdition.java @@ -17,28 +17,50 @@ */ package forge.card; +import java.io.File; +import java.io.FilenameFilter; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Function; import com.google.common.base.Predicate; -import com.google.common.collect.*; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; + import forge.StaticData; import forge.card.CardDb.SetPreference; import forge.deck.CardPool; import forge.item.PaperCard; import forge.item.SealedProduct; -import forge.util.*; +import forge.util.Aggregates; +import forge.util.FileSection; +import forge.util.FileUtil; +import forge.util.IItemReader; +import forge.util.MyRandom; import forge.util.storage.StorageBase; import forge.util.storage.StorageReaderBase; import forge.util.storage.StorageReaderFolder; -import org.apache.commons.lang3.StringUtils; - -import java.io.File; -import java.io.FilenameFilter; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.Map.Entry; -import java.util.regex.Matcher; -import java.util.regex.Pattern; /** diff --git a/forge-core/src/main/java/forge/card/CardFace.java b/forge-core/src/main/java/forge/card/CardFace.java index 26afc2c06c7..d13bd2ff223 100644 --- a/forge-core/src/main/java/forge/card/CardFace.java +++ b/forge-core/src/main/java/forge/card/CardFace.java @@ -1,10 +1,15 @@ package forge.card; -import forge.card.mana.ManaCost; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; + import org.apache.commons.lang3.StringUtils; -import java.util.*; -import java.util.Map.Entry; +import forge.card.mana.ManaCost; // // DO NOT AUTOFORMAT / CHECKSTYLE THIS FILE diff --git a/forge-core/src/main/java/forge/card/CardRules.java b/forge-core/src/main/java/forge/card/CardRules.java index 130efe627bc..5b5f77c33d6 100644 --- a/forge-core/src/main/java/forge/card/CardRules.java +++ b/forge-core/src/main/java/forge/card/CardRules.java @@ -17,14 +17,16 @@ */ package forge.card; +import java.util.StringTokenizer; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Iterables; + import forge.card.mana.IParserManaCost; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.util.StringTokenizer; /** * A collection of methods containing full diff --git a/forge-core/src/main/java/forge/card/CardType.java b/forge-core/src/main/java/forge/card/CardType.java index 55b9590ea32..525e929b94e 100644 --- a/forge-core/src/main/java/forge/card/CardType.java +++ b/forge-core/src/main/java/forge/card/CardType.java @@ -30,7 +30,6 @@ import org.apache.commons.lang3.NotImplementedException; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Predicate; - import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.ImmutableList; diff --git a/forge-core/src/main/java/forge/card/ColorSet.java b/forge-core/src/main/java/forge/card/ColorSet.java index 8065f0a4e48..13833be3e88 100644 --- a/forge-core/src/main/java/forge/card/ColorSet.java +++ b/forge-core/src/main/java/forge/card/ColorSet.java @@ -18,7 +18,12 @@ package forge.card; import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.Iterator; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Set; import com.google.common.collect.UnmodifiableIterator; diff --git a/forge-core/src/main/java/forge/card/DeckHints.java b/forge-core/src/main/java/forge/card/DeckHints.java index fb443fee5a2..b7d7c96d4ac 100644 --- a/forge-core/src/main/java/forge/card/DeckHints.java +++ b/forge-core/src/main/java/forge/card/DeckHints.java @@ -1,18 +1,20 @@ package forge.card; -import com.google.common.base.Function; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; -import forge.item.PaperCard; -import forge.util.PredicateString.StringOp; -import org.apache.commons.lang3.tuple.Pair; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.tuple.Pair; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; + +import forge.item.PaperCard; +import forge.util.PredicateString.StringOp; + /** * DeckHints provides the ability for a Card to "want" another Card or type of * Cards in its random deck. diff --git a/forge-core/src/main/java/forge/card/ICardDatabase.java b/forge-core/src/main/java/forge/card/ICardDatabase.java index a83faea5b4d..a847b0149ad 100644 --- a/forge-core/src/main/java/forge/card/ICardDatabase.java +++ b/forge-core/src/main/java/forge/card/ICardDatabase.java @@ -1,13 +1,14 @@ package forge.card; -import com.google.common.base.Predicate; -import forge.card.CardDb.SetPreference; -import forge.item.PaperCard; - import java.util.Collection; import java.util.Date; import java.util.List; +import com.google.common.base.Predicate; + +import forge.card.CardDb.SetPreference; +import forge.item.PaperCard; + public interface ICardDatabase extends Iterable { PaperCard getCard(String cardName); PaperCard getCard(String cardName, String edition); diff --git a/forge-core/src/main/java/forge/card/PrintSheet.java b/forge-core/src/main/java/forge/card/PrintSheet.java index 969bd8ab7c4..31a6c3795f5 100644 --- a/forge-core/src/main/java/forge/card/PrintSheet.java +++ b/forge-core/src/main/java/forge/card/PrintSheet.java @@ -1,6 +1,13 @@ package forge.card; +import java.io.File; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map.Entry; + import com.google.common.base.Function; + import forge.deck.CardPool; import forge.item.PaperCard; import forge.util.ItemPool; @@ -9,12 +16,6 @@ import forge.util.storage.IStorage; import forge.util.storage.StorageExtendable; import forge.util.storage.StorageReaderFileSections; -import java.io.File; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map.Entry; - /** * TODO: Write javadoc for this type. diff --git a/forge-core/src/main/java/forge/deck/CardPool.java b/forge-core/src/main/java/forge/deck/CardPool.java index b484f31ab98..3e27cb17ed7 100644 --- a/forge-core/src/main/java/forge/deck/CardPool.java +++ b/forge-core/src/main/java/forge/deck/CardPool.java @@ -17,16 +17,6 @@ */ package forge.deck; -import com.google.common.base.Predicate; -import com.google.common.collect.Lists; -import forge.StaticData; -import forge.card.CardDb; -import forge.item.PaperCard; -import forge.util.ItemPool; -import forge.util.ItemPoolSorter; -import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; - import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -34,6 +24,18 @@ import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.base.Predicate; +import com.google.common.collect.Lists; + +import forge.StaticData; +import forge.card.CardDb; +import forge.item.PaperCard; +import forge.util.ItemPool; +import forge.util.ItemPoolSorter; +import forge.util.MyRandom; + public class CardPool extends ItemPool { private static final long serialVersionUID = -5379091255613968393L; diff --git a/forge-core/src/main/java/forge/deck/Deck.java b/forge-core/src/main/java/forge/deck/Deck.java index 7862752e704..eba16e04433 100644 --- a/forge-core/src/main/java/forge/deck/Deck.java +++ b/forge-core/src/main/java/forge/deck/Deck.java @@ -17,6 +17,16 @@ */ package forge.deck; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; + import com.google.common.base.Function; import com.google.common.collect.Lists; @@ -25,9 +35,6 @@ import forge.card.CardDb; import forge.item.IPaperCard; import forge.item.PaperCard; -import java.util.*; -import java.util.Map.Entry; - /** *

* Deck class. diff --git a/forge-core/src/main/java/forge/deck/DeckBase.java b/forge-core/src/main/java/forge/deck/DeckBase.java index 03c1fe96d55..0932ecf6480 100644 --- a/forge-core/src/main/java/forge/deck/DeckBase.java +++ b/forge-core/src/main/java/forge/deck/DeckBase.java @@ -17,11 +17,12 @@ */ package forge.deck; -import forge.item.InventoryItem; import java.io.Serializable; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import forge.item.InventoryItem; + public abstract class DeckBase implements Serializable, Comparable, InventoryItem { private static final long serialVersionUID = -7538150536939660052L; // gameType is from Constant.GameType, like GameType.Regular diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index 17a622f1d18..4097f15b2cd 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -17,10 +17,20 @@ */ package forge.deck; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.Range; +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; + import forge.StaticData; import forge.card.CardRules; import forge.card.CardRulesPredicates; @@ -33,14 +43,6 @@ import forge.item.IPaperCard; import forge.item.PaperCard; import forge.util.Aggregates; import forge.util.TextUtil; -import org.apache.commons.lang3.Range; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Map.Entry; -import java.util.Set; /** * GameType is an enum to determine the type of current game. :) diff --git a/forge-core/src/main/java/forge/deck/DeckGroup.java b/forge-core/src/main/java/forge/deck/DeckGroup.java index 20ef5adc404..9c436c22fb7 100644 --- a/forge-core/src/main/java/forge/deck/DeckGroup.java +++ b/forge-core/src/main/java/forge/deck/DeckGroup.java @@ -17,8 +17,13 @@ */ package forge.deck; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + import com.google.common.base.Function; -import java.util.*; /** * TODO: Write javadoc for this type. diff --git a/forge-core/src/main/java/forge/deck/DeckRecognizer.java b/forge-core/src/main/java/forge/deck/DeckRecognizer.java index 0cae2a03261..1d7aa3b1cd2 100644 --- a/forge-core/src/main/java/forge/deck/DeckRecognizer.java +++ b/forge-core/src/main/java/forge/deck/DeckRecognizer.java @@ -17,17 +17,18 @@ */ package forge.deck; -import forge.card.CardDb; -import forge.card.CardDb.SetPreference; -import forge.card.ICardDatabase; -import forge.item.PaperCard; -import org.apache.commons.lang3.StringUtils; - import java.util.Calendar; import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.lang3.StringUtils; + +import forge.card.CardDb; +import forge.card.CardDb.SetPreference; +import forge.card.ICardDatabase; +import forge.item.PaperCard; + /** *

* DeckRecognizer class. diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGenerator2Color.java b/forge-core/src/main/java/forge/deck/generation/DeckGenerator2Color.java index 86fade5a990..eb8bc3de2a6 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGenerator2Color.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGenerator2Color.java @@ -17,6 +17,11 @@ */ package forge.deck.generation; +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; @@ -24,15 +29,9 @@ import forge.card.ColorSet; import forge.card.MagicColor; import forge.deck.CardPool; import forge.deck.DeckFormat; - import forge.item.PaperCard; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.Arrays; -import java.util.List; - /** *

* Generate2ColorDeck class. diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java b/forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java index 1dbaf4e3d35..dbe0a78c531 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java @@ -17,6 +17,10 @@ */ package forge.deck.generation; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; @@ -27,10 +31,6 @@ import forge.deck.DeckFormat; import forge.item.PaperCard; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.List; - /** *

* Generate3ColorDeck class. diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGenerator4Color.java b/forge-core/src/main/java/forge/deck/generation/DeckGenerator4Color.java index b0fb26bb4b4..dd3ea5e4d5b 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGenerator4Color.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGenerator4Color.java @@ -17,17 +17,19 @@ */ package forge.deck.generation; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; + import forge.card.ColorSet; import forge.card.MagicColor; import forge.deck.CardPool; import forge.deck.DeckFormat; import forge.item.PaperCard; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.List; /** *

diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGenerator5Color.java b/forge-core/src/main/java/forge/deck/generation/DeckGenerator5Color.java index 4341c1d7531..ee6ce87b73b 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGenerator5Color.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGenerator5Color.java @@ -17,17 +17,17 @@ */ package forge.deck.generation; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; import forge.card.ColorSet; import forge.deck.CardPool; import forge.deck.DeckFormat; - import forge.item.PaperCard; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.List; /** *

diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java index 4af48f8458b..b5caab29cd6 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java @@ -17,13 +17,29 @@ */ package forge.deck.generation; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import forge.StaticData; -import forge.card.*; +import forge.StaticData; +import forge.card.CardRules; +import forge.card.CardRulesPredicates; +import forge.card.CardType; +import forge.card.ColorSet; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.deck.CardPool; import forge.deck.DeckFormat; @@ -34,13 +50,6 @@ import forge.util.DebugTrace; import forge.util.ItemPool; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.*; -import java.util.Map.Entry; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - /** *

* Generate2ColorDeck class. diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java index b577c0de2ac..551c36b8231 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java @@ -17,6 +17,10 @@ */ package forge.deck.generation; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; @@ -24,14 +28,9 @@ import forge.card.ColorSet; import forge.card.MagicColor; import forge.deck.CardPool; import forge.deck.DeckFormat; - import forge.item.PaperCard; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.List; - /** *

* Generate2ColorDeck class. diff --git a/forge-core/src/main/java/forge/deck/io/DeckFileHeader.java b/forge-core/src/main/java/forge/deck/io/DeckFileHeader.java index 43a7ffbd4a6..7c90fe4dfec 100644 --- a/forge-core/src/main/java/forge/deck/io/DeckFileHeader.java +++ b/forge-core/src/main/java/forge/deck/io/DeckFileHeader.java @@ -17,13 +17,14 @@ */ package forge.deck.io; -import forge.deck.DeckFormat; -import forge.util.FileSection; -import org.apache.commons.lang3.StringUtils; - import java.util.Set; import java.util.TreeSet; +import org.apache.commons.lang3.StringUtils; + +import forge.deck.DeckFormat; +import forge.util.FileSection; + /** * TODO: Write javadoc for this type. * diff --git a/forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java b/forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java index 9b0031c0f3e..2ab5b8b1f78 100644 --- a/forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java +++ b/forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java @@ -17,6 +17,12 @@ */ package forge.deck.io; +import java.io.File; +import java.io.FilenameFilter; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.ImmutableList; import forge.deck.Deck; @@ -24,12 +30,6 @@ import forge.deck.DeckGroup; import forge.util.IItemSerializer; import forge.util.storage.StorageReaderFolder; -import org.apache.commons.lang3.StringUtils; - -import java.io.File; -import java.io.FilenameFilter; -import java.util.List; - /** * TODO: Write javadoc for this type. * diff --git a/forge-core/src/main/java/forge/deck/io/DeckSerializer.java b/forge-core/src/main/java/forge/deck/io/DeckSerializer.java index 4df2b493f1a..95fe2feaca0 100644 --- a/forge-core/src/main/java/forge/deck/io/DeckSerializer.java +++ b/forge-core/src/main/java/forge/deck/io/DeckSerializer.java @@ -1,5 +1,13 @@ package forge.deck.io; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.lang3.StringUtils; + import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; @@ -7,13 +15,6 @@ import forge.util.FileSection; import forge.util.FileSectionManual; import forge.util.FileUtil; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; public class DeckSerializer { diff --git a/forge-core/src/main/java/forge/deck/io/DeckStorage.java b/forge-core/src/main/java/forge/deck/io/DeckStorage.java index a54ea1679b5..7cc4a229033 100644 --- a/forge-core/src/main/java/forge/deck/io/DeckStorage.java +++ b/forge-core/src/main/java/forge/deck/io/DeckStorage.java @@ -17,6 +17,11 @@ */ package forge.deck.io; +import java.io.File; +import java.io.FilenameFilter; +import java.util.List; +import java.util.Map; + import forge.deck.Deck; import forge.util.FileSection; import forge.util.FileUtil; @@ -24,11 +29,6 @@ import forge.util.IItemReader; import forge.util.IItemSerializer; import forge.util.storage.StorageReaderFolder; -import java.io.File; -import java.io.FilenameFilter; -import java.util.List; -import java.util.Map; - /** * This class knows how to make a file out of a deck object and vice versa. */ diff --git a/forge-core/src/main/java/forge/item/BoosterBox.java b/forge-core/src/main/java/forge/item/BoosterBox.java index a17d1d44bac..e03f58a0656 100644 --- a/forge-core/src/main/java/forge/item/BoosterBox.java +++ b/forge-core/src/main/java/forge/item/BoosterBox.java @@ -18,13 +18,15 @@ package forge.item; +import java.util.ArrayList; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; + import forge.ImageKeys; import forge.StaticData; import forge.card.CardEdition; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; public class BoosterBox extends BoxedProduct { public static final Function FN_FROM_SET = new Function() { diff --git a/forge-core/src/main/java/forge/item/BoosterPack.java b/forge-core/src/main/java/forge/item/BoosterPack.java index 562745d66ba..0e078a2c137 100644 --- a/forge-core/src/main/java/forge/item/BoosterPack.java +++ b/forge-core/src/main/java/forge/item/BoosterPack.java @@ -18,6 +18,8 @@ package forge.item; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.collect.ImmutableList; @@ -27,8 +29,6 @@ import forge.card.CardEdition; import forge.item.generation.BoosterSlots; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.Pair; - public class BoosterPack extends SealedProduct { private final int artIndex; private final int hash; diff --git a/forge-core/src/main/java/forge/item/FatPack.java b/forge-core/src/main/java/forge/item/FatPack.java index b57870b93a3..2ee80d07309 100644 --- a/forge-core/src/main/java/forge/item/FatPack.java +++ b/forge-core/src/main/java/forge/item/FatPack.java @@ -18,18 +18,20 @@ package forge.item; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; + import forge.ImageKeys; import forge.StaticData; import forge.card.CardEdition; import forge.item.generation.BoosterGenerator; import forge.util.TextUtil; import forge.util.storage.StorageReaderFile; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.List; public class FatPack extends BoxedProduct { public static final Function FN_FROM_SET = new Function() { diff --git a/forge-core/src/main/java/forge/item/IPaperCard.java b/forge-core/src/main/java/forge/item/IPaperCard.java index 53ea1d066e4..803c93c9392 100644 --- a/forge-core/src/main/java/forge/item/IPaperCard.java +++ b/forge-core/src/main/java/forge/item/IPaperCard.java @@ -1,18 +1,20 @@ package forge.item; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.collect.Lists; + import forge.card.CardRarity; import forge.card.CardRules; import forge.card.CardType.CoreType; import forge.card.MagicColor; import forge.util.PredicateCard; import forge.util.PredicateString; -import org.apache.commons.lang3.StringUtils; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; //import forge.Card; diff --git a/forge-core/src/main/java/forge/item/PaperToken.java b/forge-core/src/main/java/forge/item/PaperToken.java index c86f6a70b29..74fc8c4d707 100644 --- a/forge-core/src/main/java/forge/item/PaperToken.java +++ b/forge-core/src/main/java/forge/item/PaperToken.java @@ -1,15 +1,16 @@ package forge.item; +import java.util.ArrayList; +import java.util.Locale; + +import org.apache.commons.lang3.StringUtils; + import forge.ImageKeys; import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.CardRules; import forge.card.ColorSet; import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.Locale; public class PaperToken implements InventoryItemFromSet, IPaperCard { private String name; diff --git a/forge-core/src/main/java/forge/item/PreconDeck.java b/forge-core/src/main/java/forge/item/PreconDeck.java index bde7a829c9b..074d7eb3bbd 100644 --- a/forge-core/src/main/java/forge/item/PreconDeck.java +++ b/forge-core/src/main/java/forge/item/PreconDeck.java @@ -17,6 +17,11 @@ */ package forge.item; +import java.io.File; +import java.io.FilenameFilter; +import java.util.List; +import java.util.Map; + import com.google.common.base.Function; import forge.ImageKeys; @@ -28,11 +33,6 @@ import forge.util.FileSection; import forge.util.FileUtil; import forge.util.storage.StorageReaderFolder; -import java.io.File; -import java.io.FilenameFilter; -import java.util.List; -import java.util.Map; - public class PreconDeck implements InventoryItemFromSet { private final Deck deck; diff --git a/forge-core/src/main/java/forge/item/SealedProduct.java b/forge-core/src/main/java/forge/item/SealedProduct.java index fb9e48c6945..24e70402d0f 100644 --- a/forge-core/src/main/java/forge/item/SealedProduct.java +++ b/forge-core/src/main/java/forge/item/SealedProduct.java @@ -18,11 +18,19 @@ package forge.item; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.StaticData; import forge.card.CardRulesPredicates; import forge.item.generation.BoosterGenerator; @@ -30,12 +38,6 @@ import forge.item.generation.BoosterSlots; import forge.util.Aggregates; import forge.util.TextUtil; import forge.util.storage.StorageReaderFile; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; public abstract class SealedProduct implements InventoryItemFromSet { diff --git a/forge-core/src/main/java/forge/item/TournamentPack.java b/forge-core/src/main/java/forge/item/TournamentPack.java index 94fb0cc8202..b2660505700 100644 --- a/forge-core/src/main/java/forge/item/TournamentPack.java +++ b/forge-core/src/main/java/forge/item/TournamentPack.java @@ -17,6 +17,8 @@ */ package forge.item; +import java.util.List; + import com.google.common.base.Function; import forge.ImageKeys; @@ -24,8 +26,6 @@ import forge.StaticData; import forge.card.CardEdition; import forge.item.generation.BoosterGenerator; -import java.util.List; - public class TournamentPack extends SealedProduct { /** The Constant fnFromSet. */ diff --git a/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java b/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java index 6610e94aee9..6216329a0e3 100644 --- a/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java +++ b/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java @@ -17,18 +17,32 @@ */ package forge.item.generation; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; + import forge.StaticData; import forge.card.CardEdition; +import forge.card.CardEdition.FoilType; import forge.card.CardRarity; import forge.card.CardRulesPredicates; import forge.card.CardSplitType; import forge.card.PrintSheet; -import forge.card.CardEdition.FoilType; import forge.item.IPaperCard; import forge.item.IPaperCard.Predicates.Presets; import forge.item.PaperCard; @@ -36,10 +50,6 @@ import forge.item.SealedProduct; import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; /** *

diff --git a/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java b/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java index c4a38769dc1..55203a7f47c 100644 --- a/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java +++ b/forge-core/src/main/java/forge/item/generation/ChaosBoosterSupplier.java @@ -1,12 +1,12 @@ package forge.item.generation; +import java.util.List; + import forge.card.CardEdition; import forge.item.BoosterPack; import forge.item.PaperCard; import forge.util.BagRandomizer; -import java.util.List; - public class ChaosBoosterSupplier implements IUnOpenedProduct { private BagRandomizer randomizer; diff --git a/forge-core/src/main/java/forge/item/generation/IUnOpenedProduct.java b/forge-core/src/main/java/forge/item/generation/IUnOpenedProduct.java index dfb6cbba402..d2bb054380f 100644 --- a/forge-core/src/main/java/forge/item/generation/IUnOpenedProduct.java +++ b/forge-core/src/main/java/forge/item/generation/IUnOpenedProduct.java @@ -1,10 +1,11 @@ package forge.item.generation; -import com.google.common.base.Supplier; -import forge.item.PaperCard; - import java.util.List; +import com.google.common.base.Supplier; + +import forge.item.PaperCard; + /** * TODO: Write javadoc for this type. * diff --git a/forge-core/src/main/java/forge/item/generation/UnOpenedProduct.java b/forge-core/src/main/java/forge/item/generation/UnOpenedProduct.java index 837c678fbc9..67c07beff5c 100644 --- a/forge-core/src/main/java/forge/item/generation/UnOpenedProduct.java +++ b/forge-core/src/main/java/forge/item/generation/UnOpenedProduct.java @@ -1,19 +1,21 @@ package forge.item.generation; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import forge.StaticData; -import forge.card.PrintSheet; -import forge.item.PaperCard; -import forge.item.SealedProduct; -import forge.util.ItemPool; -import org.apache.commons.lang3.tuple.Pair; - import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; +import org.apache.commons.lang3.tuple.Pair; + +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; + +import forge.StaticData; +import forge.card.PrintSheet; +import forge.item.PaperCard; +import forge.item.SealedProduct; +import forge.util.ItemPool; + public class UnOpenedProduct implements IUnOpenedProduct { diff --git a/forge-core/src/main/java/forge/token/ITokenDatabase.java b/forge-core/src/main/java/forge/token/ITokenDatabase.java index f2f54142d02..c9a08eec51f 100644 --- a/forge-core/src/main/java/forge/token/ITokenDatabase.java +++ b/forge-core/src/main/java/forge/token/ITokenDatabase.java @@ -1,13 +1,14 @@ package forge.token; -import com.google.common.base.Predicate; -import forge.card.CardDb; -import forge.item.PaperToken; - import java.util.Collection; import java.util.Date; import java.util.List; +import com.google.common.base.Predicate; + +import forge.card.CardDb; +import forge.item.PaperToken; + public interface ITokenDatabase extends Iterable { PaperToken getToken(String tokenName); PaperToken getToken(String tokenName, String edition); diff --git a/forge-core/src/main/java/forge/token/TokenDb.java b/forge-core/src/main/java/forge/token/TokenDb.java index 032d3241892..421b12f16d2 100644 --- a/forge-core/src/main/java/forge/token/TokenDb.java +++ b/forge-core/src/main/java/forge/token/TokenDb.java @@ -1,14 +1,20 @@ package forge.token; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Maps; + import forge.card.CardDb; import forge.card.CardEdition; import forge.card.CardRules; import forge.item.PaperToken; -import java.util.*; - public class TokenDb implements ITokenDatabase { // Expected naming convention of scripts // token_name diff --git a/forge-core/src/main/java/forge/util/Aggregates.java b/forge-core/src/main/java/forge/util/Aggregates.java index 82fa8206d59..7187841a36b 100644 --- a/forge-core/src/main/java/forge/util/Aggregates.java +++ b/forge-core/src/main/java/forge/util/Aggregates.java @@ -1,11 +1,15 @@ package forge.util; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Function; import com.google.common.collect.Lists; -import java.util.*; -import java.util.Map.Entry; - /** * TODO: Write javadoc for this type. * diff --git a/forge-core/src/main/java/forge/util/Base64Coder.java b/forge-core/src/main/java/forge/util/Base64Coder.java index 2a53be0d765..12709a4ded8 100644 --- a/forge-core/src/main/java/forge/util/Base64Coder.java +++ b/forge-core/src/main/java/forge/util/Base64Coder.java @@ -31,12 +31,13 @@ package forge.util; +import java.nio.charset.StandardCharsets; + import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.PBEParameterSpec; -import java.nio.charset.StandardCharsets; /** * A Base64 encoder/decoder. diff --git a/forge-core/src/main/java/forge/util/CardTranslation.java b/forge-core/src/main/java/forge/util/CardTranslation.java index c4423cec5fa..db73255a246 100644 --- a/forge-core/src/main/java/forge/util/CardTranslation.java +++ b/forge-core/src/main/java/forge/util/CardTranslation.java @@ -1,12 +1,16 @@ package forge.util; -import com.google.common.base.Charsets; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - import java.io.FileInputStream; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + +import com.google.common.base.Charsets; public class CardTranslation { diff --git a/forge-core/src/main/java/forge/util/ComparatorUtil.java b/forge-core/src/main/java/forge/util/ComparatorUtil.java index 7f575825439..ac6f553eaad 100644 --- a/forge-core/src/main/java/forge/util/ComparatorUtil.java +++ b/forge-core/src/main/java/forge/util/ComparatorUtil.java @@ -1,6 +1,7 @@ package forge.util; -import java.util.*; +import java.util.Collection; +import java.util.Comparator; /** * @author Gili Tzabari diff --git a/forge-core/src/main/java/forge/util/FileSection.java b/forge-core/src/main/java/forge/util/FileSection.java index d706be82938..e4db0e9dd5d 100644 --- a/forge-core/src/main/java/forge/util/FileSection.java +++ b/forge-core/src/main/java/forge/util/FileSection.java @@ -17,8 +17,6 @@ */ package forge.util; -import com.google.common.collect.HashBasedTable; -import com.google.common.collect.Table; import java.text.NumberFormat; import java.text.ParseException; import java.util.ArrayList; @@ -31,6 +29,9 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.Table; + /** * TODO: Write javadoc for this type. * diff --git a/forge-core/src/main/java/forge/util/FileUtil.java b/forge-core/src/main/java/forge/util/FileUtil.java index 00af3693cb9..d12ef2741ff 100644 --- a/forge-core/src/main/java/forge/util/FileUtil.java +++ b/forge-core/src/main/java/forge/util/FileUtil.java @@ -17,10 +17,17 @@ */ package forge.util; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.io.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintWriter; +import java.io.Reader; import java.net.URL; import java.util.ArrayList; import java.util.Collection; @@ -28,6 +35,9 @@ import java.util.List; import java.util.concurrent.Callable; import java.util.regex.Pattern; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + /** *

* FileUtil class. diff --git a/forge-core/src/main/java/forge/util/ItemPool.java b/forge-core/src/main/java/forge/util/ItemPool.java index d2fed453094..f8caf2d4061 100644 --- a/forge-core/src/main/java/forge/util/ItemPool.java +++ b/forge-core/src/main/java/forge/util/ItemPool.java @@ -17,16 +17,21 @@ */ package forge.util; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.concurrent.ConcurrentHashMap; + import com.google.common.base.Function; import com.google.common.base.Predicate; import forge.item.InventoryItem; -import java.io.Serializable; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.Map.Entry; - /** *

* ItemPool class. diff --git a/forge-core/src/main/java/forge/util/ItemPoolSorter.java b/forge-core/src/main/java/forge/util/ItemPoolSorter.java index 0b44e775a38..d2a3923f7ba 100644 --- a/forge-core/src/main/java/forge/util/ItemPoolSorter.java +++ b/forge-core/src/main/java/forge/util/ItemPoolSorter.java @@ -17,12 +17,13 @@ */ package forge.util; -import com.google.common.base.Function; -import forge.item.PaperCard; - import java.util.Comparator; import java.util.Map.Entry; +import com.google.common.base.Function; + +import forge.item.PaperCard; + /** *

diff --git a/forge-core/src/main/java/forge/util/Lang.java b/forge-core/src/main/java/forge/util/Lang.java index 508f3adbac5..c174cdba7b2 100644 --- a/forge-core/src/main/java/forge/util/Lang.java +++ b/forge-core/src/main/java/forge/util/Lang.java @@ -6,12 +6,17 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; -import forge.util.lang.*; - import com.google.common.base.Function; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import forge.util.lang.LangChinese; +import forge.util.lang.LangEnglish; +import forge.util.lang.LangGerman; +import forge.util.lang.LangItalian; +import forge.util.lang.LangJapanese; +import forge.util.lang.LangSpanish; + /** * Static library containing language-related utility methods. */ diff --git a/forge-core/src/main/java/forge/util/LineReader.java b/forge-core/src/main/java/forge/util/LineReader.java index 7657bd949b3..9da9e51c3c0 100644 --- a/forge-core/src/main/java/forge/util/LineReader.java +++ b/forge-core/src/main/java/forge/util/LineReader.java @@ -21,8 +21,11 @@ package forge.util; * TODO: Write javadoc for this type. * */ - -import java.io.*; +import java.io.BufferedReader; +import java.io.Closeable; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; diff --git a/forge-core/src/main/java/forge/util/Localizer.java b/forge-core/src/main/java/forge/util/Localizer.java index c549eb6723a..60acb7e0b59 100644 --- a/forge-core/src/main/java/forge/util/Localizer.java +++ b/forge-core/src/main/java/forge/util/Localizer.java @@ -8,7 +8,11 @@ import java.net.URLClassLoader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.text.MessageFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.MissingResourceException; +import java.util.ResourceBundle; public class Localizer { diff --git a/forge-core/src/main/java/forge/util/NameGenerator.java b/forge-core/src/main/java/forge/util/NameGenerator.java index 625bbbc669d..29ee7ab8867 100644 --- a/forge-core/src/main/java/forge/util/NameGenerator.java +++ b/forge-core/src/main/java/forge/util/NameGenerator.java @@ -1,12 +1,12 @@ /** Random name generator for Forge. */ package forge.util; -import org.apache.commons.lang3.ArrayUtils; - import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.apache.commons.lang3.ArrayUtils; + /** * @author Marc * diff --git a/forge-core/src/main/java/forge/util/PredicateCard.java b/forge-core/src/main/java/forge/util/PredicateCard.java index 308b34f68ca..f7ba508165c 100644 --- a/forge-core/src/main/java/forge/util/PredicateCard.java +++ b/forge-core/src/main/java/forge/util/PredicateCard.java @@ -18,6 +18,7 @@ package forge.util; import com.google.common.base.Predicate; + import forge.item.PaperCard; /** diff --git a/forge-core/src/main/java/forge/util/PredicateString.java b/forge-core/src/main/java/forge/util/PredicateString.java index 2355dabd350..bb2dc5d67c6 100644 --- a/forge-core/src/main/java/forge/util/PredicateString.java +++ b/forge-core/src/main/java/forge/util/PredicateString.java @@ -17,9 +17,10 @@ */ package forge.util; -import com.google.common.base.Predicate; import org.apache.commons.lang3.StringUtils; +import com.google.common.base.Predicate; + /** * Special predicate class to perform string operations. * diff --git a/forge-core/src/main/java/forge/util/TextUtil.java b/forge-core/src/main/java/forge/util/TextUtil.java index c1479a43c86..33d4653c013 100644 --- a/forge-core/src/main/java/forge/util/TextUtil.java +++ b/forge-core/src/main/java/forge/util/TextUtil.java @@ -1,18 +1,18 @@ package forge.util; -import forge.item.PaperCard; - -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.ImmutableSortedMap; - import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Map.Entry; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.ImmutableSortedMap; + +import forge.item.PaperCard; + /** * TODO: Write javadoc for this type. * diff --git a/forge-core/src/main/java/forge/util/ThreadUtil.java b/forge-core/src/main/java/forge/util/ThreadUtil.java index 9cecebf401f..87e54edbc4c 100644 --- a/forge-core/src/main/java/forge/util/ThreadUtil.java +++ b/forge-core/src/main/java/forge/util/ThreadUtil.java @@ -1,6 +1,13 @@ package forge.util; -import java.util.concurrent.*; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; public class ThreadUtil { static { diff --git a/forge-core/src/main/java/forge/util/collect/FCollection.java b/forge-core/src/main/java/forge/util/collect/FCollection.java index 709c325e16c..1cc57002a02 100644 --- a/forge-core/src/main/java/forge/util/collect/FCollection.java +++ b/forge-core/src/main/java/forge/util/collect/FCollection.java @@ -1,16 +1,25 @@ package forge.util.collect; +import java.io.Serializable; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.NoSuchElementException; +import java.util.Set; + +import org.apache.commons.lang3.ArrayUtils; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Ordering; import com.google.common.collect.Sets; -import org.apache.commons.lang3.ArrayUtils; - -import java.io.Serializable; -import java.util.*; - /** * Collection with unique elements ({@link Set}) that maintains the order in * which the elements are added to it ({@link List}). diff --git a/forge-core/src/main/java/forge/util/maps/EnumMapOfLists.java b/forge-core/src/main/java/forge/util/maps/EnumMapOfLists.java index 1e1f6c19617..2d025e331de 100644 --- a/forge-core/src/main/java/forge/util/maps/EnumMapOfLists.java +++ b/forge-core/src/main/java/forge/util/maps/EnumMapOfLists.java @@ -1,12 +1,12 @@ package forge.util.maps; -import com.google.common.base.Supplier; - import java.util.Collection; import java.util.EnumMap; import java.util.List; import java.util.Map; +import com.google.common.base.Supplier; + public class EnumMapOfLists, V> extends EnumMap> implements MapOfLists { private final Supplier> factory; diff --git a/forge-core/src/main/java/forge/util/maps/HashMapOfLists.java b/forge-core/src/main/java/forge/util/maps/HashMapOfLists.java index f4948ff6b9e..2e4fdf1b10e 100644 --- a/forge-core/src/main/java/forge/util/maps/HashMapOfLists.java +++ b/forge-core/src/main/java/forge/util/maps/HashMapOfLists.java @@ -1,12 +1,12 @@ package forge.util.maps; -import com.google.common.base.Supplier; - import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; +import com.google.common.base.Supplier; + public class HashMapOfLists extends HashMap> implements MapOfLists { private final Supplier> factory; diff --git a/forge-core/src/main/java/forge/util/maps/MapToAmountUtil.java b/forge-core/src/main/java/forge/util/maps/MapToAmountUtil.java index 9a60d5d92d3..172b76f70f0 100644 --- a/forge-core/src/main/java/forge/util/maps/MapToAmountUtil.java +++ b/forge-core/src/main/java/forge/util/maps/MapToAmountUtil.java @@ -1,16 +1,18 @@ package forge.util.maps; -import com.google.common.collect.Lists; -import forge.util.collect.FCollection; -import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.tuple.Pair; - import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map.Entry; import java.util.NoSuchElementException; +import org.apache.commons.lang3.tuple.Pair; + +import com.google.common.collect.Lists; + +import forge.util.collect.FCollection; +import forge.util.collect.FCollectionView; + public final class MapToAmountUtil { diff --git a/forge-core/src/main/java/forge/util/storage/StorageBase.java b/forge-core/src/main/java/forge/util/storage/StorageBase.java index d7f464ddc89..de0dfea3a76 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageBase.java +++ b/forge-core/src/main/java/forge/util/storage/StorageBase.java @@ -17,11 +17,16 @@ */ package forge.util.storage; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import forge.util.IItemReader; -import java.util.*; +import forge.util.IItemReader; /** *

diff --git a/forge-core/src/main/java/forge/util/storage/StorageExtendable.java b/forge-core/src/main/java/forge/util/storage/StorageExtendable.java index 9b1e187948e..d0eb92dee2b 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageExtendable.java +++ b/forge-core/src/main/java/forge/util/storage/StorageExtendable.java @@ -17,9 +17,9 @@ */ package forge.util.storage; -import forge.util.IItemReader; +import java.util.Map; -import java.util.*; +import forge.util.IItemReader; /** *

diff --git a/forge-core/src/main/java/forge/util/storage/StorageImmediatelySerialized.java b/forge-core/src/main/java/forge/util/storage/StorageImmediatelySerialized.java index e68658cbece..0956b307b96 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageImmediatelySerialized.java +++ b/forge-core/src/main/java/forge/util/storage/StorageImmediatelySerialized.java @@ -17,12 +17,13 @@ */ package forge.util.storage; +import java.io.File; + import com.google.common.base.Function; + import forge.util.IItemSerializer; import forge.util.TextUtil; -import java.io.File; - /** *

* StorageImmediatelySerialized class. diff --git a/forge-core/src/main/java/forge/util/storage/StorageNestedFolders.java b/forge-core/src/main/java/forge/util/storage/StorageNestedFolders.java index ddd83d49c1d..7746ce16cb6 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageNestedFolders.java +++ b/forge-core/src/main/java/forge/util/storage/StorageNestedFolders.java @@ -1,10 +1,10 @@ package forge.util.storage; -import com.google.common.base.Function; - import java.io.File; import java.util.HashMap; +import com.google.common.base.Function; + public class StorageNestedFolders extends StorageBase> { private final File thisFolder; diff --git a/forge-core/src/main/java/forge/util/storage/StorageReaderBase.java b/forge-core/src/main/java/forge/util/storage/StorageReaderBase.java index 0407a6a5958..06cdf1e35f1 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageReaderBase.java +++ b/forge-core/src/main/java/forge/util/storage/StorageReaderBase.java @@ -1,10 +1,11 @@ package forge.util.storage; +import java.io.File; + import com.google.common.base.Function; import com.google.common.collect.ImmutableList; -import forge.util.IItemReader; -import java.io.File; +import forge.util.IItemReader; public abstract class StorageReaderBase implements IItemReader { protected final Function keySelector; diff --git a/forge-core/src/main/java/forge/util/storage/StorageReaderFile.java b/forge-core/src/main/java/forge/util/storage/StorageReaderFile.java index 61cb21c73a9..f0f369a30b1 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageReaderFile.java +++ b/forge-core/src/main/java/forge/util/storage/StorageReaderFile.java @@ -17,16 +17,16 @@ */ package forge.util.storage; -import com.google.common.base.Function; - -import forge.util.FileUtil; - -import org.apache.commons.lang3.StringUtils; - import java.io.File; import java.util.Map; import java.util.TreeMap; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.base.Function; + +import forge.util.FileUtil; + /** * This class treats every line of a given file as a source for a named object. * diff --git a/forge-core/src/main/java/forge/util/storage/StorageReaderFileSections.java b/forge-core/src/main/java/forge/util/storage/StorageReaderFileSections.java index c3c2773ad9f..8dc136b714f 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageReaderFileSections.java +++ b/forge-core/src/main/java/forge/util/storage/StorageReaderFileSections.java @@ -17,18 +17,18 @@ */ package forge.util.storage; -import com.google.common.base.Function; - -import forge.util.FileUtil; - -import org.apache.commons.lang3.StringUtils; - import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.base.Function; + +import forge.util.FileUtil; + /** * This class treats every line of a given file as a source for a named object. * diff --git a/forge-core/src/main/java/forge/util/storage/StorageReaderFolder.java b/forge-core/src/main/java/forge/util/storage/StorageReaderFolder.java index 2fa2ea9fa63..c94ca37d336 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageReaderFolder.java +++ b/forge-core/src/main/java/forge/util/storage/StorageReaderFolder.java @@ -17,14 +17,20 @@ */ package forge.util.storage; -import com.google.common.base.Function; -import forge.util.TextUtil; - import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.TreeMap; + +import com.google.common.base.Function; + +import forge.util.TextUtil; /** * This class treats every file in the given folder as a source for a named diff --git a/forge-core/src/main/java/forge/util/storage/StorageReaderRecursiveFolderWithUserFolder.java b/forge-core/src/main/java/forge/util/storage/StorageReaderRecursiveFolderWithUserFolder.java index 5b81bfa5f2b..cff7b1904a4 100644 --- a/forge-core/src/main/java/forge/util/storage/StorageReaderRecursiveFolderWithUserFolder.java +++ b/forge-core/src/main/java/forge/util/storage/StorageReaderRecursiveFolderWithUserFolder.java @@ -17,14 +17,23 @@ */ package forge.util.storage; -import com.google.common.base.Function; -import forge.util.TextUtil; - import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.TreeMap; + +import com.google.common.base.Function; + +import forge.util.TextUtil; /** * This class treats every file in the given folder as a source for a named diff --git a/forge-game/src/main/java/forge/game/CardTraitBase.java b/forge-game/src/main/java/forge/game/CardTraitBase.java index d42471e0bf3..f8f9e08a61e 100644 --- a/forge-game/src/main/java/forge/game/CardTraitBase.java +++ b/forge-game/src/main/java/forge/game/CardTraitBase.java @@ -1,5 +1,14 @@ package forge.game; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Maps; + import forge.card.CardStateName; import forge.card.MagicColor; import forge.card.mana.ManaAtom; @@ -16,13 +25,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Expressions; -import java.util.*; - -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Maps; - /** * Base class for Triggers,ReplacementEffects and StaticAbilities. * diff --git a/forge-game/src/main/java/forge/game/Game.java b/forge-game/src/main/java/forge/game/Game.java index 3d5e7c34a02..b1450139a38 100644 --- a/forge-game/src/main/java/forge/game/Game.java +++ b/forge-game/src/main/java/forge/game/Game.java @@ -17,6 +17,17 @@ */ package forge.game; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ArrayListMultimap; @@ -27,11 +38,19 @@ import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Table; import com.google.common.eventbus.EventBus; + import forge.card.CardRarity; import forge.card.CardStateName; import forge.card.CardType.Supertype; import forge.game.ability.AbilityKey; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardView; +import forge.game.card.CounterType; import forge.game.combat.Combat; import forge.game.event.Event; import forge.game.event.GameEventGameOutcome; @@ -39,7 +58,11 @@ import forge.game.phase.Phase; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.phase.Untap; -import forge.game.player.*; +import forge.game.player.IGameEntitiesFactory; +import forge.game.player.Player; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerView; +import forge.game.player.RegisteredPlayer; import forge.game.replacement.ReplacementHandler; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; @@ -54,10 +77,6 @@ import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.Visitor; -import java.util.*; - -import org.apache.commons.lang3.tuple.Pair; - /** * Represents the state of a single game, a new instance is created for each game. */ diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index b4ac8c50bcb..4df8d31c025 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -17,8 +17,25 @@ */ package forge.game; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.base.Predicate; -import com.google.common.collect.*; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ComparisonChain; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.Sets; + import forge.GameCommand; import forge.StaticData; import forge.card.CardStateName; @@ -27,8 +44,23 @@ import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.AttachEffect; -import forge.game.card.*; -import forge.game.event.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactory; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; +import forge.game.event.GameEventCardChangeZone; +import forge.game.event.GameEventCardDestroyed; +import forge.game.event.GameEventCardStatsChanged; +import forge.game.event.GameEventCardTapped; +import forge.game.event.GameEventFlipCoin; +import forge.game.event.GameEventGameStarted; +import forge.game.event.GameEventScry; import forge.game.keyword.KeywordInterface; import forge.game.mulligan.MulliganService; import forge.game.player.GameLossReason; @@ -47,12 +79,13 @@ import forge.game.zone.PlayerZoneBattlefield; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.item.PaperCard; -import forge.util.*; +import forge.util.Aggregates; +import forge.util.Expressions; +import forge.util.MyRandom; +import forge.util.ThreadUtil; +import forge.util.Visitor; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.util.*; /** * Methods for common actions performed during a game. diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index c547c496705..fc3be4035e1 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -17,6 +17,10 @@ */ package forge.game; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -27,8 +31,13 @@ import forge.card.mana.ManaCostParser; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardPlayOption; import forge.game.card.CardPlayOption.PayManaCost; +import forge.game.card.CounterType; import forge.game.cost.Cost; import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; @@ -37,7 +46,14 @@ import forge.game.player.PlayerController; import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementHandler; import forge.game.replacement.ReplacementLayer; -import forge.game.spellability.*; +import forge.game.spellability.AbilityManaPart; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.AlternativeCost; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.OptionalCostValue; +import forge.game.spellability.Spell; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityRestriction; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.game.trigger.TriggerType; @@ -45,10 +61,6 @@ import forge.game.zone.ZoneType; import forge.util.Lang; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - /** *

diff --git a/forge-game/src/main/java/forge/game/GameEntity.java b/forge-game/src/main/java/forge/game/GameEntity.java index 2a7872ccd5e..93606b758e9 100644 --- a/forge-game/src/main/java/forge/game/GameEntity.java +++ b/forge-game/src/main/java/forge/game/GameEntity.java @@ -17,6 +17,12 @@ */ package forge.game; +import java.util.Map; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -37,12 +43,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.collect.FCollection; -import java.util.Map; - -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - public abstract class GameEntity extends GameObject implements IIdentifiable { protected final int id; diff --git a/forge-game/src/main/java/forge/game/GameFormat.java b/forge-game/src/main/java/forge/game/GameFormat.java index 82f283f759f..5af6fbf2c59 100644 --- a/forge-game/src/main/java/forge/game/GameFormat.java +++ b/forge-game/src/main/java/forge/game/GameFormat.java @@ -17,6 +17,24 @@ */ package forge.game; +import java.io.File; +import java.io.FilenameFilter; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -36,13 +54,6 @@ import forge.util.FileUtil; import forge.util.storage.StorageBase; import forge.util.storage.StorageReaderRecursiveFolderWithUserFolder; -import java.io.File; -import java.io.FilenameFilter; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.Map.Entry; - public class GameFormat implements Comparable { private final String name; diff --git a/forge-game/src/main/java/forge/game/GameLog.java b/forge-game/src/main/java/forge/game/GameLog.java index 8fca317132b..6b7f7587ace 100644 --- a/forge-game/src/main/java/forge/game/GameLog.java +++ b/forge-game/src/main/java/forge/game/GameLog.java @@ -17,13 +17,13 @@ */ package forge.game; -import forge.game.event.IGameEventVisitor; - import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Observable; +import forge.game.event.IGameEventVisitor; + /** *

* GameLog class. diff --git a/forge-game/src/main/java/forge/game/GameOutcome.java b/forge-game/src/main/java/forge/game/GameOutcome.java index 82fb476d4a8..03ab133b9fd 100644 --- a/forge-game/src/main/java/forge/game/GameOutcome.java +++ b/forge-game/src/main/java/forge/game/GameOutcome.java @@ -17,7 +17,15 @@ */ package forge.game; +import java.io.Serializable; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.collect.Lists; + import forge.LobbyPlayer; import forge.game.player.Player; import forge.game.player.PlayerOutcome; @@ -26,10 +34,6 @@ import forge.game.player.PlayerView; import forge.game.player.RegisteredPlayer; import forge.item.PaperCard; -import java.io.Serializable; -import java.util.*; -import java.util.Map.Entry; - /** *

* GameInfo class. diff --git a/forge-game/src/main/java/forge/game/GameType.java b/forge-game/src/main/java/forge/game/GameType.java index 0b1802dfac9..7483b80de99 100644 --- a/forge-game/src/main/java/forge/game/GameType.java +++ b/forge-game/src/main/java/forge/game/GameType.java @@ -5,6 +5,7 @@ import java.util.Set; import com.google.common.base.Enums; import com.google.common.base.Function; + import forge.StaticData; import forge.deck.CardPool; import forge.deck.Deck; diff --git a/forge-game/src/main/java/forge/game/GameView.java b/forge-game/src/main/java/forge/game/GameView.java index e24e9370034..b845bce1d31 100644 --- a/forge-game/src/main/java/forge/game/GameView.java +++ b/forge-game/src/main/java/forge/game/GameView.java @@ -1,6 +1,9 @@ package forge.game; +import java.util.List; + import com.google.common.collect.Iterables; + import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameOutcome.AnteResult; @@ -19,8 +22,6 @@ import forge.trackable.TrackableObject; import forge.trackable.TrackableProperty; import forge.util.collect.FCollectionView; -import java.util.List; - public class GameView extends TrackableObject { private static final long serialVersionUID = 8522884512960961528L; diff --git a/forge-game/src/main/java/forge/game/Match.java b/forge-game/src/main/java/forge/game/Match.java index c34bca44ab0..c8c22588bbc 100644 --- a/forge-game/src/main/java/forge/game/Match.java +++ b/forge-game/src/main/java/forge/game/Match.java @@ -1,6 +1,22 @@ package forge.game; -import com.google.common.collect.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multiset; import com.google.common.eventbus.EventBus; import forge.LobbyPlayer; @@ -20,12 +36,9 @@ import forge.game.trigger.Trigger; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; import forge.item.PaperCard; +import forge.util.Localizer; import forge.util.MyRandom; import forge.util.collect.FCollectionView; -import forge.util.Localizer; - -import java.util.*; -import java.util.Map.Entry; public class Match { private final List players; diff --git a/forge-game/src/main/java/forge/game/PlanarDice.java b/forge-game/src/main/java/forge/game/PlanarDice.java index a0aef3692bb..d8705f3e889 100644 --- a/forge-game/src/main/java/forge/game/PlanarDice.java +++ b/forge-game/src/main/java/forge/game/PlanarDice.java @@ -1,13 +1,13 @@ package forge.game; -import forge.game.ability.AbilityKey; -import forge.game.player.Player; -import forge.game.trigger.TriggerType; - import java.util.Map; import com.google.common.collect.ImmutableList; +import forge.game.ability.AbilityKey; +import forge.game.player.Player; +import forge.game.trigger.TriggerType; + /** * Represents the planar dice for Planechase games. * diff --git a/forge-game/src/main/java/forge/game/StaticEffect.java b/forge-game/src/main/java/forge/game/StaticEffect.java index 9f1f32cb49e..2e96d44bcf4 100644 --- a/forge-game/src/main/java/forge/game/StaticEffect.java +++ b/forge-game/src/main/java/forge/game/StaticEffect.java @@ -17,19 +17,18 @@ */ package forge.game; -import forge.game.card.Card; -import forge.game.card.CardCollection; -import forge.game.card.CardCollectionView; - -import forge.game.player.Player; -import forge.game.staticability.StaticAbility; - import java.util.List; import java.util.Map; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.player.Player; +import forge.game.staticability.StaticAbility; + /** *

* StaticEffect class. diff --git a/forge-game/src/main/java/forge/game/ability/AbilityApiBased.java b/forge-game/src/main/java/forge/game/ability/AbilityApiBased.java index 4603cee8d98..dba8ae6d801 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityApiBased.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityApiBased.java @@ -1,13 +1,13 @@ package forge.game.ability; +import java.util.Map; + import forge.game.card.Card; import forge.game.cost.Cost; import forge.game.spellability.AbilityActivated; import forge.game.spellability.AbilityManaPart; import forge.game.spellability.TargetRestrictions; -import java.util.Map; - public class AbilityApiBased extends AbilityActivated { private final SpellAbilityEffect effect; diff --git a/forge-game/src/main/java/forge/game/ability/AbilityFactory.java b/forge-game/src/main/java/forge/game/ability/AbilityFactory.java index 1449ae13096..8fce51f16e1 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityFactory.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityFactory.java @@ -17,9 +17,13 @@ */ package forge.game.ability; +import java.util.List; +import java.util.Map; + import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.card.CardStateName; import forge.game.CardTraitBase; import forge.game.IHasSVars; @@ -27,15 +31,16 @@ import forge.game.ability.effects.CharmEffect; import forge.game.card.Card; import forge.game.card.CardState; import forge.game.cost.Cost; -import forge.game.spellability.*; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityCondition; +import forge.game.spellability.SpellAbilityRestriction; +import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.FileSection; import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; -import java.util.List; -import java.util.Map; - /** *

* AbilityFactory class. diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index b60dc3a70da..31e85809eb7 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -1,5 +1,15 @@ package forge.game.ability; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; @@ -19,7 +29,14 @@ import forge.game.Game; import forge.game.GameEntity; import forge.game.GameObject; import forge.game.ability.AbilityFactory.AbilityRecordType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CounterType; import forge.game.cost.Cost; import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; @@ -29,7 +46,13 @@ import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.player.PlayerCollection; import forge.game.player.PlayerPredicates; -import forge.game.spellability.*; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.Spell; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityRestriction; +import forge.game.spellability.SpellAbilityStackInstance; +import forge.game.spellability.SpellPermanent; +import forge.game.spellability.TargetChoices; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; @@ -41,15 +64,6 @@ import forge.util.collect.FCollectionView; import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - public class AbilityUtils { private final static ImmutableList cmpList = ImmutableList.of("LT", "LE", "EQ", "GE", "GT", "NE"); diff --git a/forge-game/src/main/java/forge/game/ability/ApiType.java b/forge-game/src/main/java/forge/game/ability/ApiType.java index a024cf88353..024a2b35155 100644 --- a/forge-game/src/main/java/forge/game/ability/ApiType.java +++ b/forge-game/src/main/java/forge/game/ability/ApiType.java @@ -1,12 +1,12 @@ package forge.game.ability; -import forge.game.ability.effects.*; -import forge.util.ReflectionUtil; - import java.util.HashMap; import java.util.Map; +import forge.game.ability.effects.*; +import forge.util.ReflectionUtil; + /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java index 9ba55ea5a4f..cbf89d3a2a0 100644 --- a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java @@ -4,8 +4,6 @@ import java.util.List; import java.util.Map; import java.util.StringTokenizer; -import forge.card.MagicColor; -import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Iterables; @@ -15,6 +13,7 @@ import com.google.common.collect.Table; import forge.GameCommand; import forge.card.CardType; +import forge.card.MagicColor; import forge.game.Game; import forge.game.GameEntity; import forge.game.GameObject; @@ -37,6 +36,7 @@ import forge.game.zone.ZoneType; import forge.util.CardTranslation; import forge.util.Lang; import forge.util.Localizer; +import forge.util.TextUtil; import forge.util.collect.FCollection; /** diff --git a/forge-game/src/main/java/forge/game/ability/StaticAbilityApiBased.java b/forge-game/src/main/java/forge/game/ability/StaticAbilityApiBased.java index 4942d614490..55d15956b80 100644 --- a/forge-game/src/main/java/forge/game/ability/StaticAbilityApiBased.java +++ b/forge-game/src/main/java/forge/game/ability/StaticAbilityApiBased.java @@ -1,5 +1,7 @@ package forge.game.ability; +import java.util.Map; + import forge.game.ability.effects.ChangeZoneAllEffect; import forge.game.ability.effects.ChangeZoneEffect; import forge.game.card.Card; @@ -7,8 +9,6 @@ import forge.game.cost.Cost; import forge.game.spellability.AbilityStatic; import forge.game.spellability.TargetRestrictions; -import java.util.Map; - public class StaticAbilityApiBased extends AbilityStatic { private final SpellAbilityEffect effect; diff --git a/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java index d646c6daf59..7eeffb6afec 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.Map; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; @@ -8,10 +10,8 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; -import forge.util.Localizer; import forge.util.CardTranslation; - -import java.util.Map; +import forge.util.Localizer; public class AbandonEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ActivateAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ActivateAbilityEffect.java index 1ff78b9093a..a292825e681 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ActivateAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ActivateAbilityEffect.java @@ -1,5 +1,12 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardLists; @@ -7,16 +14,9 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import forge.util.collect.FCollection; import forge.util.Lang; import forge.util.Localizer; - -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; - -import java.util.List; +import forge.util.collect.FCollection; public class ActivateAbilityEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java index b3df7038b16..c18f9aed31a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AddTurnEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -10,8 +12,6 @@ import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.util.Localizer; -import java.util.List; - public class AddTurnEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/AnimateAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AnimateAllEffect.java index 4740f02d18e..ef111a521c4 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AnimateAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AnimateAllEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.common.collect.ImmutableList; + import forge.GameCommand; import forge.card.CardType; import forge.game.Game; @@ -12,12 +18,6 @@ import forge.game.event.GameEventCardStatsChanged; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import com.google.common.collect.ImmutableList; - public class AnimateAllEffect extends AnimateEffectBase { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java index 59d730829fe..8672abb81dd 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java @@ -1,5 +1,10 @@ package forge.game.ability.effects; +import java.util.Arrays; +import java.util.List; + +import com.google.common.collect.Lists; + import forge.card.CardType; import forge.game.Game; import forge.game.ability.AbilityUtils; @@ -8,11 +13,6 @@ import forge.game.card.CardUtil; import forge.game.event.GameEventCardStatsChanged; import forge.game.spellability.SpellAbility; -import com.google.common.collect.Lists; - -import java.util.Arrays; -import java.util.List; - public class AnimateEffect extends AnimateEffectBase { diff --git a/forge-game/src/main/java/forge/game/ability/effects/AnimateEffectBase.java b/forge-game/src/main/java/forge/game/ability/effects/AnimateEffectBase.java index 7115bcf00e7..8d05c06e04b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AnimateEffectBase.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AnimateEffectBase.java @@ -17,6 +17,10 @@ */ package forge.game.ability.effects; +import java.util.List; + +import com.google.common.collect.Lists; + import forge.GameCommand; import forge.card.CardType; import forge.card.mana.ManaCost; @@ -37,10 +41,6 @@ import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; -import java.util.List; - -import com.google.common.collect.Lists; - public abstract class AnimateEffectBase extends SpellAbilityEffect { public static void doAnimate(final Card c, final SpellAbility sa, final Integer power, final Integer toughness, final CardType addType, final CardType removeType, final String colors, diff --git a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java index 9c7cb2bc908..1b976951a9c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.GameCommand; import forge.game.Game; import forge.game.GameEntity; @@ -15,12 +17,10 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; -import forge.util.collect.FCollection; +import forge.util.CardTranslation; import forge.util.Lang; import forge.util.Localizer; -import forge.util.CardTranslation; - -import java.util.List; +import forge.util.collect.FCollection; public class AttachEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java index cf0be288275..cd1ba4363d4 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BalanceEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; @@ -13,10 +17,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.collect.FCollectionView; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java index 375e282522f..d227abea28e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java @@ -1,5 +1,12 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Lists; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; @@ -8,13 +15,6 @@ import forge.game.event.GameEventCombatChanged; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.Lists; - -import java.util.List; -import java.util.Map; - public class BecomesBlockedEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/BidLifeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BidLifeEffect.java index 4083e5fe8de..99a80f31f05 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BidLifeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BidLifeEffect.java @@ -10,8 +10,8 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; -import forge.util.collect.FCollection; import forge.util.Localizer; +import forge.util.collect.FCollection; public class BidLifeEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java index 808d45a5e4a..e0e1af7b139 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BlockEffect.java @@ -1,5 +1,12 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Lists; + +import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -7,17 +14,11 @@ import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.combat.Combat; import forge.game.event.GameEventCombatChanged; -import forge.game.Game; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; - import forge.util.Lang; -import java.util.*; - -import com.google.common.collect.Lists; - public class BlockEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java index 4d9789bac9f..7a05d732a38 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -8,8 +10,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.List; - public class BondEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeCombatantsEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeCombatantsEffect.java index 0b807bdd2bc..a62b98dc667 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeCombatantsEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeCombatantsEffect.java @@ -1,5 +1,12 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityKey; @@ -12,16 +19,9 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; import forge.game.spellability.TargetRestrictions; -import forge.util.collect.FCollectionView; -import forge.util.Localizer; import forge.util.CardTranslation; - -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.Maps; - -import java.util.List; -import java.util.Map; +import forge.util.Localizer; +import forge.util.collect.FCollectionView; public class ChangeCombatantsEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java index c52942c35d5..57d4bd08d8a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; @@ -15,12 +21,6 @@ import forge.game.zone.MagicStack; import forge.util.Aggregates; import forge.util.Localizer; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.List; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java index 67e6773f08c..9c78a65e2d2 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java @@ -13,8 +13,8 @@ import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.event.GameEventCardStatsChanged; import forge.game.spellability.SpellAbility; -import forge.util.TextUtil; import forge.util.Localizer; +import forge.util.TextUtil; public class ChangeTextEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java index e3179745c88..b168745ffd0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java @@ -1,5 +1,8 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Iterables; import com.google.common.collect.Maps; @@ -8,18 +11,20 @@ import forge.game.GameActionUtil; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.util.Lang; -import forge.util.TextUtil; import forge.util.Localizer; - -import java.util.List; -import java.util.Map; +import forge.util.TextUtil; public class ChangeZoneAllEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index eb0ee56b4f2..fba4bc90fb4 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -15,7 +21,15 @@ import forge.game.GameLogEntryType; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardView; +import forge.game.card.CardZoneTable; +import forge.game.card.CounterType; import forge.game.event.GameEventCombatChanged; import forge.game.player.DelayedReveal; import forge.game.player.Player; @@ -31,17 +45,12 @@ import forge.game.trigger.TriggerType; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.util.Aggregates; +import forge.util.CardTranslation; import forge.util.Lang; +import forge.util.Localizer; import forge.util.MessageUtil; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.Localizer; -import forge.util.CardTranslation; -import org.apache.commons.lang3.StringUtils; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; public class ChangeZoneEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java index c01aef67cae..76d5c2020e0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + import com.google.common.collect.Lists; import forge.game.ability.AbilityUtils; @@ -12,10 +16,6 @@ import forge.util.Aggregates; import forge.util.Lang; import forge.util.collect.FCollection; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - public class CharmEffect extends SpellAbilityEffect { public static List makePossibleOptions(final SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java index f425374b577..ef97d4bf459 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.card.CardType; import forge.game.Game; import forge.game.ability.AbilityUtils; @@ -19,10 +23,6 @@ import forge.util.Aggregates; import forge.util.Lang; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - public class ChooseCardEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java index 0d6804b7237..b99b686a4ed 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -24,12 +30,6 @@ import forge.util.Aggregates; import forge.util.ComparableOp; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - public class ChooseCardNameEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java index f9b0d07380c..e7ce877a81e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseColorEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import forge.card.MagicColor; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -9,10 +13,6 @@ import forge.game.spellability.TargetRestrictions; import forge.util.Lang; import forge.util.Localizer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - public class ChooseColorEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseDirectionEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseDirectionEffect.java index a02bf0206e9..f59c19f1160 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseDirectionEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseDirectionEffect.java @@ -9,8 +9,8 @@ import forge.game.card.Card; import forge.game.player.Player; import forge.game.player.PlayerController.BinaryChoiceType; import forge.game.spellability.SpellAbility; -import forge.util.collect.FCollection; import forge.util.Localizer; +import forge.util.collect.FCollection; public class ChooseDirectionEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseGenericEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseGenericEffect.java index f4a6d34daee..8190fa1e40e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseGenericEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseGenericEffect.java @@ -1,7 +1,10 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -10,8 +13,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Aggregates; -import java.util.List; - public class ChooseGenericEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java index 406a0ca52eb..af26897b838 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java @@ -1,7 +1,12 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -9,12 +14,8 @@ import forge.game.player.Player; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import forge.util.MyRandom; import forge.util.Localizer; - -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; +import forge.util.MyRandom; public class ChooseNumberEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java index 6f25e23d7b4..b576b755b31 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -8,10 +10,8 @@ import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.util.Aggregates; -import forge.util.collect.FCollectionView; import forge.util.Localizer; - -import java.util.List; +import forge.util.collect.FCollectionView; public class ChoosePlayerEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java index 9a05ed7d74c..2f7ceac1850 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -13,10 +17,6 @@ import forge.game.spellability.SpellAbilityStackInstance; import forge.game.zone.ZoneType; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - public class ChooseSourceEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseTypeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseTypeEffect.java index d8c6f7d819c..36b0acf9f67 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseTypeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseTypeEffect.java @@ -1,15 +1,16 @@ package forge.game.ability.effects; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import forge.card.CardType; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import java.security.InvalidParameterException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; public class ChooseTypeEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java index 9234835251f..5afd9ce5626 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ClashEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.Map; + import forge.game.GameAction; import forge.game.GameLogEntryType; import forge.game.ability.AbilityKey; @@ -14,8 +16,6 @@ import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.Map; - public class ClashEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java index ee4a201cf1e..eaae7e1bb70 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -1,22 +1,25 @@ package forge.game.ability.effects; -import forge.GameCommand; -import forge.game.Game; -import forge.game.ability.AbilityUtils; -import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; -import forge.game.event.GameEventCardStatsChanged; -import forge.game.player.Player; -import forge.game.spellability.SpellAbility; -import forge.game.zone.ZoneType; -import forge.util.Localizer; -import forge.util.CardTranslation; - import java.util.Arrays; import java.util.List; import com.google.common.collect.Lists; +import forge.GameCommand; +import forge.game.Game; +import forge.game.ability.AbilityUtils; +import forge.game.ability.SpellAbilityEffect; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardFactory; +import forge.game.card.CardLists; +import forge.game.event.GameEventCardStatsChanged; +import forge.game.player.Player; +import forge.game.spellability.SpellAbility; +import forge.game.zone.ZoneType; +import forge.util.CardTranslation; +import forge.util.Localizer; + public class CloneEffect extends SpellAbilityEffect { // TODO update this method diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java index 7a2daa09be0..0a155df9bf1 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.collect.Lists; import forge.game.Game; @@ -11,8 +13,6 @@ import forge.game.spellability.SpellAbility; import forge.util.CardTranslation; import forge.util.Localizer; -import java.util.List; - public class ControlExchangeEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeVariantEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeVariantEffect.java index 92db1453cb4..898354f047b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeVariantEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeVariantEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -9,10 +13,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - public class ControlExchangeVariantEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlPlayerEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlPlayerEffect.java index 443d3d8bfa2..4dbc08e0870 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlPlayerEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlPlayerEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.GameCommand; import forge.game.Game; import forge.game.ability.SpellAbilityEffect; @@ -8,8 +10,6 @@ import forge.game.spellability.SpellAbility; import forge.util.Lang; import forge.util.TextUtil; -import java.util.List; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlSpellEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlSpellEffect.java index 70e723b15d1..e1aba6911bb 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlSpellEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlSpellEffect.java @@ -1,6 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.collect.Iterables; + import forge.game.Game; import forge.game.GameObject; import forge.game.ability.SpellAbilityEffect; @@ -10,8 +13,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; import forge.game.zone.ZoneType; -import java.util.List; - public class ControlSpellEffect extends SpellAbilityEffect { /* (non-Javadoc) * @see forge.card.abilityfactory.SpellEffect#getStackDescription(java.util.Map, forge.card.spellability.SpellAbility) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index 289f8687e78..7962c91f45f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -1,5 +1,10 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.mutable.MutableBoolean; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -22,15 +27,10 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.item.PaperCard; import forge.util.Aggregates; +import forge.util.Localizer; +import forge.util.PredicateString.StringOp; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.PredicateString.StringOp; -import forge.util.Localizer; - -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.mutable.MutableBoolean; - -import java.util.List; public class CopyPermanentEffect extends TokenEffectBase { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java index 50a18e79e60..a2915a8e839 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -17,12 +21,8 @@ import forge.game.player.Player; import forge.game.replacement.ReplacementType; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; -import forge.util.Localizer; import forge.util.CardTranslation; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import forge.util.Localizer; public class CopySpellAbilityEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java index d7f06a689a1..3999c0a81be 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Lists; + import forge.game.Game; import forge.game.GameLogEntryType; import forge.game.ability.AbilityKey; @@ -14,12 +20,6 @@ import forge.game.spellability.SpellPermanent; import forge.game.trigger.TriggerType; import forge.util.Localizer; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Lists; - public class CounterEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java index 598fc58446e..b015016a439 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityUtils; @@ -13,14 +19,8 @@ import forge.game.player.Player; import forge.game.player.PlayerController; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import forge.util.Localizer; import forge.util.CardTranslation; - -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import forge.util.Localizer; import forge.util.TextUtil; public class CountersMoveEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java index fd81398e5e9..0ae32240416 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.GameEntity; import forge.game.GameEntityCounterTable; @@ -13,10 +15,8 @@ import forge.game.player.PlayerController; import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import forge.util.collect.FCollection; import forge.util.Localizer; - -import java.util.List; +import forge.util.collect.FCollection; public class CountersProliferateEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java index d050796c13f..dd2374a8976 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -18,10 +24,10 @@ import forge.game.card.CardCollection; import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; +import forge.game.card.CardPredicates.Presets; import forge.game.card.CardUtil; import forge.game.card.CounterEnumType; import forge.game.card.CounterType; -import forge.game.card.CardPredicates.Presets; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.player.PlayerController; @@ -32,14 +38,8 @@ import forge.game.trigger.TriggerType; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.util.Aggregates; -import forge.util.Localizer; import forge.util.CardTranslation; - -import java.util.Map; -import java.util.Map.Entry; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; +import forge.util.Localizer; public class CountersPutEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutOrRemoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutOrRemoveEffect.java index 14298c46617..7490946e2c9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutOrRemoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutOrRemoveEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityUtils; @@ -15,12 +21,6 @@ import forge.game.zone.ZoneType; import forge.util.Lang; import forge.util.Localizer; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - -import java.util.List; -import java.util.Map; - /** * API for adding to or subtracting from existing counters on a target. * diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java index dfe7a8afb7a..b188effd7d7 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveAllEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.Map; + +import com.google.common.collect.Lists; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -11,10 +15,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.Map; - -import com.google.common.collect.Lists; - public class CountersRemoveAllEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java index 384f4e16376..2557a6ff31b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java @@ -1,5 +1,13 @@ package forge.game.ability.effects; +import java.util.Map; + +import org.apache.commons.lang3.tuple.Pair; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; @@ -15,14 +23,6 @@ import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.Map; - -import org.apache.commons.lang3.tuple.Pair; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - public class CountersRemoveEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DamageAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DamageAllEffect.java index a4e8e6c1217..feab590d460 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DamageAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DamageAllEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.GameEntity; import forge.game.GameEntityCounterTable; @@ -13,8 +15,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public class DamageAllEffect extends DamageBaseEffect { /* (non-Javadoc) * @see forge.game.ability.SpellAbilityEffect#getStackDescription(forge.game.spellability.SpellAbility) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java index 5b9e0542f5e..b8a4a379273 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -21,10 +25,6 @@ import forge.game.spellability.SpellAbility; import forge.util.Lang; import forge.util.Localizer; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - public class DamageDealEffect extends DamageBaseEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java index 2a8347f95b9..4dd49bb9c1b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DamageEachEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.GameEntityCounterTable; import forge.game.GameObject; @@ -13,8 +15,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.collect.FCollectionView; -import java.util.List; - public class DamageEachEffect extends DamageBaseEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java index 2595c792dec..1c200511f52 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java @@ -1,13 +1,5 @@ package forge.game.ability.effects; -import forge.GameCommand; -import forge.card.MagicColor; -import forge.game.Game; -import forge.game.ability.SpellAbilityEffect; -import forge.game.card.Card; -import forge.game.keyword.KeywordInterface; -import forge.game.spellability.SpellAbility; - import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -16,6 +8,14 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Lists; +import forge.GameCommand; +import forge.card.MagicColor; +import forge.game.Game; +import forge.game.ability.SpellAbilityEffect; +import forge.game.card.Card; +import forge.game.keyword.KeywordInterface; +import forge.game.spellability.SpellAbility; + public class DebuffEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/DeclareCombatantsEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DeclareCombatantsEffect.java index 36e1f1b0a12..643aa89b5d8 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DeclareCombatantsEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DeclareCombatantsEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.GameCommand; import forge.game.ability.SpellAbilityEffect; import forge.game.phase.PhaseHandler; @@ -8,8 +10,6 @@ import forge.game.spellability.SpellAbility; import forge.util.Lang; import forge.util.TextUtil; -import java.util.List; - public class DeclareCombatantsEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/DelayedTriggerEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DelayedTriggerEffect.java index bb2e7afc4d4..f094cb53eb0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DelayedTriggerEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DelayedTriggerEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.Map; + import com.google.common.collect.Iterables; import com.google.common.collect.Maps; @@ -15,8 +17,6 @@ import forge.game.spellability.SpellAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; -import java.util.Map; - public class DelayedTriggerEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java index dba2774c908..b3a736e563a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DestroyEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.GameActionUtil; import forge.game.ability.SpellAbilityEffect; @@ -10,12 +16,6 @@ import forge.game.card.CardZoneTable; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Maps; - public class DestroyEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java index 21231fe8584..aad8132e603 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import forge.card.MagicColor; import forge.game.Game; import forge.game.GameActionUtil; @@ -21,13 +25,11 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; +import forge.util.CardTranslation; import forge.util.Lang; +import forge.util.Localizer; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.Localizer; -import forge.util.CardTranslation; - -import java.util.*; public class DigEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java index 9f31cf91ffe..cfabeb4834d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java @@ -1,5 +1,8 @@ package forge.game.ability.effects; +import java.util.Collections; +import java.util.Iterator; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -11,10 +14,8 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; -import forge.util.MyRandom; import forge.util.Localizer; - -import java.util.*; +import forge.util.MyRandom; public class DigUntilEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java index 18fd4f984fb..77f4696e88a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java @@ -1,29 +1,32 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + import forge.game.Game; import forge.game.GameActionUtil; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardZoneTable; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; - -import forge.util.Lang; import forge.util.Aggregates; -import forge.util.TextUtil; +import forge.util.Lang; import forge.util.Localizer; - -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; - -import java.util.List; -import java.util.Map; +import forge.util.TextUtil; public class DiscardEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DrainManaEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DrainManaEffect.java index 873a8fab135..8b22962918e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DrainManaEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DrainManaEffect.java @@ -1,16 +1,16 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.SpellAbilityEffect; import forge.game.mana.Mana; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.List; - public class DrainManaEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java index f5d918af8c2..9e30ded533f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -10,8 +12,6 @@ import forge.game.spellability.TargetRestrictions; import forge.util.Lang; import forge.util.Localizer; -import java.util.List; - public class DrawEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java index 0d2e57507f2..308971adf7a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java @@ -1,5 +1,12 @@ package forge.game.ability.effects; +import java.util.EnumSet; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + import forge.GameCommand; import forge.ImageKeys; import forge.game.Game; @@ -21,13 +28,6 @@ import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; - -import java.util.EnumSet; -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import forge.util.TextUtil; import forge.util.collect.FCollection; diff --git a/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java index fce3d683d35..8d2104b8411 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java @@ -8,8 +8,8 @@ import forge.game.card.CardCollectionView; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import forge.util.Localizer; import forge.util.CardTranslation; +import forge.util.Localizer; public class EncodeEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java index 3e0fb1f391f..882270f1f46 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java @@ -1,6 +1,8 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.collect.Lists; import forge.game.Game; @@ -10,8 +12,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.List; - public class EndTurnEffect extends SpellAbilityEffect { // ************************************************************************* diff --git a/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java index fb46dbbc2b4..353b41d25a3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ExploreEffect.java @@ -1,6 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.collect.Lists; + import forge.game.Game; import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityKey; @@ -17,8 +20,6 @@ import forge.game.zone.ZoneType; import forge.util.Lang; import forge.util.Localizer; -import java.util.List; - public class ExploreEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java b/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java index bd3c1e7d3ae..6cda89e1cfb 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java @@ -1,5 +1,8 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Lists; import forge.game.Game; @@ -12,11 +15,8 @@ import forge.game.player.Player; import forge.game.replacement.ReplacementType; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; -import forge.util.Localizer; import forge.util.CardTranslation; - -import java.util.List; -import java.util.Map; +import forge.util.Localizer; public class FightEffect extends DamageBaseEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java b/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java index 9da08f5d7f5..0dc54e056d0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/FlipCoinEffect.java @@ -1,5 +1,10 @@ package forge.game.ability.effects; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import forge.game.GameObject; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; @@ -11,13 +16,8 @@ import forge.game.player.PlayerController; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; -import forge.util.MyRandom; import forge.util.Localizer; - -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import forge.util.MyRandom; public class FlipCoinEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/GameLossEffect.java b/forge-game/src/main/java/forge/game/ability/effects/GameLossEffect.java index 587aade5e80..4b6960e6b2c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/GameLossEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/GameLossEffect.java @@ -1,13 +1,13 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.player.GameLossReason; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.List; - public class GameLossEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java index b44158828dd..d2d891385c3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.Map; + import com.google.common.collect.Maps; import forge.game.Game; @@ -13,8 +15,6 @@ import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.game.trigger.TriggerType; -import java.util.Map; - public class ImmediateTriggerEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeEffect.java index f68a400a365..181125d1d1d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeEffect.java @@ -1,12 +1,12 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.List; - public class LifeExchangeEffect extends SpellAbilityEffect { // ************************************************************************* diff --git a/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeVariantEffect.java b/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeVariantEffect.java index beeafe366f6..e6180386f37 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeVariantEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/LifeExchangeVariantEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -8,8 +10,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public class LifeExchangeVariantEffect extends SpellAbilityEffect { // ************************************************************************* diff --git a/forge-game/src/main/java/forge/game/ability/effects/LifeGainEffect.java b/forge-game/src/main/java/forge/game/ability/effects/LifeGainEffect.java index 780a7f04838..457a92f8b74 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/LifeGainEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/LifeGainEffect.java @@ -1,14 +1,14 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Lang; -import java.util.List; - public class LifeGainEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/LifeSetEffect.java b/forge-game/src/main/java/forge/game/ability/effects/LifeSetEffect.java index a58f214fa07..3c44569919e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/LifeSetEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/LifeSetEffect.java @@ -1,5 +1,8 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.player.Player; @@ -7,9 +10,6 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.util.Localizer; -import java.util.ArrayList; -import java.util.List; - public class LifeSetEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java index a39274131d2..e63f3f8d6a7 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import static forge.util.TextUtil.toManaString; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.card.ColorSet; import forge.card.MagicColor; import forge.card.mana.ManaAtom; @@ -18,12 +24,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - -import static forge.util.TextUtil.toManaString; - public class ManaEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/ManaReflectedEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ManaReflectedEffect.java index bdf69fbd81f..d211839b692 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ManaReflectedEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ManaReflectedEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.Collection; + +import org.apache.commons.lang3.StringUtils; + import forge.card.ColorSet; import forge.card.MagicColor; import forge.game.ability.AbilityUtils; @@ -10,10 +14,6 @@ import forge.game.spellability.AbilityManaPart; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Collection; - -import org.apache.commons.lang3.StringUtils; - public class ManaReflectedEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java index 7806099a99c..0ec6e676bba 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java @@ -10,10 +10,9 @@ import forge.game.card.CardZoneTable; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; - import forge.util.Lang; -import forge.util.TextUtil; import forge.util.Localizer; +import forge.util.TextUtil; public class MillEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java index a659f2fea1d..2c80b33e8a6 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MultiplePilesEffect.java @@ -1,8 +1,13 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -17,10 +22,6 @@ import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.Localizer; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - public class MultiplePilesEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/MustAttackEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MustAttackEffect.java index cd8b973ba6b..d59c7b4d553 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MustAttackEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MustAttackEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.GameEntity; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -10,8 +12,6 @@ import forge.game.player.PlayerCollection; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import java.util.List; - public class MustAttackEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java index 655a0005b45..0b82ce47491 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MustBlockEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -11,12 +17,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - public class MustBlockEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/MutateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MutateEffect.java index ad8b7b92a6d..f8f7d078f5b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MutateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MutateEffect.java @@ -1,6 +1,7 @@ package forge.game.ability.effects; -import java.util.*; +import java.util.HashMap; +import java.util.List; import com.google.common.collect.Lists; @@ -9,7 +10,11 @@ import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCloneStates; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactory; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; diff --git a/forge-game/src/main/java/forge/game/ability/effects/OwnershipGainEffect.java b/forge-game/src/main/java/forge/game/ability/effects/OwnershipGainEffect.java index dfe384aeee2..2ef16e1a163 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/OwnershipGainEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/OwnershipGainEffect.java @@ -1,12 +1,12 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.List; - public class OwnershipGainEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java index b9e88a9ec51..bcba6217b5a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java @@ -1,5 +1,10 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Maps; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -11,13 +16,8 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; -import forge.util.Localizer; import forge.util.CardTranslation; - -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Maps; +import forge.util.Localizer; /** * PeeakAndReveal is a simplified why of handling something that could diff --git a/forge-game/src/main/java/forge/game/ability/effects/PhasesEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PhasesEffect.java index 0e2ffc2b249..cc4bc385c12 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PhasesEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PhasesEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -8,10 +12,6 @@ import forge.game.card.CardCollectionView; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - public class PhasesEffect extends SpellAbilityEffect { // ****************************************** diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java index 8ffd2c9fd7c..7b2fd9522d7 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java @@ -34,9 +34,9 @@ import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.item.PaperCard; import forge.util.Aggregates; +import forge.util.CardTranslation; import forge.util.Lang; import forge.util.Localizer; -import forge.util.CardTranslation; public class PlayEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java index 89a522c63e5..d777629802e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayLandVariantEffect.java @@ -1,9 +1,12 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.StaticData; import forge.card.CardRulesPredicates; import forge.card.ColorSet; @@ -22,8 +25,6 @@ import forge.game.zone.ZoneType; import forge.item.PaperCard; import forge.util.Aggregates; -import java.util.List; - public class PlayLandVariantEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/PoisonEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PoisonEffect.java index a5baf906e78..d8502b8f679 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PoisonEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PoisonEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityUtils; @@ -10,8 +12,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Lang; -import java.util.List; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/ability/effects/PowerExchangeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PowerExchangeEffect.java index 5b13d75feae..061c1a55190 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PowerExchangeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PowerExchangeEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.GameCommand; import forge.game.Game; import forge.game.ability.SpellAbilityEffect; @@ -7,8 +9,6 @@ import forge.game.card.Card; import forge.game.event.GameEventCardStatsChanged; import forge.game.spellability.SpellAbility; -import java.util.List; - public class PowerExchangeEffect extends SpellAbilityEffect { /* (non-Javadoc) * @see forge.card.abilityfactory.AbilityFactoryAlterLife.SpellEffect#getStackDescription(java.util.Map, forge.card.spellability.SpellAbility) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java index 30ec45b2e90..a92a7bd3dff 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ProtectAllEffect.java @@ -1,7 +1,11 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; + import forge.GameCommand; import forge.card.ColorSet; import forge.card.MagicColor; @@ -16,11 +20,8 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Lang; -import forge.util.TextUtil; import forge.util.Localizer; - -import java.util.ArrayList; -import java.util.List; +import forge.util.TextUtil; public class ProtectAllEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ProtectEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ProtectEffect.java index be1e21a78ca..631ecf9e533 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ProtectEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ProtectEffect.java @@ -1,6 +1,12 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + import com.google.common.collect.Lists; + import forge.GameCommand; import forge.card.MagicColor; import forge.game.Game; @@ -11,13 +17,8 @@ import forge.game.card.CardUtil; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Lang; -import forge.util.TextUtil; import forge.util.Localizer; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; +import forge.util.TextUtil; public class ProtectEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java index 46cef1e27f7..b612e223132 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.Arrays; +import java.util.List; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + import forge.GameCommand; import forge.game.Game; import forge.game.ability.AbilityUtils; @@ -13,12 +19,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.TextUtil; -import java.util.Arrays; -import java.util.List; - -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; - public class PumpAllEffect extends SpellAbilityEffect { private static void applyPumpAll(final SpellAbility sa, final Iterable list, final int a, final int d, diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java index 91de2d26dd1..8865030ae4e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java @@ -1,8 +1,14 @@ package forge.game.ability.effects; +import java.util.Arrays; +import java.util.List; + import com.google.common.base.Function; import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + import forge.GameCommand; import forge.card.CardType; import forge.game.Game; @@ -11,6 +17,7 @@ import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardCollection; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardUtil; import forge.game.event.GameEventCardStatsChanged; import forge.game.keyword.KeywordInterface; @@ -21,13 +28,6 @@ import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.Lang; import forge.util.Localizer; - -import java.util.Arrays; -import java.util.List; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import forge.game.card.CardFactoryUtil; import forge.util.TextUtil; public class PumpEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java index d2528511d08..73983e2ac82 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import com.google.common.collect.Iterables; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -12,10 +16,6 @@ import forge.game.zone.ZoneType; import forge.util.Lang; import forge.util.Localizer; -import java.util.List; - -import com.google.common.collect.Iterables; - public class RearrangeTopOfLibraryEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/RegenerateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RegenerateEffect.java index 1957cb4f14b..5eca60660f9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RegenerateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RegenerateEffect.java @@ -1,11 +1,11 @@ package forge.game.ability.effects; -import forge.game.card.Card; -import forge.game.spellability.SpellAbility; - import java.util.Iterator; import java.util.List; +import forge.game.card.Card; +import forge.game.spellability.SpellAbility; + public class RegenerateEffect extends RegenerateBaseEffect { /* diff --git a/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java index bd773d5ccbb..7d42e9c5988 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RegenerationEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.Map; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.SpellAbilityEffect; @@ -8,8 +10,6 @@ import forge.game.event.GameEventCardRegenerated; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; -import java.util.Map; - public class RegenerationEffect extends SpellAbilityEffect { /* diff --git a/forge-game/src/main/java/forge/game/ability/effects/RemoveFromCombatEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RemoveFromCombatEffect.java index 0f778f4dc01..9778b854703 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RemoveFromCombatEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RemoveFromCombatEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -9,9 +13,6 @@ import forge.game.combat.Combat; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; public class RemoveFromCombatEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java index e236e8d391a..0aec8a69275 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java @@ -1,5 +1,8 @@ package forge.game.ability.effects; +import java.util.Collections; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.CardCollection; import forge.game.player.Player; @@ -9,9 +12,6 @@ import forge.game.zone.ZoneType; import forge.util.Lang; import forge.util.MyRandom; -import java.util.Collections; -import java.util.List; - public class ReorderZoneEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java index ba61da94f50..ef28ac2d20a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java @@ -1,12 +1,20 @@ package forge.game.ability.effects; +import java.util.Collections; +import java.util.List; + import com.google.common.collect.Lists; + import forge.GameCommand; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollectionView; +import forge.game.card.CardDamageMap; +import forge.game.card.CardLists; +import forge.game.card.CardZoneTable; import forge.game.player.Player; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; @@ -14,9 +22,6 @@ import forge.game.spellability.SpellAbilityStackInstance; import forge.game.zone.ZoneType; import forge.util.collect.FCollection; -import java.util.Collections; -import java.util.List; - public class RepeatEachEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ReplaceDamageEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ReplaceDamageEffect.java index eee8cdfbd0a..51ba01cbbad 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ReplaceDamageEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ReplaceDamageEffect.java @@ -2,11 +2,11 @@ package forge.game.ability.effects; import java.util.Map; -import forge.game.ability.AbilityKey; import org.apache.commons.lang3.StringUtils; import forge.game.Game; import forge.game.GameLogEntryType; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; diff --git a/forge-game/src/main/java/forge/game/ability/effects/ReplaceSplitDamageEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ReplaceSplitDamageEffect.java index ccf1fa909e5..802e7076ed8 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ReplaceSplitDamageEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ReplaceSplitDamageEffect.java @@ -3,13 +3,13 @@ package forge.game.ability.effects; import java.util.List; import java.util.Map; -import forge.game.ability.AbilityKey; import org.apache.commons.lang3.StringUtils; import forge.game.Game; import forge.game.GameEntity; import forge.game.GameEntityCounterTable; import forge.game.GameObject; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; diff --git a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java index 1f911bbf429..db7348c9082 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import forge.game.Game; import forge.game.GameAction; import forge.game.GameStage; @@ -16,12 +22,6 @@ import forge.game.zone.ZoneType; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class RestartGameEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java index 872fc5c664e..733338ab552 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RevealEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; @@ -14,10 +18,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.Aggregates; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - public class RevealEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java index 7da4350c919..df7e6aad4e3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardCollectionView; @@ -9,8 +11,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.List; - public class RevealHandEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java index 0380da94df9..ab26ada5ced 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java @@ -1,5 +1,11 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -10,11 +16,6 @@ import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.util.Localizer; import forge.util.MyRandom; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; public class RollDiceEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeAllEffect.java index ad63e69fdf2..5fe245a47b5 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeAllEffect.java @@ -8,7 +8,12 @@ import forge.game.Game; import forge.game.GameActionUtil; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index bef5257778b..2bf1e584204 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -1,5 +1,12 @@ package forge.game.ability.effects; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Maps; + import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GameActionUtil; @@ -7,7 +14,14 @@ import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; +import forge.game.card.CounterEnumType; import forge.game.cost.Cost; import forge.game.player.Player; import forge.game.player.PlayerController.ManaPaymentPurpose; @@ -16,12 +30,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.Maps; - -import java.util.List; -import java.util.Map; public class SacrificeEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java index 74111b0adf6..e60a8f6f07c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java @@ -1,14 +1,15 @@ package forge.game.ability.effects; +import java.util.List; + import com.google.common.collect.Lists; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.List; - public class ScryEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java index 338378c936e..82c37eaf6d9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SetInMotionEffect.java @@ -1,6 +1,8 @@ package forge.game.ability.effects; +import java.util.Map; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; @@ -11,8 +13,6 @@ import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; -import java.util.Map; - public class SetInMotionEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java index 0ee16e55f22..1989de4d3df 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java @@ -14,9 +14,9 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import forge.util.TextUtil; import forge.util.Lang; import forge.util.Localizer; +import forge.util.TextUtil; public class SetStateEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java index b774c93d2d2..0b438fc57c3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java @@ -1,14 +1,14 @@ package forge.game.ability.effects; +import java.util.Iterator; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.util.Localizer; -import java.util.Iterator; -import java.util.List; - public class ShuffleEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java index 41bb54b3110..6de528ed805 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SkipTurnEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; @@ -15,8 +17,6 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.Lang; -import java.util.List; - public class SkipTurnEffect extends SpellAbilityEffect { @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/SubgameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SubgameEffect.java index 071a12eeae3..87a6b699243 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SubgameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SubgameEffect.java @@ -1,6 +1,8 @@ package forge.game.ability.effects; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import com.google.common.collect.Lists; @@ -11,8 +13,8 @@ import forge.game.ability.ApiType; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardCollectionView; -import forge.game.event.GameEventSubgameStart; import forge.game.event.GameEventSubgameEnd; +import forge.game.event.GameEventSubgameStart; import forge.game.player.Player; import forge.game.player.PlayerController; import forge.game.player.RegisteredPlayer; diff --git a/forge-game/src/main/java/forge/game/ability/effects/SwitchBlockEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SwitchBlockEffect.java index 1605a7d24d4..8fbcf96ad04 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SwitchBlockEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SwitchBlockEffect.java @@ -1,6 +1,8 @@ package forge.game.ability.effects; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import forge.game.Game; import forge.game.ability.AbilityKey; diff --git a/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java index 1210f4bc673..699d0146f5e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -11,8 +13,6 @@ import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public class TapAllEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapAllEffect.java index d29246da9f4..903fb68852d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapAllEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; @@ -10,11 +14,8 @@ import forge.game.player.Player; import forge.game.player.PlayerController; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import forge.util.collect.FCollection; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; +import forge.util.collect.FCollection; public class TapOrUntapAllEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java index b3e9658df00..203fd0a96e3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java @@ -1,15 +1,16 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.player.PlayerController; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; -import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; import forge.util.CardTranslation; - -import java.util.List; +import forge.util.Localizer; public class TapOrUntapEffect extends SpellAbilityEffect { diff --git a/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java index 66735f376a8..8ceb22b0f2a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TokenEffect.java @@ -19,12 +19,11 @@ package forge.game.ability.effects; import org.apache.commons.lang3.mutable.MutableBoolean; -import forge.game.card.token.TokenInfo; - import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardZoneTable; +import forge.game.card.token.TokenInfo; import forge.game.event.GameEventCombatChanged; import forge.game.event.GameEventTokenCreated; import forge.game.player.Player; diff --git a/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java b/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java index 3090badad37..b73c145b42a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java @@ -3,7 +3,6 @@ package forge.game.ability.effects; import java.util.Arrays; import java.util.List; -import forge.game.card.*; import org.apache.commons.lang3.mutable.MutableBoolean; import com.google.common.collect.Iterables; @@ -16,6 +15,11 @@ import forge.game.GameEntity; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; +import forge.game.card.CounterType; import forge.game.card.token.TokenInfo; import forge.game.event.GameEventCardStatsChanged; import forge.game.player.Player; diff --git a/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java index 5c9efa9e3d0..ddf0fe0f741 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TwoPilesEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; @@ -13,8 +15,6 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.Localizer; -import java.util.List; - public class TwoPilesEffect extends SpellAbilityEffect { // ************************************************************************* diff --git a/forge-game/src/main/java/forge/game/ability/effects/UnattachAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/UnattachAllEffect.java index 708e267ae48..e3f834be626 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/UnattachAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/UnattachAllEffect.java @@ -1,5 +1,9 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.GameEntity; import forge.game.GameObject; @@ -10,10 +14,6 @@ import forge.game.card.CardLists; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - public class UnattachAllEffect extends SpellAbilityEffect { private static void handleUnattachment(final GameEntity o, final Card cardToUnattach) { if (cardToUnattach.isAttachment() && o.hasCardAttachment(cardToUnattach)) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/UnattachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/UnattachEffect.java index d70af3567f2..8192cd5dec0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/UnattachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/UnattachEffect.java @@ -1,11 +1,12 @@ package forge.game.ability.effects; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; public class UnattachEffect extends SpellAbilityEffect { /* (non-Javadoc) diff --git a/forge-game/src/main/java/forge/game/ability/effects/UntapAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/UntapAllEffect.java index e825f1e03d0..452152b589b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/UntapAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/UntapAllEffect.java @@ -1,5 +1,7 @@ package forge.game.ability.effects; +import java.util.List; + import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -10,8 +12,6 @@ import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public class UntapAllEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java b/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java index 415650827c0..e175658c782 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/VoteEffect.java @@ -6,7 +6,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import forge.game.ability.AbilityKey; import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ArrayListMultimap; @@ -16,6 +15,7 @@ import com.google.common.collect.Maps; import forge.game.Game; import forge.game.ability.AbilityFactory; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 5510f104153..29a69a3d303 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -17,18 +17,63 @@ */ package forge.game.card; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.NavigableMap; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.mutable.MutableBoolean; +import org.apache.commons.lang3.tuple.Pair; + import com.esotericsoftware.minlog.Log; import com.google.common.base.Predicates; import com.google.common.base.Strings; -import com.google.common.collect.*; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableTable; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.MultimapBuilder; +import com.google.common.collect.Sets; +import com.google.common.collect.Table; +import com.google.common.collect.TreeBasedTable; + import forge.GameCommand; import forge.ImageKeys; import forge.StaticData; -import forge.card.*; +import forge.card.CardChangedType; import forge.card.CardDb.SetPreference; +import forge.card.CardEdition; +import forge.card.CardRarity; +import forge.card.CardRules; +import forge.card.CardSplitType; +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.CardTypeView; +import forge.card.ColorSet; +import forge.card.ICardFace; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; -import forge.game.*; +import forge.game.CardTraitBase; +import forge.game.Direction; +import forge.game.EvenOdd; +import forge.game.Game; +import forge.game.GameActionUtil; +import forge.game.GameEntity; +import forge.game.GameEntityCounterTable; +import forge.game.GlobalRuleChange; +import forge.game.IHasSVars; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; @@ -36,16 +81,31 @@ import forge.game.ability.ApiType; import forge.game.combat.Combat; import forge.game.cost.Cost; import forge.game.cost.CostSacrifice; -import forge.game.event.*; +import forge.game.event.GameEventCardAttachment; +import forge.game.event.GameEventCardCounters; +import forge.game.event.GameEventCardDamaged; import forge.game.event.GameEventCardDamaged.DamageType; -import forge.game.keyword.*; +import forge.game.event.GameEventCardPhased; +import forge.game.event.GameEventCardStatsChanged; +import forge.game.event.GameEventCardTapped; +import forge.game.event.GameEventTokenStateUpdate; +import forge.game.keyword.Companion; +import forge.game.keyword.Keyword; +import forge.game.keyword.KeywordCollection; +import forge.game.keyword.KeywordInterface; +import forge.game.keyword.KeywordsChange; import forge.game.player.Player; import forge.game.player.PlayerCollection; import forge.game.replacement.ReplaceMoved; import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementResult; import forge.game.replacement.ReplacementType; -import forge.game.spellability.*; +import forge.game.spellability.LandAbility; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityPredicates; +import forge.game.spellability.SpellPermanent; +import forge.game.spellability.TargetRestrictions; import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerType; @@ -55,15 +115,13 @@ import forge.item.IPaperCard; import forge.item.PaperCard; import forge.trackable.TrackableProperty; import forge.trackable.Tracker; -import forge.util.*; +import forge.util.CardTranslation; +import forge.util.Lang; +import forge.util.Localizer; +import forge.util.TextUtil; +import forge.util.Visitor; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.mutable.MutableBoolean; -import org.apache.commons.lang3.tuple.Pair; -import java.util.*; -import java.util.Map.Entry; - import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; diff --git a/forge-game/src/main/java/forge/game/card/CardCloneStates.java b/forge-game/src/main/java/forge/game/card/CardCloneStates.java index eb3a85762e7..a006a87d93e 100644 --- a/forge-game/src/main/java/forge/game/card/CardCloneStates.java +++ b/forge-game/src/main/java/forge/game/card/CardCloneStates.java @@ -1,12 +1,13 @@ package forge.game.card; +import java.util.Map; + import com.google.common.collect.ForwardingMap; import com.google.common.collect.Maps; + import forge.card.CardStateName; import forge.game.CardTraitBase; -import java.util.Map; - public class CardCloneStates extends ForwardingMap { private Map dataMap = Maps.newEnumMap(CardStateName.class); diff --git a/forge-game/src/main/java/forge/game/card/CardDamageHistory.java b/forge-game/src/main/java/forge/game/card/CardDamageHistory.java index bb7c720cc85..1afbe5f1fe0 100644 --- a/forge-game/src/main/java/forge/game/card/CardDamageHistory.java +++ b/forge-game/src/main/java/forge/game/card/CardDamageHistory.java @@ -1,13 +1,13 @@ package forge.game.card; -import forge.game.GameEntity; -import forge.game.player.Player; - import java.util.List; import com.google.common.collect.Lists; +import forge.game.GameEntity; +import forge.game.player.Player; + /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/card/CardFactory.java b/forge-game/src/main/java/forge/game/card/CardFactory.java index 79eb1792b51..9034d6b19df 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -17,12 +17,23 @@ */ package forge.game.card; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; + import forge.ImageKeys; import forge.StaticData; -import forge.card.*; +import forge.card.CardRules; +import forge.card.CardSplitType; +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.ICardFace; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.game.CardTraitBase; import forge.game.Game; @@ -30,7 +41,12 @@ import forge.game.ability.AbilityFactory; import forge.game.cost.Cost; import forge.game.player.Player; import forge.game.replacement.ReplacementHandler; -import forge.game.spellability.*; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityCondition; +import forge.game.spellability.SpellAbilityRestriction; +import forge.game.spellability.SpellPermanent; import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; @@ -40,11 +56,6 @@ import forge.item.PaperCard; import forge.util.CardTranslation; import forge.util.TextUtil; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - /** *

* AbstractCardFactory class. diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 039a634db18..5fdf4509d4e 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -17,6 +17,18 @@ */ package forge.game.card; +import java.util.Arrays; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -25,7 +37,12 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import forge.card.*; + +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.ColorSet; +import forge.card.ICardFace; +import forge.card.MagicColor; import forge.card.mana.ManaAtom; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; @@ -47,7 +64,13 @@ import forge.game.player.PlayerCollection; import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementHandler; import forge.game.replacement.ReplacementLayer; -import forge.game.spellability.*; +import forge.game.spellability.AbilityStatic; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.AlternativeCost; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.Spell; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityRestriction; import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; @@ -57,12 +80,6 @@ import forge.util.Expressions; import forge.util.Lang; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; -import java.util.Map.Entry; - import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; diff --git a/forge-game/src/main/java/forge/game/card/CardLists.java b/forge-game/src/main/java/forge/game/card/CardLists.java index e99723f2fc3..c08fd8c6046 100644 --- a/forge-game/src/main/java/forge/game/card/CardLists.java +++ b/forge-game/src/main/java/forge/game/card/CardLists.java @@ -30,8 +30,8 @@ import forge.game.CardTraitBase; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import forge.util.collect.FCollectionView; import forge.util.MyRandom; +import forge.util.collect.FCollectionView; /** *

diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index abf93452972..1decd223815 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1,5 +1,10 @@ package forge.game.card; +import java.util.Collections; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -29,10 +34,6 @@ import forge.game.zone.ZoneType; import forge.util.Expressions; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.StringUtils; - -import java.util.Collections; -import java.util.List; public class CardProperty { diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index 708a20ec035..cd6b659ba8f 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -17,10 +17,20 @@ */ package forge.game.card; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; -import forge.card.*; + +import forge.card.CardEdition; +import forge.card.CardRarity; +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.CardTypeView; +import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; import forge.game.CardTraitBase; @@ -40,11 +50,6 @@ import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index 5198cfe69f5..6ab4c71deff 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -17,7 +17,16 @@ */ package forge.game.card; -import com.google.common.collect.*; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.collect.Table; + import forge.ImageKeys; import forge.card.CardStateName; import forge.card.CardType; @@ -30,17 +39,15 @@ import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.player.Player; -import forge.game.spellability.*; +import forge.game.spellability.OptionalCost; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.TextUtil; import forge.util.collect.FCollection; import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; -import java.util.List; -import java.util.Map; -import java.util.Set; - public final class CardUtil { // disable instantiation private CardUtil() { } diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index cdf23125bcb..1466b4313ac 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -1,11 +1,25 @@ package forge.game.card; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import forge.ImageKeys; -import forge.card.*; +import forge.card.CardEdition; +import forge.card.CardRarity; +import forge.card.CardRules; +import forge.card.CardStateName; +import forge.card.CardType; +import forge.card.CardTypeView; +import forge.card.ColorSet; import forge.card.mana.ManaCost; import forge.game.Direction; import forge.game.EvenOdd; @@ -21,18 +35,11 @@ import forge.trackable.TrackableCollection; import forge.trackable.TrackableObject; import forge.trackable.TrackableProperty; import forge.trackable.Tracker; +import forge.util.CardTranslation; import forge.util.Lang; import forge.util.Localizer; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.CardTranslation; -import org.apache.commons.lang3.StringUtils; - -import java.util.EnumSet; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; public class CardView extends GameEntityView { private static final long serialVersionUID = -3624090829028979255L; diff --git a/forge-game/src/main/java/forge/game/card/token/TokenInfo.java b/forge-game/src/main/java/forge/game/card/token/TokenInfo.java index 7d6ca33a11c..300efe36677 100644 --- a/forge-game/src/main/java/forge/game/card/token/TokenInfo.java +++ b/forge-game/src/main/java/forge/game/card/token/TokenInfo.java @@ -1,8 +1,15 @@ package forge.game.card.token; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Joiner; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.ImageKeys; import forge.StaticData; import forge.card.CardType; @@ -20,12 +27,6 @@ import forge.game.replacement.ReplacementType; import forge.game.spellability.SpellAbility; import forge.item.PaperToken; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; -import java.util.Map; - public class TokenInfo { final String name; final String imageName; diff --git a/forge-game/src/main/java/forge/game/combat/AttackConstraints.java b/forge-game/src/main/java/forge/game/combat/AttackConstraints.java index cee20c3d256..4b84460686e 100644 --- a/forge-game/src/main/java/forge/game/combat/AttackConstraints.java +++ b/forge-game/src/main/java/forge/game/combat/AttackConstraints.java @@ -1,24 +1,41 @@ package forge.game.combat; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; -import com.google.common.collect.*; +import com.google.common.collect.Collections2; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import com.google.common.primitives.Ints; + import forge.card.MagicColor; import forge.game.Game; import forge.game.GameEntity; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CounterEnumType; import forge.game.zone.ZoneType; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; import forge.util.maps.LinkedHashMapToAmount; import forge.util.maps.MapToAmount; import forge.util.maps.MapToAmountUtil; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; -import java.util.Map.Entry; public class AttackConstraints { diff --git a/forge-game/src/main/java/forge/game/combat/AttackRequirement.java b/forge-game/src/main/java/forge/game/combat/AttackRequirement.java index 2841352d515..bdbf033b9e2 100644 --- a/forge-game/src/main/java/forge/game/combat/AttackRequirement.java +++ b/forge-game/src/main/java/forge/game/combat/AttackRequirement.java @@ -1,7 +1,14 @@ package forge.game.combat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.collect.Lists; + import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; @@ -15,11 +22,6 @@ import forge.util.collect.FCollectionView; import forge.util.maps.LinkedHashMapToAmount; import forge.util.maps.MapToAmount; import forge.util.maps.MapToAmountUtil; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; public class AttackRequirement { diff --git a/forge-game/src/main/java/forge/game/combat/Combat.java b/forge-game/src/main/java/forge/game/combat/Combat.java index 6c4265507f9..4a8e4409de8 100644 --- a/forge-game/src/main/java/forge/game/combat/Combat.java +++ b/forge-game/src/main/java/forge/game/combat/Combat.java @@ -17,24 +17,43 @@ */ package forge.game.combat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; -import com.google.common.collect.*; -import forge.game.*; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.Table; + +import forge.game.Game; +import forge.game.GameEntity; +import forge.game.GameEntityCounterTable; +import forge.game.GameLogEntryType; +import forge.game.GameObjectMap; import forge.game.ability.AbilityKey; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardDamageMap; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.replacement.ReplacementType; import forge.game.spellability.SpellAbilityStackInstance; import forge.game.trigger.TriggerType; import forge.util.CardTranslation; +import forge.util.Localizer; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import forge.util.Localizer; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; -import java.util.Map.Entry; /** *

diff --git a/forge-game/src/main/java/forge/game/combat/CombatUtil.java b/forge-game/src/main/java/forge/game/combat/CombatUtil.java index f665514681d..e03eb011077 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-game/src/main/java/forge/game/combat/CombatUtil.java @@ -17,9 +17,16 @@ */ package forge.game.combat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.card.CardType; import forge.card.MagicColor; import forge.card.mana.ManaCost; @@ -27,7 +34,12 @@ import forge.game.Game; import forge.game.GameEntity; import forge.game.GlobalRuleChange; import forge.game.ability.AbilityKey; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.cost.Cost; import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; @@ -43,11 +55,6 @@ import forge.util.TextUtil; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; import forge.util.maps.MapToAmount; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** *

diff --git a/forge-game/src/main/java/forge/game/combat/CombatView.java b/forge-game/src/main/java/forge/game/combat/CombatView.java index 94863af1395..4e2190365b2 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatView.java +++ b/forge-game/src/main/java/forge/game/combat/CombatView.java @@ -5,7 +5,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; - import java.util.concurrent.ConcurrentHashMap; import com.google.common.collect.Lists; diff --git a/forge-game/src/main/java/forge/game/combat/GlobalAttackRestrictions.java b/forge-game/src/main/java/forge/game/combat/GlobalAttackRestrictions.java index da168fe0cab..20d06279ce1 100644 --- a/forge-game/src/main/java/forge/game/combat/GlobalAttackRestrictions.java +++ b/forge-game/src/main/java/forge/game/combat/GlobalAttackRestrictions.java @@ -1,6 +1,10 @@ package forge.game.combat; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.primitives.Ints; + import forge.game.Game; import forge.game.GameEntity; import forge.game.GlobalRuleChange; @@ -14,9 +18,6 @@ import forge.util.maps.LinkedHashMapToAmount; import forge.util.maps.MapToAmount; import forge.util.maps.MapToAmountUtil; -import java.util.Map; -import java.util.Map.Entry; - public class GlobalAttackRestrictions { private final int max; diff --git a/forge-game/src/main/java/forge/game/cost/CostAddMana.java b/forge-game/src/main/java/forge/game/cost/CostAddMana.java index 81ea129bce2..080fb3db26d 100644 --- a/forge-game/src/main/java/forge/game/cost/CostAddMana.java +++ b/forge-game/src/main/java/forge/game/cost/CostAddMana.java @@ -20,9 +20,9 @@ package forge.game.cost; import java.util.ArrayList; import java.util.List; -import forge.card.mana.ManaAtom; import org.apache.commons.lang3.StringUtils; +import forge.card.mana.ManaAtom; import forge.game.card.Card; import forge.game.mana.Mana; import forge.game.player.Player; diff --git a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java index 4b861642602..7bad854935a 100644 --- a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java +++ b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java @@ -1,5 +1,13 @@ package forge.game.cost; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Lists; + import forge.card.CardStateName; import forge.card.mana.ManaAtom; import forge.card.mana.ManaCost; @@ -7,7 +15,14 @@ import forge.card.mana.ManaCostShard; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; import forge.game.mana.ManaCostBeingPaid; @@ -19,13 +34,6 @@ import forge.game.staticability.StaticAbility; import forge.game.zone.Zone; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import com.google.common.collect.Lists; -import org.apache.commons.lang3.StringUtils; - public class CostAdjustment { public static Cost adjust(final Cost cost, final SpellAbility sa) { diff --git a/forge-game/src/main/java/forge/game/cost/CostDraw.java b/forge-game/src/main/java/forge/game/cost/CostDraw.java index 543215712c4..4ec345316b1 100644 --- a/forge-game/src/main/java/forge/game/cost/CostDraw.java +++ b/forge-game/src/main/java/forge/game/cost/CostDraw.java @@ -17,13 +17,13 @@ */ package forge.game.cost; +import java.util.ArrayList; +import java.util.List; + import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.ArrayList; -import java.util.List; - /** * The Class CostDraw. */ diff --git a/forge-game/src/main/java/forge/game/cost/CostGainLife.java b/forge-game/src/main/java/forge/game/cost/CostGainLife.java index 75e97f0c5f9..463e4f5ef90 100644 --- a/forge-game/src/main/java/forge/game/cost/CostGainLife.java +++ b/forge-game/src/main/java/forge/game/cost/CostGainLife.java @@ -17,13 +17,13 @@ */ package forge.game.cost; +import java.util.ArrayList; +import java.util.List; + import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.ArrayList; -import java.util.List; - /** * The Class CostGainLife. */ diff --git a/forge-game/src/main/java/forge/game/cost/CostPart.java b/forge-game/src/main/java/forge/game/cost/CostPart.java index 41434860833..94c11232f59 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPart.java +++ b/forge-game/src/main/java/forge/game/cost/CostPart.java @@ -17,16 +17,16 @@ */ package forge.game.cost; +import java.io.Serializable; + +import org.apache.commons.lang3.StringUtils; + import forge.game.CardTraitBase; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import org.apache.commons.lang3.StringUtils; - -import java.io.Serializable; - /** * The Class CostPart. */ diff --git a/forge-game/src/main/java/forge/game/cost/CostPayment.java b/forge-game/src/main/java/forge/game/cost/CostPayment.java index c4bd1b0446e..bc6fb357121 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPayment.java +++ b/forge-game/src/main/java/forge/game/cost/CostPayment.java @@ -17,17 +17,18 @@ */ package forge.game.cost; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.card.Card; import forge.game.mana.ManaConversionMatrix; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; -import java.util.Map; - /** *

* Cost_Payment class. diff --git a/forge-game/src/main/java/forge/game/cost/CostPutCounter.java b/forge-game/src/main/java/forge/game/cost/CostPutCounter.java index b2a5525a0e1..c6438d986b4 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPutCounter.java +++ b/forge-game/src/main/java/forge/game/cost/CostPutCounter.java @@ -17,6 +17,8 @@ */ package forge.game.cost; +import java.util.List; + import forge.game.GameEntityCounterTable; import forge.game.card.Card; import forge.game.card.CardLists; @@ -27,8 +29,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - /** * The Class CostPutCounter. */ diff --git a/forge-game/src/main/java/forge/game/cost/CostRemoveAnyCounter.java b/forge-game/src/main/java/forge/game/cost/CostRemoveAnyCounter.java index 0d6c733135f..ab780854b28 100644 --- a/forge-game/src/main/java/forge/game/cost/CostRemoveAnyCounter.java +++ b/forge-game/src/main/java/forge/game/cost/CostRemoveAnyCounter.java @@ -17,15 +17,18 @@ */ package forge.game.cost; +import com.google.common.collect.Table; + import forge.game.GameEntity; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CounterType; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import com.google.common.collect.Table; - /** * The Class CostRemoveAnyCounter. */ diff --git a/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java b/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java index 41001afdb7e..44ae5425fb4 100644 --- a/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java +++ b/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java @@ -17,6 +17,8 @@ */ package forge.game.cost; +import java.util.List; + import com.google.common.collect.Lists; import forge.game.card.Card; @@ -27,8 +29,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - /** * The Class CostRemoveCounter. */ diff --git a/forge-game/src/main/java/forge/game/cost/CostReveal.java b/forge-game/src/main/java/forge/game/cost/CostReveal.java index 51e6395da3b..882af6c1920 100644 --- a/forge-game/src/main/java/forge/game/cost/CostReveal.java +++ b/forge-game/src/main/java/forge/game/cost/CostReveal.java @@ -18,6 +18,7 @@ package forge.game.cost; import com.google.common.base.Predicate; + import forge.game.GameLogEntryType; import forge.game.card.Card; import forge.game.card.CardCollection; diff --git a/forge-game/src/main/java/forge/game/cost/CostUnattach.java b/forge-game/src/main/java/forge/game/cost/CostUnattach.java index b80030ea5f5..4df6bb03b8c 100644 --- a/forge-game/src/main/java/forge/game/cost/CostUnattach.java +++ b/forge-game/src/main/java/forge/game/cost/CostUnattach.java @@ -17,14 +17,14 @@ */ package forge.game.cost; +import java.util.List; + import forge.game.card.Card; import forge.game.card.CardLists; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.TextUtil; -import java.util.List; - /** * The Class CostUnattach. */ diff --git a/forge-game/src/main/java/forge/game/cost/PaymentDecision.java b/forge-game/src/main/java/forge/game/cost/PaymentDecision.java index 17c35140a44..743a4160d2e 100644 --- a/forge-game/src/main/java/forge/game/cost/PaymentDecision.java +++ b/forge-game/src/main/java/forge/game/cost/PaymentDecision.java @@ -1,5 +1,7 @@ package forge.game.cost; +import java.util.List; + import forge.game.GameEntityCounterTable; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -8,8 +10,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.TextUtil; -import java.util.List; - public class PaymentDecision { public int c = 0; public String type; diff --git a/forge-game/src/main/java/forge/game/event/GameEventAnteCardsSelected.java b/forge-game/src/main/java/forge/game/event/GameEventAnteCardsSelected.java index 10eac9f5918..de91fa47733 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventAnteCardsSelected.java +++ b/forge-game/src/main/java/forge/game/event/GameEventAnteCardsSelected.java @@ -1,6 +1,7 @@ package forge.game.event; import com.google.common.collect.Multimap; + import forge.game.card.Card; import forge.game.player.Player; diff --git a/forge-game/src/main/java/forge/game/event/GameEventAttackersDeclared.java b/forge-game/src/main/java/forge/game/event/GameEventAttackersDeclared.java index 199d79f2a30..561598eaac1 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventAttackersDeclared.java +++ b/forge-game/src/main/java/forge/game/event/GameEventAttackersDeclared.java @@ -1,6 +1,7 @@ package forge.game.event; import com.google.common.collect.Multimap; + import forge.game.GameEntity; import forge.game.card.Card; import forge.game.player.Player; diff --git a/forge-game/src/main/java/forge/game/event/GameEventBlockersDeclared.java b/forge-game/src/main/java/forge/game/event/GameEventBlockersDeclared.java index 26b1bcaae18..87a78679c28 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventBlockersDeclared.java +++ b/forge-game/src/main/java/forge/game/event/GameEventBlockersDeclared.java @@ -1,5 +1,10 @@ package forge.game.event; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import forge.game.GameEntity; import forge.game.card.Card; import forge.game.player.Player; @@ -7,11 +12,6 @@ import forge.util.Lang; import forge.util.TextUtil; import forge.util.maps.MapOfLists; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/event/GameEventCardStatsChanged.java b/forge-game/src/main/java/forge/game/event/GameEventCardStatsChanged.java index e1bb2138ffe..b2e16e6e347 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventCardStatsChanged.java +++ b/forge-game/src/main/java/forge/game/event/GameEventCardStatsChanged.java @@ -1,12 +1,14 @@ package forge.game.event; -import com.google.common.collect.Iterables; -import forge.game.card.Card; -import org.apache.commons.lang3.StringUtils; - import java.util.Arrays; import java.util.Collection; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Iterables; + +import forge.game.card.Card; + /** * This means card's characteristics have changed on server, clients must re-request them */ diff --git a/forge-game/src/main/java/forge/game/event/GameEventCombatEnded.java b/forge-game/src/main/java/forge/game/event/GameEventCombatEnded.java index d5e53c157b4..b3f45a44280 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventCombatEnded.java +++ b/forge-game/src/main/java/forge/game/event/GameEventCombatEnded.java @@ -1,9 +1,9 @@ package forge.game.event; -import forge.game.card.Card; - import java.util.List; +import forge.game.card.Card; + public class GameEventCombatEnded extends GameEvent { public final List attackers; diff --git a/forge-game/src/main/java/forge/game/event/GameEventCombatUpdate.java b/forge-game/src/main/java/forge/game/event/GameEventCombatUpdate.java index ce71cea0105..50989e9d7eb 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventCombatUpdate.java +++ b/forge-game/src/main/java/forge/game/event/GameEventCombatUpdate.java @@ -1,9 +1,9 @@ package forge.game.event; -import forge.game.card.Card; - import java.util.List; +import forge.game.card.Card; + public class GameEventCombatUpdate extends GameEvent { public final List attackers; diff --git a/forge-game/src/main/java/forge/game/event/GameEventGameOutcome.java b/forge-game/src/main/java/forge/game/event/GameEventGameOutcome.java index 978f768873f..3d9210555fa 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventGameOutcome.java +++ b/forge-game/src/main/java/forge/game/event/GameEventGameOutcome.java @@ -1,9 +1,9 @@ package forge.game.event; -import forge.game.GameOutcome; - import java.util.Collection; +import forge.game.GameOutcome; + public class GameEventGameOutcome extends GameEvent { public final GameOutcome result; public final Collection history; diff --git a/forge-game/src/main/java/forge/game/event/GameEventTokenStateUpdate.java b/forge-game/src/main/java/forge/game/event/GameEventTokenStateUpdate.java index a0e10e652c8..d50826be1f2 100644 --- a/forge-game/src/main/java/forge/game/event/GameEventTokenStateUpdate.java +++ b/forge-game/src/main/java/forge/game/event/GameEventTokenStateUpdate.java @@ -1,11 +1,11 @@ package forge.game.event; -import forge.game.card.Card; - import java.util.Arrays; import java.util.Collection; import java.util.List; +import forge.game.card.Card; + public class GameEventTokenStateUpdate extends GameEvent { public final Collection cards; diff --git a/forge-game/src/main/java/forge/game/keyword/Keyword.java b/forge-game/src/main/java/forge/game/keyword/Keyword.java index e9db55ac11a..f27e0dfc56b 100644 --- a/forge-game/src/main/java/forge/game/keyword/Keyword.java +++ b/forge-game/src/main/java/forge/game/keyword/Keyword.java @@ -1,6 +1,14 @@ package forge.game.keyword; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; import forge.StaticData; import forge.game.card.Card; diff --git a/forge-game/src/main/java/forge/game/keyword/KeywordInstance.java b/forge-game/src/main/java/forge/game/keyword/KeywordInstance.java index b54207e8dcd..58fb8f511a0 100644 --- a/forge-game/src/main/java/forge/game/keyword/KeywordInstance.java +++ b/forge-game/src/main/java/forge/game/keyword/KeywordInstance.java @@ -2,8 +2,8 @@ package forge.game.keyword; import java.util.Collection; import java.util.List; -import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.regex.Pattern; import com.google.common.collect.Lists; diff --git a/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java b/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java index c46309f38bd..488645a784d 100644 --- a/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java +++ b/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java @@ -17,6 +17,17 @@ */ package forge.game.mana; +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -29,11 +40,6 @@ import forge.card.mana.ManaAtom; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; -import java.util.*; -import java.util.Map.Entry; - -import org.apache.commons.lang3.StringUtils; - /** *

* ManaCostBeingPaid class. diff --git a/forge-game/src/main/java/forge/game/mana/ManaPool.java b/forge-game/src/main/java/forge/game/mana/ManaPool.java index 013ab399c3a..c78f1cf66bb 100644 --- a/forge-game/src/main/java/forge/game/mana/ManaPool.java +++ b/forge-game/src/main/java/forge/game/mana/ManaPool.java @@ -17,9 +17,17 @@ */ package forge.game.mana; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; + import forge.card.MagicColor; import forge.card.mana.ManaAtom; import forge.card.mana.ManaCostShard; @@ -32,9 +40,6 @@ import forge.game.player.Player; import forge.game.spellability.AbilityManaPart; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import org.apache.commons.lang3.StringUtils; - -import java.util.*; /** *

diff --git a/forge-game/src/main/java/forge/game/mulligan/VancouverMulligan.java b/forge-game/src/main/java/forge/game/mulligan/VancouverMulligan.java index 6e02409fc54..c51a87ff6f6 100644 --- a/forge-game/src/main/java/forge/game/mulligan/VancouverMulligan.java +++ b/forge-game/src/main/java/forge/game/mulligan/VancouverMulligan.java @@ -1,6 +1,7 @@ package forge.game.mulligan; import com.google.common.collect.ImmutableList; + import forge.game.player.Player; import forge.game.zone.ZoneType; diff --git a/forge-game/src/main/java/forge/game/phase/Phase.java b/forge-game/src/main/java/forge/game/phase/Phase.java index 3a84791af1c..3c950a017b9 100644 --- a/forge-game/src/main/java/forge/game/phase/Phase.java +++ b/forge-game/src/main/java/forge/game/phase/Phase.java @@ -17,15 +17,15 @@ */ package forge.game.phase; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + import com.google.common.collect.Lists; import forge.GameCommand; import forge.game.player.Player; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - /** *

diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index 65a82c5fbce..b472584cac8 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -17,12 +17,28 @@ */ package forge.game.phase; +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Stack; + +import org.apache.commons.lang3.time.StopWatch; + import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; + import forge.card.mana.ManaCost; -import forge.game.*; +import forge.game.Game; +import forge.game.GameEntity; +import forge.game.GameEntityCounterTable; +import forge.game.GameStage; +import forge.game.GameType; +import forge.game.GlobalRuleChange; import forge.game.ability.AbilityKey; import forge.game.ability.effects.SkipPhaseEffect; import forge.game.card.Card; @@ -34,14 +50,25 @@ import forge.game.card.CounterEnumType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; -import forge.game.event.*; +import forge.game.event.GameEventAttackersDeclared; +import forge.game.event.GameEventBlockersDeclared; +import forge.game.event.GameEventCardStatsChanged; +import forge.game.event.GameEventCombatChanged; +import forge.game.event.GameEventCombatEnded; +import forge.game.event.GameEventGameRestarted; +import forge.game.event.GameEventPlayerPriority; +import forge.game.event.GameEventPlayerStatsChanged; +import forge.game.event.GameEventTokenStateUpdate; +import forge.game.event.GameEventTurnBegan; +import forge.game.event.GameEventTurnEnded; +import forge.game.event.GameEventTurnPhase; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.player.PlayerController.ManaPaymentPurpose; import forge.game.replacement.ReplacementResult; import forge.game.replacement.ReplacementType; -import forge.game.spellability.SpellAbility; import forge.game.spellability.LandAbility; +import forge.game.spellability.SpellAbility; import forge.game.staticability.StaticAbility; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerType; @@ -51,9 +78,6 @@ import forge.util.CollectionSuppliers; import forge.util.TextUtil; import forge.util.maps.HashMapOfLists; import forge.util.maps.MapOfLists; -import org.apache.commons.lang3.time.StopWatch; - -import java.util.*; /** diff --git a/forge-game/src/main/java/forge/game/phase/PhaseType.java b/forge-game/src/main/java/forge/game/phase/PhaseType.java index 8bfad8c67ab..045a2ce1688 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseType.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseType.java @@ -1,11 +1,16 @@ package forge.game.phase; -import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.EnumSet; +import java.util.List; +import java.util.Set; + import org.apache.commons.lang3.StringUtils; -import forge.util.Localizer; +import com.google.common.collect.Lists; -import java.util.*; +import forge.util.Localizer; public enum PhaseType { diff --git a/forge-game/src/main/java/forge/game/phase/Untap.java b/forge-game/src/main/java/forge/game/phase/Untap.java index bb926a0866a..e5f2ffdc0e6 100644 --- a/forge-game/src/main/java/forge/game/phase/Untap.java +++ b/forge-game/src/main/java/forge/game/phase/Untap.java @@ -17,10 +17,16 @@ */ package forge.game.phase; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.card.CardType; import forge.game.Game; import forge.game.ability.ApiType; @@ -35,11 +41,6 @@ import forge.game.player.PlayerController.BinaryChoiceType; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - /** *

* Untap class. diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index fed95cea50f..8a4e903b7ba 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -17,9 +17,32 @@ */ package forge.game.player; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.NavigableMap; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.concurrent.ConcurrentSkipListMap; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicates; -import com.google.common.collect.*; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; + import forge.ImageKeys; import forge.LobbyPlayer; import forge.card.CardStateName; @@ -28,17 +51,49 @@ import forge.card.ColorSet; import forge.card.MagicColor; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; -import forge.game.*; +import forge.game.CardTraitBase; +import forge.game.Game; +import forge.game.GameActionUtil; +import forge.game.GameEntity; +import forge.game.GameEntityCounterTable; +import forge.game.GameLogEntryType; +import forge.game.GameStage; +import forge.game.GameType; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.DetachedCardEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardDamageMap; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; -import forge.game.event.*; -import forge.game.keyword.*; +import forge.game.card.CardUtil; +import forge.game.card.CardZoneTable; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; +import forge.game.event.GameEventCardSacrificed; +import forge.game.event.GameEventLandPlayed; +import forge.game.event.GameEventManaBurn; +import forge.game.event.GameEventMulligan; +import forge.game.event.GameEventPlayerControl; +import forge.game.event.GameEventPlayerCounters; +import forge.game.event.GameEventPlayerDamaged; +import forge.game.event.GameEventPlayerLivesChanged; +import forge.game.event.GameEventPlayerPoisoned; +import forge.game.event.GameEventPlayerStatsChanged; +import forge.game.event.GameEventShuffle; +import forge.game.event.GameEventSurveil; +import forge.game.keyword.Companion; +import forge.game.keyword.Keyword; +import forge.game.keyword.KeywordCollection; import forge.game.keyword.KeywordCollection.KeywordCollectionView; +import forge.game.keyword.KeywordInterface; +import forge.game.keyword.KeywordsChange; import forge.game.mana.ManaPool; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -57,15 +112,13 @@ import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.item.IPaperCard; import forge.item.PaperCard; -import forge.util.*; +import forge.util.Aggregates; +import forge.util.Lang; +import forge.util.Localizer; +import forge.util.MyRandom; +import forge.util.TextUtil; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; -import java.util.Map.Entry; -import java.util.concurrent.ConcurrentSkipListMap; /** *

diff --git a/forge-game/src/main/java/forge/game/player/PlayerProperty.java b/forge-game/src/main/java/forge/game/player/PlayerProperty.java index 6c414ca7b2a..966c6292b2a 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerProperty.java +++ b/forge-game/src/main/java/forge/game/player/PlayerProperty.java @@ -1,5 +1,8 @@ package forge.game.player; +import java.util.ArrayList; +import java.util.List; + import forge.game.CardTraitBase; import forge.game.Game; import forge.game.ability.AbilityUtils; @@ -11,9 +14,6 @@ import forge.game.zone.ZoneType; import forge.util.Expressions; import forge.util.TextUtil; -import java.util.ArrayList; -import java.util.List; - public class PlayerProperty { public static boolean playerHasProperty(Player player, String property, Player sourceController, Card source, CardTraitBase spellAbility) { diff --git a/forge-game/src/main/java/forge/game/player/PlayerView.java b/forge-game/src/main/java/forge/game/player/PlayerView.java index 36805905d79..b55dc7d5954 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerView.java +++ b/forge-game/src/main/java/forge/game/player/PlayerView.java @@ -1,12 +1,13 @@ package forge.game.player; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; -import forge.card.CardType; -import forge.card.mana.ManaAtom; -import forge.game.card.CounterType; - import org.apache.commons.lang3.StringUtils; import com.google.common.base.MoreObjects; @@ -16,21 +17,24 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import forge.LobbyPlayer; +import forge.card.CardType; import forge.card.MagicColor; +import forge.card.mana.ManaAtom; import forge.game.GameEntityView; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; import forge.trackable.TrackableCollection; import forge.trackable.TrackableProperty; import forge.trackable.Tracker; -import forge.util.collect.FCollection; -import forge.util.collect.FCollectionView; +import forge.util.CardTranslation; import forge.util.Lang; import forge.util.Localizer; -import forge.util.CardTranslation; +import forge.util.collect.FCollection; +import forge.util.collect.FCollectionView; public class PlayerView extends GameEntityView { private static final long serialVersionUID = 7005892740909549086L; diff --git a/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java b/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java index 11606355bcd..7bf24a25d2e 100644 --- a/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java +++ b/forge-game/src/main/java/forge/game/player/RegisteredPlayer.java @@ -1,5 +1,12 @@ package forge.game.player; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import com.google.common.collect.Lists; + import forge.LobbyPlayer; import forge.deck.CardPool; import forge.deck.Deck; @@ -8,13 +15,6 @@ import forge.game.GameType; import forge.item.IPaperCard; import forge.item.PaperCard; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; - -import com.google.common.collect.Lists; - public class RegisteredPlayer { private final Deck originalDeck; // never return or modify this instance (it's a reference to game resources) private Deck currentDeck; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java b/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java index b4431b89851..3721aa0e7d9 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceAddCounter.java @@ -1,13 +1,13 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CounterType; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java index da8bc685c4a..4c9211b52e6 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceAssignDealDamage.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java b/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java index d9cb0d2b702..59c31e2619b 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceAttached.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java index cbdefd22e25..c544cdd1bc8 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java @@ -1,12 +1,12 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.Map; - public class ReplaceBeginPhase extends ReplacementEffect { public ReplaceBeginPhase(final Map mapParams, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java index 4b702e32577..21c84a697d2 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginTurn.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - public class ReplaceBeginTurn extends ReplacementEffect { public ReplaceBeginTurn(final Map mapParams, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java b/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java index a85b1ffd557..7b29b1fef78 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceCounter.java @@ -17,12 +17,12 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java index 44aa17d5fd9..c80166d297d 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDamage.java @@ -17,6 +17,8 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityKey; @@ -26,8 +28,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Expressions; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java index a8778ab2359..de08c4926d2 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDealtDamage.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java index 9d5094b92d0..ce43a851ec8 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDestroy.java @@ -17,12 +17,12 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java index 261ed35da5a..8caf443f447 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDiscard.java @@ -17,12 +17,12 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java index 6191110c83d..cb949951b80 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDraw.java @@ -17,6 +17,8 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.card.Card; @@ -24,8 +26,6 @@ import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java b/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java index 5ebe5101b5c..b9c21df16fb 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceDrawCards.java @@ -17,13 +17,13 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Expressions; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java b/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java index fc8a9e87360..0f3b615aa93 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceGainLife.java @@ -17,12 +17,12 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java b/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java index 2162a133873..c39f669d26e 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceGameLoss.java @@ -1,10 +1,10 @@ package forge.game.replacement; - import forge.game.ability.AbilityKey; - import forge.game.card.Card; - import java.util.Map; +import forge.game.ability.AbilityKey; +import forge.game.card.Card; + /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java b/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java index 6e9cd20f296..008add896a5 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceMill.java @@ -17,10 +17,11 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; /** * TODO: Write javadoc for this type. diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java b/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java index 3645d59d36a..7ee18b00973 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceMoved.java @@ -1,13 +1,12 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; - import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java b/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java index bade5c980ef..1ff2b0e961e 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceProduceMana.java @@ -1,15 +1,15 @@ package forge.game.replacement; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Expressions; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java b/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java index d340f40492b..26250cb7728 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceScry.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java b/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java index ef47ae19f1c..bce48ade90f 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceSetInMotion.java @@ -17,11 +17,11 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java b/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java index c0829305c0d..7f804f91c84 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceSurveil.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java b/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java index 7febdebde22..dfc41d35f34 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceTap.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java b/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java index 0dfc382a9be..933696fbd2e 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceToken.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java b/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java index 4b2ca33aadf..27e82c45a96 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceTurnFaceUp.java @@ -1,11 +1,11 @@ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java b/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java index c3e6055fe97..d5b8556db75 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceUntap.java @@ -17,14 +17,14 @@ */ package forge.game.replacement; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; -import forge.game.player.Player; import forge.game.phase.PhaseType; +import forge.game.player.Player; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java b/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java index 1b1a6bd2fb6..3a62c623aab 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementEffect.java @@ -17,6 +17,10 @@ */ package forge.game.replacement; +import java.util.List; +import java.util.Map; +import java.util.Objects; + import forge.game.Game; import forge.game.TriggerReplacementBase; import forge.game.ability.AbilityFactory; @@ -29,10 +33,6 @@ import forge.util.CardTranslation; import forge.util.Lang; import forge.util.TextUtil; -import java.util.List; -import java.util.Map; -import java.util.Objects; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java index 17cdddbc73b..da7057c46e5 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java @@ -17,6 +17,16 @@ */ package forge.game.replacement; +import java.util.EnumSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + import forge.game.CardTraitBase; import forge.game.Game; import forge.game.GameLogEntryType; @@ -35,18 +45,11 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.Zone; import forge.game.zone.ZoneType; +import forge.util.CardTranslation; import forge.util.FileSection; +import forge.util.Localizer; import forge.util.TextUtil; import forge.util.Visitor; -import forge.util.Localizer; -import forge.util.CardTranslation; - -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; - -import java.util.*; public class ReplacementHandler { private final Game game; diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementType.java b/forge-game/src/main/java/forge/game/replacement/ReplacementType.java index ae1ddcb2048..da55335f69c 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementType.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementType.java @@ -1,11 +1,11 @@ package forge.game.replacement; -import forge.game.card.Card; - import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.Map; +import forge.game.card.Card; + /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java index 9bb1ff3dd0e..e20bd594631 100644 --- a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java +++ b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java @@ -17,8 +17,12 @@ */ package forge.game.spellability; -import com.google.common.collect.Lists; +import java.util.List; +import java.util.Map; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Lists; import forge.card.ColorSet; import forge.card.MagicColor; @@ -33,15 +37,12 @@ import forge.game.card.CardUtil; import forge.game.mana.Mana; import forge.game.mana.ManaPool; import forge.game.player.Player; -import forge.game.replacement.*; +import forge.game.replacement.ReplacementEffect; +import forge.game.replacement.ReplacementType; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.game.trigger.TriggerType; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; -import java.util.Map; /** *

diff --git a/forge-game/src/main/java/forge/game/spellability/AbilitySub.java b/forge-game/src/main/java/forge/game/spellability/AbilitySub.java index c83e23e714d..1986274237d 100644 --- a/forge-game/src/main/java/forge/game/spellability/AbilitySub.java +++ b/forge-game/src/main/java/forge/game/spellability/AbilitySub.java @@ -17,14 +17,14 @@ */ package forge.game.spellability; +import java.util.Map; + import forge.game.ability.AbilityFactory; import forge.game.ability.ApiType; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.cost.Cost; -import java.util.Map; - /** *

* Abstract Ability_Sub class. diff --git a/forge-game/src/main/java/forge/game/spellability/OptionalCostValue.java b/forge-game/src/main/java/forge/game/spellability/OptionalCostValue.java index fdfec34cd2d..b6bb2a9e47c 100644 --- a/forge-game/src/main/java/forge/game/spellability/OptionalCostValue.java +++ b/forge-game/src/main/java/forge/game/spellability/OptionalCostValue.java @@ -1,9 +1,9 @@ package forge.game.spellability; -import forge.game.cost.Cost; - import java.io.Serializable; +import forge.game.cost.Cost; + public class OptionalCostValue implements Serializable { /** * Serializables need a version ID. diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index b01e5f54b68..478adcabb2b 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -17,6 +17,18 @@ */ package forge.game.spellability; +import java.util.Arrays; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -26,7 +38,13 @@ import forge.GameCommand; import forge.card.CardStateName; import forge.card.ColorSet; import forge.card.mana.ManaCost; -import forge.game.*; +import forge.game.CardTraitBase; +import forge.game.ForgeScript; +import forge.game.Game; +import forge.game.GameActionUtil; +import forge.game.GameEntity; +import forge.game.GameObject; +import forge.game.IIdentifiable; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; @@ -59,10 +77,6 @@ import forge.util.Expressions; import forge.util.Lang; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.util.*; - //only SpellAbility can go on the stack //override any methods as needed /** diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityCondition.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityCondition.java index b6c9085ad50..b176c6c6526 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityCondition.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityCondition.java @@ -17,6 +17,16 @@ */ package forge.game.spellability; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Iterables; + import forge.card.ColorSet; import forge.game.Game; import forge.game.GameObject; @@ -32,12 +42,6 @@ import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Expressions; -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.Iterables; - -import java.util.*; - /** *

* SpellAbility_Condition class. diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java index a9e947b9602..5c8f0973aee 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java @@ -17,10 +17,21 @@ */ package forge.game.spellability; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.Sets; + import forge.game.Game; import forge.game.GameType; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPlayOption; +import forge.game.card.CardUtil; import forge.game.cost.IndividualCostPaymentInstance; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -29,11 +40,6 @@ import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.util.Expressions; -import java.util.List; -import java.util.Map; - -import com.google.common.collect.Sets; - /** *

* SpellAbilityRestriction class. diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java index 14106f5c977..c8c289bbc2c 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityStackInstance.java @@ -17,6 +17,17 @@ */ package forge.game.spellability; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; + +import forge.game.GameObject; import forge.game.IIdentifiable; import forge.game.ability.AbilityKey; import forge.game.ability.ApiType; @@ -29,17 +40,6 @@ import forge.game.trigger.TriggerType; import forge.game.trigger.WrappedAbility; import forge.game.zone.ZoneType; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -import forge.game.GameObject; - -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; /** *

diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityVariables.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityVariables.java index 00120c5b815..4351d360139 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityVariables.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityVariables.java @@ -17,14 +17,15 @@ */ package forge.game.spellability; +import java.util.EnumSet; +import java.util.Set; + import com.google.common.collect.Sets; + import forge.game.GameType; import forge.game.phase.PhaseType; import forge.game.zone.ZoneType; -import java.util.EnumSet; -import java.util.Set; - /** *

* SpellAbilityVariables class. diff --git a/forge-game/src/main/java/forge/game/spellability/TargetChoices.java b/forge-game/src/main/java/forge/game/spellability/TargetChoices.java index a54539657a4..565f306d8b4 100644 --- a/forge-game/src/main/java/forge/game/spellability/TargetChoices.java +++ b/forge-game/src/main/java/forge/game/spellability/TargetChoices.java @@ -17,6 +17,10 @@ */ package forge.game.spellability; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicates; import com.google.common.collect.ForwardingList; import com.google.common.collect.Iterables; @@ -31,10 +35,6 @@ import forge.game.card.CardCollectionView; import forge.game.player.Player; import forge.util.collect.FCollection; -import java.util.Collection; -import java.util.List; -import java.util.Map; - /** *

* Target_Choices class. diff --git a/forge-game/src/main/java/forge/game/spellability/TargetRestrictions.java b/forge-game/src/main/java/forge/game/spellability/TargetRestrictions.java index f3fed9ceb58..4fe5d202490 100644 --- a/forge-game/src/main/java/forge/game/spellability/TargetRestrictions.java +++ b/forge-game/src/main/java/forge/game/spellability/TargetRestrictions.java @@ -20,8 +20,6 @@ package forge.game.spellability; import java.util.Arrays; import java.util.List; -import forge.util.TextUtil; - import com.google.common.collect.Lists; import forge.card.CardType; @@ -31,6 +29,7 @@ import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.player.Player; import forge.game.zone.ZoneType; +import forge.util.TextUtil; /** *

diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java index 5d424be8b27..7b20550252a 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java @@ -17,9 +17,16 @@ */ package forge.game.staticability; +import java.util.EnumSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.card.MagicColor; import forge.game.CardTraitBase; import forge.game.Game; @@ -45,12 +52,6 @@ import forge.util.Expressions; import forge.util.Lang; import forge.util.TextUtil; -import java.util.EnumSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; - /** * The Class StaticAbility. */ diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java index ef1caf3b798..79861483763 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java @@ -17,6 +17,8 @@ */ package forge.game.staticability; +import com.google.common.collect.Iterables; + import forge.game.GameEntity; import forge.game.card.Card; import forge.game.card.CardCollectionView; @@ -27,8 +29,6 @@ import forge.game.keyword.KeywordInterface; import forge.game.player.Player; import forge.game.zone.ZoneType; -import com.google.common.collect.Iterables; - /** * The Class StaticAbility_CantBeCast. */ diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java index 11457beb1a7..964e3134506 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantBeCast.java @@ -17,6 +17,8 @@ */ package forge.game.staticability; +import java.util.List; + import forge.game.Game; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -26,8 +28,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - /** * The Class StaticAbility_CantBeCast. */ diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java index c8ff2a0e5e8..dc974593671 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java @@ -17,14 +17,23 @@ */ package forge.game.staticability; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.GameCommand; -import forge.card.ColorSet; import forge.card.CardType; +import forge.card.ColorSet; import forge.card.MagicColor; import forge.game.Game; import forge.game.GlobalRuleChange; @@ -33,7 +42,14 @@ import forge.game.StaticEffects; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFactory; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; import forge.game.cost.Cost; import forge.game.keyword.Keyword; import forge.game.player.Player; @@ -45,9 +61,6 @@ import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.game.zone.ZoneType; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.util.*; /** * The Class StaticAbility_Continuous. diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java index 9765ef505aa..2e44081dc16 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java @@ -17,12 +17,12 @@ */ package forge.game.staticability; +import java.util.Map; + import forge.game.GameEntity; import forge.game.card.Card; import forge.game.card.CardFactoryUtil; -import java.util.Map; - /** * The Class StaticAbility_PreventDamage. */ diff --git a/forge-game/src/main/java/forge/game/trigger/Trigger.java b/forge-game/src/main/java/forge/game/trigger/Trigger.java index 82c7b9994ca..5357dd681ab 100644 --- a/forge-game/src/main/java/forge/game/trigger/Trigger.java +++ b/forge-game/src/main/java/forge/game/trigger/Trigger.java @@ -17,6 +17,17 @@ */ package forge.game.trigger; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + import forge.game.Game; import forge.game.GameEntity; import forge.game.IHasSVars; @@ -33,12 +44,6 @@ import forge.game.player.Player; import forge.game.spellability.OptionalCost; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; - -import java.util.*; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; - import forge.util.CardTranslation; import forge.util.Lang; import forge.util.TextUtil; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java b/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java index c646f0a23c7..6c03e890194 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAbandoned.java @@ -17,12 +17,12 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** *

* Trigger_Abandoned class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java b/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java index 83fc709efc7..7659c37e6c1 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAlways.java @@ -17,12 +17,12 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** *

* Trigger_Always class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java index 40fd8f34f38..568913463c4 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttached.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Attached class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java index 80aac90eeca..0e468764b8f 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblocked.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_AttackerUnblocked class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java index b838d322950..77349eb8d94 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerUnblockedOnce.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_AttackerUnblockedOnce class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java index 8acaf2d9ea3..31b7ff2f15a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java index cd95b7b6eeb..a5f47ed9b62 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttacks.java @@ -17,6 +17,9 @@ */ package forge.game.trigger; +import java.util.List; +import java.util.Map; + import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.card.Card; @@ -24,9 +27,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.List; -import java.util.Map; - /** *

* Trigger_Attacks class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java index c07cd025456..227d44babc1 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomeRenowned.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_BecomeRenowned class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java index ef0a3a02afa..75fed80d6dd 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTarget.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_BecomesTarget class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java index fec23184bdb..f1615cd434d 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_BecomesTargetOnce class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java b/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java index 5263ebd9de9..3fa291739de 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBlockersDeclared.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java b/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java index de01d5fabca..f3eabc82dc5 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBlocks.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Blocks class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java b/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java index 5380c903790..1715c54f476 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChampioned.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Championed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java index fcda3de6956..06e352cef82 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesController.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* TriggerChangesController class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java index 2924b404d42..73294ffc9c6 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java @@ -17,24 +17,28 @@ */ package forge.game.trigger; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; -import forge.game.ability.AbilityKey; -import forge.game.ability.AbilityUtils; -import forge.game.card.*; -import forge.game.spellability.SpellAbility; -import forge.game.zone.ZoneType; -import forge.util.Expressions; - import java.util.EnumSet; import java.util.List; import java.util.Map; -import forge.util.Localizer; import org.apache.commons.lang3.ArrayUtils; +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; import com.google.common.collect.Sets; +import forge.game.ability.AbilityKey; +import forge.game.ability.AbilityUtils; +import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.spellability.SpellAbility; +import forge.game.zone.ZoneType; +import forge.util.Expressions; +import forge.util.Localizer; + /** *

* Trigger_ChangesZone class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java index 9cbb18ebadf..3a4e2964694 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZoneAll.java @@ -4,7 +4,9 @@ import java.util.List; import java.util.Map; import forge.game.ability.AbilityKey; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardZoneTable; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Localizer; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java b/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java index fe65f778155..0fed7fe5dd9 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerClashed.java @@ -17,12 +17,12 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** *

* Trigger_Clashed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java index b3b34714aa4..b74c1924dfe 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterAddedAll.java @@ -7,7 +7,8 @@ import com.google.common.collect.Lists; import forge.game.GameEntity; import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityKey; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CounterType; import forge.game.spellability.SpellAbility; import forge.util.Localizer; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java index 49d00eac220..b7e5cb37e07 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemoved.java @@ -17,14 +17,14 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CounterType; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_CounterRemoved class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java index 2b8b5188ca8..b71f51c6091 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCounterRemovedOnce.java @@ -17,14 +17,14 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CounterType; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_CounterRemovedOnce class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java b/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java index 7bd0ede251d..55f9d60c3d3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCountered.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Countered class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java b/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java index bc39ae02f30..3fcdf13c645 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCrewed.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - public class TriggerCrewed extends Trigger { public TriggerCrewed(final Map params, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java b/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java index 9f0ff54762f..c3b2e863542 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerCycled.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Cycled class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java index 51535142616..a82453ec549 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDealtOnce.java @@ -17,17 +17,17 @@ */ package forge.game.trigger; +import java.util.Map; +import java.util.Set; + +import com.google.common.collect.Sets; + import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; -import java.util.Set; - -import com.google.common.collect.Sets; - /** *

* Trigger_DamageDone class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java index 67c2e680c82..af12e5f29e5 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamageDone.java @@ -17,6 +17,8 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CardUtil; @@ -24,8 +26,6 @@ import forge.game.spellability.SpellAbility; import forge.util.Expressions; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_DamageDone class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java index f64c1df746a..f6efcb04573 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePrevented.java @@ -17,6 +17,8 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CardUtil; @@ -24,8 +26,6 @@ import forge.game.spellability.SpellAbility; import forge.util.Expressions; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_DamageDone class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java index 16a56200709..561da606f08 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDamagePreventedOnce.java @@ -17,14 +17,14 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Expressions; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_DamageDone class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java b/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java index c199a14aae9..35f6319be60 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDevoured.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Devoured class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java b/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java index 28733a15e60..f7a107009d4 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDiscarded.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Discarded class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java b/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java index 430887f2e24..517760610a6 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerDrawn.java @@ -17,6 +17,8 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.Game; import forge.game.GameStage; import forge.game.ability.AbilityKey; @@ -26,8 +28,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Drawn class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java b/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java index 3137f9cfbaa..51e19158d22 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExcessDamage.java @@ -17,14 +17,14 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.card.CardUtil; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * * @author Forge diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java b/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java index 916efa7a0e9..3d4c466d910 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExerted.java @@ -1,13 +1,13 @@ package forge.game.trigger; +import java.util.HashMap; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.HashMap; -import java.util.Map; - public class TriggerExerted extends Trigger { /** *

diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java b/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java index 39cecbbcee2..5cde2db1c35 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExiled.java @@ -17,16 +17,15 @@ */ package forge.game.trigger; -import forge.game.ability.AbilityKey; -import forge.game.card.Card; - -import forge.game.spellability.SpellAbility; - import java.util.Map; -import forge.util.Localizer; import org.apache.commons.lang3.ArrayUtils; +import forge.game.ability.AbilityKey; +import forge.game.card.Card; +import forge.game.spellability.SpellAbility; +import forge.util.Localizer; + /** *

* Trigger_ChangesZone class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java b/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java index b59e567f2a8..5a351753a90 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExploited.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Championed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java index 83fdb3f60f8..bc4b3c2a2e8 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerExplores.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Explores class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFight.java b/forge-game/src/main/java/forge/game/trigger/TriggerFight.java index 522530f4277..4ad496b2129 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFight.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFight.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Championed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java index 270d74a83b4..255a1f5127a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFightOnce.java @@ -17,14 +17,14 @@ */ package forge.game.trigger; +import java.util.List; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.List; -import java.util.Map; - public class TriggerFightOnce extends Trigger { /** diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java b/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java index 66c0d28bd56..748df334ed7 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerFlippedCoin.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Flipped class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java b/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java index 97f2046a362..6882ba2481a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerForetell.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * @author Forge */ diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 295c17c52d2..f7946d52b1b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -17,14 +17,25 @@ */ package forge.game.trigger; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.Multimaps; + import forge.game.CardTraitBase; import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.IHasSVars; import forge.game.ability.AbilityFactory; +import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.ability.AbilityKey; import forge.game.ability.effects.CharmEffect; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -43,14 +54,6 @@ import forge.util.Visitor; import io.sentry.Sentry; import io.sentry.event.BreadcrumbBuilder; -import java.util.*; - -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ListMultimap; -import com.google.common.collect.Lists; -import com.google.common.collect.Multimaps; - public class TriggerHandler { private final List suppressedModes = Collections.synchronizedList(new ArrayList<>()); private final List activeTriggers = Collections.synchronizedList(new ArrayList<>()); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerImmediate.java b/forge-game/src/main/java/forge/game/trigger/TriggerImmediate.java index 32e9960acc6..02b1543a8c2 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerImmediate.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerImmediate.java @@ -17,12 +17,12 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - public class TriggerImmediate extends Trigger { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java b/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java index dd3c636dbf1..e92940e1405 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerInvestigated.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_LandPlayed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java index d41a1650e49..a9344aec192 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLandPlayed.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_LandPlayed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java index 829b560ca3b..d4c2859b90b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_LifeGained class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java b/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java index fd142d694bc..25b940ab894 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLosesGame.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java b/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java index bb4dc29d986..300f188f00c 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerMutates.java @@ -1,9 +1,10 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.*; public class TriggerMutates extends Trigger { public TriggerMutates(final Map params, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java b/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java index 2a4abb1ec36..69cf2d4c701 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerNewGame.java @@ -17,12 +17,12 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** *

* Trigger_NewGame class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java index c331828ce38..29f168f8559 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayCumulativeUpkeep.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_LifeGained class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java index 02e528f3966..96c49439e9d 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayEcho.java @@ -17,12 +17,12 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** *

* TriggerPayEcho class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java b/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java index ed3e894e3fb..6950cf8364e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPayLife.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_LifeGained class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java index cdb40c2e8e4..ecd0ee21617 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhase.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Phase class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java index 2f57234e3af..317c7cf3f94 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseIn.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - public class TriggerPhaseIn extends Trigger { public TriggerPhaseIn(final Map params, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java index 36d30e3bbf9..dbe7c1714ea 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPhaseOut.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - public class TriggerPhaseOut extends Trigger { public TriggerPhaseOut(final Map params, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java index 49b20d7bae4..8805d29ac8b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlanarDice.java @@ -1,13 +1,13 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.PlanarDice; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java index 5a2ba0480bf..4ea5e026294 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedFrom.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java index 9c002d723cd..3d238dc9c90 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerPlaneswalkedTo.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java b/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java index 82a6fa42ba4..2e22f76f275 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java @@ -1,13 +1,14 @@ package forge.game.trigger; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Expressions; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.Map; public class TriggerRolledDie extends Trigger { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java b/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java index 61191e04b1e..91837a96974 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSacrificed.java @@ -17,6 +17,8 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.cost.IndividualCostPaymentInstance; @@ -24,8 +26,6 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.CostPaymentStack; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Sacrificed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerScry.java b/forge-game/src/main/java/forge/game/trigger/TriggerScry.java index 2280dfa788f..d1da154b9f6 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerScry.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerScry.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Scry class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java b/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java index ae7b5f0de79..c83f4d7535c 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSetInMotion.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.card.CardType; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; -import java.util.Map; - /** *

* Trigger_LifeGained class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java b/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java index 6a12e1de096..793e79a9fb3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerShuffled.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Shuffled class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java index 4a90d11c2aa..207b5dbb039 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCopy.java @@ -18,6 +18,7 @@ package forge.game.trigger; import java.util.Map; + import forge.game.Game; import forge.game.ability.AbilityKey; import forge.game.card.Card; diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java b/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java index da58bd0f3d0..61adfa8f1a0 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSurveil.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * * @author Forge diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java index 1daf89e4264..6351abfab30 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Taps class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java b/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java index 68e9dfb76e7..e786c869b37 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTapsForMana.java @@ -17,16 +17,16 @@ */ package forge.game.trigger; +import static forge.util.TextUtil.toManaString; + +import java.util.Map; + import forge.card.MagicColor; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - -import static forge.util.TextUtil.toManaString; - /** *

* Trigger_TapsForMana class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java b/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java index 85c17e9fa19..f20cbd80805 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTokenCreated.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_LandPlayed class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java b/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java index 4fa9ecab4cf..0c6cd7309a6 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTransformed.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java b/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java index 523995a6d7e..8ab7dbe3e5b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTurnBegin.java @@ -1,12 +1,12 @@ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - // Turn Begin isn't a "real" trigger, but is useful for Advanced Scripting Techniques public class TriggerTurnBegin extends Trigger { public TriggerTurnBegin(final Map params, final Card host, final boolean intrinsic) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java b/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java index 82500fe11e3..6860d5ac06a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTurnFaceUp.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_TurnFaceUp class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerType.java b/forge-game/src/main/java/forge/game/trigger/TriggerType.java index 0a2481e28eb..cafac587c08 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerType.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerType.java @@ -1,11 +1,11 @@ package forge.game.trigger; -import forge.game.card.Card; - import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.Map; +import forge.game.card.Card; + /** * TODO: Write javadoc for this type. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java b/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java index be3ee8ea30e..332309d01a8 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUnattach.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Unattach class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java index 33b670f97cd..1f9a64bc82a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUntaps.java @@ -17,13 +17,13 @@ */ package forge.game.trigger; +import java.util.Map; + import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.spellability.SpellAbility; import forge.util.Localizer; -import java.util.Map; - /** *

* Trigger_Untaps class. diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerWaiting.java b/forge-game/src/main/java/forge/game/trigger/TriggerWaiting.java index d5fa10ae934..4e8d7befa30 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerWaiting.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerWaiting.java @@ -1,11 +1,11 @@ package forge.game.trigger; -import forge.game.ability.AbilityKey; -import forge.util.TextUtil; - import java.util.List; import java.util.Map; +import forge.game.ability.AbilityKey; +import forge.util.TextUtil; + /** * TriggerWaiting is just a small object to keep track of things that occurred that need to be run. */ diff --git a/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java b/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java index 521eae25647..ad85d9ef7e4 100644 --- a/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java +++ b/forge-game/src/main/java/forge/game/trigger/WrappedAbility.java @@ -1,5 +1,13 @@ package forge.game.trigger; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Maps; + import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.ability.AbilityKey; @@ -9,15 +17,14 @@ import forge.game.card.CardCollection; import forge.game.card.CardState; import forge.game.cost.Cost; import forge.game.player.Player; -import forge.game.spellability.*; - -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Maps; +import forge.game.spellability.Ability; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.AlternativeCost; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityRestriction; +import forge.game.spellability.SpellAbilityView; +import forge.game.spellability.TargetChoices; +import forge.game.spellability.TargetRestrictions; // Wrapper ability that checks the requirements again just before // resolving, for intervening if clauses. diff --git a/forge-game/src/main/java/forge/game/zone/CostPaymentStack.java b/forge-game/src/main/java/forge/game/zone/CostPaymentStack.java index f8c59d4983c..907b41837d0 100644 --- a/forge-game/src/main/java/forge/game/zone/CostPaymentStack.java +++ b/forge-game/src/main/java/forge/game/zone/CostPaymentStack.java @@ -1,12 +1,12 @@ package forge.game.zone; +import java.util.Iterator; +import java.util.Stack; + import forge.game.cost.CostPart; import forge.game.cost.CostPayment; import forge.game.cost.IndividualCostPaymentInstance; -import java.util.Iterator; -import java.util.Stack; - /* * simple stack wrapper class for tracking cost payments (mainly for triggers to use) */ diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index 2f34415f2e7..1bf7ea1962e 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -17,8 +17,14 @@ */ package forge.game.zone; -import java.util.*; +import java.util.Deque; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; +import java.util.Set; +import java.util.Stack; +import java.util.TreeSet; import java.util.concurrent.LinkedBlockingDeque; import com.esotericsoftware.minlog.Log; diff --git a/forge-game/src/main/java/forge/game/zone/PlayerZone.java b/forge-game/src/main/java/forge/game/zone/PlayerZone.java index ab030edd351..808576e8fcc 100644 --- a/forge-game/src/main/java/forge/game/zone/PlayerZone.java +++ b/forge-game/src/main/java/forge/game/zone/PlayerZone.java @@ -19,6 +19,7 @@ package forge.game.zone; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; + import forge.game.card.Card; import forge.game.card.CardCollectionView; import forge.game.card.CardLists; diff --git a/forge-game/src/main/java/forge/game/zone/Zone.java b/forge-game/src/main/java/forge/game/zone/Zone.java index 950894eb990..07e2b94efe1 100644 --- a/forge-game/src/main/java/forge/game/zone/Zone.java +++ b/forge-game/src/main/java/forge/game/zone/Zone.java @@ -17,6 +17,13 @@ */ package forge.game.zone; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; @@ -36,9 +43,6 @@ import forge.util.MyRandom; import forge.util.maps.EnumMapOfLists; import forge.util.maps.MapOfLists; -import java.util.*; -import java.util.Map.Entry; - /** *

* DefaultPlayerZone class. diff --git a/forge-game/src/main/java/forge/game/zone/ZoneType.java b/forge-game/src/main/java/forge/game/zone/ZoneType.java index 59d0a4ee58c..7a1ae6f227e 100644 --- a/forge-game/src/main/java/forge/game/zone/ZoneType.java +++ b/forge-game/src/main/java/forge/game/zone/ZoneType.java @@ -1,13 +1,13 @@ package forge.game.zone; -import forge.util.Localizer; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.google.common.base.Function; +import forge.util.Localizer; + /** * The Enum Zone. */ diff --git a/forge-game/src/test/java/forge/game/ability/AbilityKeyTest.java b/forge-game/src/test/java/forge/game/ability/AbilityKeyTest.java index 699151a4033..26a4490efb7 100644 --- a/forge-game/src/test/java/forge/game/ability/AbilityKeyTest.java +++ b/forge-game/src/test/java/forge/game/ability/AbilityKeyTest.java @@ -1,10 +1,11 @@ package forge.game.ability; -import com.google.common.collect.Maps; -import junit.framework.TestCase; - import java.util.Map; +import com.google.common.collect.Maps; + +import junit.framework.TestCase; + public class AbilityKeyTest extends TestCase { public void testFromStringWorksForAllKeys() { for (AbilityKey key : AbilityKey.values()) { diff --git a/forge-game/src/test/java/forge/game/mana/ManaCostBeingPaidTest.java b/forge-game/src/test/java/forge/game/mana/ManaCostBeingPaidTest.java index 15b6ed07741..977e97f377a 100644 --- a/forge-game/src/test/java/forge/game/mana/ManaCostBeingPaidTest.java +++ b/forge-game/src/test/java/forge/game/mana/ManaCostBeingPaidTest.java @@ -1,10 +1,13 @@ package forge.game.mana; -import junit.framework.TestCase; +import static forge.card.MagicColor.COLORLESS; +import static forge.card.MagicColor.GREEN; +import static forge.card.MagicColor.RED; +import static forge.card.MagicColor.WHITE; -import static forge.card.MagicColor.*; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; +import junit.framework.TestCase; public class ManaCostBeingPaidTest extends TestCase { public void testPayManaViaConvoke() { diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java index f9dde915886..312ecdc8850 100644 --- a/forge-gui-android/src/forge/app/Main.java +++ b/forge-gui-android/src/forge/app/Main.java @@ -1,5 +1,13 @@ package forge.app; +import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.concurrent.Callable; + +import com.badlogic.gdx.Version; +import com.badlogic.gdx.backends.android.AndroidApplication; + import android.app.Activity; import android.app.ActivityManager; import android.app.AlarmManager; @@ -39,20 +47,13 @@ import android.widget.Button; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; -import com.badlogic.gdx.Version; -import com.badlogic.gdx.backends.android.AndroidApplication; import forge.Forge; import forge.interfaces.IDeviceAdapter; -import forge.model.FModel; import forge.localinstance.properties.ForgePreferences; +import forge.model.FModel; import forge.util.FileUtil; import forge.util.ThreadUtil; -import java.io.File; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.concurrent.Callable; - public class Main extends AndroidApplication { AndroidAdapter Gadapter; diff --git a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java index e9e0f8cb723..ef9b0aaa3a6 100644 --- a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java +++ b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java @@ -1,5 +1,24 @@ package forge; +import java.awt.Desktop; +import java.awt.Graphics2D; +import java.awt.Toolkit; +import java.awt.datatransfer.StringSelection; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Collection; +import java.util.List; + +import javax.swing.ImageIcon; +import javax.swing.JFileChooser; +import javax.swing.SwingUtilities; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Function; import forge.download.GuiDownloader; @@ -21,24 +40,20 @@ import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorQuestCardShop; import forge.screens.match.CMatchUI; -import forge.sound.*; +import forge.sound.AltSoundSystem; +import forge.sound.AudioClip; +import forge.sound.AudioMusic; +import forge.sound.IAudioClip; +import forge.sound.IAudioMusic; import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; -import forge.util.*; -import org.apache.commons.lang3.StringUtils; - -import javax.swing.*; -import java.awt.*; -import java.awt.datatransfer.StringSelection; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.Collection; -import java.util.List; +import forge.util.BuildInfo; +import forge.util.Callback; +import forge.util.FileUtil; +import forge.util.ImageFetcher; +import forge.util.OperatingSystem; +import forge.util.SwingImageFetcher; public class GuiDesktop implements IGuiBase { private ImageFetcher imageFetcher = new SwingImageFetcher(); diff --git a/forge-gui-desktop/src/main/java/forge/ImageCache.java b/forge-gui-desktop/src/main/java/forge/ImageCache.java index 343ca853b22..26ff9077e3c 100644 --- a/forge-gui-desktop/src/main/java/forge/ImageCache.java +++ b/forge-gui-desktop/src/main/java/forge/ImageCache.java @@ -17,6 +17,22 @@ */ package forge; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.geom.RoundRectangle2D; +import java.awt.image.BufferedImage; +import java.io.File; +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; + +import javax.imageio.ImageIO; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader.InvalidCacheLoadException; import com.google.common.cache.LoadingCache; @@ -34,17 +50,6 @@ import forge.model.FModel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinIcon; import forge.util.ImageUtil; -import org.apache.commons.lang3.StringUtils; - -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.geom.RoundRectangle2D; -import java.awt.image.BufferedImage; -import java.io.File; -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; /** * This class stores ALL card images in a cache with soft values. this means diff --git a/forge-gui-desktop/src/main/java/forge/ImageLoader.java b/forge-gui-desktop/src/main/java/forge/ImageLoader.java index f29f93cfeb3..870be8f97e3 100644 --- a/forge-gui-desktop/src/main/java/forge/ImageLoader.java +++ b/forge-gui-desktop/src/main/java/forge/ImageLoader.java @@ -1,17 +1,17 @@ package forge; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; + import com.google.common.cache.CacheLoader; import forge.gui.error.BugReporter; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import javax.imageio.ImageIO; - -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; - final class ImageLoader extends CacheLoader { @Override public BufferedImage load(String key) { diff --git a/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java b/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java index 2e8a95b4d01..453fd6afe4d 100644 --- a/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java +++ b/forge-gui-desktop/src/main/java/forge/control/KeyboardShortcuts.java @@ -14,7 +14,6 @@ import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.KeyStroke; -import forge.toolbox.special.CardZoomer; import org.apache.commons.lang3.StringUtils; import forge.Singletons; @@ -26,6 +25,7 @@ import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.screens.home.settings.VSubmenuPreferences.KeyboardShortcutField; import forge.screens.match.CMatchUI; +import forge.toolbox.special.CardZoomer; import forge.util.Localizer; /** diff --git a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java index 1d1c7e1be59..64fda2afdf6 100644 --- a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java +++ b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckChooser.java @@ -8,17 +8,28 @@ import java.util.List; import javax.swing.JOptionPane; import javax.swing.JPanel; -import com.google.common.base.Predicate; -import forge.deck.*; -import forge.game.GameFormat; -import forge.item.PaperCard; -import forge.util.Localizer; -import net.miginfocom.swing.MigLayout; - import org.apache.commons.lang3.StringUtils; +import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; +import forge.deck.ArchetypeDeckGenerator; +import forge.deck.ColorDeckGenerator; +import forge.deck.CommanderDeckGenerator; +import forge.deck.Deck; +import forge.deck.DeckFormat; +import forge.deck.DeckProxy; +import forge.deck.DeckType; +import forge.deck.DeckgenUtil; +import forge.deck.NetDeckArchiveBlock; +import forge.deck.NetDeckArchiveLegacy; +import forge.deck.NetDeckArchiveModern; +import forge.deck.NetDeckArchivePioneer; +import forge.deck.NetDeckArchiveStandard; +import forge.deck.NetDeckArchiveVintage; +import forge.deck.NetDeckCategory; +import forge.deck.RandomDeckGenerator; +import forge.game.GameFormat; import forge.game.GameType; import forge.game.player.RegisteredPlayer; import forge.gamemodes.quest.QuestController; @@ -27,6 +38,7 @@ import forge.gamemodes.quest.QuestEventChallenge; import forge.gamemodes.quest.QuestUtil; import forge.gui.FThreads; import forge.gui.UiCommand; +import forge.item.PaperCard; import forge.itemmanager.DeckManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerContainer; @@ -36,6 +48,8 @@ import forge.model.FModel; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; @SuppressWarnings("serial") public class FDeckChooser extends JPanel implements IDecksComboBoxListener { diff --git a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java index 4e0de164b98..ed5d076150b 100644 --- a/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java +++ b/forge-gui-desktop/src/main/java/forge/deckchooser/FDeckViewer.java @@ -1,5 +1,24 @@ package forge.deckchooser; +import java.awt.Dimension; +import java.awt.GraphicsConfiguration; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Toolkit; +import java.awt.datatransfer.StringSelection; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.geom.AffineTransform; +import java.util.ArrayList; +import java.util.List; +import java.util.Map.Entry; +import java.util.SortedMap; +import java.util.TreeMap; + +import javax.swing.JPanel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; @@ -21,20 +40,6 @@ import forge.util.Localizer; import forge.view.FDialog; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; -import java.awt.*; -import java.awt.datatransfer.StringSelection; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.geom.AffineTransform; -import java.util.ArrayList; -import java.util.List; -import java.util.Map.Entry; -import java.util.SortedMap; -import java.util.TreeMap; - @SuppressWarnings("serial") public class FDeckViewer extends FDialog { private final Deck deck; diff --git a/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java b/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java index f11ce5b0b33..72fe758b591 100644 --- a/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java +++ b/forge-gui-desktop/src/main/java/forge/download/GuiDownloader.java @@ -24,7 +24,6 @@ import javax.swing.SwingConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import net.miginfocom.swing.MigLayout; import forge.gui.SOverlayUtils; import forge.gui.UiCommand; import forge.gui.download.GuiDownloadService; @@ -39,6 +38,7 @@ import forge.toolbox.FSkin; import forge.toolbox.FTextField; import forge.toolbox.JXButtonPanel; import forge.util.Callback; +import net.miginfocom.swing.MigLayout; @SuppressWarnings("serial") public class GuiDownloader extends DefaultBoundedRangeModel { diff --git a/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java b/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java index 0e5b246e9c2..58fe2a7048d 100644 --- a/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java +++ b/forge-gui-desktop/src/main/java/forge/error/BugReportDialog.java @@ -37,11 +37,11 @@ import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.KeyStroke; -import forge.model.FModel; -import net.miginfocom.swing.MigLayout; import forge.gui.WrapLayout; import forge.gui.error.BugReporter; import forge.localinstance.properties.ForgePreferences; +import forge.model.FModel; +import net.miginfocom.swing.MigLayout; /** * The class BugReportDialog. Enables showing and saving error messages that diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java b/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java index bd4f0b7145f..5de45eff277 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardListChooser.java @@ -18,6 +18,19 @@ package forge.gui; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowEvent; +import java.awt.event.WindowFocusListener; +import java.awt.event.WindowListener; +import java.util.Collections; +import java.util.List; + +import javax.swing.AbstractListModel; +import javax.swing.JList; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + import forge.game.card.CardView; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences.FPref; @@ -26,17 +39,9 @@ import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; -import forge.view.FDialog; -import forge.util.Localizer; import forge.util.CardTranslation; - -import javax.swing.*; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - -import java.awt.event.*; -import java.util.Collections; -import java.util.List; +import forge.util.Localizer; +import forge.view.FDialog; /** * A simple class that shows a list of cards in a dialog with preview in its diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java b/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java index f0ce2223073..9c73dabd606 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardListViewer.java @@ -24,7 +24,6 @@ import java.awt.event.WindowEvent; import java.awt.event.WindowFocusListener; import java.util.Collections; import java.util.List; -import forge.util.Localizer; import javax.swing.AbstractListModel; import javax.swing.Icon; @@ -39,6 +38,7 @@ import forge.model.FModel; import forge.toolbox.FButton; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; +import forge.util.Localizer; import forge.view.FDialog; /** diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java index 6b39497080e..536a4737b2e 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java @@ -17,6 +17,13 @@ */ package forge.gui; +import java.awt.BorderLayout; +import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; +import java.awt.image.WritableRaster; + +import javax.swing.JPanel; + import forge.ImageCache; import forge.ImageKeys; import forge.game.card.CardView.CardStateView; @@ -30,12 +37,6 @@ import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode; import forge.toolbox.imaging.FImageUtil; import forge.util.ImageFetcher; -import javax.swing.*; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.awt.image.ColorModel; -import java.awt.image.WritableRaster; - /** * Displays image associated with a card or inventory item. * diff --git a/forge-gui-desktop/src/main/java/forge/gui/DualListBox.java b/forge-gui-desktop/src/main/java/forge/gui/DualListBox.java index c76162a7aae..b78509a6c2a 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/DualListBox.java +++ b/forge-gui-desktop/src/main/java/forge/gui/DualListBox.java @@ -1,8 +1,8 @@ package forge.gui; import java.awt.BorderLayout; -import java.awt.GridLayout; import java.awt.FontMetrics; +import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; @@ -36,8 +36,8 @@ import forge.toolbox.FLabel; import forge.toolbox.FList; import forge.toolbox.FPanel; import forge.toolbox.FScrollPane; -import forge.view.FDialog; import forge.util.Localizer; +import forge.view.FDialog; // An input box for handling the order of choices. // Left box has the original choices diff --git a/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java b/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java index 072bf4c8775..ee047f7b0ab 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java +++ b/forge-gui-desktop/src/main/java/forge/gui/FNetOverlay.java @@ -9,8 +9,6 @@ import java.awt.event.MouseEvent; import javax.swing.ScrollPaneConstants; -import net.miginfocom.swing.MigLayout; - import org.apache.commons.lang3.StringUtils; import forge.Singletons; @@ -30,9 +28,10 @@ import forge.toolbox.FSkin; import forge.toolbox.FTextArea; import forge.toolbox.FTextField; import forge.toolbox.SmartScroller; +import forge.util.Localizer; import forge.view.FDialog; import forge.view.FFrame; -import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; public enum FNetOverlay implements IOnlineChatInterface { diff --git a/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java b/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java index 1895456ecf7..1cda95ad6b7 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java +++ b/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java @@ -13,14 +13,14 @@ import javax.swing.WindowConstants; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; -import forge.card.CardStateName; -import forge.game.card.CardFaceView; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Function; +import forge.card.CardStateName; import forge.card.ICardFace; import forge.game.card.Card; +import forge.game.card.CardFaceView; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; import forge.item.InventoryItem; @@ -28,8 +28,8 @@ import forge.item.PaperCard; import forge.model.FModel; import forge.screens.match.CMatchUI; import forge.toolbox.FOptionPane; -import forge.view.arcane.ListCardArea; import forge.util.Localizer; +import forge.view.arcane.ListCardArea; public class GuiChoose { diff --git a/forge-gui-desktop/src/main/java/forge/gui/GuiProgressBarWindow.java b/forge-gui-desktop/src/main/java/forge/gui/GuiProgressBarWindow.java index eec02561046..c5df2a2d641 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/GuiProgressBarWindow.java +++ b/forge-gui-desktop/src/main/java/forge/gui/GuiProgressBarWindow.java @@ -17,11 +17,13 @@ */ package forge.gui; -import forge.view.FDialog; +import java.awt.Dimension; -import javax.swing.*; +import javax.swing.JPanel; +import javax.swing.JProgressBar; import javax.swing.border.EmptyBorder; -import java.awt.*; + +import forge.view.FDialog; /** *

diff --git a/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java b/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java index 8a753d90e88..2f60241ee4c 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ImportDialog.java @@ -50,9 +50,6 @@ import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; -import forge.util.TextUtil; -import net.miginfocom.swing.MigLayout; - import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; @@ -73,6 +70,8 @@ import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FTextField; import forge.toolbox.SmartScroller; +import forge.util.TextUtil; +import net.miginfocom.swing.MigLayout; /** * This class implements an overlay-based dialog that imports data from a user-selected directory diff --git a/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java b/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java index 8932830996b..3dd14713344 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ImportSourceAnalyzer.java @@ -17,8 +17,18 @@ */ package forge.gui; +import java.io.File; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.TreeMap; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; + import forge.card.CardEdition; import forge.item.IPaperCard; import forge.item.PaperCard; @@ -26,11 +36,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.FileUtil; import forge.util.ImageUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.io.File; -import java.util.*; public class ImportSourceAnalyzer { diff --git a/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java b/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java index 670877951ef..4ff93ed290a 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java +++ b/forge-gui-desktop/src/main/java/forge/gui/ListChooser.java @@ -44,7 +44,6 @@ import forge.toolbox.FList; import forge.toolbox.FMouseAdapter; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; - import forge.util.Localizer; /** diff --git a/forge-gui-desktop/src/main/java/forge/gui/MouseUtil.java b/forge-gui-desktop/src/main/java/forge/gui/MouseUtil.java index c16170c4de9..68f9d613a7c 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/MouseUtil.java +++ b/forge-gui-desktop/src/main/java/forge/gui/MouseUtil.java @@ -1,11 +1,12 @@ package forge.gui; -import forge.view.FView; - -import java.awt.*; +import java.awt.Component; +import java.awt.Cursor; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import forge.view.FView; + public final class MouseUtil { private static Cursor cursor; private static int cursorLockCount; diff --git a/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java b/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java index 43b981bc342..4a36912ce34 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java +++ b/forge-gui-desktop/src/main/java/forge/gui/SOverlayUtils.java @@ -9,7 +9,6 @@ import java.awt.event.ActionListener; import javax.swing.JPanel; -import net.miginfocom.swing.MigLayout; import forge.Singletons; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FLabel; @@ -17,6 +16,7 @@ import forge.toolbox.FOverlay; import forge.toolbox.FPanel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedButton; +import net.miginfocom.swing.MigLayout; /** * All overlay interaction is handled here. diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java b/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java index 3b33b7cc86f..d86b2c10e26 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/DragCell.java @@ -13,8 +13,6 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; -import net.miginfocom.swing.MigLayout; - import com.google.common.collect.Lists; import forge.localinstance.assets.FSkinProp; @@ -25,6 +23,7 @@ import forge.toolbox.FPanel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; import forge.view.FView; +import net.miginfocom.swing.MigLayout; /** * Top-level container in drag layout. A cell holds diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/DragTab.java b/forge-gui-desktop/src/main/java/forge/gui/framework/DragTab.java index be438b1e218..95d537a5e71 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/DragTab.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/DragTab.java @@ -1,11 +1,12 @@ package forge.gui.framework; -import forge.toolbox.FSkin; -import forge.toolbox.FSkin.SkinnedLabel; +import java.awt.Dimension; +import java.awt.Graphics; import javax.swing.border.EmptyBorder; -import java.awt.*; +import forge.toolbox.FSkin; +import forge.toolbox.FSkin.SkinnedLabel; /** * The tab label object in drag layout. diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/EDocID.java b/forge-gui-desktop/src/main/java/forge/gui/framework/EDocID.java index c1d32d3812c..ccad5aa532e 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/EDocID.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/EDocID.java @@ -4,7 +4,17 @@ package forge.gui.framework; import com.google.common.collect.ObjectArrays; -import forge.screens.deckeditor.views.*; + +import forge.screens.deckeditor.views.VAllDecks; +import forge.screens.deckeditor.views.VBrawlDecks; +import forge.screens.deckeditor.views.VCardCatalog; +import forge.screens.deckeditor.views.VCommanderDecks; +import forge.screens.deckeditor.views.VCurrentDeck; +import forge.screens.deckeditor.views.VDeckgen; +import forge.screens.deckeditor.views.VOathbreakerDecks; +import forge.screens.deckeditor.views.VProbabilities; +import forge.screens.deckeditor.views.VStatistics; +import forge.screens.deckeditor.views.VTinyLeadersDecks; import forge.screens.home.gauntlet.VSubmenuGauntletBuild; import forge.screens.home.gauntlet.VSubmenuGauntletContests; import forge.screens.home.gauntlet.VSubmenuGauntletLoad; @@ -13,12 +23,22 @@ import forge.screens.home.online.VSubmenuOnlineLobby; import forge.screens.home.puzzle.VSubmenuPuzzleCreate; import forge.screens.home.puzzle.VSubmenuPuzzleSolve; import forge.screens.home.puzzle.VSubmenuTutorial; -import forge.screens.home.quest.*; +import forge.screens.home.quest.VSubmenuChallenges; +import forge.screens.home.quest.VSubmenuDuels; +import forge.screens.home.quest.VSubmenuQuestDecks; +import forge.screens.home.quest.VSubmenuQuestDraft; +import forge.screens.home.quest.VSubmenuQuestLoadData; +import forge.screens.home.quest.VSubmenuQuestPrefs; +import forge.screens.home.quest.VSubmenuQuestStart; import forge.screens.home.sanctioned.VSubmenuConstructed; import forge.screens.home.sanctioned.VSubmenuDraft; import forge.screens.home.sanctioned.VSubmenuSealed; import forge.screens.home.sanctioned.VSubmenuWinston; -import forge.screens.home.settings.*; +import forge.screens.home.settings.VSubmenuAchievements; +import forge.screens.home.settings.VSubmenuAvatars; +import forge.screens.home.settings.VSubmenuDownloaders; +import forge.screens.home.settings.VSubmenuPreferences; +import forge.screens.home.settings.VSubmenuReleaseNotes; import forge.screens.workshop.views.VCardDesigner; import forge.screens.workshop.views.VCardScript; import forge.screens.workshop.views.VWorkshopCatalog; diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java b/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java index e515ae47950..72be76cfcc7 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/FScreen.java @@ -1,5 +1,7 @@ package forge.gui.framework; +import java.io.File; + import forge.Singletons; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.FileLocation; @@ -17,10 +19,8 @@ import forge.screens.workshop.VWorkshopUI; import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; -import forge.view.FView; import forge.util.Localizer; - -import java.io.File; +import forge.view.FView; /** * Definitions for Forge screens diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SOverflowUtil.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SOverflowUtil.java index eac9bc6e99c..f3426e5583f 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SOverflowUtil.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SOverflowUtil.java @@ -1,13 +1,16 @@ package forge.gui.framework; -import forge.view.FView; - -import javax.swing.*; -import java.awt.*; +import java.awt.Color; +import java.awt.Dimension; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; +import javax.swing.JLabel; +import javax.swing.JPanel; + +import forge.view.FView; + /** * Package-private utilities for generic overflow behavior * in title bar for any cell in layout. diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java index 18d28e74651..7b4d0b4602c 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SRearrangingUtil.java @@ -1,5 +1,16 @@ package forge.gui.framework; +import java.awt.Container; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionAdapter; +import java.awt.event.MouseMotionListener; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JPanel; + import forge.gui.MouseUtil; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; @@ -7,13 +18,6 @@ import forge.toolbox.FSkin.SkinCursor; import forge.toolbox.FSkin.SkinnedLayeredPane; import forge.view.FView; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.*; -import java.util.ArrayList; -import java.util.List; - /** * Package-private utilities for rearranging drag behavior using * the draggable panels registered in FView. diff --git a/forge-gui-desktop/src/main/java/forge/gui/framework/SResizingUtil.java b/forge-gui-desktop/src/main/java/forge/gui/framework/SResizingUtil.java index 3a3771b449f..efbabb1b2f7 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/framework/SResizingUtil.java +++ b/forge-gui-desktop/src/main/java/forge/gui/framework/SResizingUtil.java @@ -1,5 +1,25 @@ package forge.gui.framework; +import java.awt.Component; +import java.awt.Cursor; +import java.awt.Rectangle; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionAdapter; +import java.awt.event.MouseMotionListener; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import javax.swing.JPanel; + import forge.gui.MouseUtil; import forge.toolbox.FAbsolutePositioner; import forge.toolbox.FOverlay; @@ -8,13 +28,6 @@ import forge.view.FFrame; import forge.view.FNavigationBar; import forge.view.FView; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.*; -import java.util.*; -import java.util.List; - /** * Package-private utilities for resizing drag behavior using * the draggable panels registered in FView. diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java index 60b069dfcaf..f29c4f7a82b 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/CardManager.java @@ -1,22 +1,37 @@ package forge.itemmanager; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import javax.swing.JMenu; + import forge.game.GameFormat; import forge.gamemodes.quest.QuestWorld; import forge.gamemodes.quest.data.QuestPreferences; import forge.gui.GuiUtils; import forge.item.PaperCard; -import forge.itemmanager.filters.*; +import forge.itemmanager.filters.AdvancedSearchFilter; +import forge.itemmanager.filters.CardCMCFilter; +import forge.itemmanager.filters.CardCMCRangeFilter; +import forge.itemmanager.filters.CardColorFilter; +import forge.itemmanager.filters.CardFoilFilter; +import forge.itemmanager.filters.CardFormatFilter; +import forge.itemmanager.filters.CardPowerFilter; +import forge.itemmanager.filters.CardQuestWorldFilter; +import forge.itemmanager.filters.CardRatingFilter; +import forge.itemmanager.filters.CardSearchFilter; +import forge.itemmanager.filters.CardSetFilter; +import forge.itemmanager.filters.CardToughnessFilter; +import forge.itemmanager.filters.CardTypeFilter; +import forge.itemmanager.filters.FormatFilter; +import forge.itemmanager.filters.ItemFilter; import forge.model.FModel; import forge.screens.home.quest.DialogChooseFormats; import forge.screens.home.quest.DialogChooseSets; import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; -import javax.swing.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; - /** * ItemManager for cards * diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java index f3cda6bfe15..45b2aa2cf36 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/DeckManager.java @@ -4,7 +4,9 @@ import java.awt.Component; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.event.MouseEvent; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; import javax.swing.JMenu; @@ -12,13 +14,10 @@ import javax.swing.JTable; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; -import forge.deck.Deck; -import forge.screens.deckeditor.controllers.CEditorConstructed; -import forge.screens.home.quest.DialogChooseFormats; -import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; import forge.Singletons; +import forge.deck.Deck; import forge.deck.DeckBase; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; @@ -47,12 +46,15 @@ import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.SEditorIO; import forge.screens.deckeditor.controllers.ACEditorBase; +import forge.screens.deckeditor.controllers.CEditorConstructed; import forge.screens.deckeditor.controllers.CEditorLimited; import forge.screens.deckeditor.controllers.CEditorQuest; +import forge.screens.home.quest.DialogChooseFormats; import forge.screens.home.quest.DialogChooseSets; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; +import forge.util.Localizer; /** * ItemManager for decks diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java index 954210ad429..a253d1cf26b 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManager.java @@ -30,17 +30,20 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import javax.swing.*; +import javax.swing.JMenu; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.KeyStroke; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; import javax.swing.event.ListSelectionListener; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; -import com.google.common.collect.Lists; -import net.miginfocom.swing.MigLayout; - import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import forge.gui.GuiUtils; import forge.gui.UiCommand; @@ -63,8 +66,9 @@ import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; import forge.util.Aggregates; import forge.util.ItemPool; -import forge.util.ReflectionUtil; import forge.util.Localizer; +import forge.util.ReflectionUtil; +import net.miginfocom.swing.MigLayout; /** * ItemManager. diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManagerContainer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManagerContainer.java index f5e124d0497..780a2a8ace2 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManagerContainer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/ItemManagerContainer.java @@ -17,11 +17,11 @@ */ package forge.itemmanager; -import forge.toolbox.FSkin.SkinnedScrollPane; - -import javax.swing.*; +import javax.swing.ScrollPaneConstants; import javax.swing.border.Border; +import forge.toolbox.FSkin.SkinnedScrollPane; + /** * Simple container pane meant to contain item managers. diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/SpellShopManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/SpellShopManager.java index ae1474bb804..6f635f409c0 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/SpellShopManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/SpellShopManager.java @@ -1,11 +1,11 @@ package forge.itemmanager; +import javax.swing.JMenu; + import forge.item.InventoryItem; import forge.itemmanager.filters.ItemFilter; import forge.screens.match.controllers.CDetailPicture; -import javax.swing.*; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/TokenManager.java b/forge-gui-desktop/src/main/java/forge/itemmanager/TokenManager.java index 7ce3c6272c9..cd89b73e65e 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/TokenManager.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/TokenManager.java @@ -1,12 +1,12 @@ package forge.itemmanager; +import javax.swing.JMenu; + import forge.item.PaperToken; import forge.itemmanager.filters.ItemFilter; import forge.itemmanager.filters.TokenSearchFilter; import forge.screens.match.controllers.CDetailPicture; -import javax.swing.*; - public class TokenManager extends ItemManager { public TokenManager(final CDetailPicture cDetailPicture, final boolean wantUnique0) { super(PaperToken.class, cDetailPicture, wantUnique0); diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java index 0657953673f..c8a90d09594 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/AdvancedSearchFilter.java @@ -6,13 +6,24 @@ import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.MouseEvent; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + +import org.apache.commons.lang3.ArrayUtils; + +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; + import forge.gui.GuiUtils; import forge.gui.UiCommand; import forge.gui.interfaces.IButton; import forge.item.InventoryItem; import forge.itemmanager.AdvancedSearch; -import forge.itemmanager.ItemManager; import forge.itemmanager.AdvancedSearch.IFilterControl; +import forge.itemmanager.ItemManager; import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; import forge.toolbox.FOptionPane; @@ -23,14 +34,6 @@ import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; import forge.util.Localizer; -import javax.swing.*; - -import org.apache.commons.lang3.ArrayUtils; - -import com.google.common.base.Predicate; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; - public class AdvancedSearchFilter extends ItemFilter { private final AdvancedSearch.Model model; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCFilter.java index 8b66faa6d9d..a72f0ed0b13 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCFilter.java @@ -1,18 +1,18 @@ package forge.itemmanager.filters; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JPanel; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import forge.card.CardRules; import forge.item.PaperCard; import forge.itemmanager.ItemManager; -import forge.itemmanager.SpellShopManager; import forge.itemmanager.SItemManagerUtil.StatTypes; - -import javax.swing.*; - -import java.util.ArrayList; -import java.util.List; +import forge.itemmanager.SpellShopManager; /** * TODO: Write javadoc for this type. diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardColorFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardColorFilter.java index 26d3fb501b0..526f71b5699 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardColorFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardColorFilter.java @@ -1,14 +1,14 @@ package forge.itemmanager.filters; +import javax.swing.JPanel; + import com.google.common.base.Predicate; import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.itemmanager.SFilterUtil; -import forge.itemmanager.SpellShopManager; import forge.itemmanager.SItemManagerUtil.StatTypes; - -import javax.swing.*; +import forge.itemmanager.SpellShopManager; public class CardColorFilter extends StatTypeFilter { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFoilFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFoilFilter.java index 50f997c3e46..d37fc657918 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFoilFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFoilFilter.java @@ -1,5 +1,7 @@ package forge.itemmanager.filters; +import javax.swing.JPanel; + import com.google.common.base.Predicate; import forge.item.PaperCard; @@ -7,8 +9,6 @@ import forge.itemmanager.ItemManager; import forge.itemmanager.SFilterUtil; import forge.itemmanager.SItemManagerUtil.StatTypes; -import javax.swing.*; - public class CardFoilFilter extends StatTypeFilter { public CardFoilFilter(ItemManager itemManager0) { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFormatFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFormatFilter.java index e2252f506e1..b3a2c49a171 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFormatFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardFormatFilter.java @@ -1,6 +1,7 @@ package forge.itemmanager.filters; import java.util.List; + import com.google.common.base.Predicate; import forge.game.GameFormat; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardRatingFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardRatingFilter.java index 00c13d0ebe2..cea3aa270bc 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardRatingFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardRatingFilter.java @@ -1,14 +1,15 @@ package forge.itemmanager.filters; +import javax.swing.JPanel; + import com.google.common.base.Predicate; + import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.itemmanager.SFilterUtil; import forge.itemmanager.SItemManagerUtil.StatTypes; import forge.model.FModel; -import javax.swing.*; - public class CardRatingFilter extends StatTypeFilter { public CardRatingFilter(ItemManager itemManager0) { super(itemManager0); diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java index 20364aefde2..4bfedca499a 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSearchFilter.java @@ -1,5 +1,10 @@ package forge.itemmanager.filters; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; + +import javax.swing.JPanel; + import com.google.common.base.Predicate; import forge.gui.UiCommand; @@ -12,11 +17,6 @@ import forge.toolbox.FLabel; import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; -import javax.swing.*; - -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; - public class CardSearchFilter extends TextSearchFilter { private FComboBoxWrapper cbSearchMode; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSetFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSetFilter.java index 03404c13a46..a9f11a2f465 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSetFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardSetFilter.java @@ -1,14 +1,14 @@ package forge.itemmanager.filters; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + import forge.game.GameFormat; import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.screens.home.quest.DialogChooseSets; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardTypeFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardTypeFilter.java index 9f032ab3163..a80e406082b 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardTypeFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardTypeFilter.java @@ -1,18 +1,18 @@ package forge.itemmanager.filters; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JPanel; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import forge.card.CardRules; import forge.item.PaperCard; import forge.itemmanager.ItemManager; -import forge.itemmanager.SpellShopManager; import forge.itemmanager.SItemManagerUtil.StatTypes; - -import javax.swing.*; - -import java.util.ArrayList; -import java.util.List; +import forge.itemmanager.SpellShopManager; public class CardTypeFilter extends StatTypeFilter { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckColorFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckColorFilter.java index 07ca62b57e9..d455498efef 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckColorFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckColorFilter.java @@ -1,5 +1,7 @@ package forge.itemmanager.filters; +import javax.swing.JPanel; + import com.google.common.base.Predicate; import forge.deck.DeckProxy; @@ -8,8 +10,6 @@ import forge.itemmanager.SFilterUtil; import forge.itemmanager.SItemManagerUtil.StatTypes; import forge.util.ItemPool; -import javax.swing.*; - public class DeckColorFilter extends StatTypeFilter { public DeckColorFilter(ItemManager itemManager0) { diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFolderFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFolderFilter.java index 82936633767..55b0e7e8833 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFolderFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFolderFilter.java @@ -1,13 +1,13 @@ package forge.itemmanager.filters; +import java.util.HashSet; +import java.util.Set; + import com.google.common.base.Predicate; import forge.deck.DeckProxy; import forge.itemmanager.ItemManager; -import java.util.HashSet; -import java.util.Set; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFormatFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFormatFilter.java index fb3de87acdb..6a3e9201b61 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFormatFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckFormatFilter.java @@ -2,8 +2,8 @@ package forge.itemmanager.filters; import com.google.common.base.Predicate; -import forge.game.GameFormat; import forge.deck.DeckProxy; +import forge.game.GameFormat; import forge.itemmanager.ItemManager; import forge.itemmanager.SFilterUtil; import forge.screens.home.quest.DialogChooseFormats; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckSetFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckSetFilter.java index b3c62397f23..2ca2a0e5ca9 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckSetFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/DeckSetFilter.java @@ -1,14 +1,14 @@ package forge.itemmanager.filters; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + import forge.deck.DeckProxy; import forge.game.GameFormat; import forge.itemmanager.ItemManager; import forge.screens.home.quest.DialogChooseSets; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - public class DeckSetFilter extends DeckFormatFilter { private final Set sets = new HashSet<>(); diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/FormatFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/FormatFilter.java index e6899c98b31..7cfb789a2dd 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/FormatFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/FormatFilter.java @@ -1,15 +1,15 @@ package forge.itemmanager.filters; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + import forge.card.CardEdition; import forge.game.GameFormat; import forge.item.InventoryItem; import forge.itemmanager.ItemManager; import forge.model.FModel; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - public abstract class FormatFilter extends ListLabelFilter { protected boolean allowReprints = true; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ItemFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ItemFilter.java index af65e11a5a2..57fe73cb586 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ItemFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ItemFilter.java @@ -1,27 +1,34 @@ package forge.itemmanager.filters; +import java.awt.BasicStroke; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; + import com.google.common.base.Predicate; import forge.gui.framework.ILocalRepaint; import forge.item.InventoryItem; import forge.itemmanager.ItemManager; import forge.toolbox.FSkin; -import forge.toolbox.FTextField; -import forge.toolbox.LayoutHelper; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedCheckBox; import forge.toolbox.FSkin.SkinnedPanel; +import forge.toolbox.FTextField; +import forge.toolbox.LayoutHelper; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - public abstract class ItemFilter { public final static int PANEL_HEIGHT = 28; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ListLabelFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ListLabelFilter.java index 989db5eb853..5cf2a41f84a 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ListLabelFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ListLabelFilter.java @@ -1,5 +1,8 @@ package forge.itemmanager.filters; +import javax.swing.JPanel; +import javax.swing.SwingConstants; + import forge.item.InventoryItem; import forge.itemmanager.ItemManager; import forge.toolbox.FLabel; @@ -7,8 +10,6 @@ import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; import forge.util.TextUtil; -import javax.swing.*; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java index c0a2ec67a66..49d785edbdc 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/StatTypeFilter.java @@ -1,5 +1,10 @@ package forge.itemmanager.filters; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.JPanel; + import com.google.common.base.Predicates; import forge.gui.UiCommand; @@ -14,11 +19,6 @@ import forge.toolbox.FSkin; import forge.util.ItemPool; import forge.util.Localizer; -import javax.swing.*; - -import java.util.HashMap; -import java.util.Map; - public abstract class StatTypeFilter extends ToggleButtonsFilter { protected final Map buttonMap; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java index e0c24b9eda7..a47434919fe 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java @@ -1,5 +1,14 @@ package forge.itemmanager.filters; +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; + +import javax.swing.JPanel; +import javax.swing.Timer; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -10,14 +19,6 @@ import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; - public class TextSearchFilter extends ItemFilter { protected FTextField txtSearch; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java index 947c4e0b402..151bb0214aa 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TokenSearchFilter.java @@ -1,5 +1,10 @@ package forge.itemmanager.filters; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; + +import javax.swing.JPanel; + import com.google.common.base.Predicate; import forge.gui.UiCommand; @@ -12,10 +17,6 @@ import forge.toolbox.FLabel; import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; -import javax.swing.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; - public class TokenSearchFilter extends TextSearchFilter { private FComboBoxWrapper cbSearchMode; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ValueRangeFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ValueRangeFilter.java index 1b33f626f42..e40cc4e39c1 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ValueRangeFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/ValueRangeFilter.java @@ -1,5 +1,12 @@ package forge.itemmanager.filters; +import java.awt.Component; + +import javax.swing.JPanel; +import javax.swing.JSpinner; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + import com.google.common.base.Predicate; import forge.card.CardRules; @@ -13,12 +20,6 @@ import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; import forge.util.ComparableOp; -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import java.awt.*; - public abstract class ValueRangeFilter extends ItemFilter { private FLabel label; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ColorSetRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ColorSetRenderer.java index 1a41941c86a..db9576ebe98 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ColorSetRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ColorSetRenderer.java @@ -1,13 +1,14 @@ package forge.itemmanager.views; +import java.awt.Component; +import java.awt.Graphics; + +import javax.swing.JTable; + import forge.card.ColorSet; import forge.card.mana.ManaCostShard; import forge.toolbox.CardFaceSymbols; -import javax.swing.*; - -import java.awt.*; - public class ColorSetRenderer extends ItemCellRenderer { private static final long serialVersionUID = 1770527102334163549L; diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java index d8f9df359e4..deee1ee95b2 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckQuantityRenderer.java @@ -17,17 +17,18 @@ */ package forge.itemmanager.views; +import java.awt.Graphics; +import java.awt.Rectangle; +import java.awt.event.MouseEvent; + +import javax.swing.SwingConstants; + import forge.item.InventoryItem; import forge.localinstance.assets.FSkinProp; import forge.screens.deckeditor.CDeckEditorUI; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.MouseEvent; - /** * Displays deck quantity with +/- buttons */ diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java index 35d1571da66..4f3223ad367 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/DeckStarRenderer.java @@ -17,6 +17,12 @@ */ package forge.itemmanager.views; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.event.MouseEvent; + +import javax.swing.JTable; + import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; import forge.item.InventoryItem; @@ -25,11 +31,6 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.MouseEvent; - /** * Displays favorite icons */ diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/IntegerRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/IntegerRenderer.java index e17a56c4f8d..cc6539d57a7 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/IntegerRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/IntegerRenderer.java @@ -17,8 +17,9 @@ */ package forge.itemmanager.views; -import javax.swing.*; -import java.awt.*; +import java.awt.Component; + +import javax.swing.JTable; /** * A quick converter to avoid -1 and Integer.MAX_VALUE being displayed for unapplicable values. diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemView.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemView.java index d2eccdc2039..84f78e6cbac 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemView.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ItemView.java @@ -33,10 +33,6 @@ import javax.swing.event.ChangeListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; -import forge.toolbox.*; -import forge.util.Localizer; -import net.miginfocom.swing.MigLayout; - import org.apache.commons.lang3.CharUtils; import org.apache.commons.lang3.StringUtils; @@ -45,8 +41,16 @@ import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemManager; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManagerModel; +import forge.toolbox.FCheckBox; +import forge.toolbox.FLabel; +import forge.toolbox.FScrollPane; +import forge.toolbox.FScrollPanel; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinImage; +import forge.toolbox.ToolTipListener; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; public abstract class ItemView { private static final SkinColor BORDER_COLOR = FSkin.getColor(FSkin.Colors.CLR_TEXT); diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ManaCostRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ManaCostRenderer.java index 40765e1540a..b18787cebb2 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/ManaCostRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/ManaCostRenderer.java @@ -17,16 +17,17 @@ */ package forge.itemmanager.views; +import java.awt.Component; +import java.awt.Graphics; + +import javax.swing.JTable; + import forge.card.CardRules; import forge.card.CardSplitType; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; import forge.toolbox.CardFaceSymbols; -import javax.swing.*; - -import java.awt.*; - /** * Displays mana cost as symbols. */ diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java b/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java index c8ff2130cab..cf512b7df57 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/views/StarRenderer.java @@ -17,6 +17,12 @@ */ package forge.itemmanager.views; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.event.MouseEvent; + +import javax.swing.JTable; + import forge.gui.card.CardPreferences; import forge.item.IPaperCard; import forge.item.InventoryItem; @@ -26,11 +32,6 @@ import forge.toolbox.FSkin.SkinImage; import forge.util.CardTranslation; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.MouseEvent; - /** * Displays favorite icons */ diff --git a/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java b/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java index e788bb92d3d..9dcdd91ceea 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java +++ b/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java @@ -16,8 +16,8 @@ import javax.swing.event.PopupMenuListener; import forge.Singletons; import forge.gui.GuiUtils; import forge.screens.home.online.OnlineMenu; -import forge.util.ReflectionUtil; import forge.util.Localizer; +import forge.util.ReflectionUtil; public final class ForgeMenu { diff --git a/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java b/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java index a41b424e70b..69a108996c1 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java +++ b/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java @@ -1,20 +1,22 @@ package forge.menus; +import java.awt.Desktop; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; +import java.io.File; +import java.io.IOException; + +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.KeyStroke; + import forge.localinstance.properties.ForgeConstants; import forge.toolbox.FOptionPane; import forge.util.BuildInfo; import forge.util.FileUtil; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; -import java.io.File; -import java.io.IOException; - public final class HelpMenu { private HelpMenu() { } diff --git a/forge-gui-desktop/src/main/java/forge/menus/IMenuProvider.java b/forge-gui-desktop/src/main/java/forge/menus/IMenuProvider.java index 21c0a59029a..047eee2ad32 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/IMenuProvider.java +++ b/forge-gui-desktop/src/main/java/forge/menus/IMenuProvider.java @@ -1,8 +1,9 @@ package forge.menus; -import javax.swing.*; import java.util.List; +import javax.swing.JMenu; + /** * By implementing this interface a class can add menus to the menu bar * by calling the {@code MenuBarManager.SetupMenuBar()} method. diff --git a/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java b/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java index 3b363fb70cc..154bfdd4188 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java +++ b/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java @@ -24,9 +24,9 @@ import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedMenuItem; +import forge.util.Localizer; import forge.view.FFrame; import forge.view.FView; -import forge.util.Localizer; /** * Returns a JMenu containing options associated with game screen layout. diff --git a/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java b/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java index 5e91f2ab3ee..beff2c6d7a0 100644 --- a/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java +++ b/forge-gui-desktop/src/main/java/forge/menus/MenuUtil.java @@ -1,15 +1,16 @@ package forge.menus; +import java.awt.Toolkit; +import java.io.IOException; + +import javax.swing.JMenuItem; +import javax.swing.KeyStroke; + import forge.Singletons; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin; import forge.toolbox.imaging.FImageUtil; -import javax.swing.*; - -import java.awt.*; -import java.io.IOException; - public final class MenuUtil { private MenuUtil() { } diff --git a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java index 5f40c414b21..d712036ab1c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/bazaar/VBazaarUI.java @@ -1,5 +1,10 @@ package forge.screens.bazaar; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.border.Border; + import forge.gamemodes.quest.bazaar.QuestBazaarManager; import forge.gui.GuiBase; import forge.gui.UiCommand; @@ -15,9 +20,6 @@ import forge.toolbox.FSkin.SkinImage; import forge.view.FView; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.border.Border; - /** Lays out containers and borders for resizeable layout and * instantiates top-level controller for bazaar UI. */ diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java index 3ea5daa06b1..3ef2c112db9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/AddBasicLandsDialog.java @@ -23,16 +23,18 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.text.NumberFormat; +import java.util.Map; import java.util.Map.Entry; import javax.swing.JOptionPane; import javax.swing.SwingConstants; import com.google.common.collect.ImmutableList; - import com.google.common.collect.Iterables; + import forge.ImageCache; import forge.StaticData; import forge.card.CardEdition; @@ -53,12 +55,10 @@ import forge.toolbox.FLabel; import forge.toolbox.FMouseAdapter; import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; -import forge.toolbox.FTextField; import forge.toolbox.FSkin.SkinnedPanel; -import forge.view.arcane.CardPanel; +import forge.toolbox.FTextField; import forge.util.Localizer; -import java.awt.event.MouseEvent; -import java.util.Map; +import forge.view.arcane.CardPanel; @SuppressWarnings("serial") diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java index 11c4a9f2a40..f3a4118793b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/CDeckEditorUI.java @@ -36,7 +36,12 @@ import forge.gui.framework.FScreen; import forge.gui.framework.ICDoc; import forge.item.InventoryItem; import forge.itemmanager.ItemManager; -import forge.screens.deckeditor.controllers.*; +import forge.screens.deckeditor.controllers.ACEditorBase; +import forge.screens.deckeditor.controllers.CEditorConstructed; +import forge.screens.deckeditor.controllers.CEditorQuestCardShop; +import forge.screens.deckeditor.controllers.CProbabilities; +import forge.screens.deckeditor.controllers.CStatistics; +import forge.screens.deckeditor.controllers.DeckController; import forge.screens.deckeditor.views.VAllDecks; import forge.screens.deckeditor.views.VBrawlDecks; import forge.screens.deckeditor.views.VCardCatalog; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/DeckImport.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/DeckImport.java index 1f61229f70f..c295a55402a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/DeckImport.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/DeckImport.java @@ -20,13 +20,16 @@ package forge.screens.deckeditor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; -import java.util.*; +import java.util.List; import javax.swing.BorderFactory; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; -import forge.deck.*; +import forge.deck.Deck; +import forge.deck.DeckBase; +import forge.deck.DeckImportController; +import forge.deck.DeckRecognizer; import forge.deck.DeckRecognizer.TokenType; import forge.item.InventoryItem; import forge.screens.deckeditor.controllers.ACEditorBase; @@ -38,8 +41,8 @@ import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FTextArea; -import forge.view.FDialog; import forge.util.Localizer; +import forge.view.FDialog; /** * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/SEditorIO.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/SEditorIO.java index 7cf3884ac88..1ac57f7aecd 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/SEditorIO.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/SEditorIO.java @@ -1,9 +1,14 @@ package forge.screens.deckeditor; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.ImmutableList; + import forge.Singletons; import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; import forge.gui.framework.FScreen; +import forge.model.FModel; import forge.screens.deckeditor.controllers.CAllDecks; import forge.screens.deckeditor.controllers.DeckController; import forge.screens.deckeditor.views.VAllDecks; @@ -11,11 +16,6 @@ import forge.screens.deckeditor.views.VCurrentDeck; import forge.toolbox.FOptionPane; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import com.google.common.collect.ImmutableList; -import forge.model.FModel; - /** * Handles editor preferences saving and loading. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/VDeckEditorUI.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/VDeckEditorUI.java index f70a91eebaf..6917e1e09b4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/VDeckEditorUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/VDeckEditorUI.java @@ -1,12 +1,12 @@ package forge.screens.deckeditor; +import javax.swing.SwingUtilities; + import forge.Singletons; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.screens.deckeditor.views.VCardCatalog; -import javax.swing.*; - /** /** * Top level view class; instantiates and assembles diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java index 686d6a7e322..61eb3e05219 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/ACEditorBase.java @@ -17,15 +17,34 @@ */ package forge.screens.deckeditor.controllers; +import java.awt.Toolkit; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; +import java.util.List; +import java.util.Map.Entry; + +import javax.swing.JMenu; +import javax.swing.JPopupMenu; +import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import forge.deck.*; +import forge.deck.CardPool; +import forge.deck.Deck; +import forge.deck.DeckBase; +import forge.deck.DeckFormat; +import forge.deck.DeckSection; import forge.game.GameType; import forge.gui.GuiChoose; import forge.gui.GuiUtils; import forge.gui.UiCommand; -import forge.gui.framework.*; +import forge.gui.framework.DragCell; +import forge.gui.framework.FScreen; +import forge.gui.framework.ICDoc; +import forge.gui.framework.IVDoc; +import forge.gui.framework.SRearrangingUtil; import forge.item.InventoryItem; import forge.item.PaperCard; import forge.itemmanager.CardManager; @@ -49,13 +68,6 @@ import forge.util.ItemPool; import forge.util.Localizer; import forge.view.FView; -import javax.swing.*; -import java.awt.*; -import java.awt.event.InputEvent; -import java.awt.event.KeyEvent; -import java.util.List; -import java.util.Map.Entry; - /** * Maintains a generically typed architecture for various editing * environments. A basic editor instance requires a card catalog, the diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckEditor.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckEditor.java index ad290237eff..f643cb042f5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckEditor.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CDeckEditor.java @@ -1,13 +1,15 @@ package forge.screens.deckeditor.controllers; -import forge.deck.*; +import java.util.EnumSet; + +import forge.deck.CardPool; +import forge.deck.DeckBase; +import forge.deck.DeckSection; import forge.game.GameType; import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.screens.match.controllers.CDetailPicture; -import java.util.*; - public abstract class CDeckEditor extends ACEditorBase { protected CDeckEditor(FScreen screen0, CDetailPicture cDetailPicture0, GameType gameType0) { super(screen0, cDetailPicture0, gameType0); diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java index b5dbf1c4062..90d78a5baf9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java @@ -17,6 +17,12 @@ */ package forge.screens.deckeditor.controllers; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.base.Supplier; @@ -43,12 +49,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FComboBox; import forge.util.ItemPool; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; -import java.util.Map.Entry; - /** * Child controller for constructed deck editor UI. * This is the least restrictive mode; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java index cb50eae61cb..c3e1f21f0fb 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorConstructed.java @@ -17,6 +17,12 @@ */ package forge.screens.deckeditor.controllers; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.base.Supplier; @@ -41,12 +47,6 @@ import forge.toolbox.FComboBox; import forge.util.ItemPool; import forge.util.Localizer; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; -import java.util.Map.Entry; - /** * Child controller for constructed deck editor UI. * This is the least restrictive mode; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java index 373979bf7c5..6519c3ad329 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorDraftingProcess.java @@ -17,6 +17,9 @@ */ package forge.screens.deckeditor.controllers; +import java.util.HashSet; +import java.util.Map.Entry; + import forge.Singletons; import forge.deck.Deck; import forge.deck.DeckGroup; @@ -31,16 +34,19 @@ import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; -import forge.screens.deckeditor.views.*; +import forge.screens.deckeditor.views.VAllDecks; +import forge.screens.deckeditor.views.VBrawlDecks; +import forge.screens.deckeditor.views.VCommanderDecks; +import forge.screens.deckeditor.views.VCurrentDeck; +import forge.screens.deckeditor.views.VDeckgen; +import forge.screens.deckeditor.views.VOathbreakerDecks; +import forge.screens.deckeditor.views.VTinyLeadersDecks; import forge.screens.home.sanctioned.CSubmenuDraft; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FOptionPane; import forge.util.ItemPool; import forge.util.Localizer; -import java.util.HashSet; -import java.util.Map.Entry; - /** * Updates the deck editor UI as necessary draft selection mode. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java index c14653f6955..0765070f04b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorLimited.java @@ -17,6 +17,14 @@ */ package forge.screens.deckeditor.controllers; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; + import com.google.common.base.Supplier; import forge.card.CardEdition; @@ -34,18 +42,19 @@ import forge.itemmanager.ItemManagerConfig; import forge.model.FModel; import forge.screens.deckeditor.AddBasicLandsDialog; import forge.screens.deckeditor.SEditorIO; -import forge.screens.deckeditor.views.*; +import forge.screens.deckeditor.views.VAllDecks; +import forge.screens.deckeditor.views.VBrawlDecks; +import forge.screens.deckeditor.views.VCommanderDecks; +import forge.screens.deckeditor.views.VCurrentDeck; +import forge.screens.deckeditor.views.VDeckgen; +import forge.screens.deckeditor.views.VOathbreakerDecks; +import forge.screens.deckeditor.views.VTinyLeadersDecks; import forge.screens.home.sanctioned.CSubmenuDraft; import forge.screens.home.sanctioned.CSubmenuSealed; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FComboBox; import forge.util.storage.IStorage; -import java.util.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.Map.Entry; - /** * Child controller for limited deck editor UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java index 3977d7bd78f..8df79f79384 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuest.java @@ -17,6 +17,16 @@ */ package forge.screens.deckeditor.controllers; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import javax.swing.KeyStroke; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -54,15 +64,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FComboBox; import forge.util.ItemPool; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - /** * Child controller for quest deck editor UI. *

diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java index 6950471e104..fec30f2d99a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestCardShop.java @@ -17,6 +17,12 @@ */ package forge.screens.deckeditor.controllers; +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + import forge.deck.DeckBase; import forge.game.GameType; import forge.gamemodes.quest.QuestController; @@ -25,26 +31,24 @@ import forge.gamemodes.quest.QuestUtil; import forge.gui.UiCommand; import forge.gui.framework.DragCell; import forge.gui.framework.FScreen; -import forge.item.*; +import forge.item.InventoryItem; import forge.itemmanager.ColumnDef; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.SpellShopManager; import forge.itemmanager.views.ItemTableColumn; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.screens.deckeditor.views.*; +import forge.screens.deckeditor.views.VAllDecks; +import forge.screens.deckeditor.views.VCardCatalog; +import forge.screens.deckeditor.views.VCurrentDeck; +import forge.screens.deckeditor.views.VDeckgen; +import forge.screens.deckeditor.views.VProbabilities; import forge.screens.home.quest.CSubmenuQuestDecks; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.util.ItemPool; -import java.text.DecimalFormat; -import java.text.NumberFormat; -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; - /** * Child controller for quest card shop UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestDraftingProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestDraftingProcess.java index 2e349bb98db..3f756a9730b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestDraftingProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestDraftingProcess.java @@ -17,6 +17,8 @@ */ package forge.screens.deckeditor.controllers; +import java.util.Map.Entry; + import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.DeckSection; @@ -29,15 +31,19 @@ import forge.gui.framework.FScreen; import forge.item.PaperCard; import forge.itemmanager.CardManager; import forge.itemmanager.ItemManagerConfig; -import forge.screens.deckeditor.views.*; +import forge.screens.deckeditor.views.VAllDecks; +import forge.screens.deckeditor.views.VBrawlDecks; +import forge.screens.deckeditor.views.VCommanderDecks; +import forge.screens.deckeditor.views.VCurrentDeck; +import forge.screens.deckeditor.views.VDeckgen; +import forge.screens.deckeditor.views.VOathbreakerDecks; +import forge.screens.deckeditor.views.VTinyLeadersDecks; import forge.screens.home.quest.CSubmenuQuestDraft; import forge.screens.home.quest.VSubmenuQuestDraft; import forge.screens.match.controllers.CDetailPicture; import forge.util.ItemPool; import forge.util.Localizer; -import java.util.Map.Entry; - /** * Updates the deck editor UI as necessary draft selection mode. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java index 6e17f9407d0..9df0e6d4c67 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorQuestLimited.java @@ -17,6 +17,12 @@ */ package forge.screens.deckeditor.controllers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Function; import com.google.common.base.Supplier; @@ -44,12 +50,6 @@ import forge.screens.deckeditor.views.VDeckgen; import forge.screens.home.quest.CSubmenuQuestDecks; import forge.screens.match.controllers.CDetailPicture; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - /** * Child controller for quest deck editor UI. *

diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorTokenViewer.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorTokenViewer.java index f60333a1d34..4fadf2055b5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorTokenViewer.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorTokenViewer.java @@ -1,6 +1,9 @@ package forge.screens.deckeditor.controllers; +import java.util.List; +import java.util.Map; + import forge.deck.DeckBase; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -8,14 +11,15 @@ import forge.gui.framework.FScreen; import forge.item.PaperToken; import forge.itemmanager.TokenManager; import forge.model.FModel; -import forge.screens.deckeditor.views.*; +import forge.screens.deckeditor.views.VAllDecks; +import forge.screens.deckeditor.views.VCardCatalog; +import forge.screens.deckeditor.views.VCurrentDeck; +import forge.screens.deckeditor.views.VDeckgen; +import forge.screens.deckeditor.views.VProbabilities; import forge.screens.home.quest.CSubmenuQuestDecks; import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; -import java.util.List; -import java.util.Map; - public class CEditorTokenViewer extends ACEditorBase { private DragCell allDecksParent = null; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java index e2d74900609..4ea85dfce0f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorVariant.java @@ -17,6 +17,8 @@ */ package forge.screens.deckeditor.controllers; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import com.google.common.base.Supplier; import com.google.common.collect.Iterables; @@ -40,8 +42,6 @@ import forge.util.ItemPool; import forge.util.Localizer; import forge.util.storage.IStorage; -import java.util.Map.Entry; - /** * Child controller for constructed deck editor UI. * This is the least restrictive mode; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java index 33c6614d721..a7cef90f8fa 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorWinstonProcess.java @@ -17,6 +17,8 @@ */ package forge.screens.deckeditor.controllers; +import java.util.Map.Entry; + import forge.Singletons; import forge.card.MagicColor; import forge.deck.CardPool; @@ -45,8 +47,6 @@ import forge.toolbox.FOptionPane; import forge.util.ItemPool; import forge.util.MyRandom; -import java.util.Map.Entry; - /** * Updates the deck editor UI as necessary draft selection mode. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java index d3d2a19ae3e..c35428de857 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java @@ -17,28 +17,32 @@ */ package forge.screens.deckeditor.controllers; -import forge.StaticData; -import forge.deck.*; -import forge.item.PaperCard; -import forge.util.ItemPool; -import forge.util.Localizer; +import java.util.Date; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.Map; + import org.apache.commons.lang3.StringUtils; import com.google.common.base.Supplier; +import forge.StaticData; +import forge.deck.CardPool; +import forge.deck.Deck; +import forge.deck.DeckBase; +import forge.deck.DeckProxy; +import forge.deck.DeckSection; +import forge.item.PaperCard; import forge.screens.deckeditor.menus.DeckFileMenu; import forge.screens.deckeditor.views.VCurrentDeck; import forge.screens.home.gauntlet.VSubmenuGauntletBuild; import forge.screens.home.gauntlet.VSubmenuGauntletContests; import forge.screens.home.gauntlet.VSubmenuGauntletQuick; import forge.screens.home.sanctioned.VSubmenuConstructed; +import forge.util.ItemPool; +import forge.util.Localizer; import forge.util.storage.IStorage; -import java.util.Date; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.Map; - public class DeckController { private T model; private boolean saved; diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java index c50718fd36f..7fb3b4fb2d5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckHtmlSerializer.java @@ -1,5 +1,16 @@ package forge.screens.deckeditor.controllers; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; + import forge.deck.Deck; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; @@ -9,13 +20,6 @@ import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.*; -import java.util.Map.Entry; - public class DeckHtmlSerializer { public static void writeDeckHtml(final Deck d, final File f) { try { diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/CDeckEditorUIMenus.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/CDeckEditorUIMenus.java index 1f1c8a47df4..d131a86dfa6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/CDeckEditorUIMenus.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/CDeckEditorUIMenus.java @@ -1,9 +1,10 @@ package forge.screens.deckeditor.menus; -import javax.swing.*; import java.util.ArrayList; import java.util.List; +import javax.swing.JMenu; + /** * Gets the menus associated with the Game screen. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java index 2b643acd42d..7e75367e528 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/menus/DeckFileMenu.java @@ -1,5 +1,12 @@ package forge.screens.deckeditor.menus; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; + +import javax.swing.JMenu; +import javax.swing.JSeparator; + import forge.localinstance.assets.FSkinProp; import forge.menus.MenuUtil; import forge.screens.deckeditor.CDeckEditorUI; @@ -7,12 +14,6 @@ import forge.screens.deckeditor.views.VCurrentDeck; import forge.toolbox.FSkin.SkinnedMenuItem; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; - /** * Returns a JMenu containing options associated with current game. *

diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VAllDecks.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VAllDecks.java index 6a9af01f1ea..a1d8bce2b30 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VAllDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VAllDecks.java @@ -1,5 +1,7 @@ package forge.screens.deckeditor.views; +import javax.swing.JPanel; + import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -13,8 +15,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of all deck viewer in deck editor. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VBrawlDecks.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VBrawlDecks.java index 717139884df..a8e0c0e1cde 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VBrawlDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VBrawlDecks.java @@ -1,5 +1,7 @@ package forge.screens.deckeditor.views; +import javax.swing.JPanel; + import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -13,8 +15,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of all deck viewer in deck editor. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCardCatalog.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCardCatalog.java index 77afc809778..c12b75a5a9a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCardCatalog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCardCatalog.java @@ -1,5 +1,7 @@ package forge.screens.deckeditor.views; +import javax.swing.JPanel; + import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -11,8 +13,6 @@ import forge.screens.deckeditor.controllers.CCardCatalog; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of card catalog in deck editor. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCommanderDecks.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCommanderDecks.java index 2c40e97b632..cddfddf5bf8 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCommanderDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCommanderDecks.java @@ -1,5 +1,7 @@ package forge.screens.deckeditor.views; +import javax.swing.JPanel; + import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -13,8 +15,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of all deck viewer in deck editor. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java index 4f26a5d48b7..ff80fa5902f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VCurrentDeck.java @@ -3,8 +3,6 @@ package forge.screens.deckeditor.views; import javax.swing.JPanel; import javax.swing.SwingConstants; -import forge.util.Localizer; -import net.miginfocom.swing.MigLayout; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -17,6 +15,8 @@ import forge.screens.deckeditor.controllers.CCurrentDeck; import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.toolbox.FTextField; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of current deck being edited in deck editor. diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VOathbreakerDecks.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VOathbreakerDecks.java index 85d514b501b..f0351284a14 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VOathbreakerDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VOathbreakerDecks.java @@ -1,5 +1,7 @@ package forge.screens.deckeditor.views; +import javax.swing.JPanel; + import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -13,8 +15,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of all deck viewer in deck editor. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VProbabilities.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VProbabilities.java index 4c95e6af8f8..3efe83816ad 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VProbabilities.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VProbabilities.java @@ -9,7 +9,6 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; -import net.miginfocom.swing.MigLayout; import forge.deck.DeckBase; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -24,6 +23,7 @@ import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of deck editor analysis tab. diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VStatistics.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VStatistics.java index 58dc96d745e..47c1fc93de7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VStatistics.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VStatistics.java @@ -4,7 +4,6 @@ import java.awt.Font; import javax.swing.JPanel; -import net.miginfocom.swing.MigLayout; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -16,6 +15,7 @@ import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of deck editor analysis tab. diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VTinyLeadersDecks.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VTinyLeadersDecks.java index d52488766f6..e45a64fd127 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VTinyLeadersDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/views/VTinyLeadersDecks.java @@ -1,5 +1,7 @@ package forge.screens.deckeditor.views; +import javax.swing.JPanel; + import forge.deck.io.DeckPreferences; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -13,8 +15,6 @@ import forge.screens.match.controllers.CDetailPicture; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of all deck viewer in deck editor. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java b/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java index e3f8d3fd8c1..009647deba0 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/LblGroup.java @@ -1,5 +1,12 @@ package forge.screens.home; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + import forge.gui.framework.ILocalRepaint; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; @@ -7,10 +14,6 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedLabel; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - /** * Custom JLabel for title of menu item groups. * Handles repainting and listening for hover and click events. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/LblHeader.java b/forge-gui-desktop/src/main/java/forge/screens/home/LblHeader.java index 80780ed9cc5..e2502a26dd6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/LblHeader.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/LblHeader.java @@ -1,13 +1,14 @@ package forge.screens.home; +import java.awt.Graphics; +import java.awt.Graphics2D; + +import javax.swing.border.EmptyBorder; + import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedLabel; -import javax.swing.border.EmptyBorder; - -import java.awt.*; - /** * Standardized header label for top of menu display panel. */ diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/LblMenuItem.java b/forge-gui-desktop/src/main/java/forge/screens/home/LblMenuItem.java index 0c504a3d96f..469d150211f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/LblMenuItem.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/LblMenuItem.java @@ -1,15 +1,17 @@ package forge.screens.home; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + import forge.gui.framework.ICDoc; import forge.gui.framework.ILocalRepaint; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedLabel; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - /** * Custom JLabel for an item in the menu. Handles listening * and repainting for hover and select events. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java index e0287d6c23d..5574dff3db1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java @@ -14,9 +14,6 @@ import javax.swing.ButtonGroup; import javax.swing.JCheckBoxMenuItem; import javax.swing.JPopupMenu; -import forge.screens.home.sanctioned.SleeveSelector; -import net.miginfocom.swing.MigLayout; - import org.apache.commons.lang3.StringUtils; import com.google.common.base.Predicate; @@ -39,6 +36,7 @@ import forge.model.FModel; import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorVariant; import forge.screens.home.sanctioned.AvatarSelector; +import forge.screens.home.sanctioned.SleeveSelector; import forge.toolbox.FCheckBox; import forge.toolbox.FComboBox; import forge.toolbox.FComboBoxWrapper; @@ -50,9 +48,10 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinImage; import forge.toolbox.FTextField; +import forge.util.Localizer; import forge.util.MyRandom; import forge.util.NameGenerator; -import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; @SuppressWarnings("serial") public class PlayerPanel extends FPanel { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/PnlGroup.java b/forge-gui-desktop/src/main/java/forge/screens/home/PnlGroup.java index ca9cbd4fd12..c6c37425db8 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/PnlGroup.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/PnlGroup.java @@ -1,14 +1,15 @@ package forge.screens.home; +import java.awt.Graphics; +import java.awt.Graphics2D; + +import javax.swing.JLabel; + import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedPanel; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; - /** * Custom JPanel for containing LblMenuItem components. * Mostly just handles repainting. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java b/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java index e2444608a89..27992eac6ba 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/StartButton.java @@ -1,17 +1,17 @@ package forge.screens.home; -import forge.localinstance.assets.FSkinProp; -import forge.toolbox.FSkin; -import forge.toolbox.FSkin.SkinnedButton; - -import javax.swing.*; -import javax.swing.border.Border; - import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; +import javax.swing.SwingUtilities; +import javax.swing.border.Border; + +import forge.localinstance.assets.FSkinProp; +import forge.toolbox.FSkin; +import forge.toolbox.FSkin.SkinnedButton; + @SuppressWarnings("serial") public class StartButton extends SkinnedButton { public StartButton() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java b/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java index 38a8ea614b4..7b10502edc2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/StopButton.java @@ -1,16 +1,17 @@ package forge.screens.home; -import forge.localinstance.assets.FSkinProp; -import forge.toolbox.FSkin; -import forge.toolbox.FSkin.SkinnedButton; - -import javax.swing.*; -import javax.swing.border.Border; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; +import javax.swing.SwingUtilities; +import javax.swing.border.Border; + +import forge.localinstance.assets.FSkinProp; +import forge.toolbox.FSkin; +import forge.toolbox.FSkin.SkinnedButton; + @SuppressWarnings("serial") public class StopButton extends SkinnedButton { public StopButton() { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java b/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java index e02bf2fcddd..7d0f9cc627b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VHomeUI.java @@ -17,8 +17,27 @@ */ package forge.screens.home; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.Singletons; -import forge.gui.framework.*; +import forge.gui.framework.EDocID; +import forge.gui.framework.FScreen; +import forge.gui.framework.ICDoc; +import forge.gui.framework.ILocalRepaint; +import forge.gui.framework.IVTopLevelUI; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; @@ -30,11 +49,21 @@ import forge.screens.home.online.VSubmenuOnlineLobby; import forge.screens.home.puzzle.VSubmenuPuzzleCreate; import forge.screens.home.puzzle.VSubmenuPuzzleSolve; //import forge.screens.home.puzzle.VSubmenuTutorial; -import forge.screens.home.quest.*; +import forge.screens.home.quest.VSubmenuChallenges; +import forge.screens.home.quest.VSubmenuDuels; +import forge.screens.home.quest.VSubmenuQuestDecks; +import forge.screens.home.quest.VSubmenuQuestDraft; +import forge.screens.home.quest.VSubmenuQuestLoadData; +import forge.screens.home.quest.VSubmenuQuestPrefs; +import forge.screens.home.quest.VSubmenuQuestStart; import forge.screens.home.sanctioned.VSubmenuConstructed; import forge.screens.home.sanctioned.VSubmenuDraft; import forge.screens.home.sanctioned.VSubmenuSealed; -import forge.screens.home.settings.*; +import forge.screens.home.settings.VSubmenuAchievements; +import forge.screens.home.settings.VSubmenuAvatars; +import forge.screens.home.settings.VSubmenuDownloaders; +import forge.screens.home.settings.VSubmenuPreferences; +import forge.screens.home.settings.VSubmenuReleaseNotes; import forge.toolbox.FLabel; import forge.toolbox.FScrollPanel; import forge.toolbox.FSkin; @@ -43,11 +72,6 @@ import forge.toolbox.FSkin.SkinnedPanel; import forge.view.FView; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.*; -import java.util.*; -import java.util.List; - /** * Top level view class for home UI drag layout.
* Uses singleton pattern.
diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index 57485fc0ecf..601be4b4431 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -1,11 +1,36 @@ package forge.screens.home; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Vector; + +import javax.swing.JButton; +import javax.swing.JPanel; +import javax.swing.ListSelectionModel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import forge.ai.AIOption; -import forge.deck.*; +import forge.deck.CardPool; +import forge.deck.Deck; +import forge.deck.DeckProxy; +import forge.deck.DeckSection; +import forge.deck.DeckType; +import forge.deck.DeckgenUtil; +import forge.deck.RandomDeckGenerator; import forge.deckchooser.FDeckChooser; import forge.game.GameType; import forge.game.card.CardView; @@ -23,25 +48,22 @@ import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import forge.toolbox.*; +import forge.toolbox.FCheckBox; +import forge.toolbox.FLabel; +import forge.toolbox.FList; +import forge.toolbox.FOptionPane; +import forge.toolbox.FPanel; +import forge.toolbox.FScrollPane; +import forge.toolbox.FScrollPanel; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; +import forge.toolbox.FTextField; import forge.util.Aggregates; import forge.util.Lang; import forge.util.Localizer; import forge.util.NameGenerator; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.*; -import java.util.List; - /** * Lobby view. View of a number of players at the deck selection stage. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java index adfecaabc56..2a5b41ae8b5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/ContestGauntletLister.java @@ -11,13 +11,13 @@ import java.util.List; import javax.swing.JPanel; import javax.swing.SwingConstants; -import net.miginfocom.swing.MigLayout; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; import forge.gui.UiCommand; import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedPanel; +import net.miginfocom.swing.MigLayout; /** * Creates file list/table for quick deleting, editing, and basic info. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java index 18216725aea..881bd9c6822 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/QuickGauntletLister.java @@ -12,7 +12,6 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.border.Border; -import net.miginfocom.swing.MigLayout; import forge.gamemodes.gauntlet.GauntletData; import forge.gamemodes.gauntlet.GauntletIO; import forge.gamemodes.quest.QuestUtil; @@ -25,6 +24,7 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinIcon; import forge.toolbox.FSkin.SkinnedButton; import forge.toolbox.FSkin.SkinnedPanel; +import net.miginfocom.swing.MigLayout; /** * Creates file list/table for quick deleting, editing, and basic info. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java index 2ea805e2459..9268ed48fd9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletBuild.java @@ -1,5 +1,13 @@ package forge.screens.home.gauntlet; +import java.awt.Color; + +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.deckchooser.FDeckChooser; import forge.game.GameType; import forge.gamemodes.gauntlet.GauntletIO; @@ -10,14 +18,14 @@ import forge.localinstance.assets.FSkinProp; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; -import forge.toolbox.*; +import forge.toolbox.FLabel; +import forge.toolbox.FList; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; +import forge.toolbox.FTextField; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; - /** * Assembles Swing components of "build gauntlet" submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java index 76f58874017..db4511a5ea7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletContests.java @@ -1,5 +1,11 @@ package forge.screens.home.gauntlet; +import java.awt.Font; + +import javax.swing.JButton; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.deckchooser.FDeckChooser; import forge.game.GameType; import forge.gui.framework.DragCell; @@ -16,10 +22,6 @@ import forge.toolbox.FSkin.SkinnedPanel; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; - /** * Assembles Swing components of "build gauntlet" submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java index 97dc21d1957..f0c77fe8f79 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletLoad.java @@ -1,5 +1,8 @@ package forge.screens.home.gauntlet; +import javax.swing.JButton; +import javax.swing.SwingConstants; + import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -13,8 +16,6 @@ import forge.toolbox.FSkin; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of "quick gauntlet" submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java index b73bd4e1f32..bad671349e4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/gauntlet/VSubmenuGauntletQuick.java @@ -1,5 +1,12 @@ package forge.screens.home.gauntlet; +import java.awt.Font; + +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JSlider; +import javax.swing.SwingConstants; + import forge.deck.DeckType; import forge.deckchooser.FDeckChooser; import forge.game.GameType; @@ -19,10 +26,6 @@ import forge.toolbox.FSkin.SkinnedSlider; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; - /** * Assembles Swing components of "quick gauntlet" submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/online/OnlineMenu.java b/forge-gui-desktop/src/main/java/forge/screens/home/online/OnlineMenu.java index b35cafa2056..963d6d1e51e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/online/OnlineMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/online/OnlineMenu.java @@ -1,13 +1,17 @@ package forge.screens.home.online; -import forge.gui.FNetOverlay; -import forge.util.Localizer; -import javax.swing.*; - import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JSeparator; + +import forge.gui.FNetOverlay; +import forge.util.Localizer; + /** * Returns a JMenu containing options for online play. */ diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java index ec7c68b61b4..3d36d3c8740 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/online/VSubmenuOnlineLobby.java @@ -5,8 +5,6 @@ import java.awt.event.ActionListener; import javax.swing.JPanel; -import forge.screens.home.*; -import net.miginfocom.swing.MigLayout; import forge.deckchooser.DecksComboBoxEvent; import forge.deckchooser.FDeckChooser; import forge.deckchooser.IDecksComboBoxListener; @@ -22,9 +20,15 @@ import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.gui.interfaces.ILobbyView; import forge.gui.util.SOptionPane; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.StopButton; +import forge.screens.home.VHomeUI; +import forge.screens.home.VLobby; import forge.toolbox.FButton; import forge.toolbox.FSkin; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; public enum VSubmenuOnlineLobby implements IVSubmenu, IOnlineLobby, IVTopLevelUI { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java index 5c244263c0c..9401a22a5cd 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleCreate.java @@ -1,5 +1,15 @@ package forge.screens.home.puzzle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import javax.swing.JMenu; +import javax.swing.SwingUtilities; + import com.google.common.collect.Maps; import forge.deck.Deck; @@ -18,14 +28,6 @@ import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - public enum CSubmenuPuzzleCreate implements ICDoc, IMenuProvider { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java index 69ef0003dd7..6f945974450 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuPuzzleSolve.java @@ -1,5 +1,15 @@ package forge.screens.home.puzzle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.swing.JMenu; +import javax.swing.ListSelectionModel; +import javax.swing.SwingUtilities; + import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; @@ -19,13 +29,6 @@ import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public enum CSubmenuPuzzleSolve implements ICDoc, IMenuProvider { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java index 5681491456a..08e6a3f2a51 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/CSubmenuTutorial.java @@ -1,5 +1,15 @@ package forge.screens.home.puzzle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.swing.JMenu; +import javax.swing.ListSelectionModel; +import javax.swing.SwingUtilities; + import forge.deck.Deck; import forge.game.GameRules; import forge.game.GameType; @@ -19,13 +29,6 @@ import forge.menus.MenuUtil; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public enum CSubmenuTutorial implements ICDoc, IMenuProvider { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java index 1b78b6f81d7..88aacebbcae 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/PuzzleGameMenu.java @@ -1,12 +1,13 @@ package forge.screens.home.puzzle; +import java.awt.event.KeyEvent; + +import javax.swing.JMenu; + import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.util.Localizer; -import javax.swing.*; -import java.awt.event.KeyEvent; - public class PuzzleGameMenu { private PuzzleGameMenu() { } diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java index 18d7e45237b..aa83f87189e 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleCreate.java @@ -1,5 +1,10 @@ package forge.screens.home.puzzle; +import java.awt.Font; + +import javax.swing.JPanel; +import javax.swing.SwingConstants; + import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LocalLobby; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; @@ -7,14 +12,15 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.screens.home.*; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.StartButton; +import forge.screens.home.VHomeUI; +import forge.screens.home.VLobby; import forge.toolbox.FLabel; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.*; - public enum VSubmenuPuzzleCreate implements IVSubmenu { SINGLETON_INSTANCE; final Localizer localizer = Localizer.getInstance(); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java index 9f48d5552e7..63feb352cb1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuPuzzleSolve.java @@ -1,5 +1,9 @@ package forge.screens.home.puzzle; +import javax.swing.DefaultListModel; +import javax.swing.JList; +import javax.swing.JPanel; + import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LocalLobby; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; @@ -7,14 +11,16 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.screens.home.*; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.StartButton; +import forge.screens.home.VHomeUI; +import forge.screens.home.VLobby; import forge.toolbox.FList; import forge.toolbox.FScrollPane; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - public enum VSubmenuPuzzleSolve implements IVSubmenu { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java index 822f440a829..d421cc625e6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/puzzle/VSubmenuTutorial.java @@ -1,5 +1,9 @@ package forge.screens.home.puzzle; +import javax.swing.DefaultListModel; +import javax.swing.JList; +import javax.swing.JPanel; + import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LocalLobby; import forge.gamemodes.net.event.UpdateLobbyPlayerEvent; @@ -7,14 +11,16 @@ import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.interfaces.IPlayerChangeListener; -import forge.screens.home.*; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.StartButton; +import forge.screens.home.VHomeUI; +import forge.screens.home.VLobby; import forge.toolbox.FList; import forge.toolbox.FScrollPane; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - public enum VSubmenuTutorial implements IVSubmenu { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java index 441a104e445..53c17ac1306 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuDuels.java @@ -1,5 +1,16 @@ package forge.screens.home.quest; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.List; + +import javax.swing.JRadioButton; +import javax.swing.SwingUtilities; + import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEventDuel; import forge.gamemodes.quest.QuestUtil; @@ -10,10 +21,6 @@ import forge.model.FModel; import forge.toolbox.JXButtonPanel; import forge.util.Localizer; -import javax.swing.*; -import java.awt.event.*; -import java.util.List; - /** * Controls the quest duels submenu in the home UI. *

diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java index 0409e8e8b9a..6f48c56a84f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestDraft.java @@ -1,12 +1,13 @@ package forge.screens.home.quest; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + import forge.deck.DeckGroup; import forge.gamemodes.quest.QuestTournamentController; import forge.gui.UiCommand; import forge.gui.framework.ICDoc; -import java.awt.event.*; - /** * Controls the quest draft submenu in the home UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java index 003d4a10a1b..41735fa819c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestLoadData.java @@ -1,5 +1,12 @@ package forge.screens.home.quest; +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.data.QuestData; import forge.gamemodes.quest.data.QuestPreferences.QPref; @@ -10,13 +17,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.screens.bazaar.CBazaarUI; -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - /** * Controls the quest data submenu in the home UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java index c1c3ec33560..bfbf3d25028 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/CSubmenuQuestStart.java @@ -1,9 +1,21 @@ package forge.screens.home.quest; +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 forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameFormat; -import forge.gamemodes.quest.*; +import forge.gamemodes.quest.QuestController; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.QuestUtil; +import forge.gamemodes.quest.QuestWorld; +import forge.gamemodes.quest.StartingPoolPreferences; +import forge.gamemodes.quest.StartingPoolType; import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gamemodes.quest.data.GameFormatQuest; import forge.gamemodes.quest.data.QuestData; @@ -16,8 +28,6 @@ import forge.screens.home.CHomeUI; import forge.toolbox.FOptionPane; import forge.util.Localizer; -import java.util.*; - /** * Controls the quest data submenu in the home UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java index f00893b6fd2..6359b7280a6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseFormats.java @@ -1,18 +1,29 @@ package forge.screens.home.quest; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import javax.swing.JPanel; +import javax.swing.SwingUtilities; + import forge.game.GameFormat; import forge.gui.SOverlayUtils; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.toolbox.*; +import forge.toolbox.FButton; +import forge.toolbox.FCheckBox; +import forge.toolbox.FCheckBoxList; +import forge.toolbox.FLabel; +import forge.toolbox.FOverlay; +import forge.toolbox.FPanel; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.*; - public class DialogChooseFormats { private List selectedFormats = new ArrayList<>() ; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java index cbabef00197..188a57ca27f 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChoosePoolDistribution.java @@ -1,21 +1,31 @@ package forge.screens.home.quest; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.ButtonGroup; +import javax.swing.JPanel; + import forge.card.MagicColor; import forge.gamemodes.quest.StartingPoolPreferences.PoolType; import forge.gui.SOverlayUtils; import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; -import forge.toolbox.*; +import forge.toolbox.FButton; +import forge.toolbox.FCheckBox; +import forge.toolbox.FLabel; +import forge.toolbox.FOverlay; +import forge.toolbox.FPanel; +import forge.toolbox.FRadioButton; +import forge.toolbox.FSkin; +import forge.toolbox.FTextField; +import forge.toolbox.FTextPane; +import forge.toolbox.JXButtonPanel; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; - @SuppressWarnings("WeakerAccess") public class DialogChoosePoolDistribution { final Localizer localizer = Localizer.getInstance(); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java index da0fbb9a413..3234befa94c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/DialogChooseSets.java @@ -1,23 +1,40 @@ package forge.screens.home.quest; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.function.Predicate; + +import javax.swing.ButtonGroup; +import javax.swing.JPanel; +import javax.swing.JSeparator; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; + import forge.card.CardEdition; import forge.game.GameFormat; import forge.gui.SOverlayUtils; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; -import forge.toolbox.*; -import forge.util.TextUtil; +import forge.toolbox.FButton; +import forge.toolbox.FCheckBox; +import forge.toolbox.FCheckBoxList; +import forge.toolbox.FLabel; +import forge.toolbox.FOverlay; +import forge.toolbox.FPanel; +import forge.toolbox.FRadioButton; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; +import forge.toolbox.FTextField; import forge.util.Localizer; +import forge.util.TextUtil; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.*; -import java.util.List; -import java.util.function.Predicate; - public class DialogChooseSets { private final List selectedSets = new ArrayList<>(); diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java index 30cfb74e4bd..ab2d52ad3b1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlDraftEvent.java @@ -1,5 +1,15 @@ package forge.screens.home.quest; +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JPanel; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestUtil; import forge.toolbox.FRadioButton; @@ -8,13 +18,6 @@ import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FTextArea; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - public class PnlDraftEvent extends JPanel { private static final long serialVersionUID = 7348489421342846451L; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java index dc756cf7dfc..c07e3d12992 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/PnlEvent.java @@ -1,5 +1,17 @@ package forge.screens.home.quest; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + import forge.ImageCache; import forge.gamemodes.quest.QuestEvent; import forge.gamemodes.quest.QuestUtil; @@ -11,13 +23,6 @@ import forge.toolbox.FSkin.SkinImage; import forge.toolbox.FTextArea; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - /** * Panels for displaying duels and challenges.
* Handles radio button selection, event storage, and repainting.
diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java index ea80b517e2f..8e694648b8a 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/QuestFileLister.java @@ -1,25 +1,35 @@ package forge.screens.home.quest; +import java.awt.Color; +import java.awt.Font; +import java.awt.event.MouseEvent; +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.Border; + import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.data.QuestData; import forge.gui.UiCommand; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.toolbox.*; +import forge.toolbox.FLabel; +import forge.toolbox.FMouseAdapter; +import forge.toolbox.FOptionPane; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedButton; import forge.toolbox.FSkin.SkinnedPanel; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.border.Border; -import java.awt.*; -import java.awt.event.MouseEvent; -import java.io.File; -import java.util.*; -import java.util.List; - /** * Creates file list/table for quick deleting, editing, and basic info. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java index de1e3bfae01..e532c96bb24 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuChallenges.java @@ -1,18 +1,31 @@ package forge.screens.home.quest; +import java.awt.Font; + +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.gamemodes.quest.IVQuestStats; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.localinstance.assets.FSkinProp; -import forge.screens.home.*; -import forge.toolbox.*; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.LblHeader; +import forge.screens.home.StartButton; +import forge.screens.home.VHomeUI; +import forge.toolbox.FCheckBox; +import forge.toolbox.FComboBoxWrapper; +import forge.toolbox.FLabel; +import forge.toolbox.FScrollPanel; +import forge.toolbox.FSkin; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.*; - /** * Assembles Swing components of quest challenges submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java index 09f25ec82cc..86b946a47b1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuDuels.java @@ -1,17 +1,31 @@ package forge.screens.home.quest; +import java.awt.Font; + +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.gamemodes.quest.IVQuestStats; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; -import forge.screens.home.*; -import forge.toolbox.*; -import net.miginfocom.swing.MigLayout; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.LblHeader; +import forge.screens.home.StartButton; +import forge.screens.home.VHomeUI; +import forge.toolbox.FCheckBox; +import forge.toolbox.FComboBoxWrapper; +import forge.toolbox.FLabel; +import forge.toolbox.FScrollPanel; +import forge.toolbox.FSkin; import forge.util.Localizer; -import javax.swing.*; -import java.awt.*; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of quest duels submenu singleton. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDecks.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDecks.java index 1cba8c32639..e9ca6ed7915 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDecks.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDecks.java @@ -1,5 +1,9 @@ package forge.screens.home.quest; +import java.awt.Font; + +import javax.swing.SwingConstants; + import forge.game.GameType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -17,10 +21,6 @@ import forge.toolbox.FSkin; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; - /** * Assembles Swing components of quest decks submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java index 22e63fd097b..acf332f8831 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestDraft.java @@ -1,11 +1,30 @@ package forge.screens.home.quest; +import java.awt.BasicStroke; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.geom.Rectangle2D; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; + import forge.Singletons; import forge.game.GameType; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.quest.IQuestTournamentView; -import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestDraftUtils.Mode; +import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.data.QuestEventDraftContainer; import forge.gui.GuiBase; import forge.gui.framework.DragCell; @@ -19,7 +38,11 @@ import forge.screens.deckeditor.CDeckEditorUI; import forge.screens.deckeditor.controllers.CEditorQuestDraftingProcess; import forge.screens.deckeditor.controllers.CEditorQuestLimited; import forge.screens.deckeditor.views.VCurrentDeck; -import forge.screens.home.*; +import forge.screens.home.EMenuGroup; +import forge.screens.home.IVSubmenu; +import forge.screens.home.LblHeader; +import forge.screens.home.StartButton; +import forge.screens.home.VHomeUI; import forge.screens.match.controllers.CDetailPicture; import forge.toolbox.FLabel; import forge.toolbox.FScrollPanel; @@ -28,16 +51,8 @@ import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinImage; import forge.toolbox.JXButtonPanel; -import net.miginfocom.swing.MigLayout; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.geom.Rectangle2D; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of quest draft submenu singleton. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java index fc07dd599a7..aeaf32510f1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestLoadData.java @@ -1,5 +1,8 @@ package forge.screens.home.quest; +import javax.swing.JPanel; +import javax.swing.SwingConstants; + import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -13,8 +16,6 @@ import forge.toolbox.FSkin; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of quest data submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java index e0f54b178f9..8a5026e9fcf 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestPrefs.java @@ -1,4 +1,16 @@ package forge.screens.home.quest; +import java.awt.Color; +import java.awt.Font; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.Border; + import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gui.framework.DragCell; @@ -17,13 +29,6 @@ import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedTextField; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.border.Border; -import java.awt.*; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; /** * Assembles Swing components of quest preferences submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java index 48f41cb2941..700e0b80a27 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/VSubmenuQuestStart.java @@ -1,5 +1,15 @@ package forge.screens.home.quest; +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.plaf.basic.BasicComboBoxRenderer; + import forge.deck.Deck; import forge.deck.DeckGroup; import forge.game.GameFormat; @@ -16,19 +26,16 @@ import forge.model.FModel; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; -import forge.toolbox.*; +import forge.toolbox.FCheckBox; +import forge.toolbox.FComboBoxWrapper; +import forge.toolbox.FLabel; +import forge.toolbox.FRadioButton; +import forge.toolbox.FSkin; +import forge.toolbox.JXButtonPanel; import forge.util.Localizer; import forge.util.WordUtil; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.plaf.basic.BasicComboBoxRenderer; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.HashMap; -import java.util.Map; - /** * Assembles Swing components of quest data submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java index 1a2c3313283..30f8603e9e1 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewItem.java @@ -1,5 +1,9 @@ package forge.screens.home.quest; +import java.awt.Font; + +import javax.swing.SwingUtilities; + import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.bazaar.IQuestBazaarItem; import forge.gamemodes.quest.data.QuestAssets; @@ -15,10 +19,6 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinImage; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; - /** An update-able panel instance representing a single item. */ @SuppressWarnings("serial") public class ViewItem extends FPanel { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java index c470cd5251f..9a38df7d52b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/quest/ViewStall.java @@ -17,6 +17,19 @@ */ package forge.screens.home.quest; +import java.awt.Component; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JPanel; +import javax.swing.JTextPane; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; +import javax.swing.border.Border; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; +import javax.swing.text.StyledDocument; + import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.bazaar.IQuestBazaarItem; @@ -30,16 +43,6 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedTextPane; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.border.Border; -import javax.swing.text.SimpleAttributeSet; -import javax.swing.text.StyleConstants; -import javax.swing.text.StyledDocument; - -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - /** *

* ViewStall class. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java index 777de84a88f..fb1f164441c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuDraft.java @@ -1,5 +1,17 @@ package forge.screens.home.sanctioned; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.SwingUtilities; + +import com.google.common.collect.Lists; + import forge.Singletons; import forge.deck.Deck; import forge.deck.DeckGroup; @@ -26,14 +38,6 @@ import forge.screens.deckeditor.views.VStatistics; import forge.toolbox.FOptionPane; import forge.util.Localizer; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; -import java.util.Collections; -import com.google.common.collect.Lists; - /** * Controls the draft submenu in the home UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java index 1274197b550..4c77bd64076 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/CSubmenuSealed.java @@ -5,7 +5,9 @@ import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; -import javax.swing.*; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.SwingUtilities; import forge.Singletons; import forge.deck.Deck; diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java index 4f9d5b57bb5..38ef974e893 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/ConstructedGameMenu.java @@ -1,17 +1,19 @@ package forge.screens.home.sanctioned; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; + +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JMenu; +import javax.swing.JMenuItem; + import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.MenuUtil; import forge.model.FModel; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; - /** * Returns a JMenu containing options for constructed game. */ diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/SleeveSelector.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/SleeveSelector.java index c93192b525f..585e17042e2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/SleeveSelector.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/SleeveSelector.java @@ -1,18 +1,21 @@ package forge.screens.home.sanctioned; +import java.awt.Dimension; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.gui.WrapLayout; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; -import forge.view.FDialog; import forge.util.Localizer; - -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import forge.view.FDialog; @SuppressWarnings("serial") public class SleeveSelector extends FDialog { diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java index 6433d73d8c7..ac504376e4d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuConstructed.java @@ -2,7 +2,6 @@ package forge.screens.home.sanctioned; import javax.swing.JPanel; -import net.miginfocom.swing.MigLayout; import forge.deckchooser.FDeckChooser; import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LocalLobby; @@ -16,6 +15,7 @@ import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; import forge.screens.home.VLobby; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of constructed submenu singleton. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuDraft.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuDraft.java index 2e0e0100953..907fd74edb7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuDraft.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuDraft.java @@ -2,11 +2,13 @@ package forge.screens.home.sanctioned; import java.awt.Font; -import javax.swing.*; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.SwingConstants; -import forge.toolbox.*; -import forge.util.Localizer; -import net.miginfocom.swing.MigLayout; import forge.game.GameType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -20,6 +22,12 @@ import forge.screens.home.LblHeader; import forge.screens.home.StartButton; import forge.screens.home.VHomeUI; import forge.screens.home.VHomeUI.PnlDisplay; +import forge.toolbox.FLabel; +import forge.toolbox.FRadioButton; +import forge.toolbox.FSkin; +import forge.toolbox.JXButtonPanel; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of draft submenu singleton. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java index b355d667191..da46149a74b 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuSealed.java @@ -5,15 +5,16 @@ import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import javax.swing.*; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.SwingConstants; import javax.swing.border.Border; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; -import forge.toolbox.*; -import forge.util.Localizer; -import net.miginfocom.swing.MigLayout; import forge.game.GameType; import forge.gui.SOverlayUtils; import forge.gui.framework.DragCell; @@ -29,7 +30,15 @@ import forge.screens.home.LblHeader; import forge.screens.home.StartButton; import forge.screens.home.VHomeUI; import forge.screens.home.VHomeUI.PnlDisplay; +import forge.toolbox.FButton; +import forge.toolbox.FLabel; +import forge.toolbox.FPanel; +import forge.toolbox.FRadioButton; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedTextPane; +import forge.toolbox.JXButtonPanel; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of sealed submenu singleton. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuWinston.java b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuWinston.java index 147cfc32205..d2b11add433 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuWinston.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/sanctioned/VSubmenuWinston.java @@ -9,7 +9,6 @@ import javax.swing.JPanel; import javax.swing.ListSelectionModel; import javax.swing.SwingConstants; -import net.miginfocom.swing.MigLayout; import forge.game.GameType; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -26,6 +25,7 @@ import forge.screens.home.VHomeUI.PnlDisplay; import forge.toolbox.FLabel; import forge.toolbox.FList; import forge.toolbox.FSkin; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of draft submenu singleton. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java index 9afe7adc933..c0ef53845b7 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuDownloaders.java @@ -1,6 +1,9 @@ package forge.screens.home.settings; -import forge.download.*; +import javax.swing.SwingUtilities; + +import forge.download.AutoUpdater; +import forge.download.GuiDownloader; import forge.gui.ImportDialog; import forge.gui.UiCommand; import forge.gui.download.GuiDownloadAchievementImages; @@ -13,8 +16,6 @@ import forge.gui.download.GuiDownloadSkins; import forge.gui.error.BugReporter; import forge.gui.framework.ICDoc; -import javax.swing.*; - /** * Controls the utilities submenu in the home UI. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java index 6ab74b5821e..5db97522d48 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/CSubmenuPreferences.java @@ -1,6 +1,21 @@ package forge.screens.home.settings; -import forge.*; +import java.awt.Desktop; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JCheckBox; +import javax.swing.SwingUtilities; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + +import forge.MulliganDefs; +import forge.Singletons; +import forge.StaticData; import forge.ai.AiProfileUtil; import forge.control.FControl.CloseAction; import forge.download.AutoUpdater; @@ -23,16 +38,6 @@ import forge.toolbox.FComboBoxPanel; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.io.File; -import java.util.ArrayList; -import java.util.List; /** * Controls the preferences submenu in the home UI. diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java index da2314619ba..94cc7628a72 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAchievements.java @@ -13,6 +13,10 @@ import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.game.card.CardView; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -24,8 +28,12 @@ import forge.localinstance.assets.FSkinProp; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; -import forge.toolbox.*; +import forge.toolbox.FComboBox; import forge.toolbox.FComboBox.TextAlignment; +import forge.toolbox.FLabel; +import forge.toolbox.FMouseAdapter; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.Colors; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinFont; @@ -34,8 +42,6 @@ import forge.toolbox.special.CardZoomer; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of achievements submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java index 71522a4acb3..88f889c8fb5 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuAvatars.java @@ -1,5 +1,11 @@ package forge.screens.home.settings; +import java.awt.Dimension; +import java.util.Map; + +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; + import forge.gui.UiCommand; import forge.gui.WrapLayout; import forge.gui.framework.DragCell; @@ -17,11 +23,6 @@ import forge.toolbox.FSkin.SkinImage; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; -import java.util.Map; - /** * Assembles Swing components of avatars submenu singleton. */ diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java index f786fa23cb9..50165f1d909 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuDownloaders.java @@ -1,5 +1,23 @@ package forge.screens.home.settings; +import java.awt.Component; +import java.awt.Font; +import java.awt.Point; +import java.awt.Toolkit; +import java.awt.datatransfer.StringSelection; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map.Entry; + +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; + import forge.ImageKeys; import forge.StaticData; import forge.card.CardDb; @@ -18,23 +36,19 @@ import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; import forge.token.TokenDb; -import forge.toolbox.*; +import forge.toolbox.FButton; +import forge.toolbox.FLabel; +import forge.toolbox.FOverlay; +import forge.toolbox.FPanel; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; +import forge.toolbox.FTextArea; import forge.util.FileUtil; import forge.util.ImageUtil; import forge.util.Localizer; import forge.util.RuntimeVersion; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.*; -import java.awt.datatransfer.StringSelection; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map.Entry; - /** * Assembles Swing components of utilities submenu singleton. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java index c837ab93581..250ffd4b4c3 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuPreferences.java @@ -1,5 +1,24 @@ package forge.screens.home.settings; +import java.awt.Color; +import java.awt.Font; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.swing.JCheckBox; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + +import org.apache.commons.lang3.StringUtils; + import forge.control.FControl.CloseAction; import forge.control.KeyboardShortcuts; import forge.control.KeyboardShortcuts.Shortcut; @@ -12,21 +31,15 @@ import forge.model.FModel; import forge.screens.home.EMenuGroup; import forge.screens.home.IVSubmenu; import forge.screens.home.VHomeUI; -import forge.toolbox.*; +import forge.toolbox.FCheckBox; +import forge.toolbox.FComboBoxPanel; +import forge.toolbox.FLabel; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLabel; import forge.toolbox.FSkin.SkinnedTextField; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import org.apache.commons.lang3.StringUtils; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.util.List; -import java.util.*; /** diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuReleaseNotes.java b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuReleaseNotes.java index 9d39cbf7d62..2c2e3ee78c6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuReleaseNotes.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/settings/VSubmenuReleaseNotes.java @@ -18,6 +18,10 @@ package forge.screens.home.settings; +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import javax.swing.SwingUtilities; + import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -27,9 +31,8 @@ import forge.screens.home.VHomeUI; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedTextArea; -import net.miginfocom.swing.MigLayout; import forge.util.Localizer; -import javax.swing.*; +import net.miginfocom.swing.MigLayout; /** * Displays contents of README.txt (release) or CHANGES.txt (snapshot) file. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/GameLogPanel.java b/forge-gui-desktop/src/main/java/forge/screens/match/GameLogPanel.java index 5400775c273..59175b47e08 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/GameLogPanel.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/GameLogPanel.java @@ -19,12 +19,12 @@ import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import javax.swing.plaf.LayerUI; -import net.miginfocom.swing.MigLayout; import forge.gui.MouseUtil; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinFont; import forge.toolbox.FSkin.SkinnedTextArea; +import net.miginfocom.swing.MigLayout; @SuppressWarnings("serial") public class GameLogPanel extends JPanel { diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java index 0b90f517916..7775bc94cd9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/GauntletWinLose.java @@ -24,14 +24,14 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; -import net.miginfocom.swing.MigLayout; import forge.game.GameView; import forge.gamemodes.gauntlet.GauntletWinLoseController; import forge.localinstance.assets.FSkinProp; -import forge.util.Localizer; import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedPanel; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * The Win/Lose handler for 'gauntlet' type tournament diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java index b93a685fe07..60fcee4f5ec 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/QuestDraftWinLose.java @@ -16,6 +16,9 @@ */ package forge.screens.match; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + import com.google.common.collect.ImmutableList; import forge.game.GameView; @@ -30,9 +33,6 @@ import forge.screens.home.quest.VSubmenuQuestDraft; import forge.toolbox.FOptionPane; import forge.toolbox.FSkin; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - /** *

* QuestWinLose. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java b/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java index ce29d01b7d2..b3f24533394 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/QuestWinLoseCardViewer.java @@ -25,7 +25,6 @@ import javax.swing.JList; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; -import net.miginfocom.swing.MigLayout; import forge.game.card.CardView; import forge.gui.CardDetailPanel; import forge.gui.CardPicturePanel; @@ -36,6 +35,7 @@ import forge.toolbox.FList; import forge.toolbox.FPanel; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; +import net.miginfocom.swing.MigLayout; /** * A simple JPanel that shows three columns: card list, pic, and description.. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java b/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java index 29be76083fc..76dfb6dcea9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/TargetingOverlay.java @@ -17,13 +17,13 @@ */ package forge.screens.match; -import java.awt.Point; -import java.awt.Graphics2D; import java.awt.Color; import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Point; import java.awt.RenderingHints; -import java.awt.event.MouseEvent; import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.GeneralPath; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/VAssignCombatDamage.java b/forge-gui-desktop/src/main/java/forge/screens/match/VAssignCombatDamage.java index 4cebdcc3491..6551d293db4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/VAssignCombatDamage.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/VAssignCombatDamage.java @@ -32,9 +32,6 @@ import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.border.Border; -import forge.util.TextUtil; -import net.miginfocom.swing.MigLayout; - import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -48,9 +45,11 @@ import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedPanel; +import forge.util.Localizer; +import forge.util.TextUtil; import forge.view.FDialog; import forge.view.arcane.CardPanel; -import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of assign damage dialog. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java b/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java index 1aae6107cb5..6a839283ef4 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/VAutoYields.java @@ -15,8 +15,8 @@ import forge.toolbox.FCheckBox; import forge.toolbox.FList; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; -import forge.view.FDialog; import forge.util.Localizer; +import forge.view.FDialog; @SuppressWarnings("serial") public class VAutoYields extends FDialog { diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java b/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java index 7cf2b6bee07..685d796c2a6 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/ViewWinLose.java @@ -12,9 +12,6 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; -import forge.util.Localizer; -import net.miginfocom.swing.MigLayout; - import org.apache.commons.lang3.StringUtils; import forge.game.GameLogEntry; @@ -38,6 +35,8 @@ import forge.toolbox.FSkin.SkinIcon; import forge.toolbox.FSkin.SkinnedLabel; import forge.toolbox.FSkin.SkinnedPanel; import forge.toolbox.FTextArea; +import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; public class ViewWinLose implements IWinLoseView { private final ControlWinLose control; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java index 6a6420a97ab..1d43b157052 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CCombat.java @@ -11,8 +11,8 @@ import forge.game.combat.CombatView; import forge.game.player.PlayerView; import forge.gui.framework.ICDoc; import forge.screens.match.views.VCombat; -import forge.util.collect.FCollection; import forge.util.Lang; +import forge.util.collect.FCollection; /** * Controls the combat panel in the match UI. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java index 47e13c68575..ff8ed32a868 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/controllers/CPrompt.java @@ -18,6 +18,8 @@ package forge.screens.match.controllers; import java.awt.Component; +import java.awt.Dialog; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusAdapter; @@ -25,8 +27,6 @@ import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.awt.Window; -import java.awt.Dialog; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java b/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java index 7b6ce891df7..9965f9ef889 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/menus/CardOverlaysMenu.java @@ -1,5 +1,15 @@ package forge.screens.match.menus; +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; + +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.SwingUtilities; + import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.menus.MenuUtil; @@ -7,13 +17,6 @@ import forge.model.FModel; import forge.screens.match.CMatchUI; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; - public final class CardOverlaysMenu { private final CMatchUI matchUI; public CardOverlaysMenu(final CMatchUI matchUI) { diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java b/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java index 1fb9197325a..465bcd25a54 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/menus/GameMenu.java @@ -1,6 +1,5 @@ package forge.screens.match.menus; -import com.google.common.primitives.Ints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; @@ -9,6 +8,8 @@ import javax.swing.ButtonGroup; import javax.swing.JMenu; import javax.swing.JPopupMenu; +import com.google.common.primitives.Ints; + import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VAntes.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VAntes.java index 8fdcce87de6..5b3703f9b47 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VAntes.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VAntes.java @@ -24,7 +24,6 @@ import java.util.TreeSet; import javax.swing.JPanel; import javax.swing.SwingConstants; -import net.miginfocom.swing.MigLayout; import forge.game.GameView; import forge.game.card.CardView; import forge.game.player.PlayerView; @@ -37,6 +36,7 @@ import forge.gui.framework.IVDoc; import forge.screens.match.controllers.CAntes; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of card ante area. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VCombat.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VCombat.java index 82be2110926..bc4c911ec47 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VCombat.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VCombat.java @@ -24,8 +24,8 @@ import forge.gui.framework.IVDoc; import forge.screens.match.controllers.CCombat; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedTextArea; -import net.miginfocom.swing.MigLayout; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of combat report. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java index 39e8d3677e3..6e374d700fc 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDetail.java @@ -17,6 +17,8 @@ */ package forge.screens.match.views; +import javax.swing.JLabel; + import forge.game.GameView; import forge.gui.CardDetailPanel; import forge.gui.framework.DragCell; @@ -30,8 +32,6 @@ import forge.toolbox.FSkin.SkinnedLabel; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of card detail area. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDev.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDev.java index 7d1993aa1cc..b95c31620cb 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDev.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDev.java @@ -25,7 +25,6 @@ import javax.swing.JPanel; import javax.swing.ScrollPaneConstants; import javax.swing.border.EmptyBorder; -import net.miginfocom.swing.MigLayout; import forge.gui.MultiLineLabelUI; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -36,6 +35,7 @@ import forge.toolbox.FScrollPane; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLabel; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of players report. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java index ef0d72c6baf..b0463e0c27d 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VDock.java @@ -17,8 +17,20 @@ */ package forge.screens.match.views; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Graphics; +import java.awt.event.MouseEvent; + +import javax.swing.JPanel; + import forge.gui.UiCommand; -import forge.gui.framework.*; +import forge.gui.framework.DragCell; +import forge.gui.framework.DragTab; +import forge.gui.framework.EDocID; +import forge.gui.framework.ILocalRepaint; +import forge.gui.framework.IVDoc; import forge.localinstance.assets.FSkinProp; import forge.screens.match.controllers.CDock; import forge.toolbox.FLabel; @@ -29,11 +41,6 @@ import forge.toolbox.FSkin.SkinImage; import forge.toolbox.FSkin.SkinnedLabel; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.MouseEvent; - /** * Assembles Swing components of button dock area. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java index 38aa07175ef..295c676dd32 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VField.java @@ -27,7 +27,6 @@ import javax.swing.SwingConstants; import javax.swing.border.Border; import javax.swing.border.LineBorder; -import net.miginfocom.swing.MigLayout; import forge.game.card.CounterEnumType; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; @@ -45,8 +44,9 @@ import forge.toolbox.FSkin.SkinImage; import forge.toolbox.FSkin.SkinnedPanel; import forge.toolbox.special.PhaseIndicator; import forge.toolbox.special.PlayerDetailsPanel; -import forge.view.arcane.PlayArea; import forge.util.Localizer; +import forge.view.arcane.PlayArea; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of a player field instance. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VHand.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VHand.java index 54121ed7bb0..b174e9a6577 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VHand.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VHand.java @@ -19,7 +19,6 @@ package forge.screens.match.views; import javax.swing.JPanel; -import net.miginfocom.swing.MigLayout; import forge.game.player.PlayerView; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -28,8 +27,9 @@ import forge.gui.framework.IVDoc; import forge.screens.match.CMatchUI; import forge.screens.match.controllers.CHand; import forge.toolbox.FScrollPane; -import forge.view.arcane.HandArea; import forge.util.Localizer; +import forge.view.arcane.HandArea; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of hand area. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java index 5c5821b8529..f5c74f11102 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VLog.java @@ -22,8 +22,6 @@ import java.util.List; import javax.swing.JPanel; -import net.miginfocom.swing.MigLayout; - import com.google.common.collect.Lists; import forge.game.GameLogEntry; @@ -40,6 +38,7 @@ import forge.screens.match.controllers.CLog; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinFont; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of game log report. diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java index 93a468b0cf7..bce9091a168 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPicture.java @@ -17,6 +17,8 @@ */ package forge.screens.match.views; +import javax.swing.JLabel; + import forge.gui.CardPicturePanel; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -29,8 +31,6 @@ import forge.toolbox.FSkin.SkinnedLabel; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * Assembles Swing components of card picture area. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java index 75907440730..d3a7e7bd244 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VPrompt.java @@ -17,6 +17,18 @@ */ package forge.screens.match.views; +import java.awt.Font; +import java.awt.Insets; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingConstants; + import forge.game.card.CardView; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; @@ -26,18 +38,14 @@ import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.screens.match.controllers.CPrompt; -import forge.toolbox.*; +import forge.toolbox.FButton; +import forge.toolbox.FHtmlViewer; +import forge.toolbox.FLabel; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - /** * Assembles Swing components of message report. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java b/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java index ff5f2c09a6d..0a91c1f9cdb 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/views/VStack.java @@ -17,6 +17,23 @@ */ package forge.screens.match.views; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; + +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JPopupMenu; +import javax.swing.ScrollPaneConstants; +import javax.swing.SwingUtilities; +import javax.swing.border.EmptyBorder; + import forge.CachedCardImage; import forge.game.GameView; import forge.game.card.CardView.CardStateView; @@ -33,19 +50,10 @@ import forge.toolbox.FMouseAdapter; import forge.toolbox.FScrollPanel; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedTextArea; +import forge.util.Localizer; import forge.util.collect.FCollectionView; -import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.image.BufferedImage; - /** * Assembles Swing components of stack report. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/VWorkshopUI.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/VWorkshopUI.java index 9b37a2bd945..702c57908aa 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/VWorkshopUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/VWorkshopUI.java @@ -1,13 +1,13 @@ package forge.screens.workshop; +import javax.swing.SwingUtilities; + import forge.Singletons; import forge.gui.framework.FScreen; import forge.gui.framework.IVTopLevelUI; import forge.screens.workshop.controllers.CCardScript; import forge.screens.workshop.views.VWorkshopCatalog; -import javax.swing.*; - /** /** * Top level view class; instantiates and assembles diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/CWorkshopUIMenus.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/CWorkshopUIMenus.java index 689a031cf28..23e4194e9c2 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/CWorkshopUIMenus.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/CWorkshopUIMenus.java @@ -1,9 +1,10 @@ package forge.screens.workshop.menus; -import javax.swing.*; import java.util.ArrayList; import java.util.List; +import javax.swing.JMenu; + /** * Gets the menus associated with the Game screen. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java index 2990bd1b758..bbc05274cdd 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/menus/WorkshopFileMenu.java @@ -1,16 +1,17 @@ package forge.screens.workshop.menus; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; + +import javax.swing.JMenu; +import javax.swing.JMenuItem; + import forge.localinstance.assets.FSkinProp; import forge.menus.MenuUtil; import forge.screens.workshop.controllers.CCardScript; import forge.toolbox.FSkin.SkinnedMenuItem; -import javax.swing.*; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; - /** * Returns a JMenu containing options associated with current game. *

diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java index 06b791ee743..6caf26f6118 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardDesigner.java @@ -1,5 +1,10 @@ package forge.screens.workshop.views; +import java.awt.Dimension; + +import javax.swing.JPanel; +import javax.swing.SpringLayout; + import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -10,10 +15,6 @@ import forge.toolbox.FLabel; import forge.toolbox.FSkin; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; - /** * Assembles Swing components of workshop card designer tab. * diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardScript.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardScript.java index 41e2cb911cc..8206ebc0add 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardScript.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VCardScript.java @@ -9,7 +9,6 @@ import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; -import net.miginfocom.swing.MigLayout; import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -17,6 +16,7 @@ import forge.gui.framework.IVDoc; import forge.screens.workshop.controllers.CCardScript; import forge.toolbox.FTextPane; import forge.util.Localizer; +import net.miginfocom.swing.MigLayout; /** * Assembles Swing components of workshop card script tab. diff --git a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VWorkshopCatalog.java b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VWorkshopCatalog.java index 102cf326cdb..c5fd1866f14 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VWorkshopCatalog.java +++ b/forge-gui-desktop/src/main/java/forge/screens/workshop/views/VWorkshopCatalog.java @@ -1,6 +1,11 @@ package forge.screens.workshop.views; +import javax.swing.JPanel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + import com.google.common.collect.Iterables; + import forge.gui.framework.DragCell; import forge.gui.framework.DragTab; import forge.gui.framework.EDocID; @@ -16,10 +21,6 @@ import forge.util.ItemPool; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; - /** * Assembles Swing components of card catalog in workshop. * diff --git a/forge-gui-desktop/src/main/java/forge/sound/AltSoundSystem.java b/forge-gui-desktop/src/main/java/forge/sound/AltSoundSystem.java index 885d10529e4..b1a8a0f8161 100644 --- a/forge-gui-desktop/src/main/java/forge/sound/AltSoundSystem.java +++ b/forge-gui-desktop/src/main/java/forge/sound/AltSoundSystem.java @@ -1,12 +1,19 @@ package forge.sound; -import javax.sound.sampled.*; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.Mixer; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.UnsupportedAudioFileException; + /** * * @author agetian diff --git a/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java b/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java index cfbd61194a3..66dd91540c1 100644 --- a/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java +++ b/forge-gui-desktop/src/main/java/forge/sound/AudioClip.java @@ -18,13 +18,6 @@ package forge.sound; -import javax.sound.sampled.*; - -import com.google.common.io.Files; -import com.sipgate.mp3wav.Converter; - -import forge.localinstance.properties.ForgeConstants; - import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -35,6 +28,20 @@ import java.util.Map; import java.util.MissingResourceException; import java.util.function.Supplier; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Clip; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.LineEvent; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; + +import com.google.common.io.Files; +import com.sipgate.mp3wav.Converter; + +import forge.localinstance.properties.ForgeConstants; + /** * SoundSystem - a simple sound playback system for Forge. diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBoxList.java b/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBoxList.java index 3ef20e47667..0ebed0746ff 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBoxList.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FCheckBoxList.java @@ -1,10 +1,19 @@ package forge.toolbox; -import javax.swing.*; +import java.awt.Component; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +import javax.swing.JList; +import javax.swing.ListCellRenderer; +import javax.swing.ListSelectionModel; +import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.border.EmptyBorder; -import java.awt.*; -import java.awt.event.*; /** * A list of FCheckBox items using Forge skin properties. diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java b/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java index 175e166b69b..058853d1fd7 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FLabel.java @@ -1,6 +1,16 @@ package forge.toolbox; -import java.awt.*; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.Point; +import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java b/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java index c2f6ee9e6d4..7e6084a67c3 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FOptionPane.java @@ -19,9 +19,9 @@ import com.google.common.collect.ImmutableList; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FSkin.SkinImage; +import forge.util.Localizer; import forge.view.FDialog; import forge.view.FView; -import forge.util.Localizer; /** * Class to replace JOptionPane using skinned dialogs diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java b/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java index 839448a7c85..6c5bb61bc8f 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FProgressBar.java @@ -1,11 +1,12 @@ package forge.toolbox; -import javax.swing.*; +import java.util.Date; + +import javax.swing.JProgressBar; +import javax.swing.SwingUtilities; import forge.gui.interfaces.IProgressBar; -import java.util.Date; - /** * A simple progress bar component using the Forge skin. */ diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index a694dc06a8d..8974e0ab77a 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -17,6 +17,90 @@ */ package forge.toolbox; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Component; +import java.awt.Composite; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Frame; +import java.awt.GradientPaint; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.LayoutManager; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.Toolkit; +import java.awt.Window; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Vector; + +import javax.imageio.ImageIO; +import javax.swing.AbstractButton; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.ComboBoxModel; +import javax.swing.Icon; +import javax.swing.ImageIcon; +import javax.swing.InputMap; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JComboBox; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JEditorPane; +import javax.swing.JFormattedTextField; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JLayeredPane; +import javax.swing.JList; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JRadioButton; +import javax.swing.JRadioButtonMenuItem; +import javax.swing.JScrollBar; +import javax.swing.JScrollPane; +import javax.swing.JSlider; +import javax.swing.JSpinner; +import javax.swing.JTabbedPane; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.KeyStroke; +import javax.swing.ListModel; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; +import javax.swing.border.Border; +import javax.swing.border.LineBorder; +import javax.swing.border.TitledBorder; +import javax.swing.plaf.basic.BasicScrollBarUI; +import javax.swing.table.JTableHeader; +import javax.swing.table.TableColumnModel; +import javax.swing.text.DefaultEditorKit; +import javax.swing.text.JTextComponent; + import forge.Singletons; import forge.gui.FThreads; import forge.gui.GuiUtils; @@ -27,33 +111,11 @@ import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; +import forge.util.Localizer; import forge.util.OperatingSystem; import forge.util.WordUtil; import forge.view.FView; -import javax.imageio.ImageIO; -import javax.swing.*; -import javax.swing.border.Border; -import javax.swing.border.LineBorder; -import javax.swing.border.TitledBorder; -import javax.swing.plaf.basic.BasicScrollBarUI; -import javax.swing.table.JTableHeader; -import javax.swing.table.TableColumnModel; -import javax.swing.text.DefaultEditorKit; -import javax.swing.text.JTextComponent; -import java.awt.*; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.util.*; -import java.util.List; -import java.util.Map.Entry; -import forge.util.Localizer; - /** * Assembles settings from selected or default theme as appropriate. Saves in a diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImagePanel.java b/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImagePanel.java index 9c53990d84d..ef46e3b0f11 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImagePanel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FImagePanel.java @@ -18,11 +18,10 @@ package forge.toolbox.imaging; -import com.mortennobel.imagescaling.DimensionConstrain; -import com.mortennobel.imagescaling.ResampleOp; - -import javax.swing.*; -import java.awt.*; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; @@ -30,6 +29,13 @@ import java.awt.event.ComponentEvent; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import javax.swing.Timer; + +import com.mortennobel.imagescaling.DimensionConstrain; +import com.mortennobel.imagescaling.ResampleOp; + /** * Displays a {@code BufferedImage} at its center. *

diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java index eda3262526b..dbb08ef3abe 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/CardZoomer.java @@ -18,6 +18,19 @@ package forge.toolbox.special; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; +import java.awt.image.BufferedImage; + +import javax.swing.JPanel; +import javax.swing.Timer; + import forge.StaticData; import forge.game.card.Card; import forge.game.card.CardView.CardStateView; @@ -33,10 +46,6 @@ import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode; import forge.toolbox.imaging.FImageUtil; import net.miginfocom.swing.MigLayout; -import javax.swing.*; -import java.awt.event.*; -import java.awt.image.BufferedImage; - /** * Displays card image at its original size and correct orientation. *

diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseIndicator.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseIndicator.java index 1abeaca6766..f723d27260a 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseIndicator.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseIndicator.java @@ -1,11 +1,11 @@ package forge.toolbox.special; +import javax.swing.JPanel; + import forge.game.phase.PhaseType; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import javax.swing.*; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseLabel.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseLabel.java index f54b097d4cb..307f3dae589 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseLabel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/PhaseLabel.java @@ -1,13 +1,15 @@ package forge.toolbox.special; -import forge.toolbox.FSkin; - -import javax.swing.*; - -import java.awt.*; +import java.awt.Dimension; +import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import javax.swing.JLabel; +import javax.swing.SwingConstants; + +import forge.toolbox.FSkin; + /** * Shows phase labels, handles repainting and on/off states. A PhaseLabel * has "skip" and "active" states, meaning "this phase is (not) skipped" and diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java b/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java index 1712be704be..74695074204 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/special/PlayerDetailsPanel.java @@ -1,5 +1,18 @@ package forge.toolbox.special; +import java.awt.Component; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JPanel; +import javax.swing.SwingConstants; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import forge.card.mana.ManaAtom; @@ -13,14 +26,6 @@ import forge.toolbox.FSkin.SkinnedPanel; import forge.trackable.TrackableProperty; import forge.util.Localizer; import net.miginfocom.swing.MigLayout; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.MouseEvent; -import java.util.ArrayList; -import java.util.List; public class PlayerDetailsPanel extends JPanel { private static final long serialVersionUID = -6531759554646891983L; diff --git a/forge-gui-desktop/src/main/java/forge/util/SwingImageFetcher.java b/forge-gui-desktop/src/main/java/forge/util/SwingImageFetcher.java index ce496fc121f..85643483aa7 100644 --- a/forge-gui-desktop/src/main/java/forge/util/SwingImageFetcher.java +++ b/forge-gui-desktop/src/main/java/forge/util/SwingImageFetcher.java @@ -1,13 +1,14 @@ package forge.util; -import javax.imageio.ImageIO; -import javax.swing.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; +import javax.imageio.ImageIO; +import javax.swing.SwingUtilities; + public class SwingImageFetcher extends ImageFetcher { @Override diff --git a/forge-gui-desktop/src/main/java/forge/view/FDialog.java b/forge-gui-desktop/src/main/java/forge/view/FDialog.java index b374d0cf49a..d866626b87f 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FDialog.java +++ b/forge-gui-desktop/src/main/java/forge/view/FDialog.java @@ -35,7 +35,6 @@ import javax.swing.JPanel; import javax.swing.JRootPane; import javax.swing.SwingUtilities; -import net.miginfocom.swing.MigLayout; import forge.Singletons; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FMouseAdapter; @@ -47,6 +46,7 @@ import forge.toolbox.FSkin.LineSkinBorder; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedDialog; import forge.util.OperatingSystem; +import net.miginfocom.swing.MigLayout; @SuppressWarnings("serial") public class FDialog extends SkinnedDialog implements ITitleBarOwner, KeyEventDispatcher { diff --git a/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java b/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java index 2c7a12aeec3..1a542bc3ed7 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java +++ b/forge-gui-desktop/src/main/java/forge/view/FNavigationBar.java @@ -36,8 +36,8 @@ import forge.toolbox.FDigitalClock; import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinColor; import forge.toolbox.FSkin.SkinnedLabel; -import forge.util.ReflectionUtil; import forge.util.Localizer; +import forge.util.ReflectionUtil; @SuppressWarnings("serial") diff --git a/forge-gui-desktop/src/main/java/forge/view/FTitleBar.java b/forge-gui-desktop/src/main/java/forge/view/FTitleBar.java index 8833bfb8cbd..3579e6f022c 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FTitleBar.java +++ b/forge-gui-desktop/src/main/java/forge/view/FTitleBar.java @@ -1,12 +1,15 @@ package forge.view; +import java.awt.Dimension; +import java.awt.Image; + +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; +import javax.swing.SpringLayout; + import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLabel; -import javax.swing.*; - -import java.awt.*; - @SuppressWarnings("serial") public class FTitleBar extends FTitleBarBase { private static final FSkin.SkinFont skinFont = FSkin.getFont(); diff --git a/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java b/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java index c60007cc58f..017e9daf455 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java +++ b/forge-gui-desktop/src/main/java/forge/view/FTitleBarBase.java @@ -1,5 +1,21 @@ package forge.view; +import java.awt.BasicStroke; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Image; +import java.awt.RenderingHints; +import java.awt.Toolkit; +import java.awt.Window; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowEvent; + +import javax.swing.SpringLayout; +import javax.swing.SwingUtilities; + import forge.gui.framework.ILocalRepaint; import forge.toolbox.FSkin; import forge.toolbox.FSkin.Colors; @@ -8,13 +24,6 @@ import forge.toolbox.FSkin.SkinnedLabel; import forge.toolbox.FSkin.SkinnedMenuBar; import forge.util.Localizer; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.WindowEvent; - @SuppressWarnings("serial") public abstract class FTitleBarBase extends SkinnedMenuBar { protected static final int visibleHeight = 27; diff --git a/forge-gui-desktop/src/main/java/forge/view/FView.java b/forge-gui-desktop/src/main/java/forge/view/FView.java index 2867a012361..69ddb56bae6 100644 --- a/forge-gui-desktop/src/main/java/forge/view/FView.java +++ b/forge-gui-desktop/src/main/java/forge/view/FView.java @@ -1,11 +1,53 @@ package forge.view; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Desktop; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.net.URI; +import java.util.ArrayList; +import java.util.Deque; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import javax.swing.JLayeredPane; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextArea; +import javax.swing.JTextPane; +import javax.swing.SwingUtilities; +import javax.swing.WindowConstants; +import javax.swing.border.EmptyBorder; +import javax.swing.border.LineBorder; +import javax.swing.text.BadLocationException; +import javax.swing.text.Style; +import javax.swing.text.StyleConstants; +import javax.swing.text.StyledDocument; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Lists; + import forge.Singletons; import forge.gui.ImportDialog; import forge.gui.SOverlayUtils; import forge.gui.UiCommand; -import forge.gui.framework.*; +import forge.gui.framework.DragCell; +import forge.gui.framework.EDocID; +import forge.gui.framework.FScreen; +import forge.gui.framework.ICDoc; +import forge.gui.framework.IVDoc; +import forge.gui.framework.SLayoutConstants; +import forge.gui.framework.SLayoutIO; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; @@ -15,27 +57,20 @@ import forge.screens.deckeditor.VDeckEditorUI; import forge.screens.home.VHomeUI; import forge.sound.MusicPlaylist; import forge.sound.SoundSystem; -import forge.toolbox.*; +import forge.toolbox.CardFaceSymbols; +import forge.toolbox.FAbsolutePositioner; +import forge.toolbox.FButton; +import forge.toolbox.FLabel; +import forge.toolbox.FOptionPane; +import forge.toolbox.FOverlay; +import forge.toolbox.FPanel; +import forge.toolbox.FProgressBar; +import forge.toolbox.FScrollPane; +import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinnedLayeredPane; import forge.util.BuildInfo; import forge.util.RuntimeVersion; import net.miginfocom.swing.MigLayout; -import org.apache.commons.lang3.StringUtils; - -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import javax.swing.border.LineBorder; -import javax.swing.text.BadLocationException; -import javax.swing.text.Style; -import javax.swing.text.StyleConstants; -import javax.swing.text.StyledDocument; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.net.URI; -import java.util.*; -import java.util.List; public enum FView { SINGLETON_INSTANCE; diff --git a/forge-gui-desktop/src/main/java/forge/view/ITitleBarOwner.java b/forge-gui-desktop/src/main/java/forge/view/ITitleBarOwner.java index bca28d4d7fa..51c7b325dc7 100644 --- a/forge-gui-desktop/src/main/java/forge/view/ITitleBarOwner.java +++ b/forge-gui-desktop/src/main/java/forge/view/ITitleBarOwner.java @@ -1,7 +1,8 @@ package forge.view; -import javax.swing.*; -import java.awt.*; +import java.awt.Image; + +import javax.swing.JMenuBar; public interface ITitleBarOwner { boolean isMinimized(); diff --git a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java index 6fdb1dfa409..2789e4ca019 100644 --- a/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java +++ b/forge-gui-desktop/src/main/java/forge/view/SimulateMatch.java @@ -1,12 +1,36 @@ package forge.view; +import java.io.File; +import java.io.FilenameFilter; +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import org.apache.commons.lang3.time.StopWatch; + import forge.LobbyPlayer; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.deck.io.DeckSerializer; -import forge.game.*; +import forge.game.Game; +import forge.game.GameEndReason; +import forge.game.GameLogEntry; +import forge.game.GameLogEntryType; +import forge.game.GameRules; +import forge.game.GameType; +import forge.game.Match; import forge.game.player.RegisteredPlayer; -import forge.gamemodes.tournament.system.*; +import forge.gamemodes.tournament.system.AbstractTournament; +import forge.gamemodes.tournament.system.TournamentBracket; +import forge.gamemodes.tournament.system.TournamentPairing; +import forge.gamemodes.tournament.system.TournamentPlayer; +import forge.gamemodes.tournament.system.TournamentRoundRobin; +import forge.gamemodes.tournament.system.TournamentSwiss; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.GamePlayerUtil; @@ -14,13 +38,6 @@ import forge.util.Lang; import forge.util.TextUtil; import forge.util.WordUtil; import forge.util.storage.IStorage; -import org.apache.commons.lang3.time.StopWatch; - -import java.io.File; -import java.io.FilenameFilter; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; public class SimulateMatch { public static void simulate(String[] args) { diff --git a/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java b/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java index 8b30b2e0c51..44e8caef226 100644 --- a/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java +++ b/forge-gui-desktop/src/main/java/forge/view/SplashFrame.java @@ -17,6 +17,24 @@ */ package forge.view; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.MouseAdapter; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.KeyStroke; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; + import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; @@ -25,12 +43,6 @@ import forge.toolbox.FSkin; import forge.toolbox.FSkin.SkinIcon; import forge.toolbox.FSkin.SkinnedLabel; -import javax.swing.*; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.MouseAdapter; - /** * Shows the splash frame as the application starts. */ diff --git a/forge-gui-desktop/src/main/java/forge/view/TimeLimitedCodeBlock.java b/forge-gui-desktop/src/main/java/forge/view/TimeLimitedCodeBlock.java index 579a56ba143..f6135c65234 100644 --- a/forge-gui-desktop/src/main/java/forge/view/TimeLimitedCodeBlock.java +++ b/forge-gui-desktop/src/main/java/forge/view/TimeLimitedCodeBlock.java @@ -1,6 +1,12 @@ package forge.view; -import java.util.concurrent.*; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; /** * Created by maustin on 08/02/2018. diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardArea.java index 7c148bc3062..0a5a5ca02da 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardArea.java @@ -17,20 +17,26 @@ */ package forge.view.arcane; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Insets; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.MouseEvent; +import java.util.List; + +import javax.swing.JLayeredPane; +import javax.swing.RootPaneContainer; +import javax.swing.SwingUtilities; + +import com.google.common.collect.Lists; + import forge.screens.match.CMatchUI; import forge.toolbox.FScrollPane; import forge.view.arcane.util.Animation; import forge.view.arcane.util.CardPanelMouseListener; -import javax.swing.*; - -import com.google.common.collect.Lists; - -import java.awt.*; -import java.awt.event.MouseEvent; - -import java.util.List; - /** *

* CardArea class. diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java index 0b9bac9e9e6..88d3494b36e 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java @@ -17,6 +17,33 @@ */ package forge.view.arcane; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.FontFormatException; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsEnvironment; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.awt.font.TextAttribute; +import java.awt.geom.RoundRectangle2D; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.swing.JRootPane; +import javax.swing.SwingUtilities; + import forge.CachedCardImage; import forge.StaticData; import forge.card.CardEdition; @@ -24,8 +51,8 @@ import forge.card.mana.ManaCost; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; -import forge.game.keyword.Keyword; import forge.game.card.CounterType; +import forge.game.keyword.Keyword; import forge.game.zone.ZoneType; import forge.gui.CardContainer; import forge.gui.FThreads; @@ -41,21 +68,6 @@ import forge.toolbox.IDisposable; import forge.util.CardTranslation; import forge.view.arcane.util.OutlinedLabel; -import javax.swing.*; -import java.awt.*; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.font.TextAttribute; -import java.awt.geom.RoundRectangle2D; -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - /** *

* CardPanel class. diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java index a0177d15854..e5bc7b7973f 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingCardArea.java @@ -17,6 +17,18 @@ */ package forge.view.arcane; +import java.awt.Component; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.ScrollPaneConstants; +import javax.swing.Timer; + import forge.Singletons; import forge.game.card.CardView; import forge.gui.framework.SDisplayUtil; @@ -30,14 +42,6 @@ import forge.toolbox.MouseTriggerEvent; import forge.view.FDialog; import forge.view.FFrame; -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; -import java.util.ArrayList; -import java.util.List; - //import forge.util.collect.FCollectionView; // show some cards in a new window diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java index 5a467a4b18a..c706649eeed 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/FloatingZone.java @@ -17,6 +17,15 @@ */ package forge.view.arcane; +import java.awt.event.MouseEvent; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.ScrollPaneConstants; +import javax.swing.WindowConstants; + import forge.game.card.CardView; import forge.game.player.PlayerView; import forge.game.zone.ZoneType; @@ -30,13 +39,6 @@ import forge.toolbox.FSkin; import forge.util.Localizer; import forge.util.collect.FCollection; -import javax.swing.*; -import java.awt.event.MouseEvent; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Map; - public class FloatingZone extends FloatingCardArea { private static final long serialVersionUID = 1927906492186378596L; diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java b/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java index 403895886e3..4b8390da19f 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/ListCardArea.java @@ -19,18 +19,17 @@ package forge.view.arcane; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; import forge.game.card.CardView; import forge.screens.match.CMatchUI; -import forge.view.arcane.util.CardPanelMouseAdapter; - import forge.toolbox.FButton; import forge.util.Localizer; +import forge.view.arcane.util.CardPanelMouseAdapter; // Show a list of cards in a new window, containing the moveable cards // Allow moves of the moveable cards to top, to bottom, or anywhere diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/ScaledImagePanel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/ScaledImagePanel.java index 26021b0f670..b51a6baa82b 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/ScaledImagePanel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/ScaledImagePanel.java @@ -17,10 +17,12 @@ */ package forge.view.arcane; -import javax.swing.*; -import java.awt.*; +import java.awt.Dimension; +import java.awt.Graphics; import java.awt.image.BufferedImage; +import javax.swing.JPanel; + /** *

* ScaledImagePanel class. diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseAdapter.java b/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseAdapter.java index 75a91611d80..d3e81cce1d3 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseAdapter.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseAdapter.java @@ -1,9 +1,9 @@ package forge.view.arcane.util; -import forge.view.arcane.CardPanel; - import java.awt.event.MouseEvent; +import forge.view.arcane.CardPanel; + public abstract class CardPanelMouseAdapter implements CardPanelMouseListener { @Override public void mouseOver(CardPanel panel, MouseEvent evt) { diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseListener.java b/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseListener.java index c8bb81d9b88..4624cf2f303 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseListener.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/util/CardPanelMouseListener.java @@ -18,10 +18,10 @@ package forge.view.arcane.util; -import forge.view.arcane.CardPanel; - import java.awt.event.MouseEvent; +import forge.view.arcane.CardPanel; + /** *

CardPanelMouseListener interface.

* diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/util/OutlinedLabel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/util/OutlinedLabel.java index d012a073640..1e811033e76 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/util/OutlinedLabel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/util/OutlinedLabel.java @@ -17,11 +17,12 @@ */ package forge.view.arcane.util; -import javax.swing.*; - -import org.apache.commons.lang3.StringUtils; - -import java.awt.*; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; import java.awt.font.FontRenderContext; import java.awt.font.LineBreakMeasurer; import java.awt.font.TextAttribute; @@ -31,6 +32,10 @@ import java.text.AttributedString; import java.text.BreakIterator; import java.util.Locale; +import javax.swing.JLabel; + +import org.apache.commons.lang3.StringUtils; + /** *

* GlowText class. diff --git a/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java b/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java index c708e0e8ad6..99d69b21060 100644 --- a/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java +++ b/forge-gui-desktop/src/test/java/forge/BoosterDraft1Test.java @@ -1,11 +1,11 @@ package forge; +import org.testng.annotations.Test; + import forge.deck.CardPool; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.limited.LimitedPoolType; -import org.testng.annotations.Test; - /** * Unit test for simple App. */ diff --git a/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java b/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java index b71e7f0337e..2001a56b16b 100644 --- a/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java +++ b/forge-gui-desktop/src/test/java/forge/BoosterDraftTest.java @@ -1,5 +1,9 @@ package forge; +import java.util.List; + +import org.testng.annotations.Test; + import forge.deck.CardPool; import forge.deck.Deck; import forge.game.card.Card; @@ -9,10 +13,6 @@ import forge.item.SealedProduct; import forge.item.generation.BoosterGenerator; import forge.model.FModel; -import org.testng.annotations.Test; - -import java.util.List; - /** *

* BoosterDraftTest class. diff --git a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java index b07acad7afc..f4b13afdb93 100644 --- a/forge-gui-desktop/src/test/java/forge/CardRankerTest.java +++ b/forge-gui-desktop/src/test/java/forge/CardRankerTest.java @@ -1,5 +1,13 @@ package forge; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.junit.Assert; +import org.testng.annotations.BeforeTest; +import org.testng.annotations.Test; + import forge.card.CardRarity; import forge.card.CardRules; import forge.gamemodes.limited.CardRanker; @@ -7,13 +15,6 @@ import forge.gui.GuiBase; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; -import org.junit.Assert; -import org.testng.annotations.BeforeTest; -import org.testng.annotations.Test; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; @Test(timeOut = 1000, enabled = true) public class CardRankerTest { diff --git a/forge-gui-desktop/src/test/java/forge/PanelTest.java b/forge-gui-desktop/src/test/java/forge/PanelTest.java index 29f38fcfcbb..c661f4a0630 100644 --- a/forge-gui-desktop/src/test/java/forge/PanelTest.java +++ b/forge-gui-desktop/src/test/java/forge/PanelTest.java @@ -1,13 +1,16 @@ package forge; +import java.awt.Color; +import java.awt.Rectangle; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; + import org.testng.annotations.Test; import forge.gui.error.BugReporter; -import javax.swing.*; - -import java.awt.*; - /** *

* PanelTest class. diff --git a/forge-gui-desktop/src/test/java/forge/RunTest.java b/forge-gui-desktop/src/test/java/forge/RunTest.java index 65793f1b284..3eac62a92c9 100644 --- a/forge-gui-desktop/src/test/java/forge/RunTest.java +++ b/forge-gui-desktop/src/test/java/forge/RunTest.java @@ -1,8 +1,9 @@ package forge; +import org.testng.annotations.Test; + import forge.game.card.Card; import forge.game.combat.CombatUtil; -import org.testng.annotations.Test; /** *

diff --git a/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java b/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java index 33963b34d54..51974682e0c 100644 --- a/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java +++ b/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java @@ -1,6 +1,9 @@ package forge.ai.simulation; +import java.util.List; + import com.google.common.collect.Lists; + import forge.ai.ComputerUtilAbility; import forge.card.CardStateName; import forge.card.MagicColor; @@ -15,8 +18,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; -import java.util.List; - public class GameSimulatorTest extends SimulationTestCase { public void testActivateAbilityTriggers() { diff --git a/forge-gui-desktop/src/test/java/forge/deck/generate/Generate2ColorDeckTest.java b/forge-gui-desktop/src/test/java/forge/deck/generate/Generate2ColorDeckTest.java index f7d9871d38e..b23cf4edbab 100644 --- a/forge-gui-desktop/src/test/java/forge/deck/generate/Generate2ColorDeckTest.java +++ b/forge-gui-desktop/src/test/java/forge/deck/generate/Generate2ColorDeckTest.java @@ -1,5 +1,8 @@ package forge.deck.generate; +import org.testng.Assert; +import org.testng.annotations.Test; + import forge.card.CardDb; import forge.deck.DeckFormat; import forge.deck.generation.DeckGenerator2Color; @@ -7,9 +10,6 @@ import forge.item.PaperCard; import forge.model.FModel; import forge.util.ItemPool; -import org.testng.Assert; -import org.testng.annotations.Test; - /** * Created by IntelliJ IDEA. User: dhudson */ diff --git a/forge-gui-desktop/src/test/java/forge/deck/generate/Generate3ColorDeckTest.java b/forge-gui-desktop/src/test/java/forge/deck/generate/Generate3ColorDeckTest.java index edd19de6e3f..b4697ca74e7 100644 --- a/forge-gui-desktop/src/test/java/forge/deck/generate/Generate3ColorDeckTest.java +++ b/forge-gui-desktop/src/test/java/forge/deck/generate/Generate3ColorDeckTest.java @@ -1,14 +1,14 @@ package forge.deck.generate; +import org.testng.Assert; +import org.testng.annotations.Test; + import forge.card.CardDb; import forge.deck.CardPool; import forge.deck.DeckFormat; import forge.deck.generation.DeckGenerator3Color; import forge.model.FModel; -import org.testng.Assert; -import org.testng.annotations.Test; - /** * Created by IntelliJ IDEA. User: dhudson */ diff --git a/forge-gui-desktop/src/test/java/forge/deck/generate/Generate5ColorDeckTest.java b/forge-gui-desktop/src/test/java/forge/deck/generate/Generate5ColorDeckTest.java index a544d486f9e..513abf11672 100644 --- a/forge-gui-desktop/src/test/java/forge/deck/generate/Generate5ColorDeckTest.java +++ b/forge-gui-desktop/src/test/java/forge/deck/generate/Generate5ColorDeckTest.java @@ -1,14 +1,14 @@ package forge.deck.generate; +import org.testng.Assert; +import org.testng.annotations.Test; + import forge.card.CardDb; import forge.deck.CardPool; import forge.deck.DeckFormat; import forge.deck.generation.DeckGenerator5Color; import forge.model.FModel; -import org.testng.Assert; -import org.testng.annotations.Test; - /** * Created by IntelliJ IDEA. User: dhudson */ diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java index 81d479a2818..6dc5bde9733 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/BaseGameSimulationTest.java @@ -1,5 +1,14 @@ package forge.gamesimulationtests; +import javax.imageio.ImageIO; + +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.testng.PowerMockTestCase; +import org.testng.Assert; +import org.testng.IObjectFactory; +import org.testng.annotations.ObjectFactory; + import forge.ImageCache; import forge.Singletons; import forge.gamesimulationtests.util.CardDatabaseHelper; @@ -10,15 +19,6 @@ import forge.gamesimulationtests.util.playeractions.testactions.AssertAction; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.testng.PowerMockTestCase; -import org.testng.Assert; -import org.testng.IObjectFactory; -import org.testng.annotations.ObjectFactory; - -import javax.imageio.ImageIO; - @PrepareForTest(value = { FModel.class, Singletons.class, ImageCache.class, ImageIO.class }) public class BaseGameSimulationTest extends PowerMockTestCase { //Can't run this with @BeforeTest or something like that, because of static voodoo diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection103.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection103.java index 1ad1d4ff2d5..eb92c09f361 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection103.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection103.java @@ -1,5 +1,7 @@ package forge.gamesimulationtests.comprehensiverules; +import org.testng.annotations.Test; + import forge.game.phase.PhaseType; import forge.gamesimulationtests.BaseGameSimulationTest; import forge.gamesimulationtests.util.GameWrapper; @@ -12,7 +14,6 @@ import forge.gamesimulationtests.util.playeractions.PlayerActions; import forge.gamesimulationtests.util.playeractions.testactions.CardAssertAction; import forge.gamesimulationtests.util.playeractions.testactions.EndTestAction; import forge.gamesimulationtests.util.playeractions.testactions.PlayerAssertAction; -import org.testng.annotations.Test; public class ComprehensiveRulesSection103 extends BaseGameSimulationTest { @Test diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection104.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection104.java index 536aed2a76c..66892980740 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection104.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/comprehensiverules/ComprehensiveRulesSection104.java @@ -1,5 +1,7 @@ package forge.gamesimulationtests.comprehensiverules; +import org.testng.annotations.Test; + import forge.game.phase.PhaseType; import forge.gamesimulationtests.BaseGameSimulationTest; import forge.gamesimulationtests.util.GameWrapper; @@ -7,11 +9,15 @@ import forge.gamesimulationtests.util.card.CardSpecificationBuilder; import forge.gamesimulationtests.util.gamestate.GameStateSpecificationBuilder; import forge.gamesimulationtests.util.player.PlayerSpecification; import forge.gamesimulationtests.util.player.PlayerSpecificationBuilder; -import forge.gamesimulationtests.util.playeractions.*; +import forge.gamesimulationtests.util.playeractions.ActionPreCondition; +import forge.gamesimulationtests.util.playeractions.ActivateAbilityAction; +import forge.gamesimulationtests.util.playeractions.CastSpellFromHandAction; +import forge.gamesimulationtests.util.playeractions.DeclareAttackersAction; +import forge.gamesimulationtests.util.playeractions.DeclareBlockersAction; +import forge.gamesimulationtests.util.playeractions.PlayerActions; import forge.gamesimulationtests.util.playeractions.testactions.CardAssertAction; import forge.gamesimulationtests.util.playeractions.testactions.EndTestAction; import forge.gamesimulationtests.util.playeractions.testactions.PlayerAssertAction; -import org.testng.annotations.Test; public class ComprehensiveRulesSection104 extends BaseGameSimulationTest { @Test diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java index e73df34bcfd..cbd57d5b81d 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/GameWrapper.java @@ -1,7 +1,19 @@ package forge.gamesimulationtests.util; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + import forge.deck.Deck; -import forge.game.*; +import forge.game.Game; +import forge.game.GameLog; +import forge.game.GameLogEntry; +import forge.game.GameLogEntryType; +import forge.game.GameRules; +import forge.game.GameStage; +import forge.game.GameType; +import forge.game.Match; import forge.game.ability.AbilityKey; import forge.game.card.Card; import forge.game.event.GameEventGameFinished; @@ -22,8 +34,6 @@ import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import java.util.*; - public class GameWrapper { private final List players; private final GameStateSpecification initialGameStateSpecification; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/LobbyPlayerForTests.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/LobbyPlayerForTests.java index 2c171929f5a..81eef201d8e 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/LobbyPlayerForTests.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/LobbyPlayerForTests.java @@ -1,5 +1,10 @@ package forge.gamesimulationtests.util; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import forge.LobbyPlayer; import forge.game.Game; import forge.game.player.IGameEntitiesFactory; @@ -7,11 +12,6 @@ import forge.game.player.Player; import forge.game.player.PlayerController; import forge.gamesimulationtests.util.playeractions.PlayerActions; -import org.apache.commons.lang3.StringUtils; - -import java.util.HashMap; -import java.util.Map; - /** * Default harmless implementation for tests. * Test-specific behaviour can easily be added by mocking (parts of) this class. diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java index fc43a0a9b97..ed0bbea56cd 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java @@ -1,9 +1,19 @@ package forge.gamesimulationtests.util; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; +import org.testng.collections.Lists; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.ListMultimap; import com.google.common.collect.Multimap; + import forge.LobbyPlayer; import forge.ai.ComputerUtil; import forge.ai.ComputerUtilMana; @@ -23,7 +33,12 @@ import forge.game.GameEntity; import forge.game.GameObject; import forge.game.GameType; import forge.game.ability.AbilityUtils; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardView; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; @@ -33,29 +48,34 @@ import forge.game.keyword.KeywordInterface; import forge.game.mana.Mana; import forge.game.mana.ManaConversionMatrix; import forge.game.mana.ManaCostBeingPaid; -import forge.game.player.*; +import forge.game.player.DelayedReveal; +import forge.game.player.Player; +import forge.game.player.PlayerActionConfirmMode; +import forge.game.player.PlayerController; +import forge.game.player.PlayerView; import forge.game.replacement.ReplacementEffect; -import forge.game.spellability.*; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.OptionalCostValue; +import forge.game.spellability.Spell; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityStackInstance; +import forge.game.spellability.TargetChoices; import forge.game.trigger.WrappedAbility; import forge.game.zone.ZoneType; import forge.gamesimulationtests.util.card.CardSpecification; import forge.gamesimulationtests.util.card.CardSpecificationHandler; import forge.gamesimulationtests.util.player.PlayerSpecification; import forge.gamesimulationtests.util.player.PlayerSpecificationHandler; -import forge.gamesimulationtests.util.playeractions.*; +import forge.gamesimulationtests.util.playeractions.ActivateAbilityAction; +import forge.gamesimulationtests.util.playeractions.CastSpellFromHandAction; +import forge.gamesimulationtests.util.playeractions.DeclareAttackersAction; +import forge.gamesimulationtests.util.playeractions.DeclareBlockersAction; +import forge.gamesimulationtests.util.playeractions.PlayerActions; import forge.item.PaperCard; import forge.player.HumanPlay; import forge.util.ITriggerEvent; import forge.util.MyRandom; import forge.util.collect.FCollectionView; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; -import org.testng.collections.Lists; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * Default harmless implementation for tests. diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/SpecificationHandler.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/SpecificationHandler.java index 0eb86f53329..63bb3a93b54 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/SpecificationHandler.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/SpecificationHandler.java @@ -1,12 +1,12 @@ package forge.gamesimulationtests.util; -import com.google.common.collect.Iterables; - -import org.apache.commons.lang3.StringUtils; - import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.StringUtils; + +import com.google.common.collect.Iterables; + public abstract class SpecificationHandler> { public final TYPE find(Iterable items, final SPECIFICATION specification) { return find(items, specification, IntegerConstraint.ONE); diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationBuilder.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationBuilder.java index 3fd864a6616..89c70484fe7 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationBuilder.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/card/CardSpecificationBuilder.java @@ -1,8 +1,9 @@ package forge.gamesimulationtests.util.card; +import org.apache.commons.lang3.StringUtils; + import forge.game.zone.ZoneType; import forge.gamesimulationtests.util.player.PlayerSpecification; -import org.apache.commons.lang3.StringUtils; public class CardSpecificationBuilder { private final String name; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecification.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecification.java index 24daa95d555..efd1182c169 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecification.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecification.java @@ -1,12 +1,12 @@ package forge.gamesimulationtests.util.gamestate; -import forge.gamesimulationtests.util.card.CardSpecification; -import forge.gamesimulationtests.util.player.PlayerSpecification; - import java.util.Collection; import java.util.List; import java.util.Map; +import forge.gamesimulationtests.util.card.CardSpecification; +import forge.gamesimulationtests.util.player.PlayerSpecification; + public class GameStateSpecification { private final List cards; private final Map playerFacts; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecificationBuilder.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecificationBuilder.java index c4e2211fcab..44139d7a262 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecificationBuilder.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/gamestate/GameStateSpecificationBuilder.java @@ -1,12 +1,16 @@ package forge.gamesimulationtests.util.gamestate; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import forge.gamesimulationtests.util.card.CardSpecification; import forge.gamesimulationtests.util.card.CardSpecificationBuilder; import forge.gamesimulationtests.util.player.PlayerSpecification; import forge.gamesimulationtests.util.player.PlayerSpecificationBuilder; -import java.util.*; - public class GameStateSpecificationBuilder { private final List cards; private final Map playerFacts; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/ActivateAbilityAction.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/ActivateAbilityAction.java index 415ffe86596..a763b3159bf 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/ActivateAbilityAction.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/ActivateAbilityAction.java @@ -1,5 +1,7 @@ package forge.gamesimulationtests.util.playeractions; +import java.util.List; + import forge.game.Game; import forge.game.card.Card; import forge.game.player.Player; @@ -8,8 +10,6 @@ import forge.gamesimulationtests.util.card.CardSpecification; import forge.gamesimulationtests.util.card.CardSpecificationHandler; import forge.gamesimulationtests.util.player.PlayerSpecification; -import java.util.List; - //TODO: almost everything (picking the right ability to activate, choosing targets, paying costs, ...) public class ActivateAbilityAction extends BasePlayerAction { private final CardSpecification cardWithAbility; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareAttackersAction.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareAttackersAction.java index 5dd9bfd73d7..dabe9d458c1 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareAttackersAction.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareAttackersAction.java @@ -1,11 +1,11 @@ package forge.gamesimulationtests.util.playeractions; -import forge.gamesimulationtests.util.card.CardSpecification; -import forge.gamesimulationtests.util.player.PlayerSpecification; - import java.util.HashMap; import java.util.Map; +import forge.gamesimulationtests.util.card.CardSpecification; +import forge.gamesimulationtests.util.player.PlayerSpecification; + public class DeclareAttackersAction extends BasePlayerAction { private final Map playerAttackAssignments; private final Map planeswalkerAttackAssignments; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareBlockersAction.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareBlockersAction.java index dbb1aa86e19..00b82dd92c4 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareBlockersAction.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/DeclareBlockersAction.java @@ -2,6 +2,7 @@ package forge.gamesimulationtests.util.playeractions; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; + import forge.gamesimulationtests.util.card.CardSpecification; import forge.gamesimulationtests.util.player.PlayerSpecification; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/PlayerActions.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/PlayerActions.java index acf1eb016b9..32f14d1c72d 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/PlayerActions.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/PlayerActions.java @@ -1,14 +1,15 @@ package forge.gamesimulationtests.util.playeractions; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import forge.game.Game; import forge.game.player.Player; import forge.gamesimulationtests.util.player.PlayerSpecificationHandler; import forge.gamesimulationtests.util.playeractions.testactions.TestAction; -import org.apache.commons.lang3.StringUtils; - -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; public class PlayerActions { private final List playerActions; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/CardAssertAction.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/CardAssertAction.java index dac99bacff7..80eb738845f 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/CardAssertAction.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/CardAssertAction.java @@ -1,12 +1,13 @@ package forge.gamesimulationtests.util.playeractions.testactions; +import org.testng.Assert; + import forge.game.Game; import forge.game.card.Card; import forge.gamesimulationtests.util.IntegerConstraint; import forge.gamesimulationtests.util.card.CardSpecification; import forge.gamesimulationtests.util.card.CardSpecificationBuilder; import forge.gamesimulationtests.util.card.CardSpecificationHandler; -import org.testng.Assert; public class CardAssertAction extends AssertAction { private final CardSpecification cardRequirements; diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/PlayerAssertAction.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/PlayerAssertAction.java index 7986b1fbe0e..0903e183cda 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/PlayerAssertAction.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/playeractions/testactions/PlayerAssertAction.java @@ -1,12 +1,13 @@ package forge.gamesimulationtests.util.playeractions.testactions; +import org.testng.Assert; + import forge.game.Game; import forge.game.player.Player; import forge.gamesimulationtests.util.IntegerConstraint; import forge.gamesimulationtests.util.player.PlayerSpecification; import forge.gamesimulationtests.util.player.PlayerSpecificationBuilder; import forge.gamesimulationtests.util.player.PlayerSpecificationHandler; -import org.testng.Assert; public class PlayerAssertAction extends AssertAction { private final PlayerSpecification playerRequirements; diff --git a/forge-gui-desktop/src/test/java/forge/gui/ListChooserTest.java b/forge-gui-desktop/src/test/java/forge/gui/ListChooserTest.java index e6518586ad4..533b73c42bb 100644 --- a/forge-gui-desktop/src/test/java/forge/gui/ListChooserTest.java +++ b/forge-gui-desktop/src/test/java/forge/gui/ListChooserTest.java @@ -1,9 +1,9 @@ package forge.gui; -import org.testng.annotations.Test; - import java.util.Arrays; +import org.testng.annotations.Test; + /** * Created by IntelliJ IDEA. User: dhudson */ diff --git a/forge-gui-desktop/src/test/java/forge/gui/game/CardDetailPanelTest.java b/forge-gui-desktop/src/test/java/forge/gui/game/CardDetailPanelTest.java index 4875ec9b8bb..72392b9928d 100644 --- a/forge-gui-desktop/src/test/java/forge/gui/game/CardDetailPanelTest.java +++ b/forge-gui-desktop/src/test/java/forge/gui/game/CardDetailPanelTest.java @@ -1,9 +1,10 @@ package forge.gui.game; -import forge.gui.CardDetailPanel; import org.testng.Assert; import org.testng.annotations.Test; +import forge.gui.CardDetailPanel; + /** * Created by IntelliJ IDEA. User: dhudson */ diff --git a/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java b/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java index c96df69b0c5..930ab4dd66f 100644 --- a/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java +++ b/forge-gui-desktop/src/test/java/forge/item/DeckHintsTest.java @@ -1,15 +1,15 @@ package forge.item; import java.io.File; -import java.util.*; - - -import com.google.common.collect.Iterables; -import junit.framework.Assert; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; +import com.google.common.collect.Iterables; + import forge.GuiDesktop; import forge.card.CardRarity; import forge.card.CardRules; @@ -17,6 +17,7 @@ import forge.card.DeckHints; import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; +import junit.framework.Assert; /** * Tests for DeckHints. diff --git a/forge-gui-desktop/src/test/java/forge/model/FModelTest.java b/forge-gui-desktop/src/test/java/forge/model/FModelTest.java index bac8942a6fc..5a3576ba73e 100644 --- a/forge-gui-desktop/src/test/java/forge/model/FModelTest.java +++ b/forge-gui-desktop/src/test/java/forge/model/FModelTest.java @@ -1,16 +1,16 @@ package forge.model; -import forge.error.ExceptionHandler; -import forge.localinstance.properties.ForgePreferences; -import forge.util.BuildInfo; +import java.io.FileNotFoundException; +import java.io.IOException; import org.testng.Assert; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; -import java.io.FileNotFoundException; -import java.io.IOException; +import forge.error.ExceptionHandler; +import forge.localinstance.properties.ForgePreferences; +import forge.util.BuildInfo; /** * Tests FModel. diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java index 950fb47920b..7497be53a50 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestCommanderGeneraterGA.java @@ -1,5 +1,9 @@ package forge.planarconquestgenerate; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -8,7 +12,10 @@ import com.google.common.collect.Lists; import forge.GuiDesktop; import forge.StaticData; import forge.card.CardRulesPredicates; -import forge.deck.*; +import forge.deck.CardRelationMatrixGenerator; +import forge.deck.Deck; +import forge.deck.DeckFormat; +import forge.deck.DeckgenUtil; import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; @@ -20,10 +27,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import java.io.File; -import java.util.ArrayList; -import java.util.List; - public class PlanarConquestCommanderGeneraterGA extends PlanarConquestGeneraterGA { diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java index 13c99b4d9b6..1464173d8c7 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGA.java @@ -1,5 +1,12 @@ package forge.planarconquestgenerate; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -9,7 +16,11 @@ import forge.GuiDesktop; import forge.LobbyPlayer; import forge.StaticData; import forge.card.CardRulesPredicates; -import forge.deck.*; +import forge.deck.CardArchetypeLDAGenerator; +import forge.deck.Deck; +import forge.deck.DeckFormat; +import forge.deck.DeckGroup; +import forge.deck.DeckgenUtil; import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; @@ -31,12 +42,6 @@ import forge.util.AbstractGeneticAlgorithm; import forge.util.MyRandom; import forge.util.TextUtil; import forge.view.SimulateMatch; -import org.apache.commons.lang3.tuple.Pair; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; public class PlanarConquestGeneraterGA extends AbstractGeneticAlgorithm { diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java index 103a45fcbeb..8cd1fd8105e 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAModern.java @@ -1,5 +1,8 @@ package forge.planarconquestgenerate; +import java.io.File; +import java.util.List; + import com.google.common.base.Function; import forge.GuiDesktop; @@ -16,9 +19,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import java.io.File; -import java.util.List; - public class PlanarConquestGeneraterGAModern extends PlanarConquestGeneraterGA { private int deckCount = 0; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java index 6f5ce0d0961..e23b8142b6d 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestGeneraterGAStandard.java @@ -1,9 +1,14 @@ package forge.planarconquestgenerate; +import java.io.File; +import java.util.List; + import com.google.common.base.Function; import forge.GuiDesktop; -import forge.deck.*; +import forge.deck.Deck; +import forge.deck.DeckFormat; +import forge.deck.DeckgenUtil; import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; @@ -14,9 +19,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import java.io.File; -import java.util.List; - public class PlanarConquestGeneraterGAStandard extends PlanarConquestGeneraterGA { private int deckCount = 0; diff --git a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java index 81c1e8e7d69..469a5d9e120 100644 --- a/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java +++ b/forge-gui-desktop/src/test/java/forge/planarconquestgenerate/PlanarConquestTribalGeneraterGA.java @@ -1,5 +1,9 @@ package forge.planarconquestgenerate; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Function; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -8,7 +12,9 @@ import com.google.common.collect.Lists; import forge.GuiDesktop; import forge.StaticData; import forge.card.CardRulesPredicates; -import forge.deck.*; +import forge.deck.CardArchetypeLDAGenerator; +import forge.deck.Deck; +import forge.deck.DeckFormat; import forge.deck.io.DeckStorage; import forge.game.GameFormat; import forge.game.GameRules; @@ -20,10 +26,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; -import java.io.File; -import java.util.ArrayList; -import java.util.List; - public class PlanarConquestTribalGeneraterGA extends PlanarConquestGeneraterGA { diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index 38ee6a75495..849cdbf0bb5 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -1,9 +1,26 @@ package forge.app; +import java.awt.Desktop; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import javax.imageio.ImageIO; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.DefaultParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; + import com.badlogic.gdx.Gdx; import com.badlogic.gdx.backends.lwjgl.LwjglApplication; import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; import com.badlogic.gdx.backends.lwjgl.LwjglClipboard; + import forge.Forge; import forge.assets.AssetsDownloader; import forge.interfaces.IDeviceAdapter; @@ -13,12 +30,6 @@ import forge.util.FileUtil; import forge.util.OperatingSystem; import forge.util.RestartUtil; import forge.util.Utils; -import org.apache.commons.cli.*; - -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.*; public class Main { public static void main(String[] args) { diff --git a/forge-gui-mobile/src/forge/CachedCardImage.java b/forge-gui-mobile/src/forge/CachedCardImage.java index 7919d23d762..51ae26f81cc 100644 --- a/forge-gui-mobile/src/forge/CachedCardImage.java +++ b/forge-gui-mobile/src/forge/CachedCardImage.java @@ -1,6 +1,7 @@ package forge; import com.badlogic.gdx.graphics.Texture; + import forge.assets.ImageCache; import forge.game.card.CardView; import forge.gui.GuiBase; diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index bc0cc0fac2b..9d880e19bd8 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -1,11 +1,18 @@ package forge; +import java.io.File; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Deque; +import java.util.List; + import com.badlogic.gdx.Application; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.utils.Clipboard; + import forge.animation.ForgeAnimation; import forge.assets.AssetsDownloader; import forge.assets.FSkin; @@ -38,12 +45,6 @@ import forge.util.FileUtil; import forge.util.Localizer; import forge.util.Utils; -import java.io.File; -import java.util.ArrayDeque; -import java.util.ArrayList; -import java.util.Deque; -import java.util.List; - public class Forge implements ApplicationListener { public static final String CURRENT_VERSION = "1.6.39.001"; diff --git a/forge-gui-mobile/src/forge/Graphics.java b/forge-gui-mobile/src/forge/Graphics.java index d503653abaf..735cad4acc0 100644 --- a/forge-gui-mobile/src/forge/Graphics.java +++ b/forge-gui-mobile/src/forge/Graphics.java @@ -1,5 +1,8 @@ package forge; +import java.util.ArrayDeque; +import java.util.Deque; + import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; @@ -14,15 +17,13 @@ import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.scenes.scene2d.utils.ScissorStack; + import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.toolbox.FDisplayObject; -import forge.util.Utils; import forge.util.TextBounds; - -import java.util.ArrayDeque; -import java.util.Deque; +import forge.util.Utils; public class Graphics { private static final int GL_BLEND = GL20.GL_BLEND; diff --git a/forge-gui-mobile/src/forge/animation/GifDecoder.java b/forge-gui-mobile/src/forge/animation/GifDecoder.java index 5ff29d18df5..506bda6bf6f 100644 --- a/forge-gui-mobile/src/forge/animation/GifDecoder.java +++ b/forge-gui-mobile/src/forge/animation/GifDecoder.java @@ -9,10 +9,10 @@ import java.io.InputStream; import java.util.Vector; import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Animation; import com.badlogic.gdx.graphics.g2d.Animation.PlayMode; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.utils.Array; public class GifDecoder { diff --git a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java index c824cbbbe8c..7c89609ca80 100644 --- a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java +++ b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java @@ -1,5 +1,12 @@ package forge.assets; +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.Application.ApplicationType; import com.badlogic.gdx.Gdx; import com.google.common.collect.ImmutableList; @@ -12,13 +19,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.screens.SplashScreen; import forge.util.FileUtil; -import org.apache.commons.lang3.StringUtils; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.List; - public class AssetsDownloader { public static final boolean SHARE_DESKTOP_ASSETS = true; //change to false to test downloading separate assets for desktop version diff --git a/forge-gui-mobile/src/forge/assets/BitmapFontWriter.java b/forge-gui-mobile/src/forge/assets/BitmapFontWriter.java index 5ec2993c392..c5b17a2e44a 100644 --- a/forge-gui-mobile/src/forge/assets/BitmapFontWriter.java +++ b/forge-gui-mobile/src/forge/assets/BitmapFontWriter.java @@ -23,6 +23,7 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont.BitmapFontData; import com.badlogic.gdx.graphics.g2d.BitmapFont.Glyph; import com.badlogic.gdx.graphics.g2d.PixmapPacker.Page; import com.badlogic.gdx.utils.Array; + import forge.util.TextUtil; /** diff --git a/forge-gui-mobile/src/forge/assets/FBufferedImage.java b/forge-gui-mobile/src/forge/assets/FBufferedImage.java index 92d289ea148..dfc152ce99e 100644 --- a/forge-gui-mobile/src/forge/assets/FBufferedImage.java +++ b/forge-gui-mobile/src/forge/assets/FBufferedImage.java @@ -2,8 +2,8 @@ package forge.assets; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; -import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Pixmap.Format; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.glutils.FrameBuffer; import com.badlogic.gdx.math.Matrix4; diff --git a/forge-gui-mobile/src/forge/assets/FLanguage.java b/forge-gui-mobile/src/forge/assets/FLanguage.java index 7f3fac71bb4..a10d7284174 100644 --- a/forge-gui-mobile/src/forge/assets/FLanguage.java +++ b/forge-gui-mobile/src/forge/assets/FLanguage.java @@ -1,5 +1,8 @@ package forge.assets; +import java.util.ArrayList; +import java.util.List; + import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; @@ -8,9 +11,6 @@ import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; -import java.util.ArrayList; -import java.util.List; - public class FLanguage { public static void changeLanguage(final String languageName) { diff --git a/forge-gui-mobile/src/forge/assets/FRotatedImage.java b/forge-gui-mobile/src/forge/assets/FRotatedImage.java index 0bdf14ea3c5..b0a8bdc3764 100644 --- a/forge-gui-mobile/src/forge/assets/FRotatedImage.java +++ b/forge-gui-mobile/src/forge/assets/FRotatedImage.java @@ -1,6 +1,7 @@ package forge.assets; import com.badlogic.gdx.graphics.Texture; + import forge.Graphics; public class FRotatedImage extends FImageComplex { diff --git a/forge-gui-mobile/src/forge/assets/FSkin.java b/forge-gui-mobile/src/forge/assets/FSkin.java index 27ddeec0e51..9e743116802 100644 --- a/forge-gui-mobile/src/forge/assets/FSkin.java +++ b/forge-gui-mobile/src/forge/assets/FSkin.java @@ -3,17 +3,15 @@ package forge.assets; import java.util.HashMap; import java.util.Map; -import forge.util.WordUtil; -import com.badlogic.gdx.utils.Array; -import forge.Forge; - import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.utils.Array; +import forge.Forge; import forge.assets.FSkinImage.SourceFile; import forge.card.CardFaceSymbols; import forge.gui.FThreads; @@ -25,6 +23,7 @@ import forge.model.FModel; import forge.screens.LoadingOverlay; import forge.screens.SplashScreen; import forge.toolbox.FProgressBar; +import forge.util.WordUtil; public class FSkin { private static final Map images = new HashMap<>(512); diff --git a/forge-gui-mobile/src/forge/assets/FSkinTexture.java b/forge-gui-mobile/src/forge/assets/FSkinTexture.java index 6161619e91d..a41703e3094 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinTexture.java +++ b/forge-gui-mobile/src/forge/assets/FSkinTexture.java @@ -1,5 +1,9 @@ package forge.assets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture.TextureWrap; @@ -7,10 +11,6 @@ import com.badlogic.gdx.graphics.Texture.TextureWrap; import forge.Graphics; import forge.localinstance.properties.ForgeConstants; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public enum FSkinTexture implements FImage { BG_TEXTURE(ForgeConstants.TEXTURE_BG_FILE, true, false), BG_MATCH(ForgeConstants.MATCH_BG_FILE, false, false), diff --git a/forge-gui-mobile/src/forge/assets/ImageCache.java b/forge-gui-mobile/src/forge/assets/ImageCache.java index f4706a3e7f4..97662bcf95e 100644 --- a/forge-gui-mobile/src/forge/assets/ImageCache.java +++ b/forge-gui-mobile/src/forge/assets/ImageCache.java @@ -17,6 +17,16 @@ */ package forge.assets; +import java.io.File; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Pixmap.Format; @@ -27,6 +37,7 @@ import com.google.common.cache.LoadingCache; import com.google.common.cache.RemovalCause; import com.google.common.cache.RemovalListener; import com.google.common.cache.RemovalNotification; + import forge.Forge; import forge.ImageKeys; import forge.card.CardEdition; @@ -41,15 +52,6 @@ import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.util.ImageUtil; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.io.File; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; /** * This class stores ALL card images in a cache with soft values. this means diff --git a/forge-gui-mobile/src/forge/assets/ImageLoader.java b/forge-gui-mobile/src/forge/assets/ImageLoader.java index 55e2de81fd2..ea3d4b5763b 100644 --- a/forge-gui-mobile/src/forge/assets/ImageLoader.java +++ b/forge-gui-mobile/src/forge/assets/ImageLoader.java @@ -1,8 +1,12 @@ package forge.assets; +import static forge.assets.ImageCache.croppedBorderImage; + import java.io.File; import java.util.List; +import org.apache.commons.lang3.tuple.Pair; + import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Pixmap; @@ -19,9 +23,6 @@ import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.util.FileUtil; import forge.util.TextUtil; -import org.apache.commons.lang3.tuple.Pair; - -import static forge.assets.ImageCache.croppedBorderImage; final class ImageLoader extends CacheLoader { private static List borderlessCardlistKey = FileUtil.readFile(ForgeConstants.BORDERLESS_CARD_LIST_FILE); diff --git a/forge-gui-mobile/src/forge/card/CardFaceSymbols.java b/forge-gui-mobile/src/forge/card/CardFaceSymbols.java index e11169f396c..c2af7ed7382 100644 --- a/forge-gui-mobile/src/forge/card/CardFaceSymbols.java +++ b/forge-gui-mobile/src/forge/card/CardFaceSymbols.java @@ -17,16 +17,16 @@ */ package forge.card; +import java.util.HashMap; +import java.util.Map; +import java.util.StringTokenizer; + import forge.Graphics; import forge.assets.FSkinImage; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; import forge.gui.error.BugReporter; -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; - public class CardFaceSymbols { public static final float FONT_SIZE_FACTOR = 0.85f; diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index dff156230b7..8076308b240 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -1,9 +1,18 @@ package forge.card; +import static forge.card.CardRenderer.CROP_MULTIPLIER; +import static forge.card.CardRenderer.isModernFrame; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.utils.Align; import com.google.common.collect.ImmutableList; + import forge.Forge; import forge.Graphics; import forge.assets.FBufferedImage; @@ -18,8 +27,8 @@ import forge.assets.TextRenderer; import forge.card.CardRenderer.CardStackPosition; import forge.card.mana.ManaCost; import forge.game.GameView; -import forge.game.card.CardView.CardStateView; import forge.game.card.CardView; +import forge.game.card.CardView.CardStateView; import forge.game.zone.ZoneType; import forge.gui.card.CardDetailUtil; import forge.gui.card.CardDetailUtil.DetailColors; @@ -30,13 +39,6 @@ import forge.screens.FScreen; import forge.screens.match.MatchController; import forge.util.CardTranslation; import forge.util.Utils; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.List; - -import static forge.card.CardRenderer.CROP_MULTIPLIER; -import static forge.card.CardRenderer.isModernFrame; public class CardImageRenderer { private static final float BASE_IMAGE_WIDTH = 360; diff --git a/forge-gui-mobile/src/forge/card/CardListPreview.java b/forge-gui-mobile/src/forge/card/CardListPreview.java index aabed4682b0..cd6411f8c72 100644 --- a/forge-gui-mobile/src/forge/card/CardListPreview.java +++ b/forge-gui-mobile/src/forge/card/CardListPreview.java @@ -1,7 +1,7 @@ package forge.card; -import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.math.Vector2; +import com.badlogic.gdx.utils.Align; import forge.item.PaperCard; import forge.toolbox.FChoiceList; diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index 12ed7b937c9..d60d9d78328 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -1,5 +1,14 @@ package forge.card; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Color; @@ -15,6 +24,7 @@ import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFont import com.badlogic.gdx.graphics.glutils.PixmapTextureData; import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Array; + import forge.CachedCardImage; import forge.Forge; import forge.Graphics; @@ -39,23 +49,15 @@ import forge.gui.card.CardDetailUtil.DetailColors; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.localinstance.properties.ForgeConstants; -import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgeConstants.CounterDisplayType; +import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.screens.match.MatchController; import forge.toolbox.FList; import forge.util.CardTranslation; -import forge.util.Utils; -import org.apache.commons.lang3.StringUtils; import forge.util.TextBounds; - -import java.util.Arrays; -import java.util.ArrayList; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import forge.util.Utils; public class CardRenderer { public enum CardStackPosition { diff --git a/forge-gui-mobile/src/forge/card/CardZoom.java b/forge-gui-mobile/src/forge/card/CardZoom.java index 1e0089f5c41..d8b9d074caa 100644 --- a/forge-gui-mobile/src/forge/card/CardZoom.java +++ b/forge-gui-mobile/src/forge/card/CardZoom.java @@ -28,8 +28,8 @@ import forge.toolbox.FCardPanel; import forge.toolbox.FDialog; import forge.toolbox.FOverlay; import forge.util.Localizer; -import forge.util.collect.FCollectionView; import forge.util.Utils; +import forge.util.collect.FCollectionView; public class CardZoom extends FOverlay { private static final float REQ_AMOUNT = Utils.AVG_FINGER_WIDTH; diff --git a/forge-gui-mobile/src/forge/card/GameEntityPicker.java b/forge-gui-mobile/src/forge/card/GameEntityPicker.java index 1a3991fd7c8..3d339e06de3 100644 --- a/forge-gui-mobile/src/forge/card/GameEntityPicker.java +++ b/forge-gui-mobile/src/forge/card/GameEntityPicker.java @@ -17,9 +17,9 @@ import forge.screens.FScreen; import forge.screens.TabPageScreen; import forge.toolbox.FChoiceList; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FOptionPane; import forge.toolbox.FTextField; -import forge.toolbox.FEvent.FEventHandler; import forge.util.Callback; import forge.util.Localizer; diff --git a/forge-gui-mobile/src/forge/deck/AddBasicLandsDialog.java b/forge-gui-mobile/src/forge/deck/AddBasicLandsDialog.java index 2e9e46aa7b9..0c18e053a48 100644 --- a/forge-gui-mobile/src/forge/deck/AddBasicLandsDialog.java +++ b/forge-gui-mobile/src/forge/deck/AddBasicLandsDialog.java @@ -18,9 +18,12 @@ package forge.deck; import java.text.NumberFormat; +import java.util.Map; import java.util.Map.Entry; +import com.badlogic.gdx.utils.Align; import com.google.common.collect.Iterables; + import forge.Forge; import forge.Graphics; import forge.StaticData; @@ -49,9 +52,6 @@ import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; -import com.badlogic.gdx.utils.Align; -import java.util.Map; - public class AddBasicLandsDialog extends FDialog { private static final float ADD_BTN_SIZE = Utils.AVG_FINGER_HEIGHT * 0.75f; diff --git a/forge-gui-mobile/src/forge/deck/FDeckChooser.java b/forge-gui-mobile/src/forge/deck/FDeckChooser.java index fd1ccf5cfc3..b028f7e8cf5 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckChooser.java +++ b/forge-gui-mobile/src/forge/deck/FDeckChooser.java @@ -1,5 +1,18 @@ package forge.deck; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + +import com.badlogic.gdx.utils.Align; +import com.google.common.collect.ImmutableList; + import forge.Forge; import forge.assets.ImageCache; import forge.deck.FDeckEditor.EditorType; @@ -32,28 +45,15 @@ import forge.toolbox.FButton; import forge.toolbox.FComboBox; import forge.toolbox.FContainer; import forge.toolbox.FEvent; -import forge.toolbox.GuiChoose; -import forge.toolbox.ListChooser; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FOptionPane; +import forge.toolbox.GuiChoose; +import forge.toolbox.ListChooser; import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; import forge.util.storage.IStorage; -import org.apache.commons.lang3.StringUtils; - -import com.badlogic.gdx.utils.Align; -import com.google.common.collect.ImmutableList; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - public class FDeckChooser extends FScreen { public static final float PADDING = Utils.scale(5); diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index 0deec005e4f..8ff7160652c 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -1,5 +1,14 @@ package forge.deck; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; @@ -7,14 +16,15 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; + import forge.Forge; import forge.Forge.KeyInputAdapter; +import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkin; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.FTextureRegionImage; -import forge.Graphics; import forge.card.CardDb; import forge.card.CardEdition; import forge.card.CardRulesPredicates; @@ -29,7 +39,6 @@ import forge.itemmanager.ItemColumn; import forge.itemmanager.ItemManager.ContextMenuBuilder; import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.filters.ItemFilter; -import forge.localinstance.assets.*; import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FCheckBoxMenuItem; import forge.menu.FDropDownMenu; @@ -38,15 +47,19 @@ import forge.menu.FPopupMenu; import forge.model.FModel; import forge.screens.FScreen; import forge.screens.TabPageScreen; -import forge.toolbox.*; +import forge.toolbox.FContainer; +import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; -import forge.util.*; +import forge.toolbox.FLabel; +import forge.toolbox.FOptionPane; +import forge.toolbox.GuiChoose; +import forge.util.Callback; +import forge.util.ItemPool; +import forge.util.Lang; +import forge.util.Localizer; +import forge.util.Utils; import forge.util.storage.IStorage; -import org.apache.commons.lang3.StringUtils; - -import java.util.*; -import java.util.Map.Entry; public class FDeckEditor extends TabPageScreen { public static FSkinImage MAIN_DECK_ICON = Forge.hdbuttons ? FSkinImage.HDLIBRARY :FSkinImage.DECKLIST; diff --git a/forge-gui-mobile/src/forge/deck/FDeckViewer.java b/forge-gui-mobile/src/forge/deck/FDeckViewer.java index 348f87d4f34..43f564b8245 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckViewer.java +++ b/forge-gui-mobile/src/forge/deck/FDeckViewer.java @@ -1,5 +1,7 @@ package forge.deck; +import java.util.Map.Entry; + import forge.Forge; import forge.assets.FImage; import forge.assets.FSkin; @@ -19,8 +21,6 @@ import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FOptionPane; import forge.util.Localizer; -import java.util.Map.Entry; - public class FDeckViewer extends FScreen { private static FDeckViewer deckViewer; private static FPopupMenu menu = new FPopupMenu() { diff --git a/forge-gui-mobile/src/forge/deck/FSideboardDialog.java b/forge-gui-mobile/src/forge/deck/FSideboardDialog.java index f6c1156c303..b59011d218f 100644 --- a/forge-gui-mobile/src/forge/deck/FSideboardDialog.java +++ b/forge-gui-mobile/src/forge/deck/FSideboardDialog.java @@ -2,23 +2,23 @@ package forge.deck; import java.util.List; -import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; import forge.assets.FImage; import forge.item.PaperCard; import forge.itemmanager.CardManager; -import forge.itemmanager.ItemManagerConfig; import forge.itemmanager.ItemManager.ContextMenuBuilder; +import forge.itemmanager.ItemManagerConfig; import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.screens.FScreen; import forge.screens.TabPageScreen; import forge.toolbox.FDialog; import forge.toolbox.FEvent; -import forge.toolbox.GuiChoose; import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.GuiChoose; import forge.util.Callback; +import forge.util.Localizer; public class FSideboardDialog extends FDialog { private final SideboardTabs tabs; diff --git a/forge-gui-mobile/src/forge/error/BugReportDialog.java b/forge-gui-mobile/src/forge/error/BugReportDialog.java index 70d937a67c0..eaf6ff02a75 100644 --- a/forge-gui-mobile/src/forge/error/BugReportDialog.java +++ b/forge-gui-mobile/src/forge/error/BugReportDialog.java @@ -1,11 +1,12 @@ package forge.error; import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.gui.error.BugReporter; import forge.screens.FScreen; import forge.toolbox.FButton; diff --git a/forge-gui-mobile/src/forge/itemmanager/DeckManager.java b/forge-gui-mobile/src/forge/itemmanager/DeckManager.java index 5f0fe585ea5..bae2bb02796 100644 --- a/forge-gui-mobile/src/forge/itemmanager/DeckManager.java +++ b/forge-gui-mobile/src/forge/itemmanager/DeckManager.java @@ -1,5 +1,9 @@ package forge.itemmanager; +import java.util.Map.Entry; + +import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; @@ -22,10 +26,6 @@ import forge.toolbox.FList.CompactModeHandler; import forge.util.Localizer; import forge.util.Utils; -import com.badlogic.gdx.utils.Align; - -import java.util.Map.Entry; - /** * ItemManager for decks */ diff --git a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java index 1b3c1064d1a..b949c5130b8 100644 --- a/forge-gui-mobile/src/forge/itemmanager/ItemManager.java +++ b/forge-gui-mobile/src/forge/itemmanager/ItemManager.java @@ -17,6 +17,16 @@ */ package forge.itemmanager; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.badlogic.gdx.Gdx; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.utils.Align; @@ -55,16 +65,6 @@ import forge.util.ItemPool; import forge.util.LayoutHelper; import forge.util.Localizer; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - public abstract class ItemManager extends FContainer implements IItemManager, ActivateHandler { private ItemPool pool; diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java index 4f1b1d62959..5d442fafb46 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/AdvancedSearchFilter.java @@ -10,8 +10,8 @@ import forge.assets.TextRenderer; import forge.gui.interfaces.IButton; import forge.item.InventoryItem; import forge.itemmanager.AdvancedSearch; -import forge.itemmanager.ItemManager; import forge.itemmanager.AdvancedSearch.IFilterControl; +import forge.itemmanager.ItemManager; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; import forge.menu.FTooltip; @@ -19,11 +19,11 @@ import forge.screens.FScreen; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FLabel; import forge.toolbox.FList; import forge.toolbox.FScrollPane; import forge.toolbox.FTextField; -import forge.toolbox.FEvent.FEventHandler; -import forge.toolbox.FLabel; import forge.util.Callback; import forge.util.Localizer; diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/CardTypeFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/CardTypeFilter.java index 7fac6999178..167beaaeb2a 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/CardTypeFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/CardTypeFilter.java @@ -1,5 +1,8 @@ package forge.itemmanager.filters; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -8,9 +11,6 @@ import forge.item.PaperCard; import forge.itemmanager.ItemManager; import forge.itemmanager.SItemManagerUtil.StatTypes; -import java.util.ArrayList; -import java.util.List; - public class CardTypeFilter extends StatTypeFilter { public CardTypeFilter(ItemManager itemManager0) { diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/DeckFolderFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/DeckFolderFilter.java index 3d4001e3818..1a24bfb9aae 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/DeckFolderFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/DeckFolderFilter.java @@ -1,13 +1,13 @@ package forge.itemmanager.filters; +import java.util.HashSet; +import java.util.Set; + import com.google.common.base.Predicate; import forge.deck.DeckProxy; import forge.itemmanager.ItemManager; -import java.util.HashSet; -import java.util.Set; - public class DeckFolderFilter extends ListLabelFilter { protected final Set folders = new HashSet<>(); diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java index 1a7f49ec1f4..4e76e9ec807 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/FormatFilter.java @@ -1,5 +1,13 @@ package forge.itemmanager.filters; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; @@ -15,22 +23,14 @@ import forge.toolbox.FCheckBox; import forge.toolbox.FComboBox; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FGroupList; import forge.toolbox.FList; -import forge.toolbox.FEvent.FEventHandler; import forge.util.Callback; import forge.util.Localizer; import forge.util.TextUtil; import forge.util.Utils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import com.badlogic.gdx.utils.Align; - public abstract class FormatFilter extends ItemFilter { protected GameFormat format; diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/HistoricFormatSelect.java b/forge-gui-mobile/src/forge/itemmanager/filters/HistoricFormatSelect.java index 80bae301afb..8cc9d76f61c 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/HistoricFormatSelect.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/HistoricFormatSelect.java @@ -1,6 +1,11 @@ package forge.itemmanager.filters; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; @@ -15,10 +20,6 @@ import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - /** * Created by maustin on 16/04/2018. */ diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/ListLabelFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/ListLabelFilter.java index 7398e095dc7..04c179a4789 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/ListLabelFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/ListLabelFilter.java @@ -1,6 +1,7 @@ package forge.itemmanager.filters; import com.badlogic.gdx.utils.Align; + import forge.assets.FSkinFont; import forge.item.InventoryItem; import forge.itemmanager.ItemManager; diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java index b2d4ac67f60..70045e02123 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/StatTypeFilter.java @@ -1,5 +1,8 @@ package forge.itemmanager.filters; +import java.util.HashMap; +import java.util.Map; + import forge.assets.FSkin; import forge.item.InventoryItem; import forge.item.ItemPredicate; @@ -10,8 +13,6 @@ import forge.itemmanager.SItemManagerUtil.StatTypes; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; -import java.util.HashMap; -import java.util.Map; public abstract class StatTypeFilter extends ToggleButtonsFilter { protected final Map buttonMap; diff --git a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java index 73988323cda..a27826a6d6c 100644 --- a/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java +++ b/forge-gui-mobile/src/forge/itemmanager/views/ImageView.java @@ -1,6 +1,18 @@ package forge.itemmanager.views; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; + +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.math.Rectangle; +import com.badlogic.gdx.math.Vector2; +import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Forge.KeyInputAdapter; import forge.Graphics; @@ -8,9 +20,9 @@ import forge.assets.FImage; import forge.assets.FImageComplex; import forge.assets.FSkin; import forge.assets.FSkinColor; -import forge.assets.FSkinImage; import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; +import forge.assets.FSkinImage; import forge.assets.ImageCache; import forge.card.CardFaceSymbols; import forge.card.CardRenderer; @@ -38,26 +50,14 @@ import forge.toolbox.FCardPanel; import forge.toolbox.FComboBox; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; -import forge.toolbox.FTextField; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; +import forge.toolbox.FTextField; import forge.util.Localizer; import forge.util.TextUtil; import forge.util.Utils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.TreeMap; - -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; - public class ImageView extends ItemView { private static final float PADDING = Utils.scale(5); private static final float PILE_SPACING_Y = 0.1f; diff --git a/forge-gui-mobile/src/forge/itemmanager/views/ItemListView.java b/forge-gui-mobile/src/forge/itemmanager/views/ItemListView.java index fe737babd46..149cd78d3f1 100644 --- a/forge-gui-mobile/src/forge/itemmanager/views/ItemListView.java +++ b/forge-gui-mobile/src/forge/itemmanager/views/ItemListView.java @@ -17,6 +17,14 @@ */ package forge.itemmanager.views; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import com.badlogic.gdx.math.Rectangle; + import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; @@ -32,16 +40,8 @@ import forge.itemmanager.ItemManagerModel; import forge.toolbox.FCheckBox; import forge.toolbox.FDisplayObject; import forge.toolbox.FList; - -import com.badlogic.gdx.math.Rectangle; import forge.util.Localizer; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - public final class ItemListView extends ItemView { private static final FSkinColor ROW_COLOR = FSkinColor.get(Colors.CLR_ZEBRA); diff --git a/forge-gui-mobile/src/forge/itemmanager/views/ItemView.java b/forge-gui-mobile/src/forge/itemmanager/views/ItemView.java index ed20f675273..3a33ae11a2d 100644 --- a/forge-gui-mobile/src/forge/itemmanager/views/ItemView.java +++ b/forge-gui-mobile/src/forge/itemmanager/views/ItemView.java @@ -1,5 +1,12 @@ package forge.itemmanager.views; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import com.badlogic.gdx.math.Rectangle; + import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; @@ -15,13 +22,6 @@ import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventType; import forge.toolbox.FScrollPane; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import com.badlogic.gdx.math.Rectangle; - public abstract class ItemView { protected static final float UNOWNED_ALPHA_COMPOSITE = 0.35f; private static final FSkinColor BORDER_COLOR = FSkinColor.get(Colors.CLR_TEXT); diff --git a/forge-gui-mobile/src/forge/menu/FDropDown.java b/forge-gui-mobile/src/forge/menu/FDropDown.java index 0f2f67bd893..20da17b4a5d 100644 --- a/forge-gui-mobile/src/forge/menu/FDropDown.java +++ b/forge-gui-mobile/src/forge/menu/FDropDown.java @@ -5,8 +5,8 @@ import com.badlogic.gdx.math.Rectangle; import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinTexture; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinTexture; import forge.screens.FScreen; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/menu/FMagnifyView.java b/forge-gui-mobile/src/forge/menu/FMagnifyView.java index 6c33345e13f..495e094ad3b 100644 --- a/forge-gui-mobile/src/forge/menu/FMagnifyView.java +++ b/forge-gui-mobile/src/forge/menu/FMagnifyView.java @@ -1,6 +1,7 @@ package forge.menu; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinFont; diff --git a/forge-gui-mobile/src/forge/menu/FMenuItem.java b/forge-gui-mobile/src/forge/menu/FMenuItem.java index 98baff9636b..34f98d9babb 100644 --- a/forge-gui-mobile/src/forge/menu/FMenuItem.java +++ b/forge-gui-mobile/src/forge/menu/FMenuItem.java @@ -7,9 +7,9 @@ import com.badlogic.gdx.utils.Timer.Task; import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.TextRenderer; -import forge.assets.FSkinColor.Colors; import forge.gui.UiCommand; import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; diff --git a/forge-gui-mobile/src/forge/menu/FMenuTab.java b/forge-gui-mobile/src/forge/menu/FMenuTab.java index adafb4c8050..c23b0d2352c 100644 --- a/forge-gui-mobile/src/forge/menu/FMenuTab.java +++ b/forge-gui-mobile/src/forge/menu/FMenuTab.java @@ -4,8 +4,8 @@ import com.badlogic.gdx.utils.Align; import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.toolbox.FDisplayObject; import forge.util.Utils; diff --git a/forge-gui-mobile/src/forge/menu/FTooltip.java b/forge-gui-mobile/src/forge/menu/FTooltip.java index ae3c6ce2349..4686a03573f 100644 --- a/forge-gui-mobile/src/forge/menu/FTooltip.java +++ b/forge-gui-mobile/src/forge/menu/FTooltip.java @@ -1,11 +1,12 @@ package forge.menu; import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.screens.FScreen; import forge.toolbox.FDisplayObject; import forge.util.TextBounds; diff --git a/forge-gui-mobile/src/forge/screens/FScreen.java b/forge-gui-mobile/src/forge/screens/FScreen.java index c4f9bbdd5cf..ec36dc3884d 100644 --- a/forge-gui-mobile/src/forge/screens/FScreen.java +++ b/forge-gui-mobile/src/forge/screens/FScreen.java @@ -11,9 +11,9 @@ import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; -import forge.gui.GuiBase; import forge.assets.FSkinFont; import forge.assets.FSkinTexture; +import forge.gui.GuiBase; import forge.menu.FPopupMenu; import forge.screens.home.HomeScreen; import forge.screens.settings.SettingsScreen; diff --git a/forge-gui-mobile/src/forge/screens/LoadingOverlay.java b/forge-gui-mobile/src/forge/screens/LoadingOverlay.java index c9a2fe31bb1..dd726980b8e 100644 --- a/forge-gui-mobile/src/forge/screens/LoadingOverlay.java +++ b/forge-gui-mobile/src/forge/screens/LoadingOverlay.java @@ -8,9 +8,9 @@ import forge.Graphics; import forge.assets.FSkin; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; -import forge.gui.FThreads; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gui.FThreads; import forge.toolbox.FOverlay; import forge.util.ThreadUtil; import forge.util.Utils; diff --git a/forge-gui-mobile/src/forge/screens/TabPageScreen.java b/forge-gui-mobile/src/forge/screens/TabPageScreen.java index 963b8c50f40..bb6a8f0442f 100644 --- a/forge-gui-mobile/src/forge/screens/TabPageScreen.java +++ b/forge-gui-mobile/src/forge/screens/TabPageScreen.java @@ -6,16 +6,16 @@ import forge.Forge; import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.localinstance.properties.ForgePreferences.FPref; import forge.menu.FPopupMenu; import forge.model.FModel; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; -import forge.toolbox.FLabel; import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.util.Utils; diff --git a/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java b/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java index c90ec8f6930..03c2c615fd0 100644 --- a/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java +++ b/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java @@ -20,11 +20,11 @@ import forge.menu.FDropDown; import forge.screens.FScreen; import forge.toolbox.FComboBox; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; -import forge.toolbox.FEvent.FEventHandler; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class AchievementsScreen extends FScreen { private static final float TROPHY_PADDING = 45; diff --git a/forge-gui-mobile/src/forge/screens/constructed/AvatarSelector.java b/forge-gui-mobile/src/forge/screens/constructed/AvatarSelector.java index a4de6366815..a338e184421 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/AvatarSelector.java +++ b/forge-gui-mobile/src/forge/screens/constructed/AvatarSelector.java @@ -1,5 +1,11 @@ package forge.screens.constructed; +import java.util.List; +import java.util.Map; + +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.assets.FImage; import forge.assets.FSkin; @@ -16,12 +22,6 @@ import forge.util.Localizer; import forge.util.MyRandom; import forge.util.Utils; -import java.util.List; -import java.util.Map; - -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Align; - public class AvatarSelector extends FScreen { public static int getRandomAvatar(List usedAvatars) { int random = 0; diff --git a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java index c7d4e1b2469..4fab1493586 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java +++ b/forge-gui-mobile/src/forge/screens/constructed/LobbyScreen.java @@ -1,19 +1,9 @@ package forge.screens.constructed; -import java.util.Arrays; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; -import forge.assets.ImageCache; -import forge.deck.CardPool; -import forge.deck.Deck; -import forge.deck.DeckSection; -import forge.deck.DeckType; -import forge.deck.FDeckChooser; -import forge.util.Localizer; - -import forge.util.MyRandom; -import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.Gdx; @@ -25,6 +15,12 @@ import forge.Graphics; import forge.ai.AIOption; import forge.assets.FSkinColor; import forge.assets.FSkinFont; +import forge.assets.ImageCache; +import forge.deck.CardPool; +import forge.deck.Deck; +import forge.deck.DeckSection; +import forge.deck.DeckType; +import forge.deck.FDeckChooser; import forge.game.GameType; import forge.gamemodes.match.GameLobby; import forge.gamemodes.match.LobbySlot; @@ -46,11 +42,14 @@ import forge.screens.settings.SettingsScreen; import forge.toolbox.FCheckBox; import forge.toolbox.FComboBox; import forge.toolbox.FEvent; -import forge.toolbox.FList; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; +import forge.toolbox.FList; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; +import forge.util.Localizer; +import forge.util.MyRandom; +import forge.util.TextUtil; import forge.util.Utils; public abstract class LobbyScreen extends LaunchScreen implements ILobbyView { diff --git a/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java b/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java index 2e220c0b441..be544dd5bfa 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java +++ b/forge-gui-mobile/src/forge/screens/constructed/PlayerPanel.java @@ -4,13 +4,8 @@ import java.util.Collections; import java.util.List; import java.util.Set; -import forge.util.Callback; -import forge.util.Lang; -import forge.util.Localizer; -import forge.util.NameGenerator; -import forge.util.TextUtil; -import forge.util.Utils; import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.utils.Align; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -39,12 +34,18 @@ import forge.model.FModel; import forge.toolbox.FComboBox; import forge.toolbox.FContainer; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FList; import forge.toolbox.FOptionPane; import forge.toolbox.FTextField; import forge.toolbox.FToggleSwitch; -import forge.toolbox.FEvent.FEventHandler; +import forge.util.Callback; +import forge.util.Lang; +import forge.util.Localizer; +import forge.util.NameGenerator; +import forge.util.TextUtil; +import forge.util.Utils; public class PlayerPanel extends FContainer { private static final ForgePreferences prefs = FModel.getPreferences(); diff --git a/forge-gui-mobile/src/forge/screens/constructed/SleevesSelector.java b/forge-gui-mobile/src/forge/screens/constructed/SleevesSelector.java index 1c6296b1274..f43021e419b 100644 --- a/forge-gui-mobile/src/forge/screens/constructed/SleevesSelector.java +++ b/forge-gui-mobile/src/forge/screens/constructed/SleevesSelector.java @@ -1,5 +1,11 @@ package forge.screens.constructed; +import java.util.List; +import java.util.Map; + +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.assets.FImage; import forge.assets.FSkin; @@ -12,15 +18,9 @@ import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; import forge.util.Callback; +import forge.util.Localizer; import forge.util.MyRandom; import forge.util.Utils; -import forge.util.Localizer; - -import java.util.List; -import java.util.Map; - -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Align; public class SleevesSelector extends FScreen { public static int getRandomSleeves(List usedSleeves) { diff --git a/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java b/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java index 34af617ac22..ae5df1b56e5 100644 --- a/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java +++ b/forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; + import com.badlogic.gdx.utils.Align; import forge.Graphics; @@ -30,13 +31,13 @@ import forge.screens.home.NewGameMenu.NewGameScreen; import forge.screens.settings.SettingsScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FList; import forge.toolbox.FOptionPane; -import forge.toolbox.FEvent.FEventHandler; import forge.util.Callback; +import forge.util.Localizer; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.Localizer; public class LoadGauntletScreen extends LaunchScreen { private static final float ITEM_HEIGHT = Utils.AVG_FINGER_HEIGHT; diff --git a/forge-gui-mobile/src/forge/screens/home/HomeScreen.java b/forge-gui-mobile/src/forge/screens/home/HomeScreen.java index bbd0d993b5e..c65782f334f 100644 --- a/forge-gui-mobile/src/forge/screens/home/HomeScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/HomeScreen.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FImage; diff --git a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java index 2c32fc9530f..e50e7a6e4e3 100644 --- a/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/puzzle/PuzzleScreen.java @@ -1,5 +1,9 @@ package forge.screens.home.puzzle; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import forge.assets.FSkinFont; import forge.deck.Deck; import forge.game.GameRules; @@ -22,10 +26,6 @@ import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public class PuzzleScreen extends LaunchScreen { private static final float PADDING = Utils.scale(10); diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java index 63f03734bf9..9c26bbcb349 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadDraftScreen.java @@ -1,15 +1,11 @@ package forge.screens.limited; +import java.util.ArrayList; +import java.util.List; + import com.badlogic.gdx.utils.Align; import forge.Forge; -import forge.screens.LaunchScreen; -import forge.screens.LoadingOverlay; -import forge.screens.home.LoadGameMenu; -import forge.toolbox.FEvent; -import forge.toolbox.FEvent.FEventHandler; -import forge.toolbox.FLabel; -import forge.toolbox.FOptionPane; import forge.assets.FSkinFont; import forge.deck.Deck; import forge.deck.DeckGroup; @@ -30,12 +26,16 @@ import forge.itemmanager.filters.ItemFilter; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.player.GamePlayerUtil; +import forge.screens.LaunchScreen; +import forge.screens.LoadingOverlay; +import forge.screens.home.LoadGameMenu; import forge.toolbox.FComboBox; +import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FLabel; +import forge.toolbox.FOptionPane; import forge.util.Localizer; -import java.util.ArrayList; -import java.util.List; - public class LoadDraftScreen extends LaunchScreen { private final DeckManager lstDecks = add(new DeckManager(GameType.Draft)); private final FLabel lblTip = add(new FLabel.Builder() diff --git a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java index ddd3342d684..9f0798cb045 100644 --- a/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java +++ b/forge-gui-mobile/src/forge/screens/limited/LoadSealedScreen.java @@ -1,5 +1,8 @@ package forge.screens.limited; +import java.util.ArrayList; +import java.util.List; + import com.badlogic.gdx.utils.Align; import forge.Forge; @@ -28,12 +31,10 @@ import forge.screens.LoadingOverlay; import forge.screens.home.LoadGameMenu; import forge.toolbox.FComboBox; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; -import forge.toolbox.FEvent.FEventHandler; import forge.util.Localizer; -import java.util.ArrayList; -import java.util.List; public class LoadSealedScreen extends LaunchScreen { private final DeckManager lstDecks = add(new DeckManager(GameType.Draft)); diff --git a/forge-gui-mobile/src/forge/screens/match/MatchController.java b/forge-gui-mobile/src/forge/screens/match/MatchController.java index 9eb1eabe430..574de88c0f4 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchController.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchController.java @@ -6,8 +6,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import forge.assets.FSkinImage; -import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Function; @@ -20,6 +18,7 @@ import forge.Graphics; import forge.LobbyPlayer; import forge.assets.FImage; import forge.assets.FSkin; +import forge.assets.FSkinImage; import forge.assets.FTextureRegionImage; import forge.assets.ImageCache; import forge.card.CardAvatarImage; @@ -58,10 +57,11 @@ import forge.toolbox.FButton; import forge.toolbox.FDisplayObject; import forge.toolbox.FOptionPane; import forge.trackable.TrackableCollection; -import forge.util.collect.FCollectionView; import forge.util.ITriggerEvent; +import forge.util.Localizer; import forge.util.MessageUtil; import forge.util.WaitCallback; +import forge.util.collect.FCollectionView; public class MatchController extends AbstractGuiGame { private MatchController() { } diff --git a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java index a18136d825f..2252d00208b 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java @@ -7,14 +7,10 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import com.badlogic.gdx.graphics.Color; - -import forge.screens.match.winlose.ViewWinLose; -import forge.util.Localizer; - import org.apache.commons.lang3.tuple.Pair; import com.badlogic.gdx.Input.Keys; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.math.Rectangle; import com.google.common.collect.Maps; @@ -56,6 +52,7 @@ import forge.screens.match.views.VPlayerPanel.InfoTab; import forge.screens.match.views.VPlayers; import forge.screens.match.views.VPrompt; import forge.screens.match.views.VStack; +import forge.screens.match.winlose.ViewWinLose; import forge.sound.MusicPlaylist; import forge.sound.SoundSystem; import forge.toolbox.FCardPanel; @@ -63,6 +60,7 @@ import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FScrollPane; import forge.util.Callback; +import forge.util.Localizer; public class MatchScreen extends FScreen { public static FSkinColor BORDER_COLOR = FSkinColor.get(Colors.CLR_BORDERS); diff --git a/forge-gui-mobile/src/forge/screens/match/TargetingOverlay.java b/forge-gui-mobile/src/forge/screens/match/TargetingOverlay.java index 3c28401be23..4b7ef65b30b 100644 --- a/forge-gui-mobile/src/forge/screens/match/TargetingOverlay.java +++ b/forge-gui-mobile/src/forge/screens/match/TargetingOverlay.java @@ -17,6 +17,9 @@ */ package forge.screens.match; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.math.Vector2; + import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; @@ -26,9 +29,6 @@ import forge.screens.match.views.VCardDisplayArea.CardAreaPanel; import forge.toolbox.FDisplayObject; import forge.util.Utils; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Vector2; - public class TargetingOverlay { private static final float BORDER_THICKNESS = Utils.scale(1); private static final float ARROW_THICKNESS = Utils.scale(5); diff --git a/forge-gui-mobile/src/forge/screens/match/views/VAssignCombatDamage.java b/forge-gui-mobile/src/forge/screens/match/views/VAssignCombatDamage.java index f85881795bd..c9f5e70a492 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VAssignCombatDamage.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VAssignCombatDamage.java @@ -17,13 +17,20 @@ */ package forge.screens.match.views; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.assets.FSkinColor.Colors; import forge.card.CardZoom; import forge.game.GameEntityView; import forge.game.card.CardView; @@ -40,18 +47,11 @@ import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; import forge.util.Callback; +import forge.util.CardTranslation; +import forge.util.Localizer; import forge.util.TextUtil; import forge.util.Utils; import forge.util.WaitCallback; -import forge.util.Localizer; -import forge.util.CardTranslation; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.badlogic.gdx.utils.Align; public class VAssignCombatDamage extends FDialog { private static final float CARD_GAP_X = Utils.scale(10); diff --git a/forge-gui-mobile/src/forge/screens/match/views/VAutoYields.java b/forge-gui-mobile/src/forge/screens/match/views/VAutoYields.java index 1f9ace34c45..f119fd5d4de 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VAutoYields.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VAutoYields.java @@ -10,8 +10,8 @@ import forge.toolbox.FDialog; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FOptionPane; -import forge.util.TextBounds; import forge.util.Localizer; +import forge.util.TextBounds; public class VAutoYields extends FDialog { private final FChoiceList lstAutoYields; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java b/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java index cb798b04e37..50dd63362e9 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java @@ -9,8 +9,8 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.math.Vector2; import forge.Graphics; -import forge.card.CardZoom; import forge.card.CardRenderer.CardStackPosition; +import forge.card.CardZoom; import forge.card.CardZoom.ActivateHandler; import forge.game.card.CardView; import forge.gui.FThreads; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VDevMenu.java b/forge-gui-mobile/src/forge/screens/match/views/VDevMenu.java index 4bc24b8ceda..bd5a5b32eda 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VDevMenu.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VDevMenu.java @@ -6,8 +6,8 @@ import forge.menu.FMenuItem; import forge.screens.match.MatchController; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; -import forge.util.ThreadUtil; import forge.util.Localizer; +import forge.util.ThreadUtil; public class VDevMenu extends FDropDownMenu { @Override diff --git a/forge-gui-mobile/src/forge/screens/match/views/VLog.java b/forge-gui-mobile/src/forge/screens/match/views/VLog.java index 1183e70a561..b2242350a9b 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VLog.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VLog.java @@ -6,9 +6,9 @@ import com.badlogic.gdx.utils.Align; import forge.Graphics; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.TextRenderer; -import forge.assets.FSkinColor.Colors; import forge.game.GameLogEntry; import forge.game.GameLogEntryType; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VManaPool.java b/forge-gui-mobile/src/forge/screens/match/views/VManaPool.java index 8cd0246b6fa..4d0bfbc56b8 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VManaPool.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VManaPool.java @@ -8,9 +8,9 @@ import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.assets.FSkinColor.Colors; import forge.card.MagicColor; import forge.card.mana.ManaAtom; import forge.game.player.PlayerView; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VPhaseIndicator.java b/forge-gui-mobile/src/forge/screens/match/views/VPhaseIndicator.java index cf2724d538b..ed52f4a3634 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VPhaseIndicator.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VPhaseIndicator.java @@ -8,8 +8,8 @@ import com.badlogic.gdx.utils.Align; import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.game.phase.PhaseType; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java b/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java index da658f0f4ed..f3094aa09ed 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VPlayerPanel.java @@ -12,9 +12,9 @@ import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.FSkinImage; -import forge.assets.FSkinColor.Colors; import forge.game.card.CardView; import forge.game.card.CounterEnumType; import forge.game.player.PlayerView; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VPrompt.java b/forge-gui-mobile/src/forge/screens/match/views/VPrompt.java index d964c9d2442..73ee45326ef 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VPrompt.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VPrompt.java @@ -3,10 +3,11 @@ package forge.screens.match.views; import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.assets.TextRenderer; import forge.card.CardZoom; import forge.game.card.CardView; diff --git a/forge-gui-mobile/src/forge/screens/match/views/VStack.java b/forge-gui-mobile/src/forge/screens/match/views/VStack.java index 167d1151019..7dce48b6db3 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VStack.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VStack.java @@ -15,8 +15,8 @@ import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.TextRenderer; import forge.card.CardRenderer; -import forge.card.CardZoom; import forge.card.CardRenderer.CardStackPosition; +import forge.card.CardZoom; import forge.game.GameView; import forge.game.card.CardView; import forge.game.player.PlayerView; @@ -41,8 +41,8 @@ import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.util.Localizer; import forge.util.TextUtil; -import forge.util.collect.FCollectionView; import forge.util.Utils; +import forge.util.collect.FCollectionView; public class VStack extends FDropDown { public static final float CARD_WIDTH = Utils.AVG_FINGER_WIDTH; diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java index fc3be9d2483..ade6173df6a 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/GauntletWinLose.java @@ -1,5 +1,7 @@ package forge.screens.match.winlose; +import java.util.List; + import forge.game.GameView; import forge.gamemodes.gauntlet.GauntletWinLoseController; import forge.gui.FThreads; @@ -7,8 +9,6 @@ import forge.gui.util.SOptionPane; import forge.localinstance.assets.FSkinProp; import forge.util.Localizer; -import java.util.List; - /** * The Win/Lose handler for 'gauntlet' type tournament * games. diff --git a/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java b/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java index ce8e2f0a405..3957737fbcb 100644 --- a/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java +++ b/forge-gui-mobile/src/forge/screens/match/winlose/ViewWinLose.java @@ -1,5 +1,9 @@ package forge.screens.match.winlose; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; @@ -29,10 +33,6 @@ import forge.toolbox.FTextArea; import forge.util.Localizer; import forge.util.Utils; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; - public class ViewWinLose extends FOverlay implements IWinLoseView { private static final float INSETS_FACTOR = 0.025f; private static final float GAP_Y_FACTOR = 0.02f; diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java b/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java index a1845105a55..94360dde121 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineChatScreen.java @@ -5,9 +5,9 @@ import com.badlogic.gdx.utils.Align; import forge.Graphics; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.TextRenderer; -import forge.assets.FSkinColor.Colors; import forge.gamemodes.net.ChatMessage; import forge.gamemodes.net.IOnlineChatInterface; import forge.gamemodes.net.IRemote; @@ -21,8 +21,8 @@ import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FScrollPane; import forge.toolbox.FTextField; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class OnlineChatScreen extends FScreen implements IOnlineChatInterface { private static final float PADDING = Utils.scale(5); diff --git a/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java b/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java index 562821ca022..24acc1ccd6f 100644 --- a/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java +++ b/forge-gui-mobile/src/forge/screens/online/OnlineMenu.java @@ -1,5 +1,7 @@ package forge.screens.online; +import static forge.screens.online.OnlineLobbyScreen.getGameLobby; + import forge.Forge; import forge.assets.FImage; import forge.assets.FSkinImage; @@ -16,8 +18,6 @@ import forge.toolbox.FOptionPane; import forge.util.Callback; import forge.util.Localizer; -import static forge.screens.online.OnlineLobbyScreen.getGameLobby; - public class OnlineMenu extends FPopupMenu { public enum OnlineScreen { Lobby("lblLobby", FSkinImage.FAVICON, OnlineLobbyScreen.class), diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java index 4248376f88d..c795889f4f0 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestAEtherScreen.java @@ -21,16 +21,16 @@ import forge.assets.FSkinTexture; import forge.assets.TextRenderer; import forge.card.CardRarity; import forge.card.CardRenderer; +import forge.card.CardRenderer.CardStackPosition; import forge.card.CardZoom; import forge.card.ColorSet; -import forge.card.CardRenderer.CardStackPosition; +import forge.card.ColorSetImage; import forge.gamemodes.planarconquest.ConquestCommander; import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestPlane; -import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestUtil.AEtherFilter; -import forge.card.ColorSetImage; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.model.FModel; @@ -38,14 +38,14 @@ import forge.screens.FScreen; import forge.toolbox.FCardPanel; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; -import forge.toolbox.GuiChoose; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; +import forge.toolbox.GuiChoose; import forge.util.Aggregates; import forge.util.Callback; +import forge.util.Localizer; import forge.util.MyRandom; import forge.util.Utils; -import forge.util.Localizer; public class ConquestAEtherScreen extends FScreen { public static final Color FILTER_BUTTON_COLOR = ConquestMultiverseScreen.LOCATION_BAR_COLOR; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java index b92edfd7a4f..c24ac7370d4 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestChaosWheel.java @@ -1,8 +1,8 @@ package forge.screens.planarconquest; import com.badlogic.gdx.math.Vector2; -import forge.Forge; +import forge.Forge; import forge.Graphics; import forge.animation.ForgeAnimation; import forge.assets.FSkinImage; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java index 5a6123c493c..ba1781e0516 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCollectionScreen.java @@ -15,8 +15,8 @@ import forge.deck.CardPool; import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestPlane; import forge.gamemodes.planarconquest.ConquestPreferences; -import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.planarconquest.ConquestUtil; import forge.gui.FThreads; import forge.item.PaperCard; import forge.itemmanager.CardManager; @@ -31,8 +31,8 @@ import forge.menu.FMenuItem; import forge.model.FModel; import forge.screens.TabPageScreen; import forge.toolbox.FEvent; -import forge.toolbox.FLabel; import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FLabel; import forge.util.Localizer; public class ConquestCollectionScreen extends TabPageScreen { diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java index d8a3505b1cb..1579ba5f0a6 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestCommandersScreen.java @@ -35,11 +35,11 @@ import forge.model.FModel; import forge.screens.FScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FList; +import forge.toolbox.FList.CompactModeHandler; import forge.toolbox.FOptionPane; import forge.toolbox.FTextField; -import forge.toolbox.FEvent.FEventHandler; -import forge.toolbox.FList.CompactModeHandler; import forge.util.Callback; import forge.util.Localizer; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java index 8bbb6679422..268e6a2f621 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java @@ -28,15 +28,15 @@ import forge.gamemodes.planarconquest.ConquestBattle; import forge.gamemodes.planarconquest.ConquestChaosBattle; import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestEvent; +import forge.gamemodes.planarconquest.ConquestEvent.ChaosWheelOutcome; +import forge.gamemodes.planarconquest.ConquestEvent.ConquestEventRecord; import forge.gamemodes.planarconquest.ConquestLocation; import forge.gamemodes.planarconquest.ConquestPlane; import forge.gamemodes.planarconquest.ConquestPlaneData; +import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.gamemodes.planarconquest.ConquestRegion; import forge.gamemodes.planarconquest.ConquestReward; import forge.gamemodes.planarconquest.ConquestUtil; -import forge.gamemodes.planarconquest.ConquestEvent.ChaosWheelOutcome; -import forge.gamemodes.planarconquest.ConquestEvent.ConquestEventRecord; -import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.gui.FThreads; import forge.gui.card.CardDetailUtil; import forge.gui.card.CardDetailUtil.DetailColors; @@ -48,13 +48,13 @@ import forge.toolbox.FButton; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; -import forge.toolbox.FList; import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FList; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; import forge.util.Callback; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; import forge.util.collect.FCollectionView; public class ConquestMultiverseScreen extends FScreen { diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java index ab9a38a03d4..bcb856c42d5 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneSelector.java @@ -24,9 +24,9 @@ import forge.toolbox.FDisplayObject; import forge.toolbox.FOptionPane; import forge.toolbox.FTimer; import forge.toolbox.GuiDialog; +import forge.util.Localizer; import forge.util.Utils; import forge.util.collect.FCollectionView; -import forge.util.Localizer; public class ConquestPlaneSelector extends FDisplayObject { private static final FSkinFont PLANE_NAME_FONT = FSkinFont.get(30); diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java index 216042fdce1..65fe6e6d9f8 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPlaneswalkScreen.java @@ -14,9 +14,9 @@ import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.model.FModel; import forge.screens.FScreen; import forge.toolbox.FEvent; -import forge.toolbox.FList; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; +import forge.toolbox.FList; public class ConquestPlaneswalkScreen extends FScreen { private static final float PADDING = FList.PADDING; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java index 2480f1dc121..71e6d2ad3fd 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestPrefsScreen.java @@ -16,8 +16,8 @@ import forge.toolbox.FNumericTextField; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; import forge.toolbox.FTextField; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class ConquestPrefsScreen extends FScreen { private static final float PADDING = Utils.scale(5); diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java index ea903df8007..bb7a5bfd0db 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestRewardDialog.java @@ -5,6 +5,7 @@ import java.util.List; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.ImageKeys; @@ -13,8 +14,8 @@ import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.ImageCache; import forge.card.CardRenderer; -import forge.card.CardZoom; import forge.card.CardRenderer.CardStackPosition; +import forge.card.CardZoom; import forge.gamemodes.planarconquest.ConquestReward; import forge.item.PaperCard; import forge.toolbox.FCardPanel; @@ -23,8 +24,8 @@ import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class ConquestRewardDialog extends FScrollPane { private static final float PADDING = Utils.scale(5); diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java index 8115d039dbc..5c6b688bb01 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestStatsScreen.java @@ -17,8 +17,8 @@ import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FScrollPane; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class ConquestStatsScreen extends FScreen implements IVConquestStats { private static final float PADDING = Utils.scale(5f); diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java index 7a6e95bdcc6..06718125247 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/LoadConquestScreen.java @@ -15,6 +15,8 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; +import forge.assets.FSkinImage; import forge.gamemodes.planarconquest.ConquestController; import forge.gamemodes.planarconquest.ConquestData; import forge.gamemodes.planarconquest.ConquestPreferences; @@ -23,8 +25,6 @@ import forge.gamemodes.quest.QuestUtil; import forge.gui.FThreads; import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgeConstants; -import forge.assets.FSkinFont; -import forge.assets.FSkinImage; import forge.model.FModel; import forge.screens.LaunchScreen; import forge.screens.home.LoadGameMenu; @@ -33,13 +33,13 @@ import forge.screens.planarconquest.ConquestMenu.LaunchReason; import forge.screens.settings.SettingsScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FList; import forge.toolbox.FTextArea; -import forge.toolbox.FEvent.FEventHandler; import forge.util.FileUtil; +import forge.util.Localizer; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.Localizer; public class LoadConquestScreen extends LaunchScreen { private static final float ITEM_HEIGHT = Utils.AVG_FINGER_HEIGHT; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java index 323a2863c8e..c62e0e09bfa 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/NewConquestScreen.java @@ -7,8 +7,8 @@ import forge.card.CardImage; import forge.card.CardListPreview; import forge.gamemodes.planarconquest.ConquestController; import forge.gamemodes.planarconquest.ConquestData; -import forge.gamemodes.planarconquest.ConquestUtil; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; +import forge.gamemodes.planarconquest.ConquestUtil; import forge.gui.FThreads; import forge.item.PaperCard; import forge.localinstance.achievements.PlaneswalkerAchievements; @@ -19,8 +19,8 @@ import forge.screens.home.NewGameMenu; import forge.screens.planarconquest.ConquestMenu.LaunchReason; import forge.toolbox.FChoiceList; import forge.toolbox.FOptionPane; -import forge.util.ThreadUtil; import forge.util.Localizer; +import forge.util.ThreadUtil; public class NewConquestScreen extends MultiStepWizardScreen { private static final float PADDING = FOptionPane.PADDING; diff --git a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java index 5866c245b97..d7dcbcfed23 100644 --- a/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/LoadQuestScreen.java @@ -17,6 +17,8 @@ import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; +import forge.assets.FSkinImage; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.data.DeckConstructionRules; @@ -26,8 +28,6 @@ import forge.gamemodes.quest.io.QuestDataIO; import forge.gui.FThreads; import forge.gui.util.SOptionPane; import forge.localinstance.properties.ForgeConstants; -import forge.assets.FSkinFont; -import forge.assets.FSkinImage; import forge.model.FModel; import forge.screens.LaunchScreen; import forge.screens.home.LoadGameMenu; @@ -36,12 +36,12 @@ import forge.screens.quest.QuestMenu.LaunchReason; import forge.screens.settings.SettingsScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; +import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FList; import forge.toolbox.FTextArea; -import forge.toolbox.FEvent.FEventHandler; +import forge.util.Localizer; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.Localizer; public class LoadQuestScreen extends LaunchScreen { private static final float ITEM_HEIGHT = Utils.AVG_FINGER_HEIGHT; diff --git a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java index 6f5f4ee21db..d131d9e8f6d 100644 --- a/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/NewQuestScreen.java @@ -1,5 +1,11 @@ package forge.screens.quest; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; + import com.badlogic.gdx.utils.Align; import forge.Forge; @@ -15,8 +21,8 @@ import forge.gamemodes.quest.QuestMode; import forge.gamemodes.quest.QuestUtil; import forge.gamemodes.quest.QuestWorld; import forge.gamemodes.quest.StartingPoolPreferences; -import forge.gamemodes.quest.StartingPoolType; import forge.gamemodes.quest.StartingPoolPreferences.PoolType; +import forge.gamemodes.quest.StartingPoolType; import forge.gamemodes.quest.data.DeckConstructionRules; import forge.gamemodes.quest.data.GameFormatQuest; import forge.gamemodes.quest.data.QuestPreferences.QPref; @@ -45,15 +51,9 @@ import forge.toolbox.FRadioButton; import forge.toolbox.FRadioButton.RadioButtonGroup; import forge.toolbox.FScrollPane; import forge.util.FileUtil; +import forge.util.Localizer; import forge.util.ThreadUtil; import forge.util.Utils; -import forge.util.Localizer; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Map.Entry; -import java.util.Set; public class NewQuestScreen extends FScreen { diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java index 26de38bae66..5d639917bc7 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestBazaarScreen.java @@ -28,8 +28,8 @@ import forge.toolbox.FLabel; import forge.toolbox.FList; import forge.toolbox.FScrollPane; import forge.toolbox.FTextArea; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class QuestBazaarScreen extends TabPageScreen { private static final Localizer localizer = Localizer.getInstance(); diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java b/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java index e07dbd974ba..173c618ba3c 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDeckEditor.java @@ -2,6 +2,7 @@ package forge.screens.quest; import java.util.HashMap; import java.util.Map; + import forge.deck.DeckProxy; import forge.deck.FDeckEditor; import forge.gamemodes.quest.QuestSpellShop; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java index f2dc4f98457..5c991f986b4 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDecksScreen.java @@ -20,11 +20,11 @@ import forge.model.FModel; import forge.screens.FScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; -import forge.toolbox.FLabel; import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FLabel; import forge.toolbox.FTextField; -import forge.util.ThreadUtil; import forge.util.Localizer; +import forge.util.ThreadUtil; public class QuestDecksScreen extends FScreen { private static final float PADDING = FDeckChooser.PADDING; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java index 484ee29f8d3..df5ba2a6b6e 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestDuelsScreen.java @@ -1,5 +1,7 @@ package forge.screens.quest; +import java.util.List; + import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; @@ -15,8 +17,6 @@ import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.util.Localizer; -import java.util.List; - public class QuestDuelsScreen extends QuestLaunchScreen { private final FLabel lblInfo = add(new FLabel.Builder().text(Localizer.getInstance().getMessage("lblSelectNextDuel")) diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java b/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java index 835829c83da..956ca72a852 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestEventPanel.java @@ -2,14 +2,15 @@ package forge.screens.quest; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; -import forge.gamemodes.quest.IQuestEvent; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.ImageCache; +import forge.gamemodes.quest.IQuestEvent; import forge.screens.settings.SettingsScreen; import forge.toolbox.FDisplayObject; import forge.toolbox.FEvent; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java index 57e267296d8..49ac41ae20c 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestMenu.java @@ -28,8 +28,8 @@ import forge.screens.home.LoadGameMenu.LoadGameScreen; import forge.screens.home.NewGameMenu.NewGameScreen; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; -import forge.util.ThreadUtil; import forge.util.Localizer; +import forge.util.ThreadUtil; public class QuestMenu extends FPopupMenu implements IVQuestStats { diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java index a55e2df7957..6571ce9bfb5 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java @@ -16,8 +16,8 @@ import forge.toolbox.FNumericTextField; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; import forge.toolbox.FTextField; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class QuestPrefsScreen extends FScreen { private static final float PADDING = Utils.scale(5); diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java index 5cf3b8192a0..e2bcf2787db 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java @@ -1,5 +1,11 @@ package forge.screens.quest; +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + import com.badlogic.gdx.utils.Align; import forge.Forge; @@ -21,19 +27,17 @@ import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.model.FModel; import forge.screens.TabPageScreen; -import forge.toolbox.*; +import forge.toolbox.FDisplayObject; +import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FLabel; +import forge.toolbox.FTextArea; +import forge.toolbox.GuiChoose; import forge.util.Callback; import forge.util.ItemPool; import forge.util.Localizer; import forge.util.Utils; -import java.text.DecimalFormat; -import java.text.NumberFormat; -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; - public class QuestSpellShopScreen extends TabPageScreen { private final SpellShopPage spellShopPage; private final InventoryPage inventoryPage; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java index 503ae6e57ca..9f94b2d8210 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java @@ -21,8 +21,8 @@ import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; import forge.toolbox.FOptionPane; import forge.toolbox.FScrollPane; -import forge.util.Utils; import forge.util.Localizer; +import forge.util.Utils; public class QuestStatsScreen extends FScreen { private static final float PADDING = FOptionPane.PADDING; diff --git a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java index 24cf048357f..b16e024546a 100644 --- a/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java +++ b/forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java @@ -1,5 +1,7 @@ package forge.screens.quest; +import java.util.Arrays; + import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; @@ -17,9 +19,9 @@ import forge.deck.FDeckEditor.EditorType; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.quest.IQuestTournamentView; import forge.gamemodes.quest.QuestDraftUtils; +import forge.gamemodes.quest.QuestDraftUtils.Mode; import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestTournamentController; -import forge.gamemodes.quest.QuestDraftUtils.Mode; import forge.gamemodes.quest.data.QuestEventDraftContainer; import forge.gui.FThreads; import forge.gui.GuiBase; @@ -33,12 +35,11 @@ import forge.screens.limited.DraftingProcessScreen; import forge.toolbox.FButton; import forge.toolbox.FContainer; import forge.toolbox.FEvent; -import forge.toolbox.FTextField; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FLabel; -import forge.util.Utils; +import forge.toolbox.FTextField; import forge.util.Localizer; -import java.util.Arrays; +import forge.util.Utils; public class QuestTournamentsScreen extends QuestLaunchScreen implements IQuestTournamentView { //Select Tournament panel diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index fb6235bdd64..4a7d7633e76 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -1,6 +1,11 @@ package forge.screens.settings; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.MulliganDefs; @@ -31,10 +36,6 @@ import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - public class SettingsPage extends TabPage { private final FGroupList lstSettings = add(new FGroupList<>()); private final CustomSelectSetting settingSkins; diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java b/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java index 2b6d45306ad..6bfc3881d01 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java @@ -2,8 +2,8 @@ package forge.screens.settings; import forge.Forge; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.screens.FScreen; import forge.screens.TabPageScreen; import forge.screens.home.HomeScreen; diff --git a/forge-gui-mobile/src/forge/sound/AudioClip.java b/forge-gui-mobile/src/forge/sound/AudioClip.java index 17effa6048e..be27b4978e6 100644 --- a/forge-gui-mobile/src/forge/sound/AudioClip.java +++ b/forge-gui-mobile/src/forge/sound/AudioClip.java @@ -18,8 +18,8 @@ package forge.sound; -import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.files.FileHandle; public class AudioClip implements IAudioClip { diff --git a/forge-gui-mobile/src/forge/toolbox/DualListBox.java b/forge-gui-mobile/src/forge/toolbox/DualListBox.java index 3f1693f28f0..b4dcb783b3a 100644 --- a/forge-gui-mobile/src/forge/toolbox/DualListBox.java +++ b/forge-gui-mobile/src/forge/toolbox/DualListBox.java @@ -1,15 +1,15 @@ package forge.toolbox; -import forge.toolbox.FEvent.FEventHandler; -import forge.toolbox.FEvent.FEventType; -import forge.util.Callback; - import java.util.ArrayList; import java.util.Collection; import java.util.List; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; + +import forge.toolbox.FEvent.FEventHandler; +import forge.toolbox.FEvent.FEventType; +import forge.util.Callback; import forge.util.Localizer; // An input box for handling the order of choices. diff --git a/forge-gui-mobile/src/forge/toolbox/FButton.java b/forge-gui-mobile/src/forge/toolbox/FButton.java index dfe0fc0b11b..223cd816f7b 100644 --- a/forge-gui-mobile/src/forge/toolbox/FButton.java +++ b/forge-gui-mobile/src/forge/toolbox/FButton.java @@ -1,17 +1,18 @@ package forge.toolbox; -import forge.Forge; import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; + +import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; -import forge.gui.UiCommand; -import forge.gui.interfaces.IButton; import forge.assets.FSkinFont; import forge.assets.FSkinImage; +import forge.gui.UiCommand; +import forge.gui.interfaces.IButton; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; diff --git a/forge-gui-mobile/src/forge/toolbox/FChoiceList.java b/forge-gui-mobile/src/forge/toolbox/FChoiceList.java index debb33b79c0..ebba30f13af 100644 --- a/forge-gui-mobile/src/forge/toolbox/FChoiceList.java +++ b/forge-gui-mobile/src/forge/toolbox/FChoiceList.java @@ -1,20 +1,23 @@ package forge.toolbox; +import static forge.card.CardRenderer.MANA_SYMBOL_SIZE; + import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FSkin; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.TextRenderer; -import forge.assets.FSkinColor.Colors; import forge.card.CardFaceSymbols; import forge.card.CardRenderer; -import forge.card.CardZoom; import forge.card.CardRenderer.CardStackPosition; +import forge.card.CardZoom; import forge.card.CardZoom.ActivateHandler; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; @@ -35,8 +38,6 @@ import forge.screens.match.views.VStack; import forge.util.TextUtil; import forge.util.Utils; -import static forge.card.CardRenderer.MANA_SYMBOL_SIZE; - public class FChoiceList extends FList implements ActivateHandler { public static final FSkinColor ITEM_COLOR = FSkinColor.get(Colors.CLR_ZEBRA); public static final FSkinColor ALT_ITEM_COLOR = ITEM_COLOR.getContrastColor(-20); diff --git a/forge-gui-mobile/src/forge/toolbox/FDialog.java b/forge-gui-mobile/src/forge/toolbox/FDialog.java index 900d7b50c33..28f86cf4729 100644 --- a/forge-gui-mobile/src/forge/toolbox/FDialog.java +++ b/forge-gui-mobile/src/forge/toolbox/FDialog.java @@ -1,15 +1,15 @@ package forge.toolbox; -import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.math.Vector2; +import com.badlogic.gdx.utils.Align; import forge.Forge; import forge.Graphics; import forge.animation.ForgeAnimation; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.FSkinTexture; -import forge.assets.FSkinColor.Colors; import forge.screens.FScreen; import forge.screens.match.MatchController; import forge.screens.match.views.VPrompt; diff --git a/forge-gui-mobile/src/forge/toolbox/FFileChooser.java b/forge-gui-mobile/src/forge/toolbox/FFileChooser.java index adf4c570d00..32138d37a89 100644 --- a/forge-gui-mobile/src/forge/toolbox/FFileChooser.java +++ b/forge-gui-mobile/src/forge/toolbox/FFileChooser.java @@ -1,7 +1,13 @@ package forge.toolbox; +import java.io.File; +import java.io.FilenameFilter; + +import org.apache.commons.lang3.StringUtils; + import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Graphics; import forge.assets.FSkinColor; @@ -14,10 +20,6 @@ import forge.util.Callback; import forge.util.FileUtil; import forge.util.Localizer; import forge.util.Utils; -import org.apache.commons.lang3.StringUtils; - -import java.io.File; -import java.io.FilenameFilter; public class FFileChooser extends FDialog { private static final float BACK_ICON_THICKNESS = Utils.scale(2); diff --git a/forge-gui-mobile/src/forge/toolbox/FGroupBox.java b/forge-gui-mobile/src/forge/toolbox/FGroupBox.java index d0dd677d9c2..fbfd85e2ecf 100644 --- a/forge-gui-mobile/src/forge/toolbox/FGroupBox.java +++ b/forge-gui-mobile/src/forge/toolbox/FGroupBox.java @@ -1,10 +1,11 @@ package forge.toolbox; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.util.Utils; public abstract class FGroupBox extends FContainer { diff --git a/forge-gui-mobile/src/forge/toolbox/FGroupList.java b/forge-gui-mobile/src/forge/toolbox/FGroupList.java index 7646c858d38..0bf2b243018 100644 --- a/forge-gui-mobile/src/forge/toolbox/FGroupList.java +++ b/forge-gui-mobile/src/forge/toolbox/FGroupList.java @@ -9,8 +9,8 @@ import forge.assets.FSkinFont; import forge.assets.FSkinTexture; import forge.screens.FScreen; import forge.toolbox.FEvent.FEventHandler; -import forge.toolbox.FList.ListItemRenderer; import forge.toolbox.FList.DefaultListItemRenderer; +import forge.toolbox.FList.ListItemRenderer; import forge.util.Utils; public class FGroupList extends FScrollPane { diff --git a/forge-gui-mobile/src/forge/toolbox/FLabel.java b/forge-gui-mobile/src/forge/toolbox/FLabel.java index 1539f232d7e..467eb0240a9 100644 --- a/forge-gui-mobile/src/forge/toolbox/FLabel.java +++ b/forge-gui-mobile/src/forge/toolbox/FLabel.java @@ -6,11 +6,11 @@ import com.badlogic.gdx.utils.Align; import forge.Graphics; import forge.assets.FImage; import forge.assets.FSkinColor; -import forge.assets.TextRenderer; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; +import forge.assets.TextRenderer; import forge.gui.UiCommand; import forge.gui.interfaces.IButton; -import forge.assets.FSkinFont; import forge.localinstance.assets.FSkinProp; import forge.toolbox.FEvent.FEventHandler; import forge.toolbox.FEvent.FEventType; diff --git a/forge-gui-mobile/src/forge/toolbox/FList.java b/forge-gui-mobile/src/forge/toolbox/FList.java index 60508287064..e5282ad3b20 100644 --- a/forge-gui-mobile/src/forge/toolbox/FList.java +++ b/forge-gui-mobile/src/forge/toolbox/FList.java @@ -5,11 +5,12 @@ import java.util.Iterator; import java.util.List; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FSkinColor; +import forge.assets.FSkinColor.Colors; import forge.assets.FSkinFont; import forge.assets.FSkinTexture; -import forge.assets.FSkinColor.Colors; import forge.item.InventoryItem; import forge.itemmanager.filters.AdvancedSearchFilter; import forge.localinstance.properties.ForgePreferences.FPref; diff --git a/forge-gui-mobile/src/forge/toolbox/FOptionPane.java b/forge-gui-mobile/src/forge/toolbox/FOptionPane.java index 778387b4a8d..cdedfc0a7a5 100644 --- a/forge-gui-mobile/src/forge/toolbox/FOptionPane.java +++ b/forge-gui-mobile/src/forge/toolbox/FOptionPane.java @@ -2,13 +2,11 @@ package forge.toolbox; import java.util.List; -import forge.util.Localizer; import org.apache.commons.lang3.StringUtils; import com.badlogic.gdx.Input.Keys; - -import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.math.Vector2; +import com.badlogic.gdx.utils.Align; import com.google.common.collect.ImmutableList; import forge.Forge; @@ -25,6 +23,7 @@ import forge.localinstance.assets.FSkinProp; import forge.screens.match.views.VPrompt; import forge.toolbox.FEvent.FEventHandler; import forge.util.Callback; +import forge.util.Localizer; import forge.util.Utils; import forge.util.WaitCallback; diff --git a/forge-gui-mobile/src/forge/toolbox/FProgressBar.java b/forge-gui-mobile/src/forge/toolbox/FProgressBar.java index 862a3eabfa6..c4ba558b089 100644 --- a/forge-gui-mobile/src/forge/toolbox/FProgressBar.java +++ b/forge-gui-mobile/src/forge/toolbox/FProgressBar.java @@ -1,18 +1,19 @@ package forge.toolbox; -import com.badlogic.gdx.graphics.Color; - -import com.badlogic.gdx.utils.Align; -import forge.Graphics; -import forge.assets.FSkinFont; -import forge.gui.interfaces.IProgressBar; -import forge.util.Utils; -import org.apache.commons.lang3.tuple.Pair; - import java.util.ArrayList; import java.util.Date; import java.util.List; +import org.apache.commons.lang3.tuple.Pair; + +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.utils.Align; + +import forge.Graphics; +import forge.assets.FSkinFont; +import forge.gui.interfaces.IProgressBar; +import forge.util.Utils; + public class FProgressBar extends FDisplayObject implements IProgressBar { public static Color BACK_COLOR, FORE_COLOR, SEL_BACK_COLOR, SEL_FORE_COLOR; private static FSkinFont MSG_FONT; diff --git a/forge-gui-mobile/src/forge/toolbox/FTextField.java b/forge-gui-mobile/src/forge/toolbox/FTextField.java index 3b79c643626..2d5e9e07bf0 100644 --- a/forge-gui-mobile/src/forge/toolbox/FTextField.java +++ b/forge-gui-mobile/src/forge/toolbox/FTextField.java @@ -2,12 +2,13 @@ package forge.toolbox; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.utils.Align; + import forge.Forge; import forge.Forge.KeyInputAdapter; import forge.Graphics; import forge.assets.FSkinColor; -import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; +import forge.assets.FSkinFont; import forge.gui.interfaces.ITextField; import forge.menu.FMenuItem; import forge.menu.FPopupMenu; diff --git a/forge-gui-mobile/src/forge/toolbox/FToggleSwitch.java b/forge-gui-mobile/src/forge/toolbox/FToggleSwitch.java index fabff813983..e65c4697b39 100644 --- a/forge-gui-mobile/src/forge/toolbox/FToggleSwitch.java +++ b/forge-gui-mobile/src/forge/toolbox/FToggleSwitch.java @@ -1,6 +1,7 @@ package forge.toolbox; import com.badlogic.gdx.utils.Align; + import forge.Graphics; import forge.assets.FSkinColor; import forge.assets.FSkinColor.Colors; diff --git a/forge-gui-mobile/src/forge/toolbox/GuiChoose.java b/forge-gui-mobile/src/forge/toolbox/GuiChoose.java index c826ff0b2c7..ca2c51410a9 100644 --- a/forge-gui-mobile/src/forge/toolbox/GuiChoose.java +++ b/forge-gui-mobile/src/forge/toolbox/GuiChoose.java @@ -1,20 +1,20 @@ package forge.toolbox; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Function; import com.google.common.collect.Iterables; import forge.game.card.CardView; import forge.util.Callback; - import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.Arrays; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; public class GuiChoose { diff --git a/forge-gui-mobile/src/forge/toolbox/GuiDialog.java b/forge-gui-mobile/src/forge/toolbox/GuiDialog.java index 104b6a29c43..dbc1605c654 100644 --- a/forge-gui-mobile/src/forge/toolbox/GuiDialog.java +++ b/forge-gui-mobile/src/forge/toolbox/GuiDialog.java @@ -2,13 +2,13 @@ package forge.toolbox; import java.util.List; -import forge.game.card.CardView; -import forge.util.Callback; - import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableList; +import forge.game.card.CardView; +import forge.util.Callback; + /** * Holds player interactions using standard windows */ diff --git a/forge-gui-mobile/src/forge/toolbox/ListChooser.java b/forge-gui-mobile/src/forge/toolbox/ListChooser.java index 718ec5d1c7f..bce4ff4cd85 100644 --- a/forge-gui-mobile/src/forge/toolbox/ListChooser.java +++ b/forge-gui-mobile/src/forge/toolbox/ListChooser.java @@ -18,6 +18,10 @@ package forge.toolbox; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -40,10 +44,6 @@ import forge.util.Callback; import forge.util.Localizer; import forge.util.Utils; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - /** * A simple class that shows a list of choices in a dialog. Two properties * influence the behavior of a list chooser: minSelection and maxSelection. diff --git a/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java b/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java index 56348532c25..7ed53b0ce69 100644 --- a/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java +++ b/forge-gui-mobile/src/forge/util/LibGDXImageFetcher.java @@ -1,15 +1,16 @@ package forge.util; -import com.badlogic.gdx.files.FileHandle; -import forge.Forge; -import forge.gui.GuiBase; - import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; +import com.badlogic.gdx.files.FileHandle; + +import forge.Forge; +import forge.gui.GuiBase; + public class LibGDXImageFetcher extends ImageFetcher { @Override protected Runnable getDownloadTask(String[] downloadUrls, String destPath, Runnable notifyObservers) { diff --git a/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java b/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java index bc2d523de60..37f69fa44e8 100644 --- a/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java +++ b/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java @@ -1,14 +1,15 @@ package forge.deck; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.tuple.Pair; + import forge.card.CardEdition; import forge.deck.io.Archetype; import forge.game.GameFormat; import forge.item.PaperCard; import forge.model.FModel; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.List; /** * Created by maustin on 09/05/2017. diff --git a/forge-gui/src/main/java/forge/deck/CardArchetypeLDAGenerator.java b/forge-gui/src/main/java/forge/deck/CardArchetypeLDAGenerator.java index 53c942a2adf..a536ef9a416 100644 --- a/forge-gui/src/main/java/forge/deck/CardArchetypeLDAGenerator.java +++ b/forge-gui/src/main/java/forge/deck/CardArchetypeLDAGenerator.java @@ -1,12 +1,18 @@ package forge.deck; +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 org.apache.commons.lang3.tuple.Pair; + import forge.StaticData; import forge.deck.io.Archetype; import forge.deck.io.CardThemedLDAIO; import forge.model.FModel; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; /** * Created by maustin on 09/05/2017. diff --git a/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java b/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java index ce57898b58f..c019486221f 100644 --- a/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java +++ b/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java @@ -1,9 +1,22 @@ package forge.deck; +import java.io.File; +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.ArrayUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.deck.io.CardThemedMatrixIO; @@ -14,10 +27,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.storage.IStorage; import forge.util.storage.StorageImmediatelySerialized; -import org.apache.commons.lang3.ArrayUtils; - -import java.io.File; -import java.util.*; /** * Created by maustin on 09/05/2017. diff --git a/forge-gui/src/main/java/forge/deck/CardThemedDeckGenerator.java b/forge-gui/src/main/java/forge/deck/CardThemedDeckGenerator.java index dad5e42face..dfd5686b69a 100644 --- a/forge-gui/src/main/java/forge/deck/CardThemedDeckGenerator.java +++ b/forge-gui/src/main/java/forge/deck/CardThemedDeckGenerator.java @@ -1,13 +1,13 @@ package forge.deck; +import java.util.ArrayList; +import java.util.List; + import forge.card.CardEdition; import forge.game.GameFormat; import forge.item.PaperCard; import forge.model.FModel; -import java.util.ArrayList; -import java.util.List; - /** * Created by maustin on 09/05/2017. */ diff --git a/forge-gui/src/main/java/forge/deck/CommanderDeckGenerator.java b/forge-gui/src/main/java/forge/deck/CommanderDeckGenerator.java index 12c7b84d0ff..42db5154f92 100644 --- a/forge-gui/src/main/java/forge/deck/CommanderDeckGenerator.java +++ b/forge-gui/src/main/java/forge/deck/CommanderDeckGenerator.java @@ -1,8 +1,12 @@ package forge.deck; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; + import forge.card.CardEdition; import forge.card.CardRules; import forge.card.CardRulesPredicates; @@ -11,9 +15,6 @@ import forge.item.PaperCard; import forge.model.FModel; import forge.util.ItemPool; -import java.util.ArrayList; -import java.util.List; - /** * Created by maustin on 09/05/2017. */ diff --git a/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java b/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java index a9ce3e2bc4d..8ae9629b6ed 100644 --- a/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java +++ b/forge-gui/src/main/java/forge/deck/DeckGeneratorTheme.java @@ -17,16 +17,16 @@ */ package forge.deck; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + import forge.deck.generation.DeckGeneratorBase; import forge.deck.generation.IDeckGenPool; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.MyRandom; -import java.io.File; -import java.util.ArrayList; -import java.util.List; - /** *

* ThemeDeckGenerator class. diff --git a/forge-gui/src/main/java/forge/deck/DeckProxy.java b/forge-gui/src/main/java/forge/deck/DeckProxy.java index ef649b80f3f..bb57db06b6f 100644 --- a/forge-gui/src/main/java/forge/deck/DeckProxy.java +++ b/forge-gui/src/main/java/forge/deck/DeckProxy.java @@ -6,10 +6,9 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.Map.Entry; +import java.util.Set; -import forge.card.CardSplitType; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Function; @@ -21,6 +20,7 @@ import forge.StaticData; import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.CardRules; +import forge.card.CardSplitType; import forge.card.CardType; import forge.card.ColorSet; import forge.card.MagicColor; diff --git a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java index b1e5e0febdf..6de099da5ae 100644 --- a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java +++ b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java @@ -1,10 +1,21 @@ package forge.deck; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; - import com.google.common.collect.Lists; + import forge.StaticData; import forge.card.CardDb; import forge.card.CardRules; @@ -12,7 +23,12 @@ import forge.card.CardRulesPredicates; import forge.card.ColorSet; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; -import forge.deck.generation.*; +import forge.deck.generation.DeckGenerator2Color; +import forge.deck.generation.DeckGenerator3Color; +import forge.deck.generation.DeckGenerator5Color; +import forge.deck.generation.DeckGeneratorBase; +import forge.deck.generation.DeckGeneratorMonoColor; +import forge.deck.generation.IDeckGenPool; import forge.deck.io.Archetype; import forge.game.GameFormat; import forge.game.GameType; @@ -33,9 +49,6 @@ import forge.util.Aggregates; import forge.util.Lang; import forge.util.MyRandom; import forge.util.storage.IStorage; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.*; /** * Utility collection for various types of decks. diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java index 18660c39d82..3512655dd94 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveLegacy.java @@ -3,7 +3,12 @@ package forge.deck; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java index 3d921451d19..aa365a8ef27 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveModern.java @@ -3,7 +3,12 @@ package forge.deck; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java b/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java index 66264c7f499..9d5c2942c3a 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchivePioneer.java @@ -3,7 +3,12 @@ package forge.deck; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java index 484a9a317ef..050a78cb77a 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveStandard.java @@ -3,7 +3,12 @@ package forge.deck; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; diff --git a/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java b/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java index bc0a34c9c0e..b0af91f5ce9 100644 --- a/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java +++ b/forge-gui/src/main/java/forge/deck/NetDeckArchiveVintage.java @@ -3,7 +3,12 @@ package forge.deck; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; diff --git a/forge-gui/src/main/java/forge/deck/io/Archetype.java b/forge-gui/src/main/java/forge/deck/io/Archetype.java index 5dc74575ee7..8bade9a7faa 100644 --- a/forge-gui/src/main/java/forge/deck/io/Archetype.java +++ b/forge-gui/src/main/java/forge/deck/io/Archetype.java @@ -1,10 +1,10 @@ package forge.deck.io; -import org.apache.commons.lang3.tuple.Pair; - import java.io.Serializable; import java.util.List; +import org.apache.commons.lang3.tuple.Pair; + public class Archetype implements Serializable { static final long serialVersionUID = 1733769383530140352L; diff --git a/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java b/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java index 24c719efd28..2de669218d3 100644 --- a/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java +++ b/forge-gui/src/main/java/forge/deck/io/CardThemedLDAIO.java @@ -1,13 +1,18 @@ package forge.deck.io; -import forge.game.GameFormat; -import forge.localinstance.properties.ForgeConstants; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.List; +import java.util.Map; import org.apache.commons.lang3.tuple.Pair; -import java.io.*; -import java.util.List; -import java.util.Map; +import forge.game.GameFormat; +import forge.localinstance.properties.ForgeConstants; /** * Created by maustin on 11/05/2017. diff --git a/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java b/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java index d1354acb247..abbabdc0410 100644 --- a/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java +++ b/forge-gui/src/main/java/forge/deck/io/DeckPreferences.java @@ -1,10 +1,5 @@ package forge.deck.io; -import forge.deck.DeckProxy; -import forge.deck.DeckType; -import forge.localinstance.properties.ForgeConstants; -import forge.util.XmlUtil; - import java.io.File; import java.io.FileNotFoundException; import java.util.HashMap; @@ -17,6 +12,11 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import forge.deck.DeckProxy; +import forge.deck.DeckType; +import forge.localinstance.properties.ForgeConstants; +import forge.util.XmlUtil; + /** * Preferences associated with individual decks * diff --git a/forge-gui/src/main/java/forge/download/AutoUpdater.java b/forge-gui/src/main/java/forge/download/AutoUpdater.java index cc6cca4ad7a..82428ce1eeb 100644 --- a/forge-gui/src/main/java/forge/download/AutoUpdater.java +++ b/forge-gui/src/main/java/forge/download/AutoUpdater.java @@ -1,5 +1,22 @@ package forge.download; +import java.awt.Desktop; +import java.io.File; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.MalformedURLException; +import java.net.Socket; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.swing.SwingUtilities; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.ImmutableList; import forge.gui.GuiBase; @@ -12,17 +29,6 @@ import forge.util.FileUtil; import forge.util.Localizer; import forge.util.WaitCallback; -import org.apache.commons.lang3.StringUtils; - -import javax.swing.*; -import java.awt.*; -import java.io.File; -import java.io.IOException; -import java.net.*; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - public class AutoUpdater { private final String SNAPSHOT_VERSION_INDEX = "https://snapshots.cardforge.org/"; private final String SNAPSHOT_VERSION_URL = "https://snapshots.cardforge.org/version.txt"; diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java index 097fdff80e6..ef81dba50f9 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletData.java @@ -1,5 +1,12 @@ package forge.gamemodes.gauntlet; +import java.io.File; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + import com.thoughtworks.xstream.annotations.XStreamOmitField; import forge.deck.Deck; @@ -9,13 +16,6 @@ import forge.gamemodes.match.HostedMatch; import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; -import java.io.File; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - /** * Handles layout saving and loading. diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java index cba8b733b6d..cb34ce88d00 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java @@ -16,24 +16,23 @@ import java.util.TreeMap; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; -import com.thoughtworks.xstream.converters.ConversionException; -import com.thoughtworks.xstream.security.NoTypePermission; -import com.thoughtworks.xstream.security.NullPermission; -import com.thoughtworks.xstream.security.PrimitiveTypePermission; -import forge.deck.Deck; -import forge.deck.DeckSection; -import forge.gui.error.BugReporter; - import org.apache.commons.lang3.StringUtils; import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.converters.ConversionException; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; +import com.thoughtworks.xstream.security.NoTypePermission; +import com.thoughtworks.xstream.security.NullPermission; +import com.thoughtworks.xstream.security.PrimitiveTypePermission; import forge.deck.CardPool; +import forge.deck.Deck; +import forge.deck.DeckSection; +import forge.gui.error.BugReporter; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java index 9b6be34e309..27d120ca12d 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletUtil.java @@ -1,7 +1,10 @@ package forge.gamemodes.gauntlet; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import forge.deck.Deck; import forge.deck.DeckType; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java index be376c3f169..4d4823009bb 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/ArchetypeDeckBuilder.java @@ -1,12 +1,12 @@ package forge.gamemodes.limited; +import java.util.List; + import forge.deck.DeckFormat; import forge.deck.io.Archetype; import forge.game.GameFormat; import forge.item.PaperCard; -import java.util.List; - public class ArchetypeDeckBuilder extends CardThemedDeckBuilder{ private Archetype archetype; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java index 4115b6fc8b2..daa54d750eb 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDeckBuilder.java @@ -1,10 +1,10 @@ package forge.gamemodes.limited; -import forge.item.PaperCard; - import java.util.List; +import forge.item.PaperCard; + /** * Deck built from a Booster Draft. diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java index 852d9924c45..394e880f3dc 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/BoosterDraft.java @@ -17,9 +17,22 @@ */ package forge.gamemodes.limited; +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Stack; +import java.util.TreeMap; + +import org.apache.commons.lang3.ArrayUtils; + import com.google.common.base.Predicate; import com.google.common.base.Supplier; import com.google.common.collect.Iterables; + import forge.StaticData; import forge.card.CardEdition; import forge.deck.CardPool; @@ -37,13 +50,9 @@ import forge.model.CardBlock; import forge.model.FModel; import forge.util.FileUtil; import forge.util.ItemPool; +import forge.util.Localizer; import forge.util.TextUtil; import forge.util.storage.IStorage; -import forge.util.Localizer; -import org.apache.commons.lang3.ArrayUtils; - -import java.io.File; -import java.util.*; /** * Booster Draft Format. diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java index 56b8fcda000..8388c312b74 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardRanker.java @@ -1,19 +1,19 @@ package forge.gamemodes.limited; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import forge.card.ColorSet; import forge.card.DeckHints; import forge.card.MagicColor; -import forge.gui.card.*; import forge.item.PaperCard; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; public class CardRanker { diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java index 10cb20cd1e0..6f30d97d348 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardRankingComparator.java @@ -1,9 +1,10 @@ package forge.gamemodes.limited; -import forge.item.PaperCard; +import java.util.Comparator; + import org.apache.commons.lang3.tuple.Pair; -import java.util.Comparator; +import forge.item.PaperCard; /** * Sorts cards by rank. diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java index 059661bdf34..e684733e1e9 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedCommanderDeckBuilder.java @@ -1,8 +1,11 @@ package forge.gamemodes.limited; +import java.util.List; + import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.card.CardRulesPredicates; import forge.card.ColorSet; import forge.deck.DeckFormat; @@ -10,8 +13,6 @@ import forge.deck.generation.DeckGenPool; import forge.item.PaperCard; import forge.model.FModel; -import java.util.List; - /** * Created by maustin on 28/02/2018. */ diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java index 1e37cdabdd4..ebf4c550aae 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedConquestDeckBuilder.java @@ -1,8 +1,11 @@ package forge.gamemodes.limited; +import java.util.List; + import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.card.CardRulesPredicates; import forge.card.ColorSet; import forge.deck.DeckFormat; @@ -11,8 +14,6 @@ import forge.game.GameFormat; import forge.item.PaperCard; import forge.model.FModel; -import java.util.List; - /** * Created by maustin on 28/02/2018. */ diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java index 9d3e68ad844..eeb3f194b94 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java @@ -1,9 +1,19 @@ package forge.gamemodes.limited; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import forge.StaticData; import forge.card.CardEdition; import forge.card.CardRules; @@ -20,15 +30,12 @@ import forge.deck.generation.DeckGenPool; import forge.deck.generation.DeckGeneratorBase; import forge.deck.generation.IDeckGenPool; import forge.game.GameFormat; -import forge.gui.card.*; import forge.item.IPaperCard; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.util.MyRandom; -import java.util.*; - /** * Limited format deck. */ diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java b/forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java index 7adadc0a114..5e38821fd23 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CustomLimited.java @@ -17,6 +17,13 @@ */ package forge.gamemodes.limited; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; + import forge.card.CardEdition; import forge.deck.Deck; import forge.deck.DeckBase; @@ -28,13 +35,6 @@ import forge.util.ItemPool; import forge.util.TextUtil; import forge.util.storage.IStorage; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.List; - /** *

* CustomDraft class. diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java index 48e8e3577e3..a2feb2dad8c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedDeckEvaluator.java @@ -17,11 +17,11 @@ */ package forge.gamemodes.limited; +import java.util.Map.Entry; + import forge.deck.Deck; import forge.item.PaperCard; -import java.util.Map.Entry; - /** *

* LimitedDeckEvaluator class. diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java index f1b81871518..e41acf06ab8 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayer.java @@ -1,5 +1,9 @@ package forge.gamemodes.limited; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + //import com.google.common.collect.Lists; import forge.deck.CardPool; import forge.deck.Deck; @@ -7,8 +11,6 @@ import forge.deck.DeckSection; import forge.item.PaperCard; //import forge.gamemodes.limited.powers.DraftPower; -import java.util.*; - public class LimitedPlayer { // A Player class for inside some type of limited environment, like Draft. final protected int order; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java index 6e04d7e8ab3..02fd2775812 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/LimitedPlayerAI.java @@ -1,5 +1,7 @@ package forge.gamemodes.limited; +import java.util.List; + import forge.card.ColorSet; import forge.deck.CardPool; import forge.deck.Deck; @@ -7,8 +9,6 @@ import forge.deck.DeckSection; import forge.item.PaperCard; import forge.localinstance.properties.ForgePreferences; -import java.util.List; - public class LimitedPlayerAI extends LimitedPlayer { protected DeckColors deckCols; diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java b/forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java index 5b1cb5a748c..656036c856f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/ReadDraftRankings.java @@ -1,12 +1,12 @@ package forge.gamemodes.limited; -import forge.localinstance.properties.ForgeConstants; -import forge.util.FileUtil; - import java.util.HashMap; import java.util.List; import java.util.Map; +import forge.localinstance.properties.ForgeConstants; +import forge.util.FileUtil; + /** * ReadDraftRankings class. * diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java b/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java index 359b5e44d20..4bf233f0cb3 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/SealedCardPoolGenerator.java @@ -17,7 +17,18 @@ */ package forge.gamemodes.limited; +import java.io.File; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Stack; + +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.collect.Lists; + import forge.StaticData; import forge.card.CardEdition; import forge.card.MagicColor; @@ -38,19 +49,10 @@ import forge.model.CardBlock; import forge.model.FModel; import forge.model.UnOpenedMeta; import forge.util.FileUtil; +import forge.util.Localizer; import forge.util.MyRandom; import forge.util.TextUtil; import forge.util.storage.IStorage; -import forge.util.Localizer; -import org.apache.commons.lang3.ArrayUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Stack; /** *

diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java index a62e94588e9..f33d2ae4ded 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/SealedDeckBuilder.java @@ -1,6 +1,11 @@ package forge.gamemodes.limited; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import com.google.common.collect.Iterables; + import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.card.ColorSet; @@ -8,10 +13,6 @@ import forge.card.MagicColor; import forge.item.PaperCard; import forge.util.MyRandom; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - /** * Deck builder for Sealed Deck Format. * diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java b/forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java index 1b51163ee40..14ecdb02579 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/ThemedChaosDraft.java @@ -1,5 +1,9 @@ package forge.gamemodes.limited; +import java.util.List; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicate; @@ -8,9 +12,6 @@ import forge.game.GameFormat; import forge.model.FModel; import forge.util.TextUtil; import forge.util.storage.StorageReaderFile; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.List; /** * Themed chaos draft allows limiting the pool of available random boosters for a draft to a certain theme. diff --git a/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java b/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java index b7f1a6350bb..793791308a0 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/GameLobby.java @@ -9,7 +9,6 @@ import java.util.List; import java.util.Map; import java.util.Set; - import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Lists; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java index 9418a87e396..412cfaae826 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java @@ -9,9 +9,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import forge.LobbyPlayer; -import forge.interfaces.IGameController; -import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import com.google.common.collect.ImmutableMap; @@ -19,12 +16,16 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.eventbus.Subscribe; +import forge.LobbyPlayer; import forge.game.Game; import forge.game.GameRules; import forge.game.GameType; import forge.game.GameView; import forge.game.Match; -import forge.game.event.*; +import forge.game.event.GameEvent; +import forge.game.event.GameEventSubgameEnd; +import forge.game.event.GameEventSubgameStart; +import forge.game.event.IGameEventVisitor; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.player.RegisteredPlayer; @@ -40,6 +41,7 @@ import forge.gui.events.UiEventAttackerDeclared; import forge.gui.events.UiEventBlockerAssigned; import forge.gui.events.UiEventNextGameDecision; import forge.gui.interfaces.IGuiGame; +import forge.interfaces.IGameController; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; @@ -51,6 +53,7 @@ import forge.sound.MusicPlaylist; import forge.sound.SoundSystem; import forge.trackable.TrackableCollection; import forge.util.CollectionSuppliers; +import forge.util.TextUtil; import forge.util.collect.FCollectionView; import forge.util.maps.HashMapOfLists; import forge.util.maps.MapOfLists; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java index aa5ece42e65..36e2ced0e6d 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java @@ -17,12 +17,19 @@ */ package forge.gamemodes.match.input; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + import com.google.common.collect.Sets; import forge.game.GameEntity; import forge.game.GameEntityView; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; +import forge.game.card.CardView; import forge.game.combat.AttackingBand; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; @@ -34,12 +41,8 @@ import forge.game.zone.ZoneType; import forge.gui.events.UiEventAttackerDeclared; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; -import forge.util.collect.FCollectionView; import forge.util.Localizer; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; +import forge.util.collect.FCollectionView; /** *

diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java index 8e99b9c2abc..b44e6ff3d23 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java @@ -17,6 +17,8 @@ */ package forge.gamemodes.match.input; +import java.util.List; + import forge.game.card.Card; import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; @@ -31,10 +33,8 @@ import forge.gui.FThreads; import forge.gui.events.UiEventBlockerAssigned; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; -import forge.util.ThreadUtil; import forge.util.Localizer; - -import java.util.List; +import forge.util.ThreadUtil; /** *

diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java index d64ced39605..449114d7762 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirmMulligan.java @@ -18,6 +18,7 @@ package forge.gamemodes.match.input; import java.util.List; + import forge.game.Game; import forge.game.card.Card; import forge.game.card.CardCollection; @@ -28,8 +29,8 @@ import forge.game.zone.ZoneType; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; import forge.util.Lang; -import forge.util.ThreadUtil; import forge.util.Localizer; +import forge.util.ThreadUtil; /** *

diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java index e00c3ac4f7f..4db7c815cdd 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLondonMulligan.java @@ -18,6 +18,7 @@ package forge.gamemodes.match.input; import java.util.List; + import forge.game.Game; import forge.game.card.Card; import forge.game.card.CardCollection; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java index c0f2003da76..360882c4952 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayMana.java @@ -1,11 +1,12 @@ package forge.gamemodes.match.input; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; -import forge.game.spellability.SpellAbilityView; -import forge.gui.FThreads; -import forge.gui.GuiBase; -import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Lists; @@ -23,11 +24,15 @@ import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.spellability.AbilityManaPart; import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityView; +import forge.gui.FThreads; +import forge.gui.GuiBase; import forge.player.HumanPlay; import forge.player.PlayerControllerHuman; import forge.util.Evaluator; import forge.util.ITriggerEvent; import forge.util.Localizer; +import forge.util.TextUtil; public abstract class InputPayMana extends InputSyncronizedBase { private static final long serialVersionUID = 718128600948280315L; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java index 97e81872107..248f9d393e0 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java @@ -6,10 +6,8 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import forge.util.TextUtil; import org.apache.commons.lang3.tuple.ImmutablePair; -import forge.model.FModel; import forge.card.ColorSet; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostShard; @@ -20,8 +18,10 @@ import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.localinstance.properties.ForgePreferences; +import forge.model.FModel; import forge.player.PlayerControllerHuman; import forge.util.ITriggerEvent; +import forge.util.TextUtil; public final class InputSelectCardsForConvokeOrImprovise extends InputSelectManyBase { diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java index f3c7a05b06e..ddd8606d01f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectEntitiesFromList.java @@ -1,5 +1,9 @@ package forge.gamemodes.match.input; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + import forge.game.GameEntity; import forge.game.card.Card; import forge.game.card.CardView; @@ -14,10 +18,6 @@ import forge.util.ITriggerEvent; import forge.util.collect.FCollection; import forge.util.collect.FCollectionView; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - public class InputSelectEntitiesFromList extends InputSelectManyBase { private static final long serialVersionUID = -6609493252672573139L; diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java index 1bf5054e97b..56a00da02b7 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectTargets.java @@ -1,5 +1,12 @@ package forge.gamemodes.match.input; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; @@ -24,13 +31,6 @@ import forge.util.Aggregates; import forge.util.ITriggerEvent; import forge.util.TextUtil; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - public final class InputSelectTargets extends InputSyncronizedBase { private final List choices; // some cards can be targeted several times (eg: distribute damage as you choose) diff --git a/forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java b/forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java index ac3a68ad5c4..9a7303230df 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CObjectInputStream.java @@ -1,7 +1,5 @@ package forge.gamemodes.net; -import io.netty.handler.codec.serialization.ClassResolver; - import java.io.EOFException; import java.io.IOException; import java.io.InputStream; @@ -9,6 +7,8 @@ import java.io.ObjectInputStream; import java.io.ObjectStreamClass; import java.io.StreamCorruptedException; +import io.netty.handler.codec.serialization.ClassResolver; + public class CObjectInputStream extends ObjectInputStream { private final ClassResolver classResolver; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java index cfd004eb8c0..355ca85d951 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectDecoder.java @@ -1,5 +1,9 @@ package forge.gamemodes.net; +import java.io.ObjectInputStream; +import java.io.StreamCorruptedException; + +import forge.gui.GuiBase; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufInputStream; import io.netty.channel.ChannelHandlerContext; @@ -7,11 +11,6 @@ import io.netty.handler.codec.LengthFieldBasedFrameDecoder; import io.netty.handler.codec.serialization.ClassResolver; import net.jpountz.lz4.LZ4BlockInputStream; -import java.io.ObjectInputStream; -import java.io.StreamCorruptedException; - -import forge.gui.GuiBase; - public class CompatibleObjectDecoder extends LengthFieldBasedFrameDecoder { private final ClassResolver classResolver; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java index 945b0732fce..573154536be 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/CompatibleObjectEncoder.java @@ -1,15 +1,14 @@ package forge.gamemodes.net; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufOutputStream; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.MessageToByteEncoder; -import net.jpountz.lz4.LZ4BlockOutputStream; - import java.io.ObjectOutputStream; import java.io.Serializable; import forge.gui.GuiBase; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufOutputStream; +import io.netty.channel.ChannelHandlerContext; +import io.netty.handler.codec.MessageToByteEncoder; +import net.jpountz.lz4.LZ4BlockOutputStream; public class CompatibleObjectEncoder extends MessageToByteEncoder { private static final byte[] LENGTH_PLACEHOLDER = new byte[4]; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java index 8dcbb0f39d7..4948a1a7e2f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/GameProtocolHandler.java @@ -1,5 +1,9 @@ package forge.gamemodes.net; +import java.io.Serializable; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + import forge.gamemodes.net.event.GuiGameEvent; import forge.gamemodes.net.event.ReplyEvent; import forge.gui.FThreads; @@ -8,10 +12,6 @@ import forge.localinstance.assets.FSkinProp; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; -import java.io.Serializable; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - public abstract class GameProtocolHandler extends ChannelInboundHandlerAdapter { private final boolean runInEdt; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java b/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java index 30294e9a3f2..54cefd0f17c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/NetConnectUtil.java @@ -2,8 +2,8 @@ package forge.gamemodes.net; import org.apache.commons.lang3.StringUtils; -import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.match.GameLobby.GameLobbyData; +import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.net.client.ClientGameLobby; import forge.gamemodes.net.client.FGameClient; import forge.gamemodes.net.event.IdentifiableNetEvent; @@ -20,8 +20,8 @@ import forge.interfaces.ILobbyListener; import forge.interfaces.IPlayerChangeListener; import forge.interfaces.IUpdateable; import forge.localinstance.properties.ForgeConstants; -import forge.localinstance.properties.ForgeProfileProperties; import forge.localinstance.properties.ForgePreferences.FPref; +import forge.localinstance.properties.ForgeProfileProperties; import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java b/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java index a7494f1d8a7..f9da05be6ea 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/ProtocolMethod.java @@ -1,5 +1,10 @@ package forge.gamemodes.net; +import java.lang.reflect.Method; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import com.google.common.base.Function; import forge.deck.CardPool; @@ -20,11 +25,6 @@ import forge.trackable.TrackableCollection; import forge.util.ITriggerEvent; import forge.util.ReflectionUtil; -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.List; -import java.util.Map; - /** * The methods that can be sent through this protocol. */ diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java b/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java index a39cd3504f0..30841870555 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/FGameClient.java @@ -1,18 +1,5 @@ package forge.gamemodes.net.client; -import io.netty.bootstrap.Bootstrap; -import io.netty.channel.Channel; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.ChannelInboundHandlerAdapter; -import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelPipeline; -import io.netty.channel.EventLoopGroup; -import io.netty.channel.nio.NioEventLoopGroup; -import io.netty.channel.socket.SocketChannel; -import io.netty.channel.socket.nio.NioSocketChannel; -import io.netty.handler.codec.serialization.ClassResolvers; - import java.util.List; import java.util.concurrent.TimeoutException; @@ -28,6 +15,18 @@ import forge.gamemodes.net.event.MessageEvent; import forge.gamemodes.net.event.NetEvent; import forge.gui.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; +import io.netty.bootstrap.Bootstrap; +import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import io.netty.channel.ChannelInitializer; +import io.netty.channel.ChannelPipeline; +import io.netty.channel.EventLoopGroup; +import io.netty.channel.nio.NioEventLoopGroup; +import io.netty.channel.socket.SocketChannel; +import io.netty.channel.socket.nio.NioSocketChannel; +import io.netty.handler.codec.serialization.ClassResolvers; public class FGameClient implements IToServer { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java index 8097999a053..5dab5c3a4b7 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/client/GameClientHandler.java @@ -1,8 +1,20 @@ package forge.gamemodes.net.client; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumMap; +import java.util.Iterator; +import java.util.List; + import com.google.common.collect.Lists; + import forge.LobbyPlayer; -import forge.game.*; +import forge.game.Game; +import forge.game.GameRules; +import forge.game.GameType; +import forge.game.GameView; +import forge.game.Match; +import forge.game.player.PlayerView; import forge.game.player.RegisteredPlayer; import forge.gamemodes.match.LobbySlot; import forge.gamemodes.net.GameProtocolHandler; @@ -13,18 +25,15 @@ import forge.gamemodes.net.event.LoginEvent; import forge.gui.interfaces.IGuiGame; import forge.interfaces.ILobbyListener; import forge.localinstance.properties.ForgePreferences.FPref; +import forge.model.FModel; import forge.player.LobbyPlayerHuman; import forge.player.PlayerZoneUpdate; import forge.player.PlayerZoneUpdates; +import forge.trackable.TrackableCollection; import forge.trackable.TrackableObject; import forge.trackable.TrackableTypes; import forge.trackable.Tracker; import io.netty.channel.ChannelHandlerContext; -import forge.game.player.PlayerView; -import forge.model.FModel; -import forge.trackable.TrackableCollection; - -import java.util.*; final class GameClientHandler extends GameProtocolHandler { private final FGameClient client; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java b/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java index a48d090d06d..6ab7b18464f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/FServerManager.java @@ -1,5 +1,30 @@ package forge.gamemodes.net.server; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.DatagramSocket; +import java.net.Inet4Address; +import java.net.Inet6Address; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.net.URL; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.Collections; +import java.util.Enumeration; +import java.util.Map; + +import org.fourthline.cling.UpnpService; +import org.fourthline.cling.UpnpServiceImpl; +import org.fourthline.cling.support.igd.PortMappingListener; +import org.fourthline.cling.support.model.PortMapping; + +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; + import forge.gamemodes.match.LobbySlot; import forge.gamemodes.match.LobbySlotType; import forge.gamemodes.net.CompatibleObjectDecoder; @@ -29,24 +54,6 @@ import io.netty.handler.codec.serialization.ClassResolvers; import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.*; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.Map; - -import org.fourthline.cling.UpnpService; -import org.fourthline.cling.UpnpServiceImpl; -import org.fourthline.cling.support.igd.PortMappingListener; -import org.fourthline.cling.support.model.PortMapping; - -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; -import com.google.common.collect.Maps; - public final class FServerManager { private static FServerManager instance = null; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java b/forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java index d5d5a023dc3..5bdbbcddb17 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/GameServerHandler.java @@ -1,11 +1,11 @@ package forge.gamemodes.net.server; -import io.netty.channel.ChannelHandlerContext; import forge.gamemodes.net.GameProtocolHandler; import forge.gamemodes.net.IRemote; import forge.gamemodes.net.ProtocolMethod; import forge.gamemodes.net.ReplyPool; import forge.interfaces.IGameController; +import io.netty.channel.ChannelHandlerContext; final class GameServerHandler extends GameProtocolHandler { diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java b/forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java index e0508bad59f..4bebaf7ee93 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java @@ -1,6 +1,11 @@ package forge.gamemodes.net.server; +import java.util.Collection; +import java.util.List; +import java.util.Map; + import com.google.common.base.Function; + import forge.LobbyPlayer; import forge.deck.CardPool; import forge.game.GameEntityView; @@ -22,10 +27,6 @@ import forge.player.PlayerZoneUpdates; import forge.trackable.TrackableCollection; import forge.util.ITriggerEvent; -import java.util.Collection; -import java.util.List; -import java.util.Map; - public class NetGuiGame extends AbstractGuiGame { private final GameProtocolSender sender; diff --git a/forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java b/forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java index 9130145167e..2d5b5084d5c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java +++ b/forge-gui/src/main/java/forge/gamemodes/net/server/RemoteClient.java @@ -1,12 +1,11 @@ package forge.gamemodes.net.server; -import io.netty.channel.Channel; - import java.util.concurrent.TimeoutException; import forge.gamemodes.net.ReplyPool; import forge.gamemodes.net.event.IdentifiableNetEvent; import forge.gamemodes.net.event.NetEvent; +import io.netty.channel.Channel; public final class RemoteClient implements IToClient { diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java index 6e02090c079..793bc71519a 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestAwardPool.java @@ -2,6 +2,7 @@ package forge.gamemodes.planarconquest; import java.util.ArrayList; import java.util.List; + import forge.item.PaperCard; public class ConquestAwardPool { diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java index 91fc3dfdeeb..63be2255cb3 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestData.java @@ -17,6 +17,16 @@ */ package forge.gamemodes.planarconquest; +import java.io.File; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Function; import forge.card.CardDb; @@ -31,15 +41,11 @@ import forge.localinstance.achievements.PlaneswalkerAchievements; import forge.localinstance.assets.ISkinImage; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; +import forge.util.CardTranslation; import forge.util.FileUtil; +import forge.util.Localizer; import forge.util.XmlReader; import forge.util.XmlWriter; -import forge.util.Localizer; -import forge.util.CardTranslation; - -import java.io.File; -import java.util.*; -import java.util.Map.Entry; public final class ConquestData { private static final String XML_FILE = "data.xml"; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java index 9404a939734..25edfb88be7 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestDeckMap.java @@ -17,11 +17,11 @@ */ package forge.gamemodes.planarconquest; +import java.util.Map; + import forge.deck.Deck; import forge.util.storage.StorageBase; -import java.util.Map; - public class ConquestDeckMap extends StorageBase { public ConquestDeckMap(Map in) { super("Conquest decks", null, in); diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java index f4e281540af..c57d29b64b3 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestLocation.java @@ -2,6 +2,7 @@ package forge.gamemodes.planarconquest; import java.util.ArrayList; import java.util.List; + import forge.model.FModel; import forge.util.XmlReader; import forge.util.XmlWriter; diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java index b359b3199d2..e52b066c5ca 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestUtil.java @@ -1,5 +1,11 @@ package forge.gamemodes.planarconquest; +import java.util.EnumSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -10,18 +16,22 @@ import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.CardRules; import forge.card.CardType; +import forge.card.CardType.CoreType; import forge.card.ColorSet; import forge.card.MagicColor; -import forge.card.CardType.CoreType; import forge.card.mana.ManaCostShard; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckFormat; import forge.deck.DeckSection; -import forge.deck.generation.*; +import forge.deck.generation.DeckGenerator2Color; +import forge.deck.generation.DeckGenerator3Color; +import forge.deck.generation.DeckGenerator5Color; +import forge.deck.generation.DeckGeneratorBase; +import forge.deck.generation.DeckGeneratorMonoColor; +import forge.deck.generation.IDeckGenPool; import forge.gamemodes.planarconquest.ConquestPreferences.CQPref; import forge.gamemodes.quest.QuestUtil; -import forge.gui.card.*; import forge.gui.util.SOptionPane; import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; @@ -32,12 +42,6 @@ import forge.util.FileUtil; import forge.util.Localizer; import forge.util.MyRandom; -import java.util.EnumSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - public class ConquestUtil { private ConquestUtil() {} diff --git a/forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java b/forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java index 11b424a4671..82c6ee6dc32 100644 --- a/forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java +++ b/forge-gui/src/main/java/forge/gamemodes/puzzle/Puzzle.java @@ -1,6 +1,12 @@ package forge.gamemodes.puzzle; +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Sets; + import forge.ai.GameState; import forge.game.Game; import forge.game.GameType; @@ -16,11 +22,6 @@ import forge.item.InventoryItem; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import java.io.File; -import java.io.IOException; -import java.util.List; -import java.util.Map; - public class Puzzle extends GameState implements InventoryItem, Comparable { String name; String filename; diff --git a/forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java b/forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java index 0f6297c1fd2..2ba1ab5a825 100644 --- a/forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/puzzle/PuzzleIO.java @@ -1,16 +1,16 @@ package forge.gamemodes.puzzle; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + import com.google.common.collect.Lists; import forge.localinstance.properties.ForgeConstants; import forge.util.FileSection; import forge.util.FileUtil; -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - public class PuzzleIO { public static final String TXF_PROMPT = "[New Puzzle]"; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java index a648e3d3575..fa907418163 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java @@ -17,6 +17,15 @@ */ package forge.gamemodes.quest; +import static forge.gamemodes.quest.QuestUtilCards.isLegalInQuestFormat; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -29,18 +38,16 @@ import forge.card.MagicColor; import forge.card.PrintSheet; import forge.game.GameFormat; import forge.gamemodes.quest.data.QuestPreferences.QPref; -import forge.gui.card.*; -import forge.item.*; +import forge.item.BoosterPack; +import forge.item.IPaperCard; import forge.item.IPaperCard.Predicates.Presets; +import forge.item.InventoryItem; +import forge.item.PaperCard; +import forge.item.TournamentPack; import forge.model.FModel; import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.PredicateString.StringOp; -import org.apache.commons.lang3.StringUtils; - -import static forge.gamemodes.quest.QuestUtilCards.isLegalInQuestFormat; - -import java.util.*; /** *

diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java index 4e963b38579..26e9111b920 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/IQuestRewardCard.java @@ -1,10 +1,10 @@ package forge.gamemodes.quest; +import java.util.List; + import forge.item.InventoryItem; import forge.item.PaperCard; -import java.util.List; - /** * Various card rewards that may be awarded during the Quest. * Classes that implement this interface should be able to build diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java index 1aec7104b99..810247d5f3f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestChallengeGenerator.java @@ -1,6 +1,14 @@ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; + import forge.deck.DeckgenUtil; import forge.game.GameFormat; import forge.item.PaperCard; @@ -8,8 +16,6 @@ import forge.model.FModel; import forge.util.MyRandom; import forge.util.storage.IStorage; -import java.util.*; - public class QuestChallengeGenerator { private GameFormat formatMedium=FModel.getFormats().getModern(); diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java index 882e9824989..70412d60b60 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestController.java @@ -43,9 +43,9 @@ import forge.gamemodes.quest.data.GameFormatQuest; import forge.gamemodes.quest.data.QuestAchievements; import forge.gamemodes.quest.data.QuestAssets; import forge.gamemodes.quest.data.QuestData; -import forge.gamemodes.quest.data.StarRating; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; import forge.gamemodes.quest.data.QuestPreferences.QPref; +import forge.gamemodes.quest.data.StarRating; import forge.gamemodes.quest.io.QuestChallengeReader; import forge.item.PreconDeck; import forge.localinstance.properties.ForgeConstants; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java index 18da1cefc3a..94aee54d167 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDeckMap.java @@ -17,11 +17,11 @@ */ package forge.gamemodes.quest; +import java.util.Map; + import forge.deck.Deck; import forge.util.storage.StorageBase; -import java.util.Map; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java index c5add0e3384..10e3760cbec 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestDraftUtils.java @@ -1,5 +1,9 @@ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import com.google.common.collect.Lists; import forge.deck.Deck; @@ -24,10 +28,6 @@ import forge.player.GamePlayerUtil; import forge.util.MyRandom; import forge.util.storage.IStorage; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - public class QuestDraftUtils { public static boolean TOURNAMENT_TOGGLE = false; public static boolean AI_BACKGROUND = false; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java index 394151445f0..3d2163ec8c8 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEvent.java @@ -17,15 +17,15 @@ */ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import com.google.common.base.Function; import forge.deck.Deck; import forge.item.InventoryItem; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - /** *

* QuestEvent. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java index 97d8613acef..0fca6b73ebd 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventChallenge.java @@ -17,12 +17,13 @@ */ package forge.gamemodes.quest; -import com.google.common.base.Function; -import forge.deck.Deck; - import java.util.ArrayList; import java.util.List; +import com.google.common.base.Function; + +import forge.deck.Deck; + /** *

* QuestQuest class. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java index c7278e0afdb..2721a3f4ebf 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventCommanderDuelManager.java @@ -1,15 +1,19 @@ package forge.gamemodes.quest; -import forge.deck.*; -import forge.gamemodes.quest.data.QuestPreferences; -import forge.item.PaperCard; -import forge.model.FModel; -import forge.util.MyRandom; - import java.util.ArrayList; import java.util.Collections; import java.util.List; +import forge.deck.CardPool; +import forge.deck.CommanderDeckGenerator; +import forge.deck.Deck; +import forge.deck.DeckFormat; +import forge.deck.DeckProxy; +import forge.gamemodes.quest.data.QuestPreferences; +import forge.item.PaperCard; +import forge.model.FModel; +import forge.util.MyRandom; + /** * Manages the creation of random Commander duels for a Commander variant quest. Random generation is handled via * the CommanderDeckGenerator class. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java index e95337bfd68..bbe04e82ddc 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java @@ -17,6 +17,17 @@ */ package forge.gamemodes.quest; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import forge.card.CardEdition; import forge.card.CardEdition.CardInSet; import forge.card.CardRarity; @@ -41,9 +52,6 @@ import forge.util.NameGenerator; import forge.util.TextUtil; import forge.util.storage.IStorage; -import java.text.SimpleDateFormat; -import java.util.*; - /** *

* QuestEvent. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java index 83fc30228af..9f147e80cbc 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDuelManager.java @@ -17,6 +17,12 @@ */ package forge.gamemodes.quest; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; import forge.gamemodes.quest.data.QuestPreferences.QPref; @@ -29,9 +35,6 @@ import forge.util.maps.MapOfLists; import forge.util.storage.IStorage; import forge.util.storage.StorageBase; -import java.io.File; -import java.util.*; - /** * QuestEventManager. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java index a277f3de574..193e27d6215 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventLDADuelManager.java @@ -17,6 +17,11 @@ */ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + import forge.deck.CardArchetypeLDAGenerator; import forge.deck.io.Archetype; import forge.game.GameFormat; @@ -28,10 +33,6 @@ import forge.util.CollectionSuppliers; import forge.util.MyRandom; import forge.util.maps.EnumMapOfLists; import forge.util.maps.MapOfLists; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; /** * QuestEventManager. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java index de4dd312ecb..109bc718377 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestRewardCardFiltered.java @@ -1,15 +1,15 @@ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import forge.item.PaperCard; import forge.model.FModel; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - /** * Allows the player to choose a card from a predicate-filtered list of cards. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java index 953ab94c0e9..16d06e7b146 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestSpellShop.java @@ -1,5 +1,13 @@ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import forge.deck.CardPool; @@ -10,21 +18,22 @@ import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gamemodes.quest.io.ReadPriceList; import forge.gui.GuiBase; import forge.gui.util.SOptionPane; -import forge.item.*; +import forge.item.BoosterBox; +import forge.item.BoosterPack; +import forge.item.BoxedProduct; +import forge.item.FatPack; +import forge.item.IPaperCard; +import forge.item.InventoryItem; +import forge.item.PaperCard; +import forge.item.PreconDeck; +import forge.item.SealedProduct; +import forge.item.TournamentPack; import forge.itemmanager.IItemManager; import forge.itemmanager.SItemManagerUtil; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.util.ItemPool; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - public class QuestSpellShop { private static Map mapPrices; private static double multiplier; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java index 1a3b3bc198c..853f320391d 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestTournamentController.java @@ -25,10 +25,10 @@ import forge.item.PaperCard; import forge.localinstance.assets.FSkinProp; import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; +import forge.util.Localizer; import forge.util.TextUtil; import forge.util.ThreadUtil; import forge.util.storage.IStorage; -import forge.util.Localizer; public class QuestTournamentController { private final IQuestTournamentView view; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java index 3c512709054..b211a7b431e 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtil.java @@ -17,6 +17,13 @@ */ package forge.gamemodes.quest; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.TreeSet; + +import org.apache.commons.lang3.tuple.ImmutablePair; + import com.google.common.collect.ImmutableMap; import forge.LobbyPlayer; @@ -48,13 +55,6 @@ import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import org.apache.commons.lang3.tuple.ImmutablePair; - -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.TreeSet; - /** *

* QuestUtil class. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java index 89ec386e287..59de5496f12 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilCards.java @@ -17,6 +17,14 @@ */ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map.Entry; + +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; @@ -37,9 +45,16 @@ import forge.gamemodes.quest.data.QuestAssets; import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; import forge.gamemodes.quest.data.QuestPreferences.QPref; -import forge.gui.card.*; -import forge.item.*; +import forge.item.BoosterBox; +import forge.item.BoosterPack; +import forge.item.FatPack; +import forge.item.IPaperCard; +import forge.item.InventoryItem; +import forge.item.PaperCard; +import forge.item.PreconDeck; +import forge.item.SealedProduct; import forge.item.SealedProduct.Template; +import forge.item.TournamentPack; import forge.item.generation.BoosterSlots; import forge.item.generation.UnOpenedProduct; import forge.localinstance.properties.ForgePreferences.FPref; @@ -47,13 +62,6 @@ import forge.model.FModel; import forge.util.Aggregates; import forge.util.ItemPool; import forge.util.MyRandom; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map.Entry; /** * This is a helper class to execute operations on QuestData. It has been diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java index 88a6541c6ad..508455c31db 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestUtilUnlockSets.java @@ -24,7 +24,6 @@ import java.util.EnumSet; import java.util.List; import java.util.Map; -import forge.util.TextUtil; import org.apache.commons.lang3.tuple.ImmutablePair; import com.google.common.collect.ImmutableList; @@ -41,6 +40,7 @@ import forge.item.PaperCard; import forge.item.SealedProduct; import forge.item.generation.UnOpenedProduct; import forge.model.FModel; +import forge.util.TextUtil; import forge.util.storage.IStorage; /** diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java index 83df7e5b011..79c89116c90 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWinLoseController.java @@ -1,13 +1,26 @@ package forge.gamemodes.quest; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map.Entry; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.tuple.Pair; + import com.google.common.collect.ImmutableList; + import forge.LobbyPlayer; import forge.card.CardEdition; import forge.game.GameEndReason; import forge.game.GameFormat; import forge.game.GameOutcome; import forge.game.GameView; -import forge.game.player.*; +import forge.game.player.GameLossReason; +import forge.game.player.PlayerOutcome; +import forge.game.player.PlayerStatistics; +import forge.game.player.PlayerView; +import forge.game.player.RegisteredPlayer; import forge.gamemodes.quest.bazaar.QuestItemType; import forge.gamemodes.quest.data.QuestPreferences; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; @@ -15,8 +28,12 @@ import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.gui.interfaces.IButton; import forge.gui.interfaces.IWinLoseView; import forge.gui.util.SGuiChoose; -import forge.item.*; +import forge.item.BoosterPack; import forge.item.IPaperCard.Predicates; +import forge.item.InventoryItem; +import forge.item.PaperCard; +import forge.item.SealedProduct; +import forge.item.TournamentPack; import forge.item.generation.BoosterSlots; import forge.item.generation.IUnOpenedProduct; import forge.item.generation.UnOpenedProduct; @@ -28,14 +45,6 @@ import forge.util.Localizer; import forge.util.MyRandom; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map.Entry; - public class QuestWinLoseController { private final GameView lastGame; private final IWinLoseView view; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java index 1e501342a91..6915eaa7d6a 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestWorld.java @@ -17,14 +17,6 @@ */ package forge.gamemodes.quest; -import com.google.common.base.Function; -import forge.deck.Deck; -import forge.game.GameFormat; -import forge.gamemodes.quest.data.GameFormatQuest; -import forge.item.PaperCard; -import forge.model.FModel; -import forge.util.storage.StorageReaderFile; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -32,6 +24,15 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import com.google.common.base.Function; + +import forge.deck.Deck; +import forge.game.GameFormat; +import forge.gamemodes.quest.data.GameFormatQuest; +import forge.item.PaperCard; +import forge.model.FModel; +import forge.util.storage.StorageReaderFile; + /** * This function holds the "world info" for the current quest. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java b/forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java index a5877b28267..f02ff7f032a 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/SellRules.java @@ -17,11 +17,11 @@ */ package forge.gamemodes.quest; +import java.util.List; + import forge.gamemodes.quest.data.QuestAchievements; import forge.util.FileSection; -import java.util.List; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java index 5ce9a499764..e2b367f3d18 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestBazaarManager.java @@ -32,9 +32,6 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import com.thoughtworks.xstream.security.NoTypePermission; -import com.thoughtworks.xstream.security.NullPermission; -import com.thoughtworks.xstream.security.PrimitiveTypePermission; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; @@ -43,6 +40,9 @@ import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.security.NoTypePermission; +import com.thoughtworks.xstream.security.NullPermission; +import com.thoughtworks.xstream.security.PrimitiveTypePermission; import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.data.QuestAssets; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java index 1fe2951d656..a2e7fcc681b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStats.java @@ -1,16 +1,17 @@ package forge.gamemodes.quest.bazaar; +import java.io.File; +import java.util.List; + import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; + import forge.card.CardEdition; import forge.card.CardRules; import forge.item.PaperToken; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; -import java.io.File; -import java.util.List; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java index f26ad2ab838..2f05c734bba 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/bazaar/QuestPetStorage.java @@ -1,5 +1,22 @@ package forge.gamemodes.quest.bazaar; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; + import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.security.NoTypePermission; import com.thoughtworks.xstream.security.NullPermission; @@ -8,21 +25,6 @@ import com.thoughtworks.xstream.security.PrimitiveTypePermission; import forge.gamemodes.quest.data.QuestAssets; import forge.util.IgnoringXStream; import forge.util.XmlUtil; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * TODO: Write javadoc for this type. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java index a8eb41ec78e..96eb2295ca2 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/GameFormatQuest.java @@ -17,15 +17,15 @@ */ package forge.gamemodes.quest.data; +import java.util.ArrayList; +import java.util.List; + import com.google.common.base.Predicate; import forge.card.CardEdition; import forge.game.GameFormat; import forge.model.FModel; -import java.util.ArrayList; -import java.util.List; - /** * This is an alternate game format type, the main difference is that this diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java index d4f36857292..e35b1b59e83 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAchievements.java @@ -1,16 +1,16 @@ package forge.gamemodes.quest.data; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestEventDraft.QuestDraftFormat; import forge.gamemodes.quest.data.QuestPreferences.DifficultyPrefs; import forge.gamemodes.quest.data.QuestPreferences.QPref; import forge.model.FModel; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - /** * TODO: Write javadoc for this type. * diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java index 32b20a860ff..f783536a68e 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestAssets.java @@ -18,7 +18,6 @@ package forge.gamemodes.quest.data; import java.lang.reflect.InvocationTargetException; - import java.util.EnumMap; import java.util.HashMap; import java.util.Map; diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java index 4142d0a9372..459938ea759 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java @@ -17,17 +17,17 @@ */ package forge.gamemodes.quest.data; +import java.io.File; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + import forge.game.GameFormat; import forge.gamemodes.quest.QuestMode; import forge.gamemodes.quest.io.QuestDataIO; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import java.io.File; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; - //when you create QuestDataOld and AFTER you copy the AI decks over //you have to call one of these two methods below //see Gui_QuestOptions for more details diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java index 3008d8d1d63..8d94a59afef 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestPreferences.java @@ -17,13 +17,13 @@ */ package forge.gamemodes.quest.data; +import java.io.Serializable; + import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.PreferencesStore; import forge.util.Localizer; import forge.util.TextUtil; -import java.io.Serializable; - @SuppressWarnings("serial") public class QuestPreferences extends PreferencesStore implements Serializable { diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java index d3adf100522..696d35259b9 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestChallengeReader.java @@ -1,5 +1,11 @@ package forge.gamemodes.quest.io; +import java.io.File; +import java.io.FilenameFilter; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + import forge.ImageKeys; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; @@ -10,12 +16,6 @@ import forge.util.FileUtil; import forge.util.TextUtil; import forge.util.storage.StorageReaderFolder; -import java.io.File; -import java.io.FilenameFilter; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - public class QuestChallengeReader extends StorageReaderFolder { public QuestChallengeReader(File deckDir0) { super(deckDir0, QuestEventChallenge.FN_GET_ID); diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java index a88c05f8857..ace3271b14e 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java @@ -17,15 +17,46 @@ */ package forge.gamemodes.quest.io; -import com.thoughtworks.xstream.security.NoTypePermission; -import com.thoughtworks.xstream.security.NullPermission; -import com.thoughtworks.xstream.security.PrimitiveTypePermission; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.commons.lang3.StringUtils; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; +import com.thoughtworks.xstream.security.NoTypePermission; +import com.thoughtworks.xstream.security.NullPermission; +import com.thoughtworks.xstream.security.PrimitiveTypePermission; + import forge.card.CardEdition; import forge.deck.CardPool; import forge.deck.Deck; @@ -35,29 +66,29 @@ import forge.gamemodes.quest.QuestController; import forge.gamemodes.quest.QuestEventDraft; import forge.gamemodes.quest.QuestMode; import forge.gamemodes.quest.bazaar.QuestItemType; -import forge.gamemodes.quest.data.*; +import forge.gamemodes.quest.data.DeckConstructionRules; +import forge.gamemodes.quest.data.GameFormatQuest; +import forge.gamemodes.quest.data.QuestAchievements; +import forge.gamemodes.quest.data.QuestAssets; +import forge.gamemodes.quest.data.QuestData; +import forge.gamemodes.quest.data.QuestEventDraftContainer; +import forge.gamemodes.quest.data.QuestItemCondition; import forge.gamemodes.quest.data.QuestPreferences.QPref; -import forge.item.*; +import forge.gamemodes.quest.data.StarRating; +import forge.item.BoosterBox; +import forge.item.BoosterPack; +import forge.item.FatPack; +import forge.item.InventoryItem; +import forge.item.PaperCard; +import forge.item.PreconDeck; +import forge.item.SealedProduct; +import forge.item.TournamentPack; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.FileUtil; import forge.util.IgnoringXStream; import forge.util.ItemPool; import forge.util.XmlUtil; -import org.apache.commons.lang3.StringUtils; -import org.w3c.dom.*; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import java.io.*; -import java.lang.reflect.Field; -import java.util.*; -import java.util.Map.Entry; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; /** *

diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java index 1d1bf79e92a..d79ed71c6b1 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDuelReader.java @@ -1,5 +1,10 @@ package forge.gamemodes.quest.io; +import java.io.File; +import java.io.FilenameFilter; +import java.util.List; +import java.util.Map; + import forge.ImageKeys; import forge.deck.io.DeckSerializer; import forge.deck.io.DeckStorage; @@ -10,11 +15,6 @@ import forge.util.FileSection; import forge.util.FileUtil; import forge.util.storage.StorageReaderFolder; -import java.io.File; -import java.io.FilenameFilter; -import java.util.List; -import java.util.Map; - public class QuestDuelReader extends StorageReaderFolder { public QuestDuelReader(File deckDir0) { super(deckDir0, QuestEvent.FN_GET_NAME); diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java index d5249910e1c..7df6706d71f 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/ReadPriceList.java @@ -17,15 +17,15 @@ */ package forge.gamemodes.quest.io; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import forge.card.MagicColor; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.MyRandom; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - /** *

* ReadPriceList class. diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java index dfaa8672039..5d4bbcb1ed6 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentData.java @@ -1,5 +1,12 @@ package forge.gamemodes.tournament; +import java.io.File; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + import com.thoughtworks.xstream.annotations.XStreamOmitField; import forge.deck.Deck; @@ -9,13 +16,6 @@ import forge.gamemodes.match.HostedMatch; import forge.gui.GuiBase; import forge.localinstance.properties.ForgeConstants; -import java.io.File; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - public class TournamentData { @XStreamOmitField private String name; // set based on the the filename on load diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java index 4ce8a46e8ed..91f79b34aad 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java @@ -1,5 +1,18 @@ package forge.gamemodes.tournament; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Map; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +import org.apache.commons.lang3.StringUtils; + import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; @@ -9,17 +22,12 @@ import com.thoughtworks.xstream.io.HierarchicalStreamWriter; import com.thoughtworks.xstream.security.NoTypePermission; import com.thoughtworks.xstream.security.NullPermission; import com.thoughtworks.xstream.security.PrimitiveTypePermission; + import forge.deck.CardPool; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.IgnoringXStream; -import org.apache.commons.lang3.StringUtils; - -import java.io.*; -import java.util.Map; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; public class TournamentIO { /** Prompt in text field for new (unsaved) built gauntlets. */ diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java index 823dd6a18b9..d928222532b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentUtil.java @@ -1,17 +1,17 @@ package forge.gamemodes.tournament; -import forge.deck.Deck; -import forge.deck.DeckType; -import forge.deck.DeckgenUtil; -import forge.model.FModel; -import forge.util.MyRandom; - import java.io.File; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import forge.deck.Deck; +import forge.deck.DeckType; +import forge.deck.DeckgenUtil; +import forge.model.FModel; +import forge.util.MyRandom; + public class TournamentUtil { public static TournamentData createQuickTournament(final Deck userDeck, final int numOpponents, final List allowedDeckTypes) { TournamentData tournament = new TournamentData(); diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java index d75fee33a17..d5fbb68a377 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentWinLoseController.java @@ -1,7 +1,10 @@ package forge.gamemodes.tournament; +import java.util.List; + import com.google.common.collect.Lists; + import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameView; @@ -13,8 +16,6 @@ import forge.model.FModel; import forge.player.GamePlayerUtil; import forge.util.Localizer; -import java.util.List; - abstract public class TournamentWinLoseController { private final Localizer localizer = Localizer.getInstance(); private final IWinLoseView view; diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java index bd45f3b9f81..a1630810707 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java @@ -1,5 +1,11 @@ package forge.gamemodes.tournament.system; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + import com.google.common.collect.Lists; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; @@ -10,12 +16,6 @@ import forge.player.GamePlayerUtil; import forge.util.MyRandom; import forge.util.TextUtil; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - @SuppressWarnings("serial") public abstract class AbstractTournament implements Serializable { protected int activeRound; diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java index 4b75135521c..338eb829cbb 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPairing.java @@ -1,12 +1,13 @@ package forge.gamemodes.tournament.system; -import com.thoughtworks.xstream.io.HierarchicalStreamWriter; -import forge.LobbyPlayer; -import forge.game.GameOutcome; - import java.util.ArrayList; import java.util.List; +import com.thoughtworks.xstream.io.HierarchicalStreamWriter; + +import forge.LobbyPlayer; +import forge.game.GameOutcome; + public class TournamentPairing { private int round; private boolean bye = false; diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java index 600397b00e6..4dca1f2b529 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentPlayer.java @@ -1,12 +1,13 @@ package forge.gamemodes.tournament.system; -import com.thoughtworks.xstream.io.HierarchicalStreamWriter; -import forge.LobbyPlayer; -import forge.util.TextUtil; - import java.util.ArrayList; import java.util.List; +import com.thoughtworks.xstream.io.HierarchicalStreamWriter; + +import forge.LobbyPlayer; +import forge.util.TextUtil; + public class TournamentPlayer { private LobbyPlayer player; // Ties don't really happen with AI simulations, because there's no time limit diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java index b379fdeea12..61f4b254ff8 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentRoundRobin.java @@ -1,11 +1,12 @@ package forge.gamemodes.tournament.system; -import com.google.common.collect.Lists; -import forge.player.GamePlayerUtil; - import java.util.ArrayList; import java.util.List; +import com.google.common.collect.Lists; + +import forge.player.GamePlayerUtil; + @SuppressWarnings("serial") public class TournamentRoundRobin extends AbstractTournament { // Round Robin tournaments where you play everyone in your group/pod. Declare winner or break to top X diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java index 53c00eda0eb..066481c1555 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/TournamentSwiss.java @@ -1,8 +1,13 @@ package forge.gamemodes.tournament.system; -import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; -import java.util.*; +import com.google.common.collect.Lists; @SuppressWarnings("serial") public class TournamentSwiss extends AbstractTournament { diff --git a/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java index ab65a97d2d0..2e81bd8720e 100644 --- a/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/gui/card/CardDetailUtil.java @@ -1,5 +1,12 @@ package forge.gui.card; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Sets; import forge.card.CardRarity; @@ -22,12 +29,6 @@ import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; import forge.util.CardTranslation; import forge.util.Lang; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; public class CardDetailUtil { diff --git a/forge-gui/src/main/java/forge/gui/card/CardPreferences.java b/forge-gui/src/main/java/forge/gui/card/CardPreferences.java index cc7e22ea405..664166cfb44 100644 --- a/forge-gui/src/main/java/forge/gui/card/CardPreferences.java +++ b/forge-gui/src/main/java/forge/gui/card/CardPreferences.java @@ -1,10 +1,5 @@ package forge.gui.card; -import forge.item.IPaperCard; -import forge.localinstance.properties.ForgeConstants; -import forge.model.FModel; -import forge.util.XmlUtil; - import java.io.File; import java.io.FileNotFoundException; import java.util.HashMap; @@ -17,6 +12,11 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import forge.item.IPaperCard; +import forge.localinstance.properties.ForgeConstants; +import forge.model.FModel; +import forge.util.XmlUtil; + /** * Preferences associated with individual cards * diff --git a/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java b/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java index 9b30e8262ef..e7abbfef069 100644 --- a/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java +++ b/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java @@ -1,17 +1,21 @@ package forge.gui.card; -import forge.CardStorageReader; -import forge.card.CardRules; -import forge.localinstance.properties.ForgeConstants; -import forge.util.FileUtil; - -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStreamReader; +import java.io.PrintWriter; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import forge.CardStorageReader; +import forge.card.CardRules; +import forge.localinstance.properties.ForgeConstants; +import forge.util.FileUtil; + public class CardReaderExperiments { //utility functions to parse all cards and perform certain actions on each card diff --git a/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java index 21d9bd72394..ff118486eab 100644 --- a/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java +++ b/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java @@ -13,7 +13,41 @@ import forge.game.Game; import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardView; -import forge.game.event.*; +import forge.game.event.GameEvent; +import forge.game.event.GameEventAnteCardsSelected; +import forge.game.event.GameEventAttackersDeclared; +import forge.game.event.GameEventBlockersDeclared; +import forge.game.event.GameEventCardAttachment; +import forge.game.event.GameEventCardChangeZone; +import forge.game.event.GameEventCardCounters; +import forge.game.event.GameEventCardDamaged; +import forge.game.event.GameEventCardPhased; +import forge.game.event.GameEventCardStatsChanged; +import forge.game.event.GameEventCardTapped; +import forge.game.event.GameEventCombatChanged; +import forge.game.event.GameEventCombatEnded; +import forge.game.event.GameEventCombatUpdate; +import forge.game.event.GameEventGameFinished; +import forge.game.event.GameEventGameOutcome; +import forge.game.event.GameEventLandPlayed; +import forge.game.event.GameEventManaBurn; +import forge.game.event.GameEventManaPool; +import forge.game.event.GameEventPlayerControl; +import forge.game.event.GameEventPlayerCounters; +import forge.game.event.GameEventPlayerLivesChanged; +import forge.game.event.GameEventPlayerPoisoned; +import forge.game.event.GameEventPlayerPriority; +import forge.game.event.GameEventPlayerStatsChanged; +import forge.game.event.GameEventShuffle; +import forge.game.event.GameEventSpellAbilityCast; +import forge.game.event.GameEventSpellRemovedFromStack; +import forge.game.event.GameEventSpellResolved; +import forge.game.event.GameEventSubgameEnd; +import forge.game.event.GameEventTokenStateUpdate; +import forge.game.event.GameEventTurnBegan; +import forge.game.event.GameEventTurnPhase; +import forge.game.event.GameEventZone; +import forge.game.event.IGameEventVisitor; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.zone.Zone; diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java index 2519533adae..5c2f06ca3f2 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesHQ.java @@ -17,14 +17,18 @@ */ package forge.gui.download; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.ImageUtil; -import java.io.File; -import java.util.*; - public class GuiDownloadPicturesHQ extends GuiDownloadService { final Map downloads = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); Set existingSets; diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java index ad7b3b46f58..e2c927f9ddf 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadPicturesLQ.java @@ -17,15 +17,19 @@ */ package forge.gui.download; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +import forge.ImageKeys; import forge.StaticData; import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.ImageUtil; -import forge.ImageKeys; - -import java.io.File; -import java.util.*; public class GuiDownloadPicturesLQ extends GuiDownloadService { final Map downloads = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java index 772e8e2232f..0c7942e92b6 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java @@ -36,7 +36,6 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import forge.util.TextUtil; import org.apache.commons.lang3.tuple.Pair; import com.esotericsoftware.minlog.Log; @@ -51,6 +50,7 @@ import forge.gui.interfaces.ITextField; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; import forge.util.HttpUtil; +import forge.util.TextUtil; @SuppressWarnings("serial") public abstract class GuiDownloadService implements Runnable { diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java index c4f29070e9d..c3e28d3c325 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadSetPicturesLQ.java @@ -17,7 +17,16 @@ */ package forge.gui.download; +import java.io.File; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.TreeMap; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Iterables; + import forge.StaticData; import forge.card.CardEdition; import forge.item.PaperCard; @@ -25,10 +34,6 @@ import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.util.ImageUtil; import forge.util.TextUtil; -import org.apache.commons.lang3.StringUtils; - -import java.io.File; -import java.util.*; public class GuiDownloadSetPicturesLQ extends GuiDownloadService { @Override diff --git a/forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java b/forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java index 30f9607e6ca..bb9bc5aeb1c 100644 --- a/forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java +++ b/forge-gui/src/main/java/forge/gui/interfaces/IMayViewCards.java @@ -1,5 +1,6 @@ package forge.gui.interfaces; +import forge.game.card.Card; import forge.game.card.CardView; /** diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index b78deedfa8f..21a3f3cdef1 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -1,20 +1,29 @@ package forge.itemmanager; -import java.util.*; +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; +import java.util.Set; -import com.google.common.collect.ImmutableList; import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.base.Predicates; +import com.google.common.collect.ImmutableList; import forge.card.CardEdition; import forge.card.CardRarity; import forge.card.CardRules; import forge.card.CardType; -import forge.card.MagicColor; import forge.card.CardType.CoreType; import forge.card.CardType.Supertype; +import forge.card.MagicColor; import forge.deck.CardPool; import forge.deck.DeckProxy; import forge.deck.DeckSection; @@ -35,8 +44,8 @@ import forge.item.InventoryItem; import forge.item.PaperCard; import forge.item.SealedProduct; import forge.model.FModel; -import forge.util.Localizer; import forge.util.CardTranslation; +import forge.util.Localizer; public class AdvancedSearch { public enum FilterOption { diff --git a/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java b/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java index 995cbccd033..039f789ef31 100644 --- a/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java +++ b/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java @@ -1,14 +1,17 @@ package forge.itemmanager; +import java.util.ArrayList; +import java.util.List; +import java.util.Stack; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; + import forge.card.CardRules; import forge.card.CardRulesPredicates; import forge.util.PredicateString.StringOp; -import java.util.*; - public class BooleanExpression { private Stack operators = new Stack<>(); private Stack> operands = new Stack<>(); diff --git a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java index a50e3bcc802..500be6710f0 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java +++ b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java @@ -17,6 +17,12 @@ */ package forge.itemmanager; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Map.Entry; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Function; import forge.card.CardAiHints; @@ -33,20 +39,15 @@ import forge.deck.DeckProxy; import forge.deck.io.DeckPreferences; import forge.game.GameFormat; import forge.gamemodes.limited.DraftRankCache; -import forge.gui.card.*; +import forge.gui.card.CardPreferences; import forge.item.IPaperCard; import forge.item.InventoryItem; import forge.item.InventoryItemFromSet; import forge.item.PaperCard; import forge.itemmanager.ItemColumnConfig.SortState; import forge.model.FModel; -import forge.util.Localizer; import forge.util.CardTranslation; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.Map.Entry; - -import org.apache.commons.lang3.StringUtils; +import forge.util.Localizer; public enum ColumnDef { /**The column containing the inventory item name.*/ diff --git a/forge-gui/src/main/java/forge/itemmanager/ItemColumn.java b/forge-gui/src/main/java/forge/itemmanager/ItemColumn.java index dc497bc5bc9..1dc39740e31 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ItemColumn.java +++ b/forge-gui/src/main/java/forge/itemmanager/ItemColumn.java @@ -17,14 +17,14 @@ */ package forge.itemmanager; +import java.util.Map; +import java.util.Map.Entry; + import com.google.common.base.Function; import forge.item.InventoryItem; import forge.itemmanager.ItemColumnConfig.SortState; -import java.util.Map; -import java.util.Map.Entry; - public class ItemColumn { private final ItemColumnConfig config; diff --git a/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java b/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java index 0a41ae100cd..5c4a4784148 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java +++ b/forge-gui/src/main/java/forge/itemmanager/ItemManagerConfig.java @@ -1,11 +1,5 @@ package forge.itemmanager; -import forge.itemmanager.ItemColumnConfig.SortState; -import forge.localinstance.properties.ForgeConstants; -import forge.localinstance.properties.ForgePreferences.FPref; -import forge.model.FModel; -import forge.util.XmlUtil; - import java.io.File; import java.io.FileNotFoundException; import java.util.Map; @@ -17,6 +11,12 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import forge.itemmanager.ItemColumnConfig.SortState; +import forge.localinstance.properties.ForgeConstants; +import forge.localinstance.properties.ForgePreferences.FPref; +import forge.model.FModel; +import forge.util.XmlUtil; + /** * Preferences associated with individual cards * diff --git a/forge-gui/src/main/java/forge/itemmanager/ItemManagerModel.java b/forge-gui/src/main/java/forge/itemmanager/ItemManagerModel.java index 37f2681157f..03180147d4d 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ItemManagerModel.java +++ b/forge-gui/src/main/java/forge/itemmanager/ItemManagerModel.java @@ -20,8 +20,8 @@ package forge.itemmanager; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.List; import java.util.Iterator; +import java.util.List; import java.util.Map.Entry; import forge.item.InventoryItem; diff --git a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java index 0bacfd9d9e3..98cc5269900 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java @@ -1,7 +1,14 @@ package forge.itemmanager; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + import com.google.common.base.Predicate; import com.google.common.base.Predicates; + import forge.StaticData; import forge.card.CardEdition; import forge.card.CardRules; @@ -11,7 +18,6 @@ import forge.card.MagicColor; import forge.deck.DeckProxy; import forge.game.GameFormat; import forge.gamemodes.quest.data.StarRating; -import forge.gui.card.*; import forge.gui.interfaces.IButton; import forge.item.InventoryItem; import forge.item.PaperCard; @@ -21,8 +27,6 @@ import forge.model.FModel; import forge.util.BinaryUtil; import forge.util.PredicateString.StringOp; -import java.util.*; - /** * Static factory; holds blocks of form elements and predicates * which are used in various editing environments. diff --git a/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java b/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java index 0caca0cee3b..b45359a5b7b 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SItemManagerUtil.java @@ -1,5 +1,11 @@ package forge.itemmanager; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map.Entry; + import com.google.common.base.Predicate; import forge.card.CardRules; @@ -13,12 +19,6 @@ import forge.localinstance.assets.IHasSkinProp; import forge.util.ComparableOp; import forge.util.Localizer; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Map.Entry; - /** * Static methods for working with top-level editor methods, * included but not limited to preferences IO, icon generation, diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java b/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java index 1481162b20d..053c22b1c7e 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/AchievementCollection.java @@ -26,9 +26,9 @@ import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; import forge.player.PlayerControllerHuman; import forge.util.FileUtil; +import forge.util.Localizer; import forge.util.ThreadUtil; import forge.util.XmlUtil; -import forge.util.Localizer; public abstract class AchievementCollection implements Iterable { protected final Map achievements = Maps.newLinkedHashMap(); diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java index 93b37d337c3..07047282542 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/AltWinAchievements.java @@ -7,8 +7,8 @@ import forge.game.player.Player; import forge.item.IPaperCard; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.util.Localizer; import forge.util.CardTranslation; +import forge.util.Localizer; public class AltWinAchievements extends AchievementCollection { public static final AltWinAchievements instance = new AltWinAchievements(); diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/Domain.java b/forge-gui/src/main/java/forge/localinstance/achievements/Domain.java index 2ed10062c79..a465c68ab15 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/Domain.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/Domain.java @@ -1,14 +1,14 @@ package forge.localinstance.achievements; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + import forge.game.Game; import forge.game.GameType; import forge.game.card.Card; import forge.game.player.Player; import forge.game.zone.ZoneType; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Set; import forge.util.Localizer; public class Domain extends ProgressiveAchievement { diff --git a/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java b/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java index 4e143e8f908..80f746225d6 100644 --- a/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java +++ b/forge-gui/src/main/java/forge/localinstance/achievements/PlaneswalkerAchievements.java @@ -8,8 +8,8 @@ import forge.localinstance.assets.FSkinProp; import forge.localinstance.assets.ISkinImage; import forge.localinstance.properties.ForgeConstants; import forge.model.FModel; -import forge.util.Localizer; import forge.util.CardTranslation; +import forge.util.Localizer; public class PlaneswalkerAchievements extends AchievementCollection { public static final PlaneswalkerAchievements instance = new PlaneswalkerAchievements(); diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java index 6fba61b02a1..b9059238ae0 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgeConstants.java @@ -17,13 +17,13 @@ */ package forge.localinstance.properties; -import forge.gui.GuiBase; -import forge.util.FileUtil; - import java.io.File; import java.util.Collections; import java.util.Map; +import forge.gui.GuiBase; +import forge.util.FileUtil; + public final class ForgeConstants { public static final String PATH_SEPARATOR = File.separator; public static final String ASSETS_DIR = GuiBase.getInterface().getAssetsDir(); diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java index bfdb65efdf0..7eccef3d8f6 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgeProfileProperties.java @@ -23,13 +23,13 @@ import java.io.IOException; import java.util.Map; import java.util.Properties; -import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import forge.gui.GuiBase; import forge.util.FileSection; import forge.util.FileUtil; +import forge.util.TextUtil; /** * Determines the user data and cache dirs, first looking at the specified file for overrides diff --git a/forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java b/forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java index 9c160aa29f6..c86b94da9af 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/PreferencesStore.java @@ -17,8 +17,6 @@ */ package forge.localinstance.properties; -import forge.util.FileUtil; - import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; @@ -26,6 +24,8 @@ import java.util.EnumMap; import java.util.List; import java.util.Map; +import forge.util.FileUtil; + /** * Holds default preference values in an enum. * Loads preferred values when instantiated. diff --git a/forge-gui/src/main/java/forge/model/CardBlock.java b/forge-gui/src/main/java/forge/model/CardBlock.java index ec4f45cff3d..b0926e6fbbc 100644 --- a/forge-gui/src/main/java/forge/model/CardBlock.java +++ b/forge-gui/src/main/java/forge/model/CardBlock.java @@ -17,6 +17,13 @@ */ package forge.model; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.base.Function; import com.google.common.base.Predicate; @@ -28,13 +35,6 @@ import forge.item.generation.UnOpenedProduct; import forge.util.TextUtil; import forge.util.storage.StorageReaderFile; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - // import forge.deck.Deck; /** diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index 0449c876b30..bdc34ae7985 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -17,10 +17,19 @@ */ package forge.model; +import java.io.File; +import java.util.List; +import java.util.Map; +import java.util.Set; + import com.google.common.base.Function; import com.google.common.collect.Maps; -import forge.*; + +import forge.CardStorageReader; import forge.CardStorageReader.ProgressObserver; +import forge.ImageKeys; +import forge.MulliganDefs; +import forge.StaticData; import forge.ai.AiProfileUtil; import forge.card.CardType; import forge.deck.CardArchetypeLDAGenerator; @@ -47,7 +56,13 @@ import forge.gui.GuiBase; import forge.gui.card.CardPreferences; import forge.gui.interfaces.IProgressBar; import forge.itemmanager.ItemManagerConfig; -import forge.localinstance.achievements.*; +import forge.localinstance.achievements.AchievementCollection; +import forge.localinstance.achievements.ConstructedAchievements; +import forge.localinstance.achievements.DraftAchievements; +import forge.localinstance.achievements.PlanarConquestAchievements; +import forge.localinstance.achievements.PuzzleAchievements; +import forge.localinstance.achievements.QuestAchievements; +import forge.localinstance.achievements.SealedAchievements; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences.FPref; @@ -59,11 +74,6 @@ import forge.util.Localizer; import forge.util.storage.IStorage; import forge.util.storage.StorageBase; -import java.io.File; -import java.util.List; -import java.util.Map; -import java.util.Set; - /** * The default Model implementation for Forge. * diff --git a/forge-gui/src/main/java/forge/model/MetaSet.java b/forge-gui/src/main/java/forge/model/MetaSet.java index 1b9d68fbffc..0ba660e2f86 100644 --- a/forge-gui/src/main/java/forge/model/MetaSet.java +++ b/forge-gui/src/main/java/forge/model/MetaSet.java @@ -18,6 +18,9 @@ package forge.model; +import java.io.File; +import java.util.List; + import com.google.common.base.Predicate; import forge.gamemodes.limited.CustomLimited; @@ -30,9 +33,6 @@ import forge.item.generation.UnOpenedProduct; import forge.localinstance.properties.ForgeConstants; import forge.util.FileUtil; -import java.io.File; -import java.util.List; - /** * The class MetaSet. This class is used to define 'special' * sets within a (fantasy) block, like custom sets (cubes), diff --git a/forge-gui/src/main/java/forge/model/UnOpenedMeta.java b/forge-gui/src/main/java/forge/model/UnOpenedMeta.java index 4c2d14c3076..d8b82d312f2 100644 --- a/forge-gui/src/main/java/forge/model/UnOpenedMeta.java +++ b/forge-gui/src/main/java/forge/model/UnOpenedMeta.java @@ -18,15 +18,15 @@ package forge.model; +import java.util.ArrayList; +import java.util.List; + import forge.gui.util.SGuiChoose; import forge.item.PaperCard; import forge.item.generation.IUnOpenedProduct; import forge.util.MyRandom; import forge.util.TextUtil; -import java.util.ArrayList; -import java.util.List; - /** * This type extends UnOpenedProduct to support booster choice or random boosters * in sealed deck games. See MetaSet.java for further information. diff --git a/forge-gui/src/main/java/forge/player/GamePlayerUtil.java b/forge-gui/src/main/java/forge/player/GamePlayerUtil.java index a87837c4209..e2200460db4 100644 --- a/forge-gui/src/main/java/forge/player/GamePlayerUtil.java +++ b/forge-gui/src/main/java/forge/player/GamePlayerUtil.java @@ -2,7 +2,6 @@ package forge.player; import java.util.Set; -import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; import forge.LobbyPlayer; @@ -15,6 +14,7 @@ import forge.localinstance.properties.ForgePreferences.FPref; import forge.model.FModel; import forge.util.GuiDisplayUtil; import forge.util.MyRandom; +import forge.util.TextUtil; public final class GamePlayerUtil { private GamePlayerUtil() { } diff --git a/forge-gui/src/main/java/forge/player/HumanCostDecision.java b/forge-gui/src/main/java/forge/player/HumanCostDecision.java index ebabe6e5bf6..0c7ad980b8d 100644 --- a/forge-gui/src/main/java/forge/player/HumanCostDecision.java +++ b/forge-gui/src/main/java/forge/player/HumanCostDecision.java @@ -27,7 +27,37 @@ import forge.game.card.CardPredicates.Presets; import forge.game.card.CardView; import forge.game.card.CounterEnumType; import forge.game.card.CounterType; -import forge.game.cost.*; +import forge.game.cost.CostAddMana; +import forge.game.cost.CostChooseCreatureType; +import forge.game.cost.CostDamage; +import forge.game.cost.CostDecisionMakerBase; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostDraw; +import forge.game.cost.CostExert; +import forge.game.cost.CostExile; +import forge.game.cost.CostExileFromStack; +import forge.game.cost.CostExiledMoveToGrave; +import forge.game.cost.CostFlipCoin; +import forge.game.cost.CostGainControl; +import forge.game.cost.CostGainLife; +import forge.game.cost.CostMill; +import forge.game.cost.CostPart; +import forge.game.cost.CostPartMana; +import forge.game.cost.CostPayEnergy; +import forge.game.cost.CostPayLife; +import forge.game.cost.CostPutCardToLib; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostRemoveAnyCounter; +import forge.game.cost.CostRemoveCounter; +import forge.game.cost.CostReturn; +import forge.game.cost.CostReveal; +import forge.game.cost.CostSacrifice; +import forge.game.cost.CostTap; +import forge.game.cost.CostTapType; +import forge.game.cost.CostUnattach; +import forge.game.cost.CostUntap; +import forge.game.cost.CostUntapType; +import forge.game.cost.PaymentDecision; import forge.game.player.Player; import forge.game.player.PlayerView; import forge.game.spellability.SpellAbility; @@ -38,11 +68,11 @@ import forge.gamemodes.match.input.InputSelectCardsFromList; import forge.gamemodes.match.input.InputSelectManyBase; import forge.gui.util.SGuiChoose; import forge.util.Aggregates; -import forge.util.TextUtil; -import forge.util.collect.FCollectionView; +import forge.util.CardTranslation; import forge.util.ITriggerEvent; import forge.util.Localizer; -import forge.util.CardTranslation; +import forge.util.TextUtil; +import forge.util.collect.FCollectionView; public class HumanCostDecision extends CostDecisionMakerBase { private final PlayerControllerHuman controller; diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index 07d56089446..9b7d1f9d776 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -1,6 +1,11 @@ package forge.player; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Iterables; import forge.card.mana.ManaCost; @@ -11,15 +16,49 @@ import forge.game.GameEntityViewMap; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.CharmEffect; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; -import forge.game.cost.*; +import forge.game.card.CardView; +import forge.game.card.CardZoneTable; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; +import forge.game.cost.Cost; +import forge.game.cost.CostAddMana; +import forge.game.cost.CostAdjustment; +import forge.game.cost.CostDamage; +import forge.game.cost.CostDiscard; +import forge.game.cost.CostDraw; +import forge.game.cost.CostExile; +import forge.game.cost.CostFlipCoin; +import forge.game.cost.CostGainControl; +import forge.game.cost.CostGainLife; +import forge.game.cost.CostMill; +import forge.game.cost.CostPart; +import forge.game.cost.CostPartMana; +import forge.game.cost.CostPartWithList; +import forge.game.cost.CostPayEnergy; +import forge.game.cost.CostPayLife; +import forge.game.cost.CostPutCardToLib; +import forge.game.cost.CostPutCounter; +import forge.game.cost.CostRemoveAnyCounter; +import forge.game.cost.CostRemoveCounter; +import forge.game.cost.CostReturn; +import forge.game.cost.CostReveal; +import forge.game.cost.CostSacrifice; +import forge.game.cost.CostTapType; +import forge.game.cost.PaymentDecision; import forge.game.mana.ManaConversionMatrix; import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.player.PlayerController; import forge.game.player.PlayerView; -import forge.game.spellability.*; +import forge.game.spellability.LandAbility; +import forge.game.spellability.OptionalCostValue; +import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.gamemodes.match.input.InputPayMana; @@ -27,13 +66,9 @@ import forge.gamemodes.match.input.InputPayManaOfCostPayment; import forge.gamemodes.match.input.InputSelectCardsFromList; import forge.gui.FThreads; import forge.gui.util.SGuiChoose; +import forge.util.Localizer; import forge.util.TextUtil; import forge.util.collect.FCollectionView; -import forge.util.Localizer; -import org.apache.commons.lang3.StringUtils; - -import java.util.ArrayList; -import java.util.List; public class HumanPlay { diff --git a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java index 41c0292d479..cccc0f3c3df 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java +++ b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java @@ -17,8 +17,14 @@ */ package forge.player; +import java.util.Collections; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.Iterables; import com.google.common.collect.Maps; + import forge.card.CardType; import forge.card.MagicColor; import forge.game.Game; @@ -33,14 +39,9 @@ import forge.game.keyword.KeywordInterface; import forge.game.mana.ManaPool; import forge.game.player.Player; import forge.game.player.PlayerController; -import forge.game.spellability.*; +import forge.game.spellability.SpellAbility; import forge.game.zone.Zone; -import org.apache.commons.lang3.StringUtils; - -import java.util.Collections; -import java.util.Map; - /** *

* SpellAbility_Requirements class. diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 2e1411261c1..5a145f07674 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1,11 +1,20 @@ package forge.player; -import java.io.*; -import java.util.*; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileWriter; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Map; import java.util.Map.Entry; -import forge.game.ability.AbilityUtils; - import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.Range; import org.apache.commons.lang3.StringUtils; @@ -37,10 +46,27 @@ import forge.card.mana.ManaCostShard; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; -import forge.game.*; +import forge.game.Game; +import forge.game.GameEntity; +import forge.game.GameEntityView; +import forge.game.GameEntityViewMap; +import forge.game.GameLogEntryType; +import forge.game.GameObject; +import forge.game.GameType; +import forge.game.PlanarDice; import forge.game.ability.AbilityKey; +import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; +import forge.game.card.CardFaceView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; +import forge.game.card.CardUtil; +import forge.game.card.CardView; +import forge.game.card.CounterEnumType; +import forge.game.card.CounterType; import forge.game.card.token.TokenInfo; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; @@ -52,10 +78,20 @@ import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; import forge.game.mana.Mana; import forge.game.mana.ManaConversionMatrix; -import forge.game.player.*; +import forge.game.player.DelayedReveal; +import forge.game.player.Player; +import forge.game.player.PlayerActionConfirmMode; +import forge.game.player.PlayerController; +import forge.game.player.PlayerView; import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementLayer; -import forge.game.spellability.*; +import forge.game.spellability.AbilityManaPart; +import forge.game.spellability.AbilitySub; +import forge.game.spellability.OptionalCostValue; +import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityStackInstance; +import forge.game.spellability.SpellAbilityView; +import forge.game.spellability.TargetChoices; import forge.game.trigger.Trigger; import forge.game.trigger.WrappedAbility; import forge.game.zone.MagicStack; @@ -63,10 +99,21 @@ import forge.game.zone.PlayerZone; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.gamemodes.match.NextGameDecision; -import forge.gamemodes.match.input.*; +import forge.gamemodes.match.input.Input; +import forge.gamemodes.match.input.InputAttack; +import forge.gamemodes.match.input.InputBlock; +import forge.gamemodes.match.input.InputConfirm; +import forge.gamemodes.match.input.InputConfirmMulligan; +import forge.gamemodes.match.input.InputLondonMulligan; +import forge.gamemodes.match.input.InputPassPriority; +import forge.gamemodes.match.input.InputPayMana; +import forge.gamemodes.match.input.InputProxy; +import forge.gamemodes.match.input.InputQueue; +import forge.gamemodes.match.input.InputSelectCardsForConvokeOrImprovise; +import forge.gamemodes.match.input.InputSelectCardsFromList; +import forge.gamemodes.match.input.InputSelectEntitiesFromList; import forge.gui.FThreads; import forge.gui.GuiBase; -import forge.gui.card.*; import forge.gui.control.FControlGamePlayback; import forge.gui.events.UiEventNextGameDecision; import forge.gui.interfaces.IGuiGame; diff --git a/forge-gui/src/main/java/forge/player/TargetSelection.java b/forge-gui/src/main/java/forge/player/TargetSelection.java index 6102dccc761..654ff97ad59 100644 --- a/forge-gui/src/main/java/forge/player/TargetSelection.java +++ b/forge-gui/src/main/java/forge/player/TargetSelection.java @@ -17,10 +17,17 @@ */ package forge.player; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.game.Game; import forge.game.GameEntity; import forge.game.GameEntityView; @@ -40,12 +47,6 @@ import forge.game.zone.ZoneType; import forge.gamemodes.match.input.InputSelectTargets; import forge.util.Aggregates; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - /** *

* Target_Selection class. diff --git a/forge-gui/src/main/java/forge/util/HttpUtil.java b/forge-gui/src/main/java/forge/util/HttpUtil.java index 38a5afd958e..3098135faf7 100644 --- a/forge-gui/src/main/java/forge/util/HttpUtil.java +++ b/forge-gui/src/main/java/forge/util/HttpUtil.java @@ -17,7 +17,11 @@ */ package forge.util; -import java.io.*; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; diff --git a/forge-gui/src/main/java/forge/util/IgnoringXStream.java b/forge-gui/src/main/java/forge/util/IgnoringXStream.java index e8b5e997818..7d8ba579e65 100644 --- a/forge-gui/src/main/java/forge/util/IgnoringXStream.java +++ b/forge-gui/src/main/java/forge/util/IgnoringXStream.java @@ -1,11 +1,11 @@ package forge.util; -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.mapper.MapperWrapper; - import java.util.ArrayList; import java.util.List; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.mapper.MapperWrapper; + /** * TODO: Write javadoc for this type. * diff --git a/forge-gui/src/main/java/forge/util/ImageFetcher.java b/forge-gui/src/main/java/forge/util/ImageFetcher.java index bc4633774cf..88734866769 100644 --- a/forge-gui/src/main/java/forge/util/ImageFetcher.java +++ b/forge-gui/src/main/java/forge/util/ImageFetcher.java @@ -9,12 +9,11 @@ import java.util.concurrent.Executors; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.lang3.tuple.Pair; + import forge.ImageKeys; import forge.StaticData; import forge.gui.FThreads; - -import org.apache.commons.lang3.tuple.Pair; - import forge.item.PaperCard; import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgePreferences; diff --git a/forge-gui/src/main/java/forge/util/WordUtil.java b/forge-gui/src/main/java/forge/util/WordUtil.java index 83251e58ec9..97478c69448 100644 --- a/forge-gui/src/main/java/forge/util/WordUtil.java +++ b/forge-gui/src/main/java/forge/util/WordUtil.java @@ -1,10 +1,10 @@ package forge.util; -import org.apache.commons.lang3.StringUtils; - import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.lang3.StringUtils; + public class WordUtil { public static String capitalize(String str) { if (StringUtils.isEmpty(str)) { diff --git a/forge-gui/src/main/java/forge/util/XmlUtil.java b/forge-gui/src/main/java/forge/util/XmlUtil.java index 369f77667e0..e15a4cb7ad3 100644 --- a/forge-gui/src/main/java/forge/util/XmlUtil.java +++ b/forge-gui/src/main/java/forge/util/XmlUtil.java @@ -17,9 +17,8 @@ */ package forge.util; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; +import java.io.File; +import java.io.StringWriter; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; @@ -28,8 +27,9 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; -import java.io.File; -import java.io.StringWriter; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; public class XmlUtil { From 412e77bddec728e40871576e87f09870dd3fb310 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 17 Mar 2021 17:23:10 +0100 Subject: [PATCH 24/32] add forge.quest.data.QuestData to fix old quests --- .../forge/gamemodes/quest/data/QuestData.java | 2 +- .../main/java/forge/quest/data/QuestData.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 forge-gui/src/main/java/forge/quest/data/QuestData.java diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java index 459938ea759..e63f3590f2b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java @@ -40,7 +40,7 @@ import forge.model.FModel; * @author Forge * @version $Id$ */ -public final class QuestData { +public class QuestData { /** Holds the latest version of the Quest Data. */ public static final int CURRENT_VERSION_NUMBER = 13; diff --git a/forge-gui/src/main/java/forge/quest/data/QuestData.java b/forge-gui/src/main/java/forge/quest/data/QuestData.java new file mode 100644 index 00000000000..2945d110abf --- /dev/null +++ b/forge-gui/src/main/java/forge/quest/data/QuestData.java @@ -0,0 +1,18 @@ +package forge.quest.data; + +import forge.game.GameFormat; +import forge.gamemodes.quest.QuestMode; +import forge.gamemodes.quest.data.DeckConstructionRules; + +@Deprecated +public final class QuestData extends forge.gamemodes.quest.data.QuestData { + + public QuestData() { + } + + public QuestData(String name0, int diff, QuestMode mode0, GameFormat userFormat, boolean allowSetUnlocks, + String startingWorld, DeckConstructionRules dcr) { + super(name0, diff, mode0, userFormat, allowSetUnlocks, startingWorld, dcr); + } + +} From aecd600367d89f8c426803452333eed28b926dde Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Wed, 17 Mar 2021 14:00:37 -0300 Subject: [PATCH 25/32] fixup! add forge.quest.data.QuestData to fix old quests --- .../forge/gamemodes/quest/data/QuestData.java | 5 +++++ .../main/java/forge/quest/data/QuestData.java | 18 ------------------ 2 files changed, 5 insertions(+), 18 deletions(-) delete mode 100644 forge-gui/src/main/java/forge/quest/data/QuestData.java diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java index e63f3590f2b..07351c2c8cf 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java @@ -108,6 +108,11 @@ public class QuestData { this.worldId = startingWorld; this.deckConstructionRules = dcr; } + + public QuestData(String name0, int diff, QuestMode mode0, GameFormat userFormat, boolean allowSetUnlocks, + String startingWorld, DeckConstructionRules dcr) { + super(name0, diff, mode0, userFormat, allowSetUnlocks, startingWorld, dcr); + } /** * Gets the mode. diff --git a/forge-gui/src/main/java/forge/quest/data/QuestData.java b/forge-gui/src/main/java/forge/quest/data/QuestData.java deleted file mode 100644 index 2945d110abf..00000000000 --- a/forge-gui/src/main/java/forge/quest/data/QuestData.java +++ /dev/null @@ -1,18 +0,0 @@ -package forge.quest.data; - -import forge.game.GameFormat; -import forge.gamemodes.quest.QuestMode; -import forge.gamemodes.quest.data.DeckConstructionRules; - -@Deprecated -public final class QuestData extends forge.gamemodes.quest.data.QuestData { - - public QuestData() { - } - - public QuestData(String name0, int diff, QuestMode mode0, GameFormat userFormat, boolean allowSetUnlocks, - String startingWorld, DeckConstructionRules dcr) { - super(name0, diff, mode0, userFormat, allowSetUnlocks, startingWorld, dcr); - } - -} From 539d4c5939cdfffd2a4da9a4666367a410582199 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Wed, 17 Mar 2021 14:04:44 -0300 Subject: [PATCH 26/32] fixup! fixup! add forge.quest.data.QuestData to fix old quests --- forge-gui-desktop/src/test/java/forge/PanelTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-desktop/src/test/java/forge/PanelTest.java b/forge-gui-desktop/src/test/java/forge/PanelTest.java index c661f4a0630..3c743236c58 100644 --- a/forge-gui-desktop/src/test/java/forge/PanelTest.java +++ b/forge-gui-desktop/src/test/java/forge/PanelTest.java @@ -33,7 +33,7 @@ public class PanelTest extends JFrame { */ @Test(timeOut = 1000, enabled = false) public void phaseTest1() { - final PanelTest p = new PanelTest(); + PanelTest p = new PanelTest(); p.setSize(300, 300); p.setVisible(true); } From 9dca989b761821814440359dc077b8b330b174d3 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 17 Mar 2021 18:27:56 +0100 Subject: [PATCH 27/32] fixes QuestIO and GauntletIO --- .../src/main/java/forge/gamemodes/gauntlet/GauntletIO.java | 3 +++ .../src/main/java/forge/gamemodes/quest/data/QuestData.java | 5 ----- .../src/main/java/forge/gamemodes/quest/io/QuestDataIO.java | 5 +++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java index cb34ce88d00..0b6dec49290 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java @@ -73,6 +73,9 @@ public class GauntletIO { }); xStream.registerConverter(new DeckSectionToXml()); xStream.autodetectAnnotations(true); + + // Alias for renamed + xStream.alias("forge.gauntlet.GauntletData", GauntletData.class); return xStream; } diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java index 07351c2c8cf..e63f3590f2b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/data/QuestData.java @@ -108,11 +108,6 @@ public class QuestData { this.worldId = startingWorld; this.deckConstructionRules = dcr; } - - public QuestData(String name0, int diff, QuestMode mode0, GameFormat userFormat, boolean allowSetUnlocks, - String startingWorld, DeckConstructionRules dcr) { - super(name0, diff, mode0, userFormat, allowSetUnlocks, startingWorld, dcr); - } /** * Gets the mode. diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java index ace3271b14e..2adc13a160b 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java @@ -137,6 +137,11 @@ public class QuestDataIO { xStream.autodetectAnnotations(true); xStream.alias("CardPool", ItemPool.class); xStream.alias("DeckSection", CardPool.class); + + // alias for renamed quest data + xStream.alias("forge.quest.data.QuestData", QuestData.class); + xStream.alias("forge.quest.data.item.QuestItemType", QuestItemType.class); + xStream.alias("forge.quest.data.QuestItemCondition", QuestItemCondition.class); return xStream; } From d0e0b11186dac3ae2b3471b6f45393a6a27a3345 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 17 Mar 2021 19:20:56 +0100 Subject: [PATCH 28/32] better alias for XStream IO --- .../src/main/java/forge/gamemodes/gauntlet/GauntletIO.java | 2 +- .../src/main/java/forge/gamemodes/quest/io/QuestDataIO.java | 4 ++-- .../main/java/forge/gamemodes/tournament/TournamentIO.java | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java index 0b6dec49290..b1233c1bebe 100644 --- a/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/gauntlet/GauntletIO.java @@ -75,7 +75,7 @@ public class GauntletIO { xStream.autodetectAnnotations(true); // Alias for renamed - xStream.alias("forge.gauntlet.GauntletData", GauntletData.class); + xStream.aliasPackage("forge.gauntlet", GauntletIO.class.getPackage().getName()); return xStream; } diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java index 2adc13a160b..bdf872ae96a 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/io/QuestDataIO.java @@ -139,9 +139,9 @@ public class QuestDataIO { xStream.alias("DeckSection", CardPool.class); // alias for renamed quest data - xStream.alias("forge.quest.data.QuestData", QuestData.class); + xStream.aliasPackage("forge.quest", "forge.gamemodes.quest"); xStream.alias("forge.quest.data.item.QuestItemType", QuestItemType.class); - xStream.alias("forge.quest.data.QuestItemCondition", QuestItemCondition.class); + return xStream; } diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java index 91f79b34aad..7e2af61a758 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/TournamentIO.java @@ -55,6 +55,7 @@ public class TournamentIO { }); xStream.registerConverter(new DeckSectionToXml()); xStream.autodetectAnnotations(true); + xStream.aliasPackage("forge.tournament", TournamentIO.class.getPackage().getName()); return xStream; } From 9c59ed75be4659590fa1dd82bb4127465581ce29 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Wed, 17 Mar 2021 22:18:49 +0000 Subject: [PATCH 29/32] Update achievement-images.txt - planeswalker achievements updated up to kaldheim --- forge-gui/res/lists/achievement-images.txt | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/forge-gui/res/lists/achievement-images.txt b/forge-gui/res/lists/achievement-images.txt index e8b79d4ba7c..8804757e071 100644 --- a/forge-gui/res/lists/achievement-images.txt +++ b/forge-gui/res/lists/achievement-images.txt @@ -1,4 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + https://downloads.cardforge.org/images/achievements/Ajani%20Goldmane.png https://downloads.cardforge.org/images/achievements/Ajani%20Steadfast.png https://downloads.cardforge.org/images/achievements/Ajani%20Unyielding.png @@ -10,8 +34,10 @@ https://downloads.cardforge.org/images/achievements/Ajani%2C%20Mentor%20of%20Her https://downloads.cardforge.org/images/achievements/Ajani%2C%20Strength%20of%20the%20Pride.png https://downloads.cardforge.org/images/achievements/Ajani%2C%20Valiant%20Protector.png https://downloads.cardforge.org/images/achievements/Ajani%2C%20Wise%20Counselor.png +https://downloads.cardforge.org/images/achievements/Ajani%2C%20the%20Greathearted.png https://downloads.cardforge.org/images/achievements/Aminatou%2C%20the%20Fateshifter.png https://downloads.cardforge.org/images/achievements/Angel%20of%20Destiny.png +https://downloads.cardforge.org/images/achievements/Angrath%2C%20Captain%20of%20Chaos.png https://downloads.cardforge.org/images/achievements/Angrath%2C%20Minotaur%20Pirate.png https://downloads.cardforge.org/images/achievements/Angrath%2C%20the%20Flame-Chained.png https://downloads.cardforge.org/images/achievements/Approach%20of%20the%20Second%20Sun.png @@ -20,6 +46,8 @@ https://downloads.cardforge.org/images/achievements/ArcaneMaster.png https://downloads.cardforge.org/images/achievements/Archenemy.png https://downloads.cardforge.org/images/achievements/Arlinn%20Kord.png https://downloads.cardforge.org/images/achievements/Arlinn%2C%20Embraced%20by%20the%20Moon.png +https://downloads.cardforge.org/images/achievements/Arlinn%2C%20Voice%20of%20the%20Pack.png +https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Dream%20Render.png https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Nightmare%20Muse.png https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Nightmare%20Weaver.png https://downloads.cardforge.org/images/achievements/Ashiok%2C%20Sculptor%20of%20Fears.png @@ -36,6 +64,7 @@ https://downloads.cardforge.org/images/achievements/Chance%20Encounter.png https://downloads.cardforge.org/images/achievements/Chance%20for%20Glory.png https://downloads.cardforge.org/images/achievements/Chandra%20Ablaze.png https://downloads.cardforge.org/images/achievements/Chandra%20Nalaar.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Acolyte%20of%20Flame.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Awakened%20Inferno.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Bold%20Pyromancer.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Fire%20Artisan.png @@ -43,6 +72,7 @@ https://downloads.cardforge.org/images/achievements/Chandra%2C%20Flame%27s%20Cat https://downloads.cardforge.org/images/achievements/Chandra%2C%20Flame%27s%20Fury.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Flamecaller.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Heart%20of%20Fire.png +https://downloads.cardforge.org/images/achievements/Chandra%2C%20Novice%20Pyromancer.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Pyrogenius.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Pyromaster.png https://downloads.cardforge.org/images/achievements/Chandra%2C%20Roaring%20Flame.png @@ -56,15 +86,18 @@ https://downloads.cardforge.org/images/achievements/Dack%20Fayden.png https://downloads.cardforge.org/images/achievements/Daretti%2C%20Ingenious%20Iconoclast.png https://downloads.cardforge.org/images/achievements/Daretti%2C%20Scrap%20Savant.png https://downloads.cardforge.org/images/achievements/Darksteel%20Reactor.png +https://downloads.cardforge.org/images/achievements/Davriel%2C%20Rogue%20Shadowmage.png https://downloads.cardforge.org/images/achievements/DeckedOut.png https://downloads.cardforge.org/images/achievements/Domain.png https://downloads.cardforge.org/images/achievements/Domri%20Rade.png +https://downloads.cardforge.org/images/achievements/Domri%2C%20Anarch%20of%20Bolas.png https://downloads.cardforge.org/images/achievements/Domri%2C%20Chaos%20Bringer.png https://downloads.cardforge.org/images/achievements/Domri%2C%20City%20Smasher.png https://downloads.cardforge.org/images/achievements/Door%20to%20Nothingness.png https://downloads.cardforge.org/images/achievements/Dovin%20Baan.png https://downloads.cardforge.org/images/achievements/Dovin%2C%20Architect%20of%20Law.png https://downloads.cardforge.org/images/achievements/Dovin%2C%20Grand%20Arbiter.png +https://downloads.cardforge.org/images/achievements/Dovin%2C%20Hand%20of%20Control.png https://downloads.cardforge.org/images/achievements/Dungeon%20Master.png https://downloads.cardforge.org/images/achievements/Elspeth%20Tirel.png https://downloads.cardforge.org/images/achievements/Elspeth%2C%20Knight-Errant.png @@ -79,6 +112,7 @@ https://downloads.cardforge.org/images/achievements/Etrata%2C%20the%20Silencer.p https://downloads.cardforge.org/images/achievements/Felidar%20Sovereign.png https://downloads.cardforge.org/images/achievements/Freyalise%2C%20Llanowar%27s%20Fury.png https://downloads.cardforge.org/images/achievements/GameWinStreak.png +https://downloads.cardforge.org/images/achievements/Garruk%20Relentless.png https://downloads.cardforge.org/images/achievements/Garruk%20Wildspeaker.png https://downloads.cardforge.org/images/achievements/Garruk%2C%20Apex%20Predator.png https://downloads.cardforge.org/images/achievements/Garruk%2C%20Caller%20of%20Beasts.png @@ -103,6 +137,7 @@ https://downloads.cardforge.org/images/achievements/Hellkite%20Tyrant.png https://downloads.cardforge.org/images/achievements/Huatli%2C%20Dinosaur%20Knight.png https://downloads.cardforge.org/images/achievements/Huatli%2C%20Radiant%20Champion.png https://downloads.cardforge.org/images/achievements/Huatli%2C%20Warrior%20Poet.png +https://downloads.cardforge.org/images/achievements/Huatli%2C%20the%20Sun%27s%20Heart.png https://downloads.cardforge.org/images/achievements/Jace%20Beleren.png https://downloads.cardforge.org/images/achievements/Jace%2C%20Arcane%20Strategist.png https://downloads.cardforge.org/images/achievements/Jace%2C%20Architect%20of%20Thought.png @@ -116,11 +151,19 @@ https://downloads.cardforge.org/images/achievements/Jace%2C%20Wielder%20of%20Mys https://downloads.cardforge.org/images/achievements/Jace%2C%20the%20Living%20Guildpact.png https://downloads.cardforge.org/images/achievements/Jace%2C%20the%20Mind%20Sculptor.png https://downloads.cardforge.org/images/achievements/Jaya%20Ballard.png +https://downloads.cardforge.org/images/achievements/Jaya%2C%20Venerated%20Firemage.png +https://downloads.cardforge.org/images/achievements/Jeska%2C%20Thrice%20Reborn.png +https://downloads.cardforge.org/images/achievements/Jiang%20Yanggu%2C%20Wildcrafter.png https://downloads.cardforge.org/images/achievements/Jiang%20Yanggu.png https://downloads.cardforge.org/images/achievements/Karn%20Liberated.png +https://downloads.cardforge.org/images/achievements/Karn%2C%20Scion%20of%20Urza.png +https://downloads.cardforge.org/images/achievements/Karn%2C%20the%20Great%20Creator.png +https://downloads.cardforge.org/images/achievements/Kasmina%2C%20Enigmatic%20Mentor.png https://downloads.cardforge.org/images/achievements/Kaya%20the%20Inexorable.png +https://downloads.cardforge.org/images/achievements/Kaya%2C%20Bane%20of%20the%20Dead.png https://downloads.cardforge.org/images/achievements/Kaya%2C%20Ghost%20Assassin.png https://downloads.cardforge.org/images/achievements/Kaya%2C%20Orzhov%20Usurper.png +https://downloads.cardforge.org/images/achievements/Kiora%2C%20Behemoth%20Beckoner.png https://downloads.cardforge.org/images/achievements/Kiora%2C%20Master%20of%20the%20Depths.png https://downloads.cardforge.org/images/achievements/Kiora%2C%20the%20Crashing%20Wave.png https://downloads.cardforge.org/images/achievements/Koth%20of%20the%20Hammer.png @@ -156,10 +199,12 @@ https://downloads.cardforge.org/images/achievements/Mu%20Yanling%2C%20Celestial% https://downloads.cardforge.org/images/achievements/Mu%20Yanling%2C%20Sky%20Dancer.png https://downloads.cardforge.org/images/achievements/Mu%20Yanling.png https://downloads.cardforge.org/images/achievements/Nahiri%2C%20Heir%20of%20the%20Ancients.png +https://downloads.cardforge.org/images/achievements/Nahiri%2C%20Storm%20of%20Stone.png https://downloads.cardforge.org/images/achievements/Nahiri%2C%20the%20Harbinger.png https://downloads.cardforge.org/images/achievements/Nahiri%2C%20the%20Lithomancer.png https://downloads.cardforge.org/images/achievements/Narset%20Transcendent.png https://downloads.cardforge.org/images/achievements/Narset%20of%20the%20Ancient%20Way.png +https://downloads.cardforge.org/images/achievements/Narset%2C%20Parter%20of%20Veils.png https://downloads.cardforge.org/images/achievements/Near-Death%20Experience.png https://downloads.cardforge.org/images/achievements/NeedForSpeed.png https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20Dragon-God.png @@ -167,6 +212,8 @@ https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20God-Phara https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20Planeswalker.png https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20the%20Arisen.png https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20the%20Deceiver.png +https://downloads.cardforge.org/images/achievements/Nicol%20Bolas%2C%20the%20Ravager.png +https://downloads.cardforge.org/images/achievements/Niko%20Aris.png https://downloads.cardforge.org/images/achievements/Nissa%20Revane.png https://downloads.cardforge.org/images/achievements/Nissa%20of%20Shadowed%20Boughs.png https://downloads.cardforge.org/images/achievements/Nissa%2C%20Genesis%20Mage.png @@ -183,6 +230,7 @@ https://downloads.cardforge.org/images/achievements/NoSpells.png https://downloads.cardforge.org/images/achievements/Oathbreaker.png https://downloads.cardforge.org/images/achievements/Ob%20Nixilis%20Reignited.png https://downloads.cardforge.org/images/achievements/Ob%20Nixilis%20of%20the%20Black%20Oath.png +https://downloads.cardforge.org/images/achievements/Ob%20Nixilis%2C%20the%20Hate-Twisted.png https://downloads.cardforge.org/images/achievements/Oko%2C%20Thief%20of%20Crowns.png https://downloads.cardforge.org/images/achievements/Oko%2C%20the%20Trickster.png https://downloads.cardforge.org/images/achievements/Overkill.png @@ -194,14 +242,19 @@ https://downloads.cardforge.org/images/achievements/RagsToRiches.png https://downloads.cardforge.org/images/achievements/Ral%20Zarek.png https://downloads.cardforge.org/images/achievements/Ral%2C%20Caller%20of%20Storms.png https://downloads.cardforge.org/images/achievements/Ral%2C%20Izzet%20Viceroy.png +https://downloads.cardforge.org/images/achievements/Ral%2C%20Storm%20Conduit.png https://downloads.cardforge.org/images/achievements/Revel%20in%20Riches.png +https://downloads.cardforge.org/images/achievements/Rowan%20Kenrith.png https://downloads.cardforge.org/images/achievements/Rowan%2C%20Fearless%20Sparkmage.png https://downloads.cardforge.org/images/achievements/Saheeli%20Rai.png +https://downloads.cardforge.org/images/achievements/Saheeli%2C%20Sublime%20Artificer.png https://downloads.cardforge.org/images/achievements/Saheeli%2C%20the%20Gifted.png +https://downloads.cardforge.org/images/achievements/Samut%2C%20Tyrant%20Smasher.png https://downloads.cardforge.org/images/achievements/Samut%2C%20the%20Tested.png https://downloads.cardforge.org/images/achievements/Sarkhan%20Unbroken.png https://downloads.cardforge.org/images/achievements/Sarkhan%20Vol.png https://downloads.cardforge.org/images/achievements/Sarkhan%20the%20Mad.png +https://downloads.cardforge.org/images/achievements/Sarkhan%20the%20Masterless.png https://downloads.cardforge.org/images/achievements/Sarkhan%2C%20Dragonsoul.png https://downloads.cardforge.org/images/achievements/Sarkhan%2C%20Fireblood.png https://downloads.cardforge.org/images/achievements/Sarkhan%2C%20the%20Dragonspeaker.png @@ -213,15 +266,20 @@ https://downloads.cardforge.org/images/achievements/Sorin%2C%20Imperious%20Blood https://downloads.cardforge.org/images/achievements/Sorin%2C%20Lord%20of%20Innistrad.png https://downloads.cardforge.org/images/achievements/Sorin%2C%20Solemn%20Visitor.png https://downloads.cardforge.org/images/achievements/Sorin%2C%20Vampire%20Lord.png +https://downloads.cardforge.org/images/achievements/Sorin%2C%20Vengeful%20Bloodlord.png https://downloads.cardforge.org/images/achievements/StormChaser.png +https://downloads.cardforge.org/images/achievements/Tamiyo%2C%20Collector%20of%20Tales.png https://downloads.cardforge.org/images/achievements/Tamiyo%2C%20Field%20Researcher.png https://downloads.cardforge.org/images/achievements/Tamiyo%2C%20the%20Moon%20Sage.png https://downloads.cardforge.org/images/achievements/Teferi%2C%20Hero%20of%20Dominaria.png https://downloads.cardforge.org/images/achievements/Teferi%2C%20Master%20of%20Time.png https://downloads.cardforge.org/images/achievements/Teferi%2C%20Temporal%20Archmage.png +https://downloads.cardforge.org/images/achievements/Teferi%2C%20Time%20Raveler.png https://downloads.cardforge.org/images/achievements/Teferi%2C%20Timebender.png https://downloads.cardforge.org/images/achievements/Teferi%2C%20Timeless%20Voyager.png https://downloads.cardforge.org/images/achievements/Test%20of%20Endurance.png +https://downloads.cardforge.org/images/achievements/Tevesh%20Szat%2C%20Doom%20of%20Fools.png +https://downloads.cardforge.org/images/achievements/Teyo%2C%20the%20Shieldmage.png https://downloads.cardforge.org/images/achievements/Tezzeret%20the%20Schemer.png https://downloads.cardforge.org/images/achievements/Tezzeret%20the%20Seeker.png https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Agent%20of%20Bolas.png @@ -232,7 +290,9 @@ https://downloads.cardforge.org/images/achievements/Tezzeret%2C%20Master%20of%20 https://downloads.cardforge.org/images/achievements/Thassa%27s%20Oracle.png https://downloads.cardforge.org/images/achievements/The%20Cheese%20Stands%20Alone.png https://downloads.cardforge.org/images/achievements/The%20Royal%20Scions.png +https://downloads.cardforge.org/images/achievements/The%20Wanderer.png https://downloads.cardforge.org/images/achievements/Tibalt%2C%20Cosmic%20Impostor.png +https://downloads.cardforge.org/images/achievements/Tibalt%2C%20Rakish%20Instigator.png https://downloads.cardforge.org/images/achievements/Tibalt%2C%20the%20Fiend-Blooded.png https://downloads.cardforge.org/images/achievements/TinyLeaders.png https://downloads.cardforge.org/images/achievements/TotalGameWins.png @@ -240,12 +300,15 @@ https://downloads.cardforge.org/images/achievements/TotalMatchWins.png https://downloads.cardforge.org/images/achievements/TotalPuzzlesSolved.png https://downloads.cardforge.org/images/achievements/Triskaidekaphobia.png https://downloads.cardforge.org/images/achievements/Tyvar%20Kell.png +https://downloads.cardforge.org/images/achievements/Ugin%2C%20the%20Ineffable.png https://downloads.cardforge.org/images/achievements/Ugin%2C%20the%20Spirit%20Dragon.png +https://downloads.cardforge.org/images/achievements/Valki%2C%20God%20of%20Lies.png https://downloads.cardforge.org/images/achievements/Vanguard.png https://downloads.cardforge.org/images/achievements/Venser%2C%20the%20Sojourner.png https://downloads.cardforge.org/images/achievements/Vivien%20Reid.png https://downloads.cardforge.org/images/achievements/Vivien%20of%20the%20Arkbow.png https://downloads.cardforge.org/images/achievements/Vivien%2C%20Arkbow%20Ranger.png +https://downloads.cardforge.org/images/achievements/Vivien%2C%20Champion%20of%20the%20Wilds.png https://downloads.cardforge.org/images/achievements/Vivien%2C%20Monsters%27%20Advocate.png https://downloads.cardforge.org/images/achievements/Vivien%2C%20Nature%27s%20Avenger.png https://downloads.cardforge.org/images/achievements/Vraska%20the%20Unseen.png @@ -253,5 +316,7 @@ https://downloads.cardforge.org/images/achievements/Vraska%2C%20Golgari%20Queen. https://downloads.cardforge.org/images/achievements/Vraska%2C%20Regal%20Gorgon.png https://downloads.cardforge.org/images/achievements/Vraska%2C%20Relic%20Seeker.png https://downloads.cardforge.org/images/achievements/Vraska%2C%20Scheming%20Gorgon.png +https://downloads.cardforge.org/images/achievements/Vraska%2C%20Swarm%27s%20Eminence.png +https://downloads.cardforge.org/images/achievements/Will%20Kenrith.png https://downloads.cardforge.org/images/achievements/Wrenn%20and%20Six.png https://downloads.cardforge.org/images/achievements/Xenagos%2C%20the%20Reveler.png From 1d874760f1b258d117c51bfabb5fad11bdaae33f Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Wed, 17 Mar 2021 22:19:36 +0000 Subject: [PATCH 30/32] cleanup --- forge-gui/res/lists/achievement-images.txt | 25 ---------------------- 1 file changed, 25 deletions(-) diff --git a/forge-gui/res/lists/achievement-images.txt b/forge-gui/res/lists/achievement-images.txt index 8804757e071..628a61962c6 100644 --- a/forge-gui/res/lists/achievement-images.txt +++ b/forge-gui/res/lists/achievement-images.txt @@ -1,28 +1,3 @@ - - - - - - - - - - - - - - - - - - - - - - - - - https://downloads.cardforge.org/images/achievements/Ajani%20Goldmane.png https://downloads.cardforge.org/images/achievements/Ajani%20Steadfast.png https://downloads.cardforge.org/images/achievements/Ajani%20Unyielding.png From 69c17586aa36537bf32f89d3aa7529628fefd5f2 Mon Sep 17 00:00:00 2001 From: Lyu Zong-Hong Date: Thu, 18 Mar 2021 13:26:15 +0900 Subject: [PATCH 31/32] Refactor AddPhase effect and add World at War --- .../game/ability/effects/AddPhaseEffect.java | 68 ++++++++++---- .../java/forge/game/phase/ExtraPhase.java | 29 ++++++ .../java/forge/game/phase/PhaseHandler.java | 74 ++++++++++----- .../main/java/forge/game/phase/PhaseType.java | 89 +++++++++++-------- .../res/cardsfolder/a/aggravated_assault.txt | 3 +- .../cardsfolder/a/aurelia_the_warleader.txt | 3 +- .../res/cardsfolder/b/breath_of_fury.txt | 3 +- .../res/cardsfolder/c/combat_celebrant.txt | 2 +- .../d/drench_the_soil_in_their_blood.txt | 3 +- forge-gui/res/cardsfolder/f/finest_hour.txt | 3 +- .../res/cardsfolder/f/fury_of_the_horde.txt | 2 +- .../res/cardsfolder/g/godo_bandit_warlord.txt | 3 +- .../res/cardsfolder/h/hellkite_charger.txt | 3 +- .../res/cardsfolder/i/illusionists_gambit.txt | 3 +- .../res/cardsfolder/l/lightning_runner.txt | 3 +- .../cardsfolder/m/moraug_fury_of_akoum.txt | 5 +- .../n/najeela_the_blade_blossom.txt | 3 +- forge-gui/res/cardsfolder/p/paradox_haze.txt | 1 - forge-gui/res/cardsfolder/p/port_razer.txt | 2 +- .../res/cardsfolder/r/relentless_assault.txt | 3 +- .../res/cardsfolder/r/response_resurgence.txt | 2 +- .../res/cardsfolder/s/savage_beating.txt | 3 +- .../cardsfolder/s/scourge_of_the_throne.txt | 3 +- forge-gui/res/cardsfolder/s/seize_the_day.txt | 3 +- forge-gui/res/cardsfolder/s/sokenzan.txt | 3 +- .../s/sphinx_of_the_second_sun.txt | 2 +- .../res/cardsfolder/w/waves_of_aggression.txt | 3 +- forge-gui/res/cardsfolder/w/world_at_war.txt | 8 ++ 28 files changed, 213 insertions(+), 119 deletions(-) create mode 100644 forge-game/src/main/java/forge/game/phase/ExtraPhase.java create mode 100644 forge-gui/res/cardsfolder/w/world_at_war.txt diff --git a/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java index b10a6919e9f..188a61bca99 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java @@ -1,9 +1,16 @@ package forge.game.ability.effects; +import java.util.ArrayList; +import java.util.List; + +import forge.game.ability.AbilityFactory; import forge.game.ability.SpellAbilityEffect; +import forge.game.phase.ExtraPhase; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.spellability.SpellAbility; +import forge.game.trigger.Trigger; +import forge.game.trigger.TriggerHandler; /** * TODO: Write javadoc for this type. @@ -13,32 +20,55 @@ public class AddPhaseEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { + boolean isTopsy = sa.getActivatingPlayer().hasKeyword("The phases of your turn are reversed."); PhaseHandler phaseHandler = sa.getActivatingPlayer().getGame().getPhaseHandler(); - PhaseType extra = PhaseType.smartValueOf(sa.getParam("ExtraPhase")); + PhaseType currentPhase = phaseHandler.getPhase(); - PhaseType after; + // Check for World at War - may need to be moved to SpellAbilityCondition later? + if (sa.hasParam("BeforeFirstPostCombatMainEnd")) { + if (!phaseHandler.beforeFirstPostCombatMainEnd()) { + return; + } + } + + PhaseType afterPhase; if (sa.hasParam("AfterPhase")) { - after = PhaseType.smartValueOf(sa.getParam("AfterPhase")); + afterPhase = PhaseType.smartValueOf(sa.getParam("AfterPhase")); } else { - // If "AfterPhase" param is missing it means the added Phase comes after this Phase - after = phaseHandler.getPhase(); + // If "AfterPhase" param is missing it means the added Phase comes afterPhase this Phase + afterPhase = currentPhase; } - phaseHandler.addExtraPhase(after, extra); - + + // The original next phase following afterPhase + PhaseType nextPhase = PhaseType.getNext(afterPhase, isTopsy); + List extraPhaseList = new ArrayList<>(); + + // Insert ExtraPhase + String extra = sa.getParam("ExtraPhase"); + if (extra.equals("Beginning")) { + extraPhaseList.addAll(PhaseType.PHASE_GROUPS.get(0)); + } else if (extra.equals("Combat")) { + extraPhaseList.addAll(PhaseType.PHASE_GROUPS.get(2)); + } else { // Currently no effect will add End Phase + extraPhaseList.add(PhaseType.smartValueOf(extra)); + } + + // Insert FollowedBy if (sa.hasParam("FollowedBy")) { - String followedBy = sa.getParam("FollowedBy"); - PhaseType followingExtra; - if ("ThisPhase".equals(followedBy)) { - followingExtra = phaseHandler.getPhase(); - } else { - followingExtra = PhaseType.smartValueOf(followedBy); - } - PhaseType followingAfter = extra.equals(PhaseType.COMBAT_BEGIN) ? PhaseType.COMBAT_END : extra; - if (sa.hasParam("AdditionalBeginningPhase")) { - followingAfter = extra.equals(PhaseType.UNTAP) ? PhaseType.DRAW : extra; - } - phaseHandler.addExtraPhase(followingAfter, followingExtra); + // Currently all FollowedBy are Main2 phase, which has no step + PhaseType followingExtra = PhaseType.smartValueOf(sa.getParam("FollowedBy")); + extraPhaseList.add(followingExtra); + } + + ExtraPhase extraPhase = phaseHandler.addExtraPhase(afterPhase, extraPhaseList, nextPhase); + + if (sa.hasParam("ExtraPhaseDelayedTrigger")) { + final Trigger delTrig = TriggerHandler.parseTrigger(sa.getSVar(sa.getParam("ExtraPhaseDelayedTrigger")), sa.getHostCard(), true); + SpellAbility overridingSA = AbilityFactory.getAbility(sa.getSVar(sa.getParam("ExtraPhaseDelayedTriggerExcute")), sa.getHostCard()); + overridingSA.setActivatingPlayer(sa.getActivatingPlayer()); + delTrig.setOverridingAbility(overridingSA); + extraPhase.addTrigger(delTrig); } } } diff --git a/forge-game/src/main/java/forge/game/phase/ExtraPhase.java b/forge-game/src/main/java/forge/game/phase/ExtraPhase.java new file mode 100644 index 00000000000..39bcde41018 --- /dev/null +++ b/forge-game/src/main/java/forge/game/phase/ExtraPhase.java @@ -0,0 +1,29 @@ +package forge.game.phase; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import forge.game.trigger.Trigger; + +public class ExtraPhase { + private final PhaseType phase; + private List delTrig = Collections.synchronizedList(new ArrayList<>()); + + public ExtraPhase(PhaseType phase) { + this.phase = phase; + } + + public PhaseType getPhase() { + return phase; + } + + public void addTrigger(Trigger deltrigger) { + this.delTrig.add(deltrigger); + } + + public List getDelayedTriggers() { + return delTrig; + } + +} diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index b472584cac8..faaba5756c2 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -17,8 +17,6 @@ */ package forge.game.phase; -import java.util.ArrayDeque; -import java.util.Deque; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -96,12 +94,12 @@ public class PhaseHandler implements java.io.Serializable { private int turn = 0; private final transient Stack extraTurns = new Stack<>(); - private final transient Map> DextraPhases = Maps.newEnumMap(PhaseType.class); + private final transient Map> extraPhases = Maps.newEnumMap(PhaseType.class); private int nUpkeepsThisTurn = 0; private int nUpkeepsThisGame = 0; private int nCombatsThisTurn = 0; - private int nMain1sThisTurn = 0; + private int nMain2sThisTurn = 0; private boolean bPreventCombatDamageThisTurn = false; private int planarDiceRolledthisTurn = 0; @@ -178,12 +176,14 @@ public class PhaseHandler implements java.io.Serializable { else { // If the phase that's ending has a stack of additional phases // Take the LIFO one and move to that instead of the normal one - if (DextraPhases.containsKey(phase)) { - PhaseType nextPhase = DextraPhases.get(phase).removeFirst(); + ExtraPhase extraPhase = null; + if (extraPhases.containsKey(phase)) { + extraPhase = extraPhases.get(phase).pop(); + PhaseType nextPhase = extraPhase.getPhase(); // If no more additional phases are available, remove it from the map // and let the next add, reput the key - if (DextraPhases.get(phase).isEmpty()) { - DextraPhases.remove(phase); + if (extraPhases.get(phase).isEmpty()) { + extraPhases.remove(phase); } setPhase(nextPhase); } @@ -206,6 +206,12 @@ public class PhaseHandler implements java.io.Serializable { advanceToNextPhase(); return; } + + if (extraPhase != null) { + for (Trigger deltrig : extraPhase.getDelayedTriggers()) { + game.getTriggerHandler().registerThisTurnDelayedTrigger(deltrig); + } + } } game.getStack().clearUndoStack(); //can't undo action from previous phase @@ -214,6 +220,7 @@ public class PhaseHandler implements java.io.Serializable { if (turnEnded) { turn++; + extraPhases.clear(); game.updateTurnForView(); game.fireEvent(new GameEventTurnBegan(playerTurn, turn)); @@ -288,7 +295,7 @@ public class PhaseHandler implements java.io.Serializable { break; case MAIN1: - if (isPreCombatMain()) { + { if (playerTurn.isArchenemy()) { playerTurn.setSchemeInMotion(); } @@ -430,7 +437,7 @@ public class PhaseHandler implements java.io.Serializable { } nUpkeepsThisTurn = 0; - nMain1sThisTurn = 0; + nMain2sThisTurn = 0; game.getStack().resetMaxDistinctSources(); // Rule 514.3 @@ -500,10 +507,6 @@ public class PhaseHandler implements java.io.Serializable { game.getUpkeep().registerUntilEndCommand(playerTurn); break; - case MAIN1: - nMain1sThisTurn++; - break; - case COMBAT_END: GameEventCombatEnded eventEndCombat = null; if (combat != null) { @@ -521,6 +524,10 @@ public class PhaseHandler implements java.io.Serializable { } break; + case MAIN2: + nMain2sThisTurn++; + break; + case CLEANUP: bPreventCombatDamageThisTurn = false; if (!bRepeatCleanup) { @@ -932,13 +939,36 @@ public class PhaseHandler implements java.io.Serializable { return result; } - public final void addExtraPhase(final PhaseType afterPhase, final PhaseType extraPhase) { + /** + * Add an extra phase between afterPhase and nextPhase + * @param afterPhase The phase to add extra phase after + * @param extraPhaseList The list of extra phase(s) to be added + * @param nextPhase The original next phase following afterPhase, after extra phase the flow will return to this phase + * @return returns the added ExtraPhase object + */ + public final ExtraPhase addExtraPhase(final PhaseType afterPhase, final List extraPhaseList, PhaseType nextPhase) { // 500.8. Some effects can add phases to a turn. They do this by adding the phases directly after the specified phase. // If multiple extra phases are created after the same phase, the most recently created phase will occur first. - if (!DextraPhases.containsKey(afterPhase)) { - DextraPhases.put(afterPhase, new ArrayDeque<>()); + for (int i = 0; i < extraPhaseList.size(); i++) { + PhaseType extra = extraPhaseList.get(i); + if (!extraPhases.containsKey(extra)) { + extraPhases.put(extra, new Stack<>()); + } + if (i < extraPhaseList.size() - 1 ) { + extraPhases.get(extra).push(new ExtraPhase(extraPhaseList.get(i + 1))); + } else { + if (extraPhases.containsKey(afterPhase) && !extraPhases.get(afterPhase).isEmpty()) { + // Extra phase(s) was inserted already, link to the first step of inserted extra phase(s) + extraPhases.get(extra).push(extraPhases.get(afterPhase).pop()); + } else { + extraPhases.get(extra).push(new ExtraPhase(nextPhase)); + } + } } - DextraPhases.get(afterPhase).addFirst(extraPhase); + if (!extraPhases.containsKey(afterPhase)) { + extraPhases.put(afterPhase, new Stack<>()); + } + return extraPhases.get(afterPhase).push(new ExtraPhase(extraPhaseList.get(0))); } public final boolean isFirstCombat() { @@ -955,7 +985,11 @@ public class PhaseHandler implements java.io.Serializable { public final boolean isPreCombatMain() { // 505.1a. Only the first main phase of the turn is a precombat main phase. - return is(PhaseType.MAIN1) && (nMain1sThisTurn == 0); + return is(PhaseType.MAIN1); + } + + public final boolean beforeFirstPostCombatMainEnd() { + return (nMain2sThisTurn == 0); } private final static boolean DEBUG_PHASES = false; @@ -1178,7 +1212,7 @@ public class PhaseHandler implements java.io.Serializable { public final void endTurnByEffect() { endCombat(); - DextraPhases.clear(); + extraPhases.clear(); setPhase(PhaseType.CLEANUP); onPhaseBegin(); } diff --git a/forge-game/src/main/java/forge/game/phase/PhaseType.java b/forge-game/src/main/java/forge/game/phase/PhaseType.java index 045a2ce1688..7bb60d98830 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseType.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseType.java @@ -1,15 +1,14 @@ package forge.game.phase; -import java.util.ArrayList; import java.util.Arrays; import java.util.EnumSet; import java.util.List; +import java.util.Map; import java.util.Set; +import com.google.common.collect.Maps; import org.apache.commons.lang3.StringUtils; -import com.google.common.collect.Lists; - import forge.util.Localizer; @@ -33,25 +32,28 @@ public enum PhaseType { Arrays.asList(MAIN1), Arrays.asList(COMBAT_BEGIN, COMBAT_DECLARE_ATTACKERS, COMBAT_DECLARE_BLOCKERS, COMBAT_FIRST_STRIKE_DAMAGE, COMBAT_DAMAGE, COMBAT_END), Arrays.asList(MAIN2), - Arrays.asList(END_OF_TURN) + Arrays.asList(END_OF_TURN), + Arrays.asList(CLEANUP) ); - public static List AllPhases() { - return AllPhases(false); - } + private static final Map PHASE_INDEX = initializePhaseIndex(); - public static List AllPhases(boolean isTopsy) { - List result = new ArrayList(); - List> phase_groups = PHASE_GROUPS; - if (isTopsy) { - phase_groups = Lists.reverse(phase_groups); - } - for (final List group : phase_groups) { - result.addAll(group); - } - result.add(CLEANUP); // Some cards get confused if cleanup isn't last, it works better this way. - - return result; + private static final Map initializePhaseIndex() { + Map phaseIndex = Maps.newEnumMap(PhaseType.class); + phaseIndex.put(UNTAP, 0); + phaseIndex.put(UPKEEP, 0); + phaseIndex.put(DRAW, 0); + phaseIndex.put(MAIN1, 1); + phaseIndex.put(COMBAT_BEGIN, 2); + phaseIndex.put(COMBAT_DECLARE_ATTACKERS, 2); + phaseIndex.put(COMBAT_DECLARE_BLOCKERS, 2); + phaseIndex.put(COMBAT_FIRST_STRIKE_DAMAGE, 2); + phaseIndex.put(COMBAT_DAMAGE, 2); + phaseIndex.put(COMBAT_END, 2); + phaseIndex.put(MAIN2, 3); + phaseIndex.put(END_OF_TURN, 4); + phaseIndex.put(CLEANUP, 5); + return phaseIndex; } public final String nameForUi; @@ -62,21 +64,8 @@ public enum PhaseType { nameForScripts = name_for_scripts; } - - public final boolean phaseforUpdateField() { - return ((AllPhases().indexOf(this) >= AllPhases().indexOf(UNTAP) - && AllPhases().indexOf(this) < AllPhases().indexOf(COMBAT_FIRST_STRIKE_DAMAGE)) - || (AllPhases().indexOf(this) >= AllPhases().indexOf(MAIN2) - && AllPhases().indexOf(this) < AllPhases().indexOf(CLEANUP))); - } - - public final boolean isCombatPhase() { - return ((AllPhases().indexOf(this) >= AllPhases().indexOf(COMBAT_BEGIN)) - && (AllPhases().indexOf(this) <= AllPhases().indexOf(COMBAT_END))); - } - public final boolean isAfter(final PhaseType phase) { - return AllPhases().indexOf(this) > AllPhases().indexOf(phase); + return isBefore(phase, true); } public final boolean isMain() { @@ -88,7 +77,13 @@ public enum PhaseType { } public final boolean isBefore(final PhaseType phase, boolean isTopsy) { - return AllPhases(isTopsy).indexOf(this) < AllPhases(isTopsy).indexOf(phase); + int thisPhaseIndex = PHASE_INDEX.get(this); + int cmpPhaseIndex = PHASE_INDEX.get(phase); + if (thisPhaseIndex == cmpPhaseIndex) { + final List phaseGroup = PHASE_GROUPS.get(thisPhaseIndex); + return isTopsy ? phaseGroup.indexOf(this) > phaseGroup.indexOf(phase) : phaseGroup.indexOf(this) < phaseGroup.indexOf(phase); + } + return isTopsy ? thisPhaseIndex > cmpPhaseIndex : thisPhaseIndex < cmpPhaseIndex; } public static PhaseType smartValueOf(final String value) { @@ -133,7 +128,9 @@ public enum PhaseType { if (current == null) { return true; } - return AllPhases(isTopsy).indexOf(current) == AllPhases(isTopsy).size() - 1; + // Some cards get confused if cleanup isn't last (comment from who initially implemented Topsy Turvy) + // So the last phase will always be CLEANUP even if isTopsy == true + return current == CLEANUP; } /** @@ -141,10 +138,24 @@ public enum PhaseType { * @return */ public static PhaseType getNext(PhaseType current, boolean isTopsy) { - int iNext = AllPhases(isTopsy).indexOf(current) + 1; - if (iNext >= AllPhases(isTopsy).size()) { - iNext = 0; + if (current == null) return PHASE_GROUPS.get(0).get(0); + int phaseIndex = PHASE_INDEX.get(current); + final List phaseGroup = PHASE_GROUPS.get(phaseIndex); + int nextStepIndex = phaseGroup.indexOf(current) + 1; + if (nextStepIndex >= phaseGroup.size()) { + nextStepIndex = 0; + if (!isTopsy) { + phaseIndex += 1; + if (phaseIndex >= PHASE_GROUPS.size()) { + phaseIndex = 0; + } + } else { + phaseIndex -= 1; + if (phaseIndex < 0) { + phaseIndex = PHASE_GROUPS.size() - 1; + } + } } - return AllPhases(isTopsy).get(iNext); + return PHASE_GROUPS.get(phaseIndex).get(nextStepIndex); } } diff --git a/forge-gui/res/cardsfolder/a/aggravated_assault.txt b/forge-gui/res/cardsfolder/a/aggravated_assault.txt index 65159a1822e..f604f236c83 100644 --- a/forge-gui/res/cardsfolder/a/aggravated_assault.txt +++ b/forge-gui/res/cardsfolder/a/aggravated_assault.txt @@ -2,6 +2,5 @@ Name:Aggravated Assault ManaCost:2 R Types:Enchantment A:AB$ UntapAll | Cost$ 3 R R | ValidCards$ Creature.YouCtrl | SubAbility$ DBAddCombat | SorcerySpeed$ True | SpellDescription$ Untap all creatures you control. After this main phase, there is an additional combat phase followed by an additional main phase. Activate this ability only any time you could cast a sorcery. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 -SVar:Picture:http://www.wizards.com/global/images/magic/general/aggravated_assault.jpg +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:{3}{R}{R}: Untap all creatures you control. After this main phase, there is an additional combat phase followed by an additional main phase. Activate this ability only any time you could cast a sorcery. diff --git a/forge-gui/res/cardsfolder/a/aurelia_the_warleader.txt b/forge-gui/res/cardsfolder/a/aurelia_the_warleader.txt index b9c0942a300..3369b69aca4 100644 --- a/forge-gui/res/cardsfolder/a/aurelia_the_warleader.txt +++ b/forge-gui/res/cardsfolder/a/aurelia_the_warleader.txt @@ -7,7 +7,6 @@ K:Vigilance K:Haste T:Mode$ Attacks | ValidCard$ Creature.Self | TriggerZones$ Battlefield | Execute$ TrigUntap | FirstAttack$ True | TriggerDescription$ Whenever CARDNAME attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase. SVar:TrigUntap:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/aurelia_the_warleader.jpg Oracle:Flying, vigilance, haste\nWhenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/b/breath_of_fury.txt b/forge-gui/res/cardsfolder/b/breath_of_fury.txt index e5c3ed18d16..f0002b0e021 100644 --- a/forge-gui/res/cardsfolder/b/breath_of_fury.txt +++ b/forge-gui/res/cardsfolder/b/breath_of_fury.txt @@ -9,8 +9,7 @@ SVar:TrigSacrifice:DB$ SacrificeAll | ValidCards$ Card.EnchantedBy | SubAbility$ SVar:StillFurious:DB$ Attach | Defined$ ChosenCard | ConditionCheckSVar$ WasSacced | ConditionSVarCompare$ EQ1 | SubAbility$ Cleanup SVar:Cleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ CatchBreath SVar:CatchBreath:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ TheFuryContinues -SVar:TheFuryContinues:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:TheFuryContinues:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat SVar:WasSacced:Remembered$Amount AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/breath_of_fury.jpg Oracle:Enchant creature you control\nWhen enchanted creature deals combat damage to a player, sacrifice it and attach Breath of Fury to a creature you control. If you do, untap all creatures you control and after this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/c/combat_celebrant.txt b/forge-gui/res/cardsfolder/c/combat_celebrant.txt index 322720c053f..44d6b39e46e 100644 --- a/forge-gui/res/cardsfolder/c/combat_celebrant.txt +++ b/forge-gui/res/cardsfolder/c/combat_celebrant.txt @@ -5,5 +5,5 @@ PT:4/1 S:Mode$ Continuous | Affected$ Creature.Self+notExertedThisTurn | AddKeyword$ You may exert CARDNAME as it attacks. | Description$ If CARDNAME hasn't been exerted this turn, you may exert it as it attacks. T:Mode$ Exerted | ValidCard$ Card.Self | Execute$ TrigUntapAll | TriggerDescription$ When you exert CARDNAME, untap all other creatures you control and after this phase, there is an additional combat phase. SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl+Other | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat Oracle:If Combat Celebrant hasn't been exerted this turn, you may exert it as it attacks. When you do, untap all other creatures you control and after this phase, there is an additional combat phase. (An exerted creature won't untap during your next untap step.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/d/drench_the_soil_in_their_blood.txt b/forge-gui/res/cardsfolder/d/drench_the_soil_in_their_blood.txt index 4380729e6f6..e00dbc4c7a4 100644 --- a/forge-gui/res/cardsfolder/d/drench_the_soil_in_their_blood.txt +++ b/forge-gui/res/cardsfolder/d/drench_the_soil_in_their_blood.txt @@ -2,7 +2,6 @@ Name:Drench the Soil in Their Blood ManaCost:no cost Types:Scheme T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ BloodyCombat | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, after this main phase, there is an additional combat phase followed by an additional main phase. Creatures you control gain vigilance until end of turn. -SVar:BloodyCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 | SubAbility$ MakeVigilant +SVar:BloodyCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 | SubAbility$ MakeVigilant SVar:MakeVigilant:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Vigilance -SVar:Picture:https://downloads.cardforge.org/images/cards/ARC/Drench the Soil in Their Blood.full.jpg Oracle:When you set this scheme in motion, after this main phase, there is an additional combat phase followed by an additional main phase. Creatures you control gain vigilance until end of turn. diff --git a/forge-gui/res/cardsfolder/f/finest_hour.txt b/forge-gui/res/cardsfolder/f/finest_hour.txt index 6a2515cb696..3a43f2a5528 100644 --- a/forge-gui/res/cardsfolder/f/finest_hour.txt +++ b/forge-gui/res/cardsfolder/f/finest_hour.txt @@ -4,7 +4,6 @@ Types:Enchantment K:Exalted T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigUntap | FirstCombat$ True | TriggerDescription$ Whenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase. SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttacker | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/finest_hour.jpg Oracle:Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)\nWhenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt b/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt index 18b6b3a4848..71b75ce9046 100644 --- a/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt +++ b/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt @@ -3,5 +3,5 @@ ManaCost:5 R R Types:Sorcery SVar:AltCost:Cost$ ExileFromHand<2/Card.Red+Other> | Description$ You may exile two red cards from your hand rather than pay this spell's mana cost. A:SP$ UntapAll | Cost$ 5 R R | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat | SpellDescription$ Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:You may exile two red cards from your hand rather than pay this spell's mana cost.\nUntap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. diff --git a/forge-gui/res/cardsfolder/g/godo_bandit_warlord.txt b/forge-gui/res/cardsfolder/g/godo_bandit_warlord.txt index 3ba407e3883..ca4b40a05fa 100644 --- a/forge-gui/res/cardsfolder/g/godo_bandit_warlord.txt +++ b/forge-gui/res/cardsfolder/g/godo_bandit_warlord.txt @@ -6,7 +6,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigTutorEquip:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Equipment | ChangeNum$ 1 | ShuffleNonMandatory$ True T:Mode$ Attacks | ValidCard$ Creature.Self | TriggerZones$ Battlefield | Execute$ TrigUntap | FirstAttack$ True | TriggerDescription$ Whenever CARDNAME attacks for the first time each turn, untap it and all Samurai you control. After this phase, there is an additional combat phase. SVar:TrigUntap:DB$ UntapAll | ValidCards$ Card.Self,Samurai.YouCtrl | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat DeckHints:Type$Samurai|Equipment -SVar:Picture:http://www.wizards.com/global/images/magic/general/godo_bandit_warlord.jpg Oracle:When Godo, Bandit Warlord enters the battlefield, you may search your library for an Equipment card and put it onto the battlefield. If you do, shuffle your library.\nWhenever Godo attacks for the first time each turn, untap it and all Samurai you control. After this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/h/hellkite_charger.txt b/forge-gui/res/cardsfolder/h/hellkite_charger.txt index 1fcc95e0011..25c0e94d581 100644 --- a/forge-gui/res/cardsfolder/h/hellkite_charger.txt +++ b/forge-gui/res/cardsfolder/h/hellkite_charger.txt @@ -6,7 +6,6 @@ K:Flying K:Haste T:Mode$ Attacks | ValidCard$ Creature.Self | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever CARDNAME attacks, you may pay {5}{R}{R}. If you do, untap all attacking creatures and after this phase, there is an additional combat phase. SVar:TrigUntap:AB$ UntapAll | Cost$ 5 R R | ValidCards$ Creature.attacking | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/hellkite_charger.jpg Oracle:Flying, haste\nWhenever Hellkite Charger attacks, you may pay {5}{R}{R}. If you do, untap all attacking creatures and after this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/i/illusionists_gambit.txt b/forge-gui/res/cardsfolder/i/illusionists_gambit.txt index 92487771cf4..021b16da5aa 100644 --- a/forge-gui/res/cardsfolder/i/illusionists_gambit.txt +++ b/forge-gui/res/cardsfolder/i/illusionists_gambit.txt @@ -3,12 +3,11 @@ ManaCost:2 U U Types:Instant A:SP$ RemoveFromCombat | Cost$ 2 U U | Defined$ Valid Creature.attacking | ActivationPhases$ Declare Blockers | OpponentTurn$ True | RememberRemovedFromCombat$ True | SubAbility$ DBUntap | SpellDescription$ Cast CARDNAME only on the declare blockers step on an opponent's turn. Remove all attacking creatures from combat and untap them. After this phase, there is an additional combat phase. Each of those creatures attacks that combat if able. They can't attack you or a planeswalker you control that combat. SVar:DBUntap:DB$ Untap | Defined$ Remembered | SubAbility$ DBAddPhase -SVar:DBAddPhase:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat | SubAbility$ DBDelayedEffect +SVar:DBAddPhase:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat | SubAbility$ DBDelayedEffect SVar:DBDelayedEffect:DB$ DelayedTrigger | Mode$ Phase | Phase$ BeginCombat | Execute$ DBEffect | Static$ True SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ STCantAttack,STMustAttack | SubAbility$ DBCleanup | Duration$ UntilEndOfCombat SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:STCantAttack:Mode$ CantAttack | EffectZone$ Command | ValidCard$ Creature.IsRemembered | Target$ You,Planeswalker.YouCtrl | Description$ Each of those creatures attacks that combat if able. SVar:STMustAttack:Mode$ Continuous | EffectZone$ Command | ValidCard$ Creature.IsRemembered | AddHiddenKeyword$ CARDNAME attacks each combat if able. AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/illusionists_gambit.jpg Oracle:Cast this spell only during the declare blockers step on an opponent's turn.\nRemove all attacking creatures from combat and untap them. After this phase, there is an additional combat phase. Each of those creatures attacks that combat if able. They can't attack you or a planeswalker you control that combat. diff --git a/forge-gui/res/cardsfolder/l/lightning_runner.txt b/forge-gui/res/cardsfolder/l/lightning_runner.txt index 0ccb8a22aba..a043ccca095 100644 --- a/forge-gui/res/cardsfolder/l/lightning_runner.txt +++ b/forge-gui/res/cardsfolder/l/lightning_runner.txt @@ -7,7 +7,6 @@ K:Haste T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigEnergy | TriggerDescription$ Whenever CARDNAME attacks, you get {E}{E} (two energy counters), then you may pay {E}{E}{E}{E}{E}{E}{E}{E}. If you pay, untap all creatures you control, and after this phase, there is an additional combat phase. SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 2 | SubAbility$ DBUntapAll SVar:DBUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ DBAddCombat | UnlessCost$ PayEnergy<8> | UnlessPayer$ You | UnlessSwitched$ True | UnlessResolveSubs$ WhenPaid | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat SVar:PlayMain1:TRUE -SVar:Picture:http://www.wizards.com/global/images/magic/general/lightning_runner.jpg Oracle:Double strike, haste\nWhenever Lightning Runner attacks, you get {E}{E} (two energy counters), then you may pay {E}{E}{E}{E}{E}{E}{E}{E}. If you pay, untap all creatures you control, and after this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/m/moraug_fury_of_akoum.txt b/forge-gui/res/cardsfolder/m/moraug_fury_of_akoum.txt index 8b2834eaadc..105983e0e91 100644 --- a/forge-gui/res/cardsfolder/m/moraug_fury_of_akoum.txt +++ b/forge-gui/res/cardsfolder/m/moraug_fury_of_akoum.txt @@ -5,8 +5,7 @@ PT:6/6 S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ AffectedX | Description$ Each creature you control gets +1/+0 for each time it has attacked this turn. SVar:AffectedX:Count$CardNumAttacksThisTurn T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | PlayerTurn$ True | Phase$ Main1,Main2 | Execute$ TrigAddPhase | TriggerDescription$ Landfall - Whenever a land enters the battlefield under your control, if it's your main phase, there's an additional combat phase after this phase. At the beginning of that combat, untap all creatures you control. -SVar:TrigAddPhase:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ Main1 | FollowedBy$ BeginCombat | ConditionPhases$ Main1 | SubAbility$ DBAddPhase -SVar:DBAddPhase:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ Main2 | FollowedBy$ End of Turn | ConditionPhases$ Main2 | SubAbility$ DelTrigUntap -SVar:DelTrigUntap:DB$ DelayedTrigger | Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigUntapAll | TriggerDescription$ At the beginning of that combat, untap all creatures you control. +SVar:TrigAddPhase:DB$ AddPhase | ExtraPhase$ Combat | ConditionPhases$ Main1,Main2 | ExtraPhaseDelayedTrigger$ DelTrigUntap | ExtraPhaseDelayedTriggerExcute$ TrigUntapAll +SVar:DelTrigUntap:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerDescription$ At the beginning of that combat, untap all creatures you control. SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl Oracle:Each creature you control gets +1/+0 for each time it has attacked this turn.\nLandfall — Whenever a land enters the battlefield under your control, if it's your main phase, there's an additional combat phase after this phase. At the beginning of that combat, untap all creatures you control. diff --git a/forge-gui/res/cardsfolder/n/najeela_the_blade_blossom.txt b/forge-gui/res/cardsfolder/n/najeela_the_blade_blossom.txt index 7c5ace97ac4..1a34a4ef936 100644 --- a/forge-gui/res/cardsfolder/n/najeela_the_blade_blossom.txt +++ b/forge-gui/res/cardsfolder/n/najeela_the_blade_blossom.txt @@ -5,10 +5,9 @@ PT:3/2 T:Mode$ Attacks | ValidCard$ Warrior | TriggerZones$ Battlefield | Execute$ TrigToken | OptionalDecider$ You | TriggerController$ You | TriggerDescription$ Whenever a Warrior attacks, you may have its controller create a 1/1 white Warrior creature token that's tapped and attacking. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_warrior | TokenOwner$ TriggeredAttackerController | TokenTapped$ True | TokenAttacking$ True | LegacyImage$ w 1 1 warrior bbd | AILogic$ OnlyOnAlliedAttack A:AB$ UntapAll | Cost$ W U B R G | ValidCards$ Creature.attacking | ActivationPhases$ BeginCombat->EndCombat | SubAbility$ DBAddCombat | SpellDescription$ Untap all attacking creatures. They gain trample, lifelink, and haste until end of turn. After this phase, there is an additional combat phase. Activate this ability only during combat. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat | SubAbility$ DBPumpAll +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat | SubAbility$ DBPumpAll SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.attacking | KW$ Trample & Lifelink & Haste SVar:PlayMain1:TRUE DeckHints:Type$Warrior DeckHas:Ability$Token -SVar:Picture:http://www.wizards.com/global/images/magic/general/najeela_the_blade_blossom.jpg Oracle:Whenever a Warrior attacks, you may have its controller create a 1/1 white Warrior creature token that's tapped and attacking.\n{W}{U}{B}{R}{G}: Untap all attacking creatures. They gain trample, lifelink, and haste until end of turn. After this phase, there is an additional combat phase. Activate this ability only during combat. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/p/paradox_haze.txt b/forge-gui/res/cardsfolder/p/paradox_haze.txt index af890e7b25d..037333b92bf 100644 --- a/forge-gui/res/cardsfolder/p/paradox_haze.txt +++ b/forge-gui/res/cardsfolder/p/paradox_haze.txt @@ -6,5 +6,4 @@ A:SP$ Attach | Cost$ 2 U | ValidTgts$ Player T:Mode$ Phase | FirstUpkeep$ True | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ AddUpkeep | TriggerDescription$ At the beginning of enchanted player's first upkeep each turn, that player gets an additional upkeep step after this step. SVar:AddUpkeep:DB$ AddPhase | ExtraPhase$ Upkeep AI:RemoveDeck:Random -SVar:Picture:http://www.wizards.com/global/images/magic/general/paradox_haze.jpg Oracle:Enchant player\nAt the beginning of enchanted player's first upkeep each turn, that player gets an additional upkeep step after this step. diff --git a/forge-gui/res/cardsfolder/p/port_razer.txt b/forge-gui/res/cardsfolder/p/port_razer.txt index b30696da117..7dd52aa3d5e 100644 --- a/forge-gui/res/cardsfolder/p/port_razer.txt +++ b/forge-gui/res/cardsfolder/p/port_razer.txt @@ -9,6 +9,6 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ RememberPlayer | TriggerZones$ SVar:RememberPlayer:DB$ Pump | RememberObjects$ TriggeredDefendingPlayer T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigUntap | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, untap each creature you control. After this combat phase, there is an additional combat phase. SVar:TrigUntap:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat S:Mode$ CantAttack | ValidCard$ Card.Self | Target$ Player.IsRemembered | Description$ CARDNAME can't attack a player it has already attacked this turn. Oracle:Whenever Port Razer deals combat damage to a player, untap each creature you control. After this combat phase, there is an additional combat phase.\nPort Razer can't attack a player it has already attacked this turn. diff --git a/forge-gui/res/cardsfolder/r/relentless_assault.txt b/forge-gui/res/cardsfolder/r/relentless_assault.txt index 6184417ca6a..349ed383765 100644 --- a/forge-gui/res/cardsfolder/r/relentless_assault.txt +++ b/forge-gui/res/cardsfolder/r/relentless_assault.txt @@ -2,6 +2,5 @@ Name:Relentless Assault ManaCost:2 R R Types:Sorcery A:SP$ UntapAll | Cost$ 2 R R | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat | SpellDescription$ Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 -SVar:Picture:http://www.wizards.com/global/images/magic/general/relentless_assault.jpg +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. diff --git a/forge-gui/res/cardsfolder/r/response_resurgence.txt b/forge-gui/res/cardsfolder/r/response_resurgence.txt index daf8a82f347..311c09fe3e3 100644 --- a/forge-gui/res/cardsfolder/r/response_resurgence.txt +++ b/forge-gui/res/cardsfolder/r/response_resurgence.txt @@ -11,5 +11,5 @@ Name:Resurgence ManaCost:3 R W Types:Sorcery A:SP$ PumpAll | Cost$ 3 R W | ValidCards$ Creature.YouCtrl | KW$ First Strike & Vigilance | SubAbility$ DBAddCombat | SpellDescription$ Creatures you control gain first strike and vigilance until end of turn. After this main phase, there is an additional combat phase followed by an additional main phase. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:Creatures you control gain first strike and vigilance until end of turn. After this main phase, there is an additional combat phase followed by an additional main phase. diff --git a/forge-gui/res/cardsfolder/s/savage_beating.txt b/forge-gui/res/cardsfolder/s/savage_beating.txt index 25776cb0673..055cf9ba635 100644 --- a/forge-gui/res/cardsfolder/s/savage_beating.txt +++ b/forge-gui/res/cardsfolder/s/savage_beating.txt @@ -6,7 +6,6 @@ K:Entwine:1 R A:SP$ Charm | Cost$ 3 R R | Choices$ DBPump,DBUntapAll | CharmNum$ 1 | PlayerTurn$ True | ActivationPhases$ BeginCombat->EndCombat SVar:DBPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Double Strike | SpellDescription$ Creatures you control gain double strike until end of turn. SVar:DBUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ DBAddCombat | SpellDescription$ Untap all creatures you control. After this phase, there is an additional combat phase. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/savage_beating.jpg Oracle:Cast this spell only during your turn and only during combat.\nChoose one —\n• Creatures you control gain double strike until end of turn.\n• Untap all creatures you control. After this phase, there is an additional combat phase.\nEntwine {1}{R} (Choose both if you pay the entwine cost.) diff --git a/forge-gui/res/cardsfolder/s/scourge_of_the_throne.txt b/forge-gui/res/cardsfolder/s/scourge_of_the_throne.txt index 659ef825cf6..01baeeeeabc 100644 --- a/forge-gui/res/cardsfolder/s/scourge_of_the_throne.txt +++ b/forge-gui/res/cardsfolder/s/scourge_of_the_throne.txt @@ -6,6 +6,5 @@ K:Flying K:Dethrone T:Mode$ Attacks | ValidCard$ Creature.Self | TriggerZones$ Battlefield | Execute$ TrigUntap | FirstAttack$ True | Condition$ AttackedPlayerWithMostLife | TriggerDescription$ Whenever CARDNAME attacks for the first time each turn, if it's attacking the player with the most life or tied for most life, untap all attacking creatures. After this phase, there is an additional combat phase. SVar:TrigUntap:DB$ UntapAll | ValidCards$ Creature.attacking | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | AfterPhase$ EndCombat -SVar:Picture:http://www.wizards.com/global/images/magic/general/scourge_of_the_throne.jpg +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat Oracle:Flying\nDethrone (Whenever this creature attacks the player with the most life or tied for most life, put a +1/+1 counter on it.)\nWhenever Scourge of the Throne attacks for the first time each turn, if it's attacking the player with the most life or tied for most life, untap all attacking creatures. After this phase, there is an additional combat phase. diff --git a/forge-gui/res/cardsfolder/s/seize_the_day.txt b/forge-gui/res/cardsfolder/s/seize_the_day.txt index 2830149ea6b..bc59a918488 100644 --- a/forge-gui/res/cardsfolder/s/seize_the_day.txt +++ b/forge-gui/res/cardsfolder/s/seize_the_day.txt @@ -3,6 +3,5 @@ ManaCost:3 R Types:Sorcery K:Flashback:2 R A:SP$ Untap | Cost$ 3 R | ValidTgts$ Creature | SubAbility$ DBAddCombat | SpellDescription$ Untap target creature. After this main phase, there is an additional combat phase followed by an additional main phase. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 -SVar:Picture:http://www.wizards.com/global/images/magic/general/seize_the_day.jpg +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:Untap target creature. After this main phase, there is an additional combat phase followed by an additional main phase.\nFlashback {2}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.) diff --git a/forge-gui/res/cardsfolder/s/sokenzan.txt b/forge-gui/res/cardsfolder/s/sokenzan.txt index 2729da7d5bb..dbb77825cd1 100644 --- a/forge-gui/res/cardsfolder/s/sokenzan.txt +++ b/forge-gui/res/cardsfolder/s/sokenzan.txt @@ -4,7 +4,6 @@ Types:Plane Kamigawa S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Haste | Description$ All creatures get +1/+1 and have haste. T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll {CHAOS}, untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. SVar:RolledChaos:DB$ UntapAll | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 -SVar:Picture:http://www.wizards.com/global/images/magic/general/sokenzan.jpg +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 SVar:AIRollPlanarDieParams:Mode$ Always | LowPriority$ True | MaxRollsPerTurn$ 9 Oracle:All creatures get +1/+1 and have haste.\nWhenever you roll {CHAOS}, untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. diff --git a/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt b/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt index f2fd002462a..e7cb56191eb 100755 --- a/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt +++ b/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt @@ -4,6 +4,6 @@ Types:Creature Sphinx PT:6/6 K:Flying T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddPhase | TriggerDescription$ At the beginning of your postcombat main phase, there is an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) -SVar:TrigAddPhase:DB$ AddPhase | ExtraPhase$ Untap | AdditionalBeginningPhase$ True | FollowedBy$ End of Turn +SVar:TrigAddPhase:DB$ AddPhase | ExtraPhase$ Beginning SVar:PlayMain1:TRUE Oracle:Flying\nAt the beginning of your postcombat main phase, there is an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) diff --git a/forge-gui/res/cardsfolder/w/waves_of_aggression.txt b/forge-gui/res/cardsfolder/w/waves_of_aggression.txt index f698ee08478..a03981ae4b1 100644 --- a/forge-gui/res/cardsfolder/w/waves_of_aggression.txt +++ b/forge-gui/res/cardsfolder/w/waves_of_aggression.txt @@ -3,6 +3,5 @@ ManaCost:3 RW RW Types:Sorcery K:Retrace A:SP$ UntapAll | Cost$ 3 RW RW | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat | SpellDescription$ Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. -SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 -SVar:Picture:http://www.wizards.com/global/images/magic/general/waves_of_aggression.jpg +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase.\nRetrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) diff --git a/forge-gui/res/cardsfolder/w/world_at_war.txt b/forge-gui/res/cardsfolder/w/world_at_war.txt new file mode 100644 index 00000000000..5938d4e33f0 --- /dev/null +++ b/forge-gui/res/cardsfolder/w/world_at_war.txt @@ -0,0 +1,8 @@ +Name:World at War +ManaCost:3 R R +Types:Sorcery +A:SP$ AddPhase | Cost$ 3 R R | ExtraPhase$ Combat | AfterPhase$ Main2 | FollowedBy$ Main2 | BeforeFirstPostCombatMainEnd$ True | ExtraPhaseDelayedTrigger$ DelTrigUntap | ExtraPhaseDelayedTriggerExcute$ TrigUntapAll | SpellDescription$ After the first postcombat main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn. +SVar:DelTrigUntap:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerDescription$ At the beginning of that combat, untap all creatures that attacked this turn. +SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.attackedThisTurn +K:Rebound +Oracle:After the first postcombat main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn.\nRebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) From 19a8c821fe17e5f328ad2615a1811b9d82c81003 Mon Sep 17 00:00:00 2001 From: Bug Hunter Date: Thu, 18 Mar 2021 05:01:12 +0000 Subject: [PATCH 32/32] RestartGameEffect: refactor resets --- .../java/forge/ai/ability/RestartGameAi.java | 23 +++++-- .../ability/effects/RestartGameEffect.java | 63 ++++++++----------- .../java/forge/game/phase/PhaseHandler.java | 4 -- .../main/java/forge/game/player/Player.java | 40 ++++++------ 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java b/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java index 9a05607c690..f32afba4a81 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java @@ -1,6 +1,14 @@ package forge.ai.ability; +import com.google.common.collect.Iterables; + +import forge.ai.ComputerUtil; +import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates.Presets; import forge.game.player.Player; import forge.game.spellability.SpellAbility; @@ -16,13 +24,18 @@ public class RestartGameAi extends SpellAbilityAi { */ @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { - // The only card that uses this is Karn Liberated + if (ComputerUtil.aiLifeInDanger(ai, true, 0)) { + return true; + } - // TODO Add Logic, check if AI is losing game state, or life + // check if enough good permanents will be available to be returned, so AI can "autowin" + CardCollection exiled = new CardCollection(Iterables.filter(sa.getHostCard().getRemembered(), Card.class)); + exiled = CardLists.filter(exiled, Presets.PERMANENTS); + if (ComputerUtilCard.evaluatePermanentList(exiled) > 20) { + return true; + } - // TODO Add Logic, check if any good cards will be available to be returned - - return true; + return false; } @Override diff --git a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java index db7348c9082..becdd39955b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java @@ -2,9 +2,7 @@ package forge.game.ability.effects; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; import forge.game.Game; import forge.game.GameAction; @@ -14,7 +12,6 @@ import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardLists; import forge.game.player.Player; -import forge.game.player.RegisteredPlayer; import forge.game.spellability.SpellAbility; import forge.game.trigger.TriggerHandler; import forge.game.trigger.TriggerType; @@ -28,7 +25,6 @@ public class RestartGameEffect extends SpellAbilityEffect { final Player activator = sa.getActivatingPlayer(); final Game game = activator.getGame(); FCollectionView players = game.getPlayers(); - Map> playerLibraries = new HashMap<>(); // Don't grab Ante Zones List restartZones = new ArrayList<>(Arrays.asList(ZoneType.Battlefield, @@ -38,7 +34,29 @@ public class RestartGameEffect extends SpellAbilityEffect { restartZones.remove(leaveZone); String leaveRestriction = sa.hasParam("RestrictFromValid") ? sa.getParam("RestrictFromValid") : "Card"; - for (Player p : players) { + //Card.resetUniqueNumber(); + // need this code here, otherwise observables fail + forge.game.trigger.Trigger.resetIDs(); + TriggerHandler trigHandler = game.getTriggerHandler(); + trigHandler.clearDelayedTrigger(); + trigHandler.suppressMode(TriggerType.ChangesZone); + // Avoid Psychic Surgery trigger in new game + trigHandler.suppressMode(TriggerType.Shuffled); + + game.getStack().reset(); + game.clearCounterAddedThisTurn(); + game.resetPlayersAttackedOnNextTurn(); + game.resetPlayersAttackedOnNextTurn(); + GameAction action = game.getAction(); + + for (Player p: players) { + p.setStartingLife(p.getStartingLife()); + p.clearCounters(); + p.resetSpellCastThisGame(); + p.onCleanupPhase(); + p.setLandsPlayedLastTurn(0); + p.resetCommanderStats(); + CardCollection newLibrary = new CardCollection(p.getCardsIn(restartZones, false)); List filteredCards = null; if (leaveZone != null) { @@ -54,42 +72,13 @@ public class RestartGameEffect extends SpellAbilityEffect { } } p.getZone(ZoneType.Command).removeAllCards(true); - - playerLibraries.put(p, newLibrary); - } - - //Card.resetUniqueNumber(); - // need this code here, otherwise observables fail - forge.game.trigger.Trigger.resetIDs(); - TriggerHandler trigHandler = game.getTriggerHandler(); - trigHandler.clearDelayedTrigger(); - trigHandler.suppressMode(TriggerType.ChangesZone); - // Avoid Psychic Surgery trigger in new game - trigHandler.suppressMode(TriggerType.Shuffled); - - game.getStack().reset(); - GameAction action = game.getAction(); - - List gamePlayers = game.getRegisteredPlayers(); - for (int i = 0; i < gamePlayers.size(); i++) { - final Player player = gamePlayers.get(i); - if (player.hasLost()) { continue; } - - RegisteredPlayer psc = game.getMatch().getPlayers().get(i); - - player.setStartingLife(psc.getStartingLife()); - player.setPoisonCounters(0, sa.getHostCard()); - player.resetSpellCastThisGame(); - player.onCleanupPhase(); - player.setLandsPlayedLastTurn(0); - - List newLibrary = playerLibraries.get(player); + for (Card c : newLibrary) { action.moveToLibrary(c, 0, sa); } - player.initVariantsZones(psc); + p.initVariantsZones(p.getRegisteredPlayer()); - player.shuffle(null); + p.shuffle(null); } trigHandler.clearSuppression(TriggerType.Shuffled); diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index b472584cac8..220279d1e6e 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -831,10 +831,6 @@ public class PhaseHandler implements java.io.Serializable { // reset mustAttackEntity playerTurn.setMustAttackEntity(null); - for (Player p : game.getPlayers()) { - p.clearNextTurn(); - } - game.getTriggerHandler().clearThisTurnDelayedTrigger(); game.getTriggerHandler().resetTurnTriggerState(); diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 8a4e903b7ba..15786e06333 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -2603,6 +2603,9 @@ public class Player extends GameEntity implements Comparable { for (Card c : getCardsIn(ZoneType.Hand)) { c.setDrawnThisTurn(false); } + for (final PlayerZone pz : zones.values()) { + pz.resetCardsAddedThisTurn(); + } resetPreventNextDamage(); resetPreventNextDamageWithEffect(); resetNumDrawnThisTurn(); @@ -2622,6 +2625,19 @@ public class Player extends GameEntity implements Comparable { resetAttackersDeclaredThisTurn(); resetAttackedOpponentsThisTurn(); setRevolt(false); + resetProwl(); + setSpellsCastLastTurn(getSpellsCastThisTurn()); + resetSpellsCastThisTurn(); + setLifeLostLastTurn(getLifeLostThisTurn()); + setLifeLostThisTurn(0); + setLifeGainedThisTurn(0); + lifeGainedTimesThisTurn = 0; + lifeGainedByTeamThisTurn = 0; + setLifeStartedThisTurnWith(getLife()); + setLibrarySearched(0); + setNumManaConversion(0); + + removeKeyword("Schemes can't be set in motion this turn."); // set last turn nr if (game.getPhaseHandler().isPlayerTurn(this)) { @@ -2931,6 +2947,11 @@ public class Player extends GameEntity implements Comparable { getGame().fireEvent(new GameEventPlayerStatsChanged(this, false)); } + public void resetCommanderStats() { + commanderCast.clear(); + commanderDamage.clear(); + } + public void updateMergedCommanderInfo(Card target, Card commander) { getView().updateMergedCommanderCast(this, target, commander); getView().updateMergedCommanderDamage(target, commander); @@ -3400,25 +3421,6 @@ public class Player extends GameEntity implements Comparable { return CardLists.getAmountOfKeyword(this.getCardsIn(ZoneType.Battlefield), Keyword.EXALTED); } - public final void clearNextTurn() { - for (final PlayerZone pz : zones.values()) { - pz.resetCardsAddedThisTurn(); - } - resetProwl(); - setSpellsCastLastTurn(getSpellsCastThisTurn()); - resetSpellsCastThisTurn(); - setLifeLostLastTurn(getLifeLostThisTurn()); - setLifeLostThisTurn(0); - lifeGainedThisTurn = 0; - lifeGainedTimesThisTurn = 0; - lifeGainedByTeamThisTurn = 0; - setLifeStartedThisTurnWith(getLife()); - setLibrarySearched(0); - setNumManaConversion(0); - - removeKeyword("Schemes can't be set in motion this turn."); - } - public final boolean isCursed() { if (this.attachedCards == null) { return false;