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 extends Collection> 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 extends Collection> 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 super T, String> 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 super PaperCard> 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 super PaperCard> 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 super DeckProxy> 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 super PaperCard> 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 extends IButton> 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 extends IButton> 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 {