diff --git a/forge-ai/src/main/java/forge/ai/AiCardMemory.java b/forge-ai/src/main/java/forge/ai/AiCardMemory.java index 5bcfacb2ab3..dd611f87529 100644 --- a/forge-ai/src/main/java/forge/ai/AiCardMemory.java +++ b/forge-ai/src/main/java/forge/ai/AiCardMemory.java @@ -18,12 +18,12 @@ package forge.ai; -import java.util.HashSet; -import java.util.Set; - import forge.game.card.Card; import forge.game.player.Player; +import java.util.HashSet; +import java.util.Set; + /** *
* AiCardMemory class. diff --git a/forge-ai/src/main/java/forge/ai/AiProfileUtil.java b/forge-ai/src/main/java/forge/ai/AiProfileUtil.java index 672c1c12984..5fe94c6e22c 100644 --- a/forge-ai/src/main/java/forge/ai/AiProfileUtil.java +++ b/forge-ai/src/main/java/forge/ai/AiProfileUtil.java @@ -17,19 +17,18 @@ */ 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 ef2237e2f8b..1effc4e98a8 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -17,15 +17,7 @@ */ package forge.ai; -import java.util.*; -import java.util.function.Predicate; - import com.google.common.collect.*; -import forge.game.card.*; -import forge.game.cost.*; -import forge.util.*; -import org.apache.commons.lang3.StringUtils; - import forge.ai.AiCardMemory.MemorySet; import forge.ai.ability.ProtectAi; import forge.ai.ability.TokenAi; @@ -34,19 +26,15 @@ import forge.card.CardType; import forge.card.ColorSet; import forge.card.MagicColor; import forge.card.mana.ManaAtom; -import forge.game.CardTraitPredicates; -import forge.game.Game; -import forge.game.GameActionUtil; -import forge.game.GameEntity; -import forge.game.GameEntityCounterTable; -import forge.game.GameObject; -import forge.game.GameType; +import forge.game.*; 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.combat.Combat; import forge.game.combat.CombatUtil; +import forge.game.cost.*; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -65,7 +53,15 @@ import forge.game.trigger.TriggerType; import forge.game.trigger.WrappedAbility; import forge.game.zone.Zone; import forge.game.zone.ZoneType; +import forge.util.Aggregates; +import forge.util.MyRandom; +import forge.util.StreamUtil; +import forge.util.TextUtil; import forge.util.collect.FCollection; +import org.apache.commons.lang3.StringUtils; + +import java.util.*; +import java.util.function.Predicate; /** diff --git a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java index abb619a974c..e317464f411 100644 --- a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java @@ -1,14 +1,13 @@ 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 b87c5b00db1..2c4374f46d6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ActivateAbilityAi.java @@ -1,8 +1,5 @@ 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; @@ -13,6 +10,9 @@ 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 a1c3e24d807..951e0aa90e0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java @@ -17,16 +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.player.PlayerCollection; import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; +import org.apache.commons.lang3.StringUtils; + +import java.util.List; /** *
diff --git a/forge-ai/src/main/java/forge/ai/ability/AlterAttributeAi.java b/forge-ai/src/main/java/forge/ai/ability/AlterAttributeAi.java index caa3261a519..51fdc74be0d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AlterAttributeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AlterAttributeAi.java @@ -1,8 +1,5 @@ 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; @@ -13,6 +10,9 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; +import java.util.List; +import java.util.Map; + public class AlterAttributeAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java b/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java index 3c80fd8b35b..6387c89ebed 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java @@ -1,13 +1,13 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; +import java.util.Map; + public class AlwaysPlayAi 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/AmassAi.java b/forge-ai/src/main/java/forge/ai/ability/AmassAi.java index 66e272af130..a73cb26c46f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AmassAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AmassAi.java @@ -1,20 +1,13 @@ package forge.ai.ability; -import java.util.Map; - import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; - import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; -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.*; import forge.game.card.token.TokenInfo; import forge.game.phase.PhaseHandler; import forge.game.player.Player; @@ -22,6 +15,8 @@ import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import java.util.Map; + public class AmassAi extends SpellAbilityAi { @Override protected boolean checkApiLogic(Player ai, final SpellAbility sa) { diff --git a/forge-ai/src/main/java/forge/ai/ability/AssignGroupAi.java b/forge-ai/src/main/java/forge/ai/ability/AssignGroupAi.java index abf8b22cf49..43a62a9259f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AssignGroupAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AssignGroupAi.java @@ -1,13 +1,13 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Iterables; import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.spellability.SpellAbility; +import java.util.List; +import java.util.Map; + public class AssignGroupAi extends SpellAbilityAi { protected boolean canPlayAI(Player ai, SpellAbility sa) { 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 1a64a02490a..ed70ffd99e5 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java @@ -1,30 +1,14 @@ package forge.ai.ability; -import java.util.*; - -import forge.game.card.*; -import org.apache.commons.lang3.ObjectUtils; - import com.google.common.collect.Lists; import com.google.common.collect.Sets; - -import forge.ai.AiAttackController; -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.ai.*; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; +import forge.game.card.*; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; @@ -44,6 +28,12 @@ import forge.game.trigger.TriggerType; import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.MyRandom; +import org.apache.commons.lang3.ObjectUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; public class AttachAi extends SpellAbilityAi { diff --git a/forge-ai/src/main/java/forge/ai/ability/BidLifeAi.java b/forge-ai/src/main/java/forge/ai/ability/BidLifeAi.java index 3828af7604c..2d07529b09e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/BidLifeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/BidLifeAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.List; - import forge.ai.AiAttackController; import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; @@ -14,6 +12,8 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; +import java.util.List; + public class BidLifeAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/BondAi.java b/forge-ai/src/main/java/forge/ai/ability/BondAi.java index bd7ea559f1c..ba040031401 100644 --- a/forge-ai/src/main/java/forge/ai/ability/BondAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/BondAi.java @@ -17,14 +17,14 @@ */ package forge.ai.ability; -import java.util.Map; - import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; +import java.util.Map; + /** *
* AbilityFactoryBond class. 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 f99261af499..1187dc81cdc 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeCombatantsAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeCombatantsAi.java @@ -1,8 +1,5 @@ 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; @@ -10,6 +7,9 @@ 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/ChangeZoneAllAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java index 571af0de00c..ba17e0546b2 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java @@ -1,26 +1,9 @@ package forge.ai.ability; -import java.util.Collections; -import java.util.Map; - -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.ai.*; import forge.game.Game; import forge.game.ability.AbilityUtils; -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.*; import forge.game.cost.Cost; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -31,6 +14,9 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; +import java.util.Collections; +import java.util.Map; + 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 7d02582f652..4bdf26b772d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CharmAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CharmAi.java @@ -1,16 +1,7 @@ package forge.ai.ability; -import java.util.Collections; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Lists; - -import forge.ai.AiController; -import forge.ai.AiPlayDecision; -import forge.ai.ComputerUtilAbility; -import forge.ai.PlayerControllerAi; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.game.ability.AbilityUtils; import forge.game.ability.effects.CharmEffect; import forge.game.card.Card; @@ -21,6 +12,10 @@ import forge.util.Aggregates; import forge.util.MyRandom; import forge.util.collect.FCollection; +import java.util.Collections; +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 fc40e652d68..2a68856b091 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java @@ -1,22 +1,9 @@ package forge.ai.ability; -import java.util.Collections; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Iterables; -import forge.ai.AiAttackController; -import forge.ai.ComputerUtilAbility; -import forge.ai.ComputerUtilCard; -import forge.ai.ComputerUtilCombat; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.game.Game; -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.*; import forge.game.combat.Combat; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; @@ -28,6 +15,10 @@ import forge.game.zone.ZoneType; import forge.util.Aggregates; import forge.util.IterableUtil; +import java.util.Collections; +import java.util.List; +import java.util.Map; + public class ChooseCardAi extends 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 6f16595eedb..0d760959026 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardNameAi.java @@ -1,22 +1,10 @@ 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.StaticData; -import forge.ai.AiAttackController; -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; -import forge.card.CardStateName; -import forge.card.ICardFace; +import forge.ai.*; +import forge.card.*; import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardCopyService; @@ -28,6 +16,9 @@ import forge.game.zone.ZoneType; import forge.item.PaperCard; import forge.util.MyRandom; +import java.util.List; +import java.util.Map; + public class ChooseCardNameAi extends SpellAbilityAi { @Override 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 c3d3b307d93..e893cc2b6ca 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseColorAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseColorAi.java @@ -1,11 +1,6 @@ package forge.ai.ability; -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.ai.*; import forge.card.MagicColor; import forge.game.Game; import forge.game.card.CardCollectionView; 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 e3e50950b18..1240d9ab54f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCompanionAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCompanionAi.java @@ -1,16 +1,15 @@ package forge.ai.ability; -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; +import java.util.Collections; +import java.util.List; +import java.util.Map; + public class ChooseCompanionAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseGenericAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseGenericAi.java index e9686d20584..6e7eb0742e3 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseGenericAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseGenericAi.java @@ -4,7 +4,8 @@ import com.google.common.collect.Lists; import forge.ai.*; import forge.card.MagicColor; import forge.game.Game; -import forge.game.card.*; +import forge.game.card.Card; +import forge.game.card.CardCollectionView; import forge.game.cost.Cost; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; 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 d2e1aed14a1..d2622f900b4 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChoosePlayerAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChoosePlayerAi.java @@ -1,11 +1,7 @@ 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; @@ -14,6 +10,9 @@ import forge.game.player.PlayerPredicates; 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/ChooseSourceAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java index 52e44bb50db..9e16b6bb3bf 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseSourceAi.java @@ -1,8 +1,5 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Iterables; import forge.ai.AiAttackController; import forge.ai.ComputerUtilCard; @@ -25,6 +22,9 @@ import forge.game.spellability.SpellAbilityStackInstance; import forge.game.zone.ZoneType; import forge.util.Aggregates; +import java.util.List; +import java.util.Map; + public class ChooseSourceAi extends SpellAbilityAi { /* (non-Javadoc) 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 fca70976b61..89f6451822c 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseTypeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseTypeAi.java @@ -1,24 +1,11 @@ package forge.ai.ability; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - import com.google.common.collect.Iterables; -import forge.ai.AiCardMemory; -import forge.ai.ComputerUtilAbility; -import forge.ai.ComputerUtilCard; -import forge.ai.ComputerUtilMana; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.card.CardType; 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.*; import forge.game.keyword.Keyword; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -27,6 +14,11 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.Aggregates; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +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 30efdfe6b3e..254da6006db 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ClashAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ClashAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import com.google.common.collect.Iterables; import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; @@ -16,6 +14,8 @@ import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import java.util.Map; + public class ClashAi extends SpellAbilityAi { /* (non-Javadoc) 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 7479165a142..0fd433286ce 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java @@ -1,17 +1,10 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; -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.*; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -19,6 +12,9 @@ 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/ControlExchangeAi.java b/forge-ai/src/main/java/forge/ai/ability/ControlExchangeAi.java index a8a13e575c6..82ab4d67455 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ControlExchangeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ControlExchangeAi.java @@ -1,7 +1,6 @@ package forge.ai.ability; import com.google.common.collect.Lists; - import forge.ai.ComputerUtilCard; import forge.ai.SpecialCardAi; import forge.ai.SpellAbilityAi; diff --git a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java index 7f7c70bd8fb..8a405acaba8 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java @@ -17,17 +17,9 @@ */ 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.ComputerUtilCard; -import forge.ai.ComputerUtilCombat; -import forge.ai.SpecialCardAi; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -44,6 +36,9 @@ import forge.game.staticability.StaticAbilityMustTarget; import forge.game.zone.ZoneType; import forge.util.Aggregates; +import java.util.List; +import java.util.Map; + //AB:GainControl|ValidTgts$Creature|TgtPrompt$Select target legendary creature|LoseControl$Untap,LoseControl|SpellDescription$Gain control of target xxxxxxx diff --git a/forge-ai/src/main/java/forge/ai/ability/ControlGainVariantAi.java b/forge-ai/src/main/java/forge/ai/ability/ControlGainVariantAi.java index 8c43ea29c56..7d6dc51bd1c 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ControlGainVariantAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ControlGainVariantAi.java @@ -17,9 +17,6 @@ */ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Iterables; import forge.ai.ComputerUtilCard; import forge.ai.SpellAbilityAi; @@ -30,6 +27,9 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import java.util.List; +import java.util.Map; + /** *
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 c0fe8337941..2d988d23d1e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java @@ -1,29 +1,12 @@ package forge.ai.ability; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.function.Predicate; - import com.google.common.collect.Iterables; -import forge.ai.AiPlayDecision; -import forge.ai.ComputerUtil; -import forge.ai.ComputerUtilAbility; -import forge.ai.ComputerUtilCard; -import forge.ai.ComputerUtilCombat; -import forge.ai.ComputerUtilCost; -import forge.ai.SpecialCardAi; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; -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.*; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -32,6 +15,11 @@ 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; +import java.util.function.Predicate; + 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 db20d9dc4e9..8ca5fb23402 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java @@ -1,15 +1,6 @@ package forge.ai.ability; -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.ai.*; import forge.game.Game; import forge.game.ability.ApiType; import forge.game.player.Player; @@ -18,6 +9,9 @@ import forge.game.spellability.Spell; import forge.game.spellability.SpellAbility; 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 2c8f8648701..b83a496c6f0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CounterAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CounterAi.java @@ -1,23 +1,10 @@ package forge.ai.ability; -import java.util.Iterator; - -import forge.game.ability.effects.CounterEffect; -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.ai.*; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; +import forge.game.ability.effects.CounterEffect; import forge.game.card.Card; import forge.game.cost.Cost; import forge.game.cost.CostDiscard; @@ -28,6 +15,11 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; 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 5253e9e97c8..e3b9a6ed7fc 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersAi.java @@ -17,22 +17,16 @@ */ package forge.ai.ability; -import java.util.List; - import forge.ai.ComputerUtilCard; 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.card.CounterEnumType; -import forge.game.card.CounterType; +import forge.game.card.*; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Aggregates; +import java.util.List; + /** *
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 40018954cee..e32c32ab106 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java @@ -1,8 +1,5 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Iterables; import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; @@ -19,6 +16,9 @@ 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/CountersMultiplyAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersMultiplyAi.java index 6e1defd5d4b..6fbcf7bc5c4 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersMultiplyAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersMultiplyAi.java @@ -1,22 +1,12 @@ package forge.ai.ability; -import java.util.Collections; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Lists; - import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.ability.AbilityUtils; -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.card.*; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -24,6 +14,10 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import java.util.Collections; +import java.util.List; +import java.util.Map; + public class CountersMultiplyAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersProliferateAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersProliferateAi.java index b7b8be5d34b..8a4dc0ab193 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersProliferateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersProliferateAi.java @@ -1,16 +1,7 @@ package forge.ai.ability; -import java.util.Collection; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Lists; - -import forge.ai.AiProps; -import forge.ai.ComputerUtil; -import forge.ai.ComputerUtilCard; -import forge.ai.PlayerControllerAi; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.game.GameEntity; import forge.game.card.*; import forge.game.player.Player; @@ -18,6 +9,10 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.IterableUtil; +import java.util.Collection; +import java.util.List; +import java.util.Map; + public class CountersProliferateAi extends SpellAbilityAi { @Override 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 2b8767530b4..cd04e931f90 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java @@ -1,10 +1,6 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import com.google.common.collect.Lists; - import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; @@ -21,6 +17,9 @@ import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; +import java.util.List; +import java.util.Map; + 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 bd59630e797..6867c696d48 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutOrRemoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutOrRemoveAi.java @@ -17,23 +17,13 @@ */ package forge.ai.ability; -import java.util.List; -import java.util.Map; -import java.util.function.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.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.card.*; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.player.PlayerController.BinaryChoiceType; @@ -41,6 +31,10 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; +import java.util.List; +import java.util.Map; +import java.util.function.Predicate; + /** *
* 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 3ddaa19cf13..2b138b133e9 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java @@ -1,9 +1,5 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; -import java.util.function.Predicate; - import com.google.common.collect.Iterables; import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; @@ -12,13 +8,7 @@ import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; -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.card.*; import forge.game.keyword.Keyword; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -27,6 +17,10 @@ import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; +import java.util.List; +import java.util.Map; +import java.util.function.Predicate; + public class CountersRemoveAi extends SpellAbilityAi { @Override 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 51948face98..f505555979f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java @@ -1,10 +1,6 @@ package forge.ai.ability; -import forge.ai.ComputerUtilCard; -import forge.ai.ComputerUtilCombat; -import forge.ai.ComputerUtilCost; -import forge.ai.ComputerUtilMana; -import forge.ai.SpellAbilityAi; +import forge.ai.*; 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/DamagePreventAi.java b/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java index 89482adde62..106af35c80d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamagePreventAi.java @@ -1,8 +1,5 @@ package forge.ai.ability; -import java.util.ArrayList; -import java.util.List; - import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCombat; @@ -10,11 +7,7 @@ import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; -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.*; import forge.game.combat.Combat; import forge.game.cost.Cost; import forge.game.phase.PhaseHandler; @@ -25,6 +18,9 @@ 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/DayTimeAi.java b/forge-ai/src/main/java/forge/ai/ability/DayTimeAi.java index d390d9214af..b12e262580f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DayTimeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DayTimeAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -9,6 +7,8 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; +import java.util.Map; + public class DayTimeAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { 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 c42b8af1253..ac7939f30e6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DebuffAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DebuffAi.java @@ -1,11 +1,6 @@ package forge.ai.ability; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - import com.google.common.collect.Lists; - import forge.ai.AiAttackController; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; @@ -24,6 +19,10 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class DebuffAi extends SpellAbilityAi { @Override 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 96d2479cf26..630876e1d53 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DestroyAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DestroyAllAi.java @@ -2,11 +2,7 @@ package forge.ai.ability; import forge.ai.*; import forge.card.MagicColor; -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.*; import forge.game.combat.Combat; import forge.game.cost.Cost; import forge.game.keyword.Keyword; 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 79f8ca128fe..930ea118cca 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigAi.java @@ -1,16 +1,7 @@ package forge.ai.ability; -import java.util.Map; - import com.google.common.collect.Iterables; -import forge.ai.AiAttackController; -import forge.ai.ComputerUtil; -import forge.ai.ComputerUtilAbility; -import forge.ai.ComputerUtilCard; -import forge.ai.ComputerUtilCombat; -import forge.ai.ComputerUtilCost; -import forge.ai.SpecialCardAi; -import forge.ai.SpellAbilityAi; +import forge.ai.*; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; @@ -27,6 +18,8 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.TextUtil; +import java.util.Map; + public class DigAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java b/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java index 8945350c112..08ce3d26562 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.AiAttackController; import forge.ai.ComputerUtil; import forge.ai.SpellAbilityAi; @@ -14,6 +12,8 @@ import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import java.util.Map; + public class DigMultipleAi extends SpellAbilityAi { /* (non-Javadoc) 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 699ae42e7ee..4e1cbf3a454 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java @@ -1,8 +1,5 @@ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import forge.ai.AiAttackController; import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; @@ -16,6 +13,9 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; +import java.util.List; +import java.util.Map; + 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 a09a9e91ceb..5ce68804d0c 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java @@ -1,15 +1,6 @@ package forge.ai.ability; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -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.ai.*; import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.card.CardCollectionView; @@ -25,6 +16,10 @@ import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; +import java.util.Collections; +import java.util.List; +import java.util.Map; + public class DiscardAi extends SpellAbilityAi { @Override diff --git a/forge-ai/src/main/java/forge/ai/ability/DiscoverAi.java b/forge-ai/src/main/java/forge/ai/ability/DiscoverAi.java index c0ac69a99b7..19caeb40ca1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DiscoverAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DiscoverAi.java @@ -8,7 +8,6 @@ import forge.game.ability.AbilityUtils; import forge.game.card.Card; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; - import forge.game.spellability.Spell; import forge.game.spellability.SpellAbility; 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 1e4f8760149..957f45691e1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrainManaAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrainManaAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.List; - import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -9,6 +7,8 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; 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 453f45ac6f5..bb05e10b80d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -18,17 +18,7 @@ */ package forge.ai.ability; -import java.util.Map; - -import forge.ai.AiCostDecision; -import forge.ai.AiProps; -import forge.ai.ComputerUtil; -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.ai.*; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; @@ -38,14 +28,12 @@ import forge.game.card.CounterType; import forge.game.cost.*; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; -import forge.game.player.GameLossReason; -import forge.game.player.Player; -import forge.game.player.PlayerActionConfirmMode; -import forge.game.player.PlayerCollection; -import forge.game.player.PlayerPredicates; +import forge.game.player.*; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import java.util.Map; + public class DrawAi extends SpellAbilityAi { /* (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java b/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java index d25ff5e8453..6e5579272ea 100644 --- a/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java @@ -17,9 +17,6 @@ */ package forge.ai.ability; -import java.util.List; -import java.util.Map; - import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCombat; import forge.ai.SpellAbilityAi; @@ -30,6 +27,9 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; +import java.util.List; +import java.util.Map; + /** *
* AbilityFactoryBond class.
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 619918d763f..ef3996b70c3 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ExploreAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ExploreAi.java
@@ -1,17 +1,8 @@
package forge.ai.ability;
-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.ai.*;
+import forge.game.card.*;
import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
diff --git a/forge-ai/src/main/java/forge/ai/ability/FlipOntoBattlefieldAi.java b/forge-ai/src/main/java/forge/ai/ability/FlipOntoBattlefieldAi.java
index b385ee9205c..0a142a221ce 100644
--- a/forge-ai/src/main/java/forge/ai/ability/FlipOntoBattlefieldAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/FlipOntoBattlefieldAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.SpellAbilityAi;
import forge.game.card.CardCollectionView;
import forge.game.card.CardLists;
@@ -12,6 +10,8 @@ import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
public class FlipOntoBattlefieldAi extends SpellAbilityAi {
@Override
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
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 6c197ca8d4f..7ee2f2eef0f 100644
--- a/forge-ai/src/main/java/forge/ai/ability/FogAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/FogAi.java
@@ -1,13 +1,7 @@
package forge.ai.ability;
-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.ai.*;
import forge.game.Game;
import forge.game.GameObject;
import forge.game.ability.ApiType;
@@ -20,6 +14,8 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.List;
+
public class FogAi extends SpellAbilityAi {
/* (non-Javadoc)
diff --git a/forge-ai/src/main/java/forge/ai/ability/GoadAi.java b/forge-ai/src/main/java/forge/ai/ability/GoadAi.java
index 89ac3299d99..7f1bca5e4f1 100644
--- a/forge-ai/src/main/java/forge/ai/ability/GoadAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/GoadAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-
import forge.ai.ComputerUtilCard;
import forge.ai.ComputerUtilCombat;
import forge.ai.SpellAbilityAi;
@@ -13,6 +11,8 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.List;
+
public class GoadAi extends SpellAbilityAi {
@Override
diff --git a/forge-ai/src/main/java/forge/ai/ability/HauntAi.java b/forge-ai/src/main/java/forge/ai/ability/HauntAi.java
index 26bb8d2ba81..3943e091530 100644
--- a/forge-ai/src/main/java/forge/ai/ability/HauntAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/HauntAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-
import forge.ai.ComputerUtilCard;
import forge.ai.SpellAbilityAi;
import forge.game.Game;
@@ -12,6 +10,8 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.List;
+
public class HauntAi extends SpellAbilityAi {
@Override
diff --git a/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java b/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java
index 7087208f25c..e7c8c69d463 100644
--- a/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java
@@ -1,8 +1,6 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.SpellAbilityAi;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
@@ -10,6 +8,8 @@ import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
public class InvestigateAi 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/LearnAi.java b/forge-ai/src/main/java/forge/ai/ability/LearnAi.java
index a155b4f77de..b465cb77c01 100644
--- a/forge-ai/src/main/java/forge/ai/ability/LearnAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/LearnAi.java
@@ -1,8 +1,6 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.ComputerUtilCard;
import forge.ai.PlayerControllerAi;
import forge.ai.SpellAbilityAi;
@@ -15,6 +13,8 @@ import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
public class LearnAi extends SpellAbilityAi {
@Override
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
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 45c7060d34f..4f498b4bd6b 100644
--- a/forge-ai/src/main/java/forge/ai/ability/LegendaryRuleAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/LegendaryRuleAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.Map;
-
import com.google.common.collect.Iterables;
import forge.ai.ComputerUtil;
import forge.ai.SpellAbilityAi;
@@ -11,6 +9,8 @@ import forge.game.card.CounterEnumType;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
/**
* TODO: Write javadoc for this type.
*
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 5910bf46cc6..f79e25b44e7 100644
--- a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java
@@ -1,12 +1,6 @@
package forge.ai.ability;
-import forge.ai.AiAttackController;
-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.ai.*;
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 2462fd6d716..0d97d83437c 100644
--- a/forge-ai/src/main/java/forge/ai/ability/LifeGainAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/LifeGainAi.java
@@ -1,11 +1,7 @@
package forge.ai.ability;
import com.google.common.collect.Iterables;
-import forge.ai.ComputerUtil;
-import forge.ai.ComputerUtilAbility;
-import forge.ai.ComputerUtilCombat;
-import forge.ai.ComputerUtilCost;
-import forge.ai.SpellAbilityAi;
+import forge.ai.*;
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/LifeLoseAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java
index 778446f6f38..a26f360ddee 100644
--- a/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-
import forge.ai.ComputerUtil;
import forge.ai.ComputerUtilCost;
import forge.ai.SpellAbilityAi;
@@ -16,6 +14,8 @@ import forge.game.player.PlayerPredicates;
import forge.game.spellability.SpellAbility;
import forge.util.collect.FCollection;
+import java.util.List;
+
public class LifeLoseAi extends SpellAbilityAi {
/*
diff --git a/forge-ai/src/main/java/forge/ai/ability/ManaAi.java b/forge-ai/src/main/java/forge/ai/ability/ManaAi.java
index d5d6029f23b..05cde6e8a5e 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ManaAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ManaAi.java
@@ -1,8 +1,5 @@
package forge.ai.ability;
-import java.util.Arrays;
-import java.util.List;
-
import forge.ai.*;
import forge.card.ColorSet;
import forge.card.MagicColor;
@@ -10,12 +7,7 @@ import forge.card.mana.ManaAtom;
import forge.card.mana.ManaCost;
import forge.game.CardTraitPredicates;
import forge.game.ability.AbilityUtils;
-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.card.*;
import forge.game.cost.CostPart;
import forge.game.cost.CostRemoveCounter;
import forge.game.keyword.Keyword;
@@ -31,6 +23,9 @@ import forge.game.zone.ZoneType;
import forge.util.Aggregates;
import forge.util.IterableUtil;
+import java.util.Arrays;
+import java.util.List;
+
public class ManaAi extends SpellAbilityAi {
/*
diff --git a/forge-ai/src/main/java/forge/ai/ability/ManifestBaseAi.java b/forge-ai/src/main/java/forge/ai/ability/ManifestBaseAi.java
index 5dbf8617ec8..3bbe9b44a44 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ManifestBaseAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ManifestBaseAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.Map;
-
import com.google.common.collect.Iterables;
import forge.ai.ComputerUtil;
import forge.ai.ComputerUtilCard;
@@ -20,6 +18,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
+import java.util.Map;
+
/**
* Created by friarsol on 1/23/15.
*/
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 073df55136a..6a58a861341 100644
--- a/forge-ai/src/main/java/forge/ai/ability/MillAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/MillAi.java
@@ -1,12 +1,7 @@
package forge.ai.ability;
-import java.util.Collections;
-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;
@@ -24,6 +19,10 @@ import forge.game.player.PlayerPredicates;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Collections;
+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 b8c21e2dda8..e0e41559727 100644
--- a/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java
@@ -1,8 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-import java.util.Map;
-
import com.google.common.collect.Iterables;
import forge.ai.AiCardMemory;
import forge.ai.ComputerUtilCard;
@@ -19,6 +16,9 @@ import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
+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 61217e369db..432c86584fc 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,5 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.ComputerUtil;
import forge.ai.ComputerUtilCard;
import forge.ai.SpellAbilityAi;
@@ -14,6 +12,8 @@ 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/PermanentCreatureAi.java b/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java
index 8ff03ccc2db..42c61985504 100644
--- a/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/PermanentCreatureAi.java
@@ -1,19 +1,11 @@
package forge.ai.ability;
-import forge.game.card.CardCopyService;
-import org.apache.commons.lang3.StringUtils;
-
-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.ai.*;
import forge.card.mana.ManaCost;
import forge.game.Game;
import forge.game.ability.ApiType;
import forge.game.card.Card;
+import forge.game.card.CardCopyService;
import forge.game.card.CardLists;
import forge.game.combat.Combat;
import forge.game.keyword.Keyword;
@@ -24,6 +16,7 @@ import forge.game.spellability.SpellAbility;
import forge.game.staticability.StaticAbility;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
+import org.apache.commons.lang3.StringUtils;
/**
* AbilityFactory for Creature Spells.
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 52ec31c7f86..7be460dbfef 100644
--- a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java
@@ -11,7 +11,10 @@ import forge.game.cost.Cost;
import forge.game.keyword.Keyword;
import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
-import forge.game.spellability.*;
+import forge.game.spellability.Spell;
+import forge.game.spellability.SpellAbility;
+import forge.game.spellability.SpellAbilityPredicates;
+import forge.game.spellability.SpellPermanent;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
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 a4fc7eb2465..fa96446e376 100644
--- a/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-
import forge.ai.ComputerUtilCard;
import forge.ai.SpellAbilityAi;
import forge.game.ability.AbilityUtils;
@@ -14,6 +12,8 @@ import forge.game.spellability.TargetRestrictions;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
+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 a30318b7462..8f1031bc3cf 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java
@@ -1,14 +1,6 @@
package forge.ai.ability;
-import java.util.ArrayList;
-import java.util.List;
-
-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.ai.*;
import forge.card.MagicColor;
import forge.game.Game;
import forge.game.GameObject;
@@ -27,6 +19,9 @@ import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions;
import forge.util.MyRandom;
+import java.util.ArrayList;
+import java.util.List;
+
public class ProtectAi extends SpellAbilityAi {
private static boolean hasProtectionFrom(final Card card, final String color) {
final List
* AbilityFactory_Regenerate class.
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 d402cc9e37b..52205aecc40 100644
--- a/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java
@@ -1,8 +1,6 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.*;
import forge.game.card.Card;
import forge.game.card.CardPredicates;
@@ -14,6 +12,8 @@ import forge.game.player.PlayerPredicates;
import forge.game.spellability.SpellAbility;
import forge.util.IterableUtil;
+import java.util.Map;
+
public class RepeatAi extends SpellAbilityAi {
@Override
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 fe784006446..639d891e8e0 100644
--- a/forge-ai/src/main/java/forge/ai/ability/RepeatEachAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/RepeatEachAi.java
@@ -1,8 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-import java.util.Map;
-
import forge.ai.ComputerUtilCard;
import forge.ai.SpecialCardAi;
import forge.ai.SpellAbilityAi;
@@ -14,6 +11,9 @@ 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/ReplaceDamageAi.java b/forge-ai/src/main/java/forge/ai/ability/ReplaceDamageAi.java
index daa3a870c08..2bf0000393e 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ReplaceDamageAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ReplaceDamageAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.ComputerUtilCard;
import forge.ai.SpellAbilityAi;
import forge.game.card.Card;
@@ -9,6 +7,8 @@ import forge.game.keyword.Keyword;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
public class ReplaceDamageAi extends SpellAbilityAi {
@Override
diff --git a/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java b/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java
index 3cb3cedf5ff..e079cbb09ed 100644
--- a/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java
@@ -1,8 +1,6 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.SpellAbilityAi;
import forge.game.Game;
import forge.game.card.Card;
@@ -13,6 +11,8 @@ import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
public class RollDiceAi extends SpellAbilityAi {
@Override
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
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 dede84b9f0f..515345c5b88 100644
--- a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java
@@ -1,8 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-import java.util.Map;
-
import forge.ai.ComputerUtilCard;
import forge.ai.ComputerUtilCost;
import forge.ai.SpellAbilityAi;
@@ -20,6 +17,9 @@ import forge.game.player.PlayerPredicates;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.List;
+import java.util.Map;
+
public class SacrificeAi extends SpellAbilityAi {
@Override
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 8df58ec64e5..b25a445ce69 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ScryAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ScryAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.ComputerUtilMana;
import forge.ai.SpecialCardAi;
import forge.ai.SpellAbilityAi;
@@ -17,6 +15,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
+import java.util.Map;
+
public class ScryAi extends SpellAbilityAi {
/* (non-Javadoc)
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 4dac2a7ea9f..551e57498e4 100644
--- a/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java
@@ -1,13 +1,9 @@
package forge.ai.ability;
-import java.util.List;
-import java.util.Map;
-
import forge.ai.ComputerUtilCard;
import forge.ai.ComputerUtilCost;
import forge.ai.SpellAbilityAi;
import forge.card.CardStateName;
-
import forge.game.ability.AbilityUtils;
import forge.game.card.*;
import forge.game.phase.PhaseHandler;
@@ -17,6 +13,9 @@ 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 SetStateAi extends SpellAbilityAi {
@Override
protected boolean checkApiLogic(final Player aiPlayer, final SpellAbility sa) {
diff --git a/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java b/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java
index cf66187b55e..50684e8874d 100644
--- a/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java
@@ -1,13 +1,13 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.SpellAbilityAi;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
public class ShuffleAi extends SpellAbilityAi {
@Override
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
diff --git a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java
index 908308a29c4..500706b9c83 100644
--- a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java
@@ -1,13 +1,13 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.AiAttackController;
import forge.ai.SpellAbilityAi;
import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
public class SkipPhaseAi extends SpellAbilityAi {
@Override
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
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 54df44cafe1..67277aadc0c 100644
--- a/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java
@@ -1,12 +1,6 @@
package forge.ai.ability;
-import java.util.Map;
-
-import forge.ai.AiCardMemory;
-import forge.ai.AiProps;
-import forge.ai.ComputerUtilCost;
-import forge.ai.PlayerControllerAi;
-import forge.ai.SpellAbilityAi;
+import forge.ai.*;
import forge.game.card.Card;
import forge.game.cost.Cost;
import forge.game.cost.CostPayLife;
@@ -18,6 +12,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
+import java.util.Map;
+
public class SurveilAi extends SpellAbilityAi {
/*
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 dc456aa6607..cd361036c00 100644
--- a/forge-ai/src/main/java/forge/ai/ability/TapAiBase.java
+++ b/forge-ai/src/main/java/forge/ai/ability/TapAiBase.java
@@ -1,13 +1,6 @@
package forge.ai.ability;
-import java.util.List;
-import java.util.function.Predicate;
-
-import forge.ai.AiAttackController;
-import forge.ai.ComputerUtil;
-import forge.ai.ComputerUtilAbility;
-import forge.ai.ComputerUtilCard;
-import forge.ai.SpellAbilityAi;
+import forge.ai.*;
import forge.game.Game;
import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType;
@@ -22,6 +15,9 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.List;
+import java.util.function.Predicate;
+
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 ea5788d2bbf..1e54900c19e 100644
--- a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-
import forge.ai.ComputerUtilCombat;
import forge.ai.SpellAbilityAi;
import forge.game.Game;
@@ -19,6 +17,8 @@ import forge.game.spellability.SpellAbility;
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/TimeTravelAi.java b/forge-ai/src/main/java/forge/ai/ability/TimeTravelAi.java
index db08e348fe1..70def99ebfe 100644
--- a/forge-ai/src/main/java/forge/ai/ability/TimeTravelAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/TimeTravelAi.java
@@ -3,7 +3,10 @@ package forge.ai.ability;
import com.google.common.collect.Iterables;
import forge.ai.ComputerUtil;
import forge.ai.SpellAbilityAi;
-import forge.game.card.*;
+import forge.game.card.Card;
+import forge.game.card.CardPredicates;
+import forge.game.card.CounterEnumType;
+import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.game.player.PlayerActionConfirmMode;
import forge.game.player.PlayerController;
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 ee1587d4ca6..c2ff7d8d5d7 100644
--- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java
@@ -1,28 +1,12 @@
package forge.ai.ability;
-import java.util.List;
-import java.util.Map;
-
import com.google.common.collect.Iterables;
-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.ComputerUtilMana;
-import forge.ai.PlayerControllerAi;
-import forge.ai.SpellAbilityAi;
-import forge.ai.SpellApiToAi;
+import forge.ai.*;
import forge.game.Game;
import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType;
-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.*;
import forge.game.card.token.TokenInfo;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
@@ -42,6 +26,9 @@ import forge.game.spellability.TargetRestrictions;
import forge.game.zone.ZoneType;
import forge.util.MyRandom;
+import java.util.List;
+import java.util.Map;
+
/**
*
* AbilityFactory_Token class.
diff --git a/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java b/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java
index fa62249caf4..248602264a7 100644
--- a/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/TwoPilesAi.java
@@ -1,7 +1,5 @@
package forge.ai.ability;
-import java.util.List;
-
import forge.ai.AiAttackController;
import forge.ai.SpellAbilityAi;
import forge.game.ability.AbilityUtils;
@@ -13,6 +11,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.collect.FCollection;
+import java.util.List;
+
public class TwoPilesAi extends SpellAbilityAi {
@Override
protected boolean canPlayAI(Player ai, SpellAbility sa) {
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 ca0f965975f..09bba16dd2f 100644
--- a/forge-ai/src/main/java/forge/ai/ability/UnattachAllAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/UnattachAllAi.java
@@ -1,8 +1,5 @@
package forge.ai.ability;
-import java.util.ArrayList;
-import java.util.List;
-
import forge.ai.ComputerUtilCard;
import forge.ai.ComputerUtilCost;
import forge.ai.SpellAbilityAi;
@@ -14,6 +11,9 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
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/VoteAi.java b/forge-ai/src/main/java/forge/ai/ability/VoteAi.java
index 7a1221aff3a..c31126beb28 100644
--- a/forge-ai/src/main/java/forge/ai/ability/VoteAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/VoteAi.java
@@ -1,8 +1,6 @@
package forge.ai.ability;
-import java.util.Map;
-
import forge.ai.SpellAbilityAi;
import forge.game.card.Card;
import forge.game.card.CardLists;
@@ -11,6 +9,8 @@ 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 408d820eaa5..3d4c03e3369 100644
--- a/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java
+++ b/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java
@@ -1,16 +1,6 @@
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 com.google.common.collect.Sets;
-import com.google.common.collect.Table;
-
+import com.google.common.collect.*;
import forge.LobbyPlayer;
import forge.ai.AIOption;
import forge.ai.LobbyPlayerAi;
@@ -18,7 +8,10 @@ import forge.card.CardRarity;
import forge.card.CardRules;
import forge.game.*;
import forge.game.ability.effects.DetachedCardEffect;
-import forge.game.card.*;
+import forge.game.card.Card;
+import forge.game.card.CardCloneStates;
+import forge.game.card.CardCopyService;
+import forge.game.card.CounterType;
import forge.game.card.token.TokenInfo;
import forge.game.combat.Combat;
import forge.game.mana.Mana;
@@ -34,6 +27,10 @@ import forge.game.zone.PlayerZoneBattlefield;
import forge.game.zone.ZoneType;
import forge.item.PaperCard;
+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/GameSimulator.java b/forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java
index c6b354ef553..00e84689580 100644
--- a/forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java
+++ b/forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java
@@ -1,12 +1,6 @@
package forge.ai.simulation;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import forge.ai.ComputerUtil;
import forge.ai.PlayerControllerAi;
import forge.ai.simulation.GameStateEvaluator.Score;
@@ -19,6 +13,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetChoices;
import forge.util.collect.FCollectionView;
+import java.util.*;
+
public class GameSimulator {
public static boolean COPY_STACK = false;
final private SimulationController controller;
diff --git a/forge-ai/src/main/java/forge/ai/simulation/MultiTargetSelector.java b/forge-ai/src/main/java/forge/ai/simulation/MultiTargetSelector.java
index da65c4d5855..fcf8bbf34fa 100644
--- a/forge-ai/src/main/java/forge/ai/simulation/MultiTargetSelector.java
+++ b/forge-ai/src/main/java/forge/ai/simulation/MultiTargetSelector.java
@@ -1,12 +1,12 @@
package forge.ai.simulation;
-import java.util.ArrayList;
-import java.util.List;
-
import forge.game.spellability.AbilitySub;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityCondition;
+import java.util.ArrayList;
+import java.util.List;
+
public class MultiTargetSelector {
public static class Targets {
private ArrayList
diff --git a/forge-core/src/main/java/forge/card/CardTypeView.java b/forge-core/src/main/java/forge/card/CardTypeView.java
index 762f87ee287..d56514a02b5 100644
--- a/forge-core/src/main/java/forge/card/CardTypeView.java
+++ b/forge-core/src/main/java/forge/card/CardTypeView.java
@@ -1,11 +1,11 @@
package forge.card;
-import java.io.Serializable;
-import java.util.Set;
-
import forge.card.CardType.CoreType;
import forge.card.CardType.Supertype;
+import java.io.Serializable;
+import java.util.Set;
+
//Interface to expose only the desired functions of CardType without allowing modification
public interface CardTypeView extends Iterable CardColor class. Represents a set of any number of colors out of 5 possible in the game
* CardManaCost class.
diff --git a/forge-core/src/main/java/forge/deck/DeckBase.java b/forge-core/src/main/java/forge/deck/DeckBase.java
index 6c4c302889e..12eb7544b06 100644
--- a/forge-core/src/main/java/forge/deck/DeckBase.java
+++ b/forge-core/src/main/java/forge/deck/DeckBase.java
@@ -17,12 +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
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 cf7d0facc01..738ce17b922 100644
--- a/forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java
+++ b/forge-core/src/main/java/forge/deck/generation/DeckGenerator3Color.java
@@ -17,19 +17,17 @@
*/
package forge.deck.generation;
-import java.util.List;
-import java.util.function.Predicate;
-
-import org.apache.commons.lang3.tuple.ImmutablePair;
-
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;
+import java.util.function.Predicate;
/**
*
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 99e2c964540..91e271ed86a 100644
--- a/forge-core/src/main/java/forge/deck/generation/DeckGenerator4Color.java
+++ b/forge-core/src/main/java/forge/deck/generation/DeckGenerator4Color.java
@@ -17,19 +17,17 @@
*/
package forge.deck.generation;
-import java.util.List;
-import java.util.function.Predicate;
-
-import org.apache.commons.lang3.tuple.ImmutablePair;
-
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;
+import java.util.function.Predicate;
/**
*
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 7c3c10a83b9..c348e7c560b 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,15 @@
*/
package forge.deck.generation;
-import java.util.List;
-import java.util.function.Predicate;
-
-import org.apache.commons.lang3.tuple.ImmutablePair;
-
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;
+import java.util.function.Predicate;
/**
*
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 fa5be73b7f1..45a4ca31d83 100644
--- a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java
+++ b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorMonoColor.java
@@ -17,19 +17,17 @@
*/
package forge.deck.generation;
-import java.util.List;
-import java.util.function.Predicate;
-
-import org.apache.commons.lang3.tuple.ImmutablePair;
-
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;
+import java.util.function.Predicate;
/**
*
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 6e36e4efbaf..594b7d76179 100644
--- a/forge-core/src/main/java/forge/deck/io/DeckFileHeader.java
+++ b/forge-core/src/main/java/forge/deck/io/DeckFileHeader.java
@@ -17,15 +17,14 @@
*/
package forge.deck.io;
+import forge.deck.DeckFormat;
+import forge.util.FileSection;
+import org.apache.commons.lang3.StringUtils;
+
import java.util.HashMap;
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 dc5019c3a39..007ed489b74 100644
--- a/forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java
+++ b/forge-core/src/main/java/forge/deck/io/DeckGroupSerializer.java
@@ -17,19 +17,17 @@
*/
package forge.deck.io;
-import java.io.File;
-import java.io.FilenameFilter;
-import java.util.List;
-
-import forge.deck.DeckBase;
-import org.apache.commons.lang3.StringUtils;
-
import com.google.common.collect.ImmutableList;
-
import forge.deck.Deck;
+import forge.deck.DeckBase;
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 a067e53fb45..98a290691fd 100644
--- a/forge-core/src/main/java/forge/deck/io/DeckSerializer.java
+++ b/forge-core/src/main/java/forge/deck/io/DeckSerializer.java
@@ -1,13 +1,5 @@
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;
@@ -15,6 +7,13 @@ 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 9f9bc30342f..a6aa18fff37 100644
--- a/forge-core/src/main/java/forge/deck/io/DeckStorage.java
+++ b/forge-core/src/main/java/forge/deck/io/DeckStorage.java
@@ -17,11 +17,6 @@
*/
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.deck.DeckBase;
import forge.util.FileSection;
@@ -30,6 +25,11 @@ 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/PaperToken.java b/forge-core/src/main/java/forge/item/PaperToken.java
index c13b0435880..c0fa6ed936a 100644
--- a/forge-core/src/main/java/forge/item/PaperToken.java
+++ b/forge-core/src/main/java/forge/item/PaperToken.java
@@ -1,14 +1,13 @@
package forge.item;
+import forge.ImageKeys;
+import forge.card.*;
+import forge.util.MyRandom;
+import org.apache.commons.lang3.StringUtils;
+
import java.util.ArrayList;
import java.util.Locale;
-import forge.card.*;
-import org.apache.commons.lang3.StringUtils;
-
-import forge.ImageKeys;
-import forge.util.MyRandom;
-
public class PaperToken implements InventoryItemFromSet, IPaperCard {
private static final long serialVersionUID = 1L;
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 157272c84da..9ed912819a2 100644
--- a/forge-core/src/main/java/forge/item/PreconDeck.java
+++ b/forge-core/src/main/java/forge/item/PreconDeck.java
@@ -17,11 +17,6 @@
*/
package forge.item;
-import java.io.File;
-import java.io.FilenameFilter;
-import java.util.List;
-import java.util.Map;
-
import forge.ImageKeys;
import forge.StaticData;
import forge.deck.Deck;
@@ -31,6 +26,11 @@ 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/generation/BoosterGenerator.java b/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java
index 7d0d2a11fde..b68002eb2ba 100644
--- a/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java
+++ b/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java
@@ -20,10 +20,16 @@ package forge.item.generation;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import forge.StaticData;
-import forge.card.*;
+import forge.card.CardEdition;
import forge.card.CardEdition.FoilType;
+import forge.card.CardRarity;
+import forge.card.CardSplitType;
+import forge.card.PrintSheet;
import forge.item.*;
-import forge.util.*;
+import forge.util.Aggregates;
+import forge.util.IterableUtil;
+import forge.util.MyRandom;
+import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
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 55203a7f47c..c4a38769dc1 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
* 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 f0a9212df9a..69830c7b860 100644
--- a/forge-core/src/main/java/forge/util/ItemPoolSorter.java
+++ b/forge-core/src/main/java/forge/util/ItemPoolSorter.java
@@ -17,12 +17,12 @@
*/
package forge.util;
+import forge.item.PaperCard;
+
import java.util.Comparator;
import java.util.Map.Entry;
import java.util.function.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 f6674cb1d1f..67f2cf1bccd 100644
--- a/forge-core/src/main/java/forge/util/Lang.java
+++ b/forge-core/src/main/java/forge/util/Lang.java
@@ -1,23 +1,15 @@
package forge.util;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import forge.util.lang.*;
+import org.apache.commons.lang3.StringUtils;
+
import java.util.Collection;
import java.util.List;
import java.util.function.Function;
import java.util.regex.Pattern;
-import com.google.common.collect.Iterables;
-import org.apache.commons.lang3.StringUtils;
-
-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;
-import forge.util.lang.LangFrench;
-
/**
* 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 9da9e51c3c0..7657bd949b3 100644
--- a/forge-core/src/main/java/forge/util/LineReader.java
+++ b/forge-core/src/main/java/forge/util/LineReader.java
@@ -21,11 +21,8 @@ package forge.util;
* TODO: Write javadoc for this type.
*
*/
-import java.io.BufferedReader;
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
+
+import java.io.*;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/forge-core/src/main/java/forge/util/NameGenerator.java b/forge-core/src/main/java/forge/util/NameGenerator.java
index 3203ca344bb..351495e4e0e 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/ReflectionUtil.java b/forge-core/src/main/java/forge/util/ReflectionUtil.java
index f614256fc79..72cb08df156 100644
--- a/forge-core/src/main/java/forge/util/ReflectionUtil.java
+++ b/forge-core/src/main/java/forge/util/ReflectionUtil.java
@@ -1,11 +1,11 @@
package forge.util;
+import org.apache.commons.lang3.reflect.TypeUtils;
+
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
-import org.apache.commons.lang3.reflect.TypeUtils;
-
/**
* Static utilities related to reflection.
*
diff --git a/forge-core/src/main/java/forge/util/StreamUtil.java b/forge-core/src/main/java/forge/util/StreamUtil.java
index c53a41cb239..e7eb383e52f 100644
--- a/forge-core/src/main/java/forge/util/StreamUtil.java
+++ b/forge-core/src/main/java/forge/util/StreamUtil.java
@@ -1,7 +1,10 @@
package forge.util;
import java.util.*;
-import java.util.function.*;
+import java.util.function.BiConsumer;
+import java.util.function.BinaryOperator;
+import java.util.function.Function;
+import java.util.function.Supplier;
import java.util.stream.Collector;
import java.util.stream.Stream;
diff --git a/forge-core/src/main/java/forge/util/TextUtil.java b/forge-core/src/main/java/forge/util/TextUtil.java
index c9388983c77..57a944a54a2 100644
--- a/forge-core/src/main/java/forge/util/TextUtil.java
+++ b/forge-core/src/main/java/forge/util/TextUtil.java
@@ -1,5 +1,11 @@
package forge.util;
+import com.google.common.collect.ImmutableSortedMap;
+import forge.item.IPaperCard;
+import forge.item.PaperCard;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
+
import java.text.DecimalFormat;
import java.text.Normalizer;
import java.util.ArrayList;
@@ -8,14 +14,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
-import forge.item.IPaperCard;
-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 c481816ff95..d340111c1a3 100644
--- a/forge-core/src/main/java/forge/util/ThreadUtil.java
+++ b/forge-core/src/main/java/forge/util/ThreadUtil.java
@@ -1,13 +1,6 @@
package forge.util;
-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;
+import java.util.concurrent.*;
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 7753a2a918f..630af00f41c 100644
--- a/forge-core/src/main/java/forge/util/collect/FCollection.java
+++ b/forge-core/src/main/java/forge/util/collect/FCollection.java
@@ -1,22 +1,13 @@
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 java.util.function.Predicate;
-import java.util.stream.Stream;
-
import com.google.common.collect.*;
import org.apache.commons.lang3.ArrayUtils;
+import java.io.Serializable;
+import java.util.*;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+
/**
* 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/collect/FCollectionReader.java b/forge-core/src/main/java/forge/util/collect/FCollectionReader.java
index 10e8dc4f045..a29357400d9 100644
--- a/forge-core/src/main/java/forge/util/collect/FCollectionReader.java
+++ b/forge-core/src/main/java/forge/util/collect/FCollectionReader.java
@@ -1,9 +1,9 @@
package forge.util.collect;
-import java.io.File;
-
import forge.util.FileUtil;
+import java.io.File;
+
public abstract class FCollectionReader
* StorageBase class.
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 02bb126e038..c6ddc7d2941 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,12 @@
*/
package forge.util.storage;
-import java.io.File;
-import java.util.function.Function;
-
import forge.util.IItemSerializer;
import forge.util.TextUtil;
+import java.io.File;
+import java.util.function.Function;
+
/**
*
* StorageImmediatelySerialized class.
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 6f602c6aafc..0519e87540a 100644
--- a/forge-core/src/main/java/forge/util/storage/StorageReaderBase.java
+++ b/forge-core/src/main/java/forge/util/storage/StorageReaderBase.java
@@ -1,14 +1,13 @@
package forge.util.storage;
+import com.google.common.collect.ImmutableList;
+import forge.util.IItemReader;
+
import java.io.File;
import java.util.Map;
import java.util.TreeMap;
import java.util.function.Function;
-import com.google.common.collect.ImmutableList;
-
-import forge.util.IItemReader;
-
public abstract class StorageReaderBase
* CardListUtil class.
diff --git a/forge-game/src/main/java/forge/game/card/CardPlayOption.java b/forge-game/src/main/java/forge/game/card/CardPlayOption.java
index ce7c527469d..5def9de68ef 100644
--- a/forge-game/src/main/java/forge/game/card/CardPlayOption.java
+++ b/forge-game/src/main/java/forge/game/card/CardPlayOption.java
@@ -1,13 +1,12 @@
package forge.game.card;
-import org.apache.commons.lang3.StringUtils;
-
import forge.card.MagicColor;
import forge.game.ability.AbilityUtils;
import forge.game.cost.Cost;
import forge.game.mana.ManaConversionMatrix;
import forge.game.player.Player;
import forge.game.staticability.StaticAbility;
+import org.apache.commons.lang3.StringUtils;
public final class CardPlayOption {
public enum PayManaCost {
diff --git a/forge-game/src/main/java/forge/game/card/CardPredicates.java b/forge-game/src/main/java/forge/game/card/CardPredicates.java
index 4f37e6ee818..5396b69806e 100644
--- a/forge-game/src/main/java/forge/game/card/CardPredicates.java
+++ b/forge-game/src/main/java/forge/game/card/CardPredicates.java
@@ -17,9 +17,6 @@
*/
package forge.game.card;
-import java.util.Comparator;
-import java.util.function.Predicate;
-
import forge.game.CardTraitBase;
import forge.game.GameEntity;
import forge.game.combat.CombatUtil;
@@ -33,6 +30,9 @@ import forge.util.IterableUtil;
import forge.util.PredicateString;
import forge.util.collect.FCollectionView;
+import java.util.Comparator;
+import java.util.function.Predicate;
+
/**
*
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 96e5b600c6b..21640eb4f87 100644
--- a/forge-game/src/main/java/forge/game/card/CardProperty.java
+++ b/forge-game/src/main/java/forge/game/card/CardProperty.java
@@ -35,7 +35,10 @@ import forge.util.collect.FCollectionView;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
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 8a0747f5a22..9947641d33a 100644
--- a/forge-game/src/main/java/forge/game/card/CardState.java
+++ b/forge-game/src/main/java/forge/game/card/CardState.java
@@ -17,20 +17,10 @@
*/
package forge.game.card;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
-
-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.*;
import forge.card.mana.ManaCost;
import forge.game.CardTraitBase;
import forge.game.ForgeScript;
@@ -48,14 +38,18 @@ import forge.game.spellability.SpellAbilityPredicates;
import forge.game.spellability.SpellPermanent;
import forge.game.staticability.StaticAbility;
import forge.game.trigger.Trigger;
-import forge.util.IterableUtil;
import forge.util.ITranslatable;
+import forge.util.IterableUtil;
import forge.util.collect.FCollection;
import forge.util.collect.FCollectionView;
import io.sentry.Breadcrumb;
import io.sentry.Sentry;
import org.apache.commons.lang3.StringUtils;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
public class CardState extends GameObject implements IHasSVars, ITranslatable {
private String name = "";
private CardType type = new CardType(false);
diff --git a/forge-game/src/main/java/forge/game/card/CardTraitChanges.java b/forge-game/src/main/java/forge/game/card/CardTraitChanges.java
index 6228d3af8a8..be7020a39ab 100644
--- a/forge-game/src/main/java/forge/game/card/CardTraitChanges.java
+++ b/forge-game/src/main/java/forge/game/card/CardTraitChanges.java
@@ -1,15 +1,14 @@
package forge.game.card;
-import java.util.Collection;
-import java.util.List;
-
import com.google.common.collect.Lists;
-
import forge.game.replacement.ReplacementEffect;
import forge.game.spellability.SpellAbility;
import forge.game.staticability.StaticAbility;
import forge.game.trigger.Trigger;
+import java.util.Collection;
+import java.util.List;
+
public class CardTraitChanges implements Cloneable {
private List
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 8f644205782..40f16cc6d22 100644
--- a/forge-game/src/main/java/forge/game/cost/CostAddMana.java
+++ b/forge-game/src/main/java/forge/game/cost/CostAddMana.java
@@ -17,16 +17,15 @@
*/
package forge.game.cost;
-import java.util.ArrayList;
-import java.util.List;
-
-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;
import forge.game.spellability.SpellAbility;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* The Class CostAddMana.
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 7542f2fdc52..c667c0812f0 100644
--- a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java
+++ b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java
@@ -1,17 +1,7 @@
package forge.game.cost;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import forge.game.player.PlayerCollection;
-import forge.game.ability.AbilityKey;
-import forge.game.trigger.TriggerType;
-import org.apache.commons.lang3.StringUtils;
-
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
-
import forge.card.CardStateName;
import forge.card.mana.ManaAtom;
import forge.card.mana.ManaCost;
@@ -19,25 +9,27 @@ import forge.card.mana.ManaCostParser;
import forge.card.mana.ManaCostShard;
import forge.game.Game;
import forge.game.GameObject;
+import forge.game.ability.AbilityKey;
import forge.game.ability.AbilityUtils;
-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.*;
import forge.game.keyword.Keyword;
import forge.game.keyword.KeywordInterface;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.player.Player;
+import forge.game.player.PlayerCollection;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityPredicates;
import forge.game.spellability.TargetChoices;
import forge.game.staticability.StaticAbility;
+import forge.game.trigger.TriggerType;
import forge.game.zone.Zone;
import forge.game.zone.ZoneType;
import forge.util.Localizer;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
public class CostAdjustment {
diff --git a/forge-game/src/main/java/forge/game/cost/CostCollectEvidence.java b/forge-game/src/main/java/forge/game/cost/CostCollectEvidence.java
index 96ccc36853d..feadeb2f22e 100644
--- a/forge-game/src/main/java/forge/game/cost/CostCollectEvidence.java
+++ b/forge-game/src/main/java/forge/game/cost/CostCollectEvidence.java
@@ -3,11 +3,7 @@ package forge.game.cost;
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.ability.SpellAbilityEffect;
-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.*;
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/cost/CostDiscard.java b/forge-game/src/main/java/forge/game/cost/CostDiscard.java
index 1e94d38f550..e89a8213419 100644
--- a/forge-game/src/main/java/forge/game/cost/CostDiscard.java
+++ b/forge-game/src/main/java/forge/game/cost/CostDiscard.java
@@ -17,25 +17,20 @@
*/
package forge.game.cost;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-
import forge.game.ability.AbilityKey;
-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.*;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.trigger.TriggerType;
import forge.game.zone.ZoneType;
import forge.util.TextUtil;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* The Class CostDiscard.
*/
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 0028bf9859d..563ecbdf450 100644
--- a/forge-game/src/main/java/forge/game/cost/CostDraw.java
+++ b/forge-game/src/main/java/forge/game/cost/CostDraw.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
@@ -26,6 +24,8 @@ import forge.game.player.Player;
import forge.game.player.PlayerCollection;
import forge.game.spellability.SpellAbility;
+import java.util.Map;
+
/**
* The Class CostDraw.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostEnlist.java b/forge-game/src/main/java/forge/game/cost/CostEnlist.java
index 2fdb647a782..806846d7e17 100644
--- a/forge-game/src/main/java/forge/game/cost/CostEnlist.java
+++ b/forge-game/src/main/java/forge/game/cost/CostEnlist.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -27,6 +25,8 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.trigger.TriggerType;
+import java.util.Map;
+
/**
* The Class CostExert.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostExileFromStack.java b/forge-game/src/main/java/forge/game/cost/CostExileFromStack.java
index c4e21caf932..dee21cd4354 100644
--- a/forge-game/src/main/java/forge/game/cost/CostExileFromStack.java
+++ b/forge-game/src/main/java/forge/game/cost/CostExileFromStack.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.ability.SpellAbilityEffect;
@@ -28,6 +26,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityStackInstance;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
/**
* The Class CostExile.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostExiledMoveToGrave.java b/forge-game/src/main/java/forge/game/cost/CostExiledMoveToGrave.java
index 5eaf8446340..75590ecf7e4 100644
--- a/forge-game/src/main/java/forge/game/cost/CostExiledMoveToGrave.java
+++ b/forge-game/src/main/java/forge/game/cost/CostExiledMoveToGrave.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
import forge.game.card.CardCollectionView;
@@ -27,6 +25,8 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
/**
* This is for the "ExiledMoveToGrave" Cost.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostForage.java b/forge-game/src/main/java/forge/game/cost/CostForage.java
index af2130a0e82..28d73847ff7 100644
--- a/forge-game/src/main/java/forge/game/cost/CostForage.java
+++ b/forge-game/src/main/java/forge/game/cost/CostForage.java
@@ -1,20 +1,16 @@
package forge.game.cost;
-import java.util.Map;
-
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.ability.SpellAbilityEffect;
-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.*;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.trigger.TriggerType;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
public class CostForage extends CostPartWithList {
private static final long serialVersionUID = 1L;
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 627ef417fac..34626114746 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,12 @@
*/
package forge.game.cost;
-import java.util.List;
-
import com.google.common.collect.Lists;
-
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
+import java.util.List;
+
/**
* The Class CostGainLife.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostMill.java b/forge-game/src/main/java/forge/game/cost/CostMill.java
index 36c377dd8d4..d021e4d6a2f 100644
--- a/forge-game/src/main/java/forge/game/cost/CostMill.java
+++ b/forge-game/src/main/java/forge/game/cost/CostMill.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.card.CardZoneTable;
@@ -27,6 +25,8 @@ import forge.game.player.PlayerCollection;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
/**
* This is for the "Mill" Cost. Putting cards from the top of your library into
* your graveyard as a cost. This Cost doesn't appear on very many cards, but
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 776fe634781..a4972731f87 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,15 @@
*/
package forge.game.cost;
-import java.io.Serializable;
-
import forge.card.CardType;
-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/CostPartWithTrigger.java b/forge-game/src/main/java/forge/game/cost/CostPartWithTrigger.java
index e8a4aeae435..916f0889953 100644
--- a/forge-game/src/main/java/forge/game/cost/CostPartWithTrigger.java
+++ b/forge-game/src/main/java/forge/game/cost/CostPartWithTrigger.java
@@ -1,9 +1,6 @@
package forge.game.cost;
-import java.util.Map;
-
import com.google.common.collect.Maps;
-
import forge.game.card.Card;
import forge.game.card.CardCollectionView;
import forge.game.player.Player;
@@ -12,6 +9,8 @@ import forge.game.trigger.Trigger;
import forge.game.trigger.TriggerHandler;
import forge.game.trigger.TriggerType;
+import java.util.Map;
+
public abstract class CostPartWithTrigger extends CostPartWithList {
/**
* Serializables need a version ID.
diff --git a/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java b/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java
index 74ce867df36..f4c50b2f2b4 100644
--- a/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java
+++ b/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java
@@ -18,7 +18,6 @@
package forge.game.cost;
import com.google.common.base.Strings;
-
import forge.game.card.Card;
import forge.game.card.CounterEnumType;
import forge.game.player.Player;
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 7c4ebf3fd2f..997487800f0 100644
--- a/forge-game/src/main/java/forge/game/cost/CostPayment.java
+++ b/forge-game/src/main/java/forge/game/cost/CostPayment.java
@@ -17,16 +17,8 @@
*/
package forge.game.cost;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import forge.game.mana.*;
-import org.apache.commons.lang3.tuple.Pair;
-
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-
import forge.card.MagicColor;
import forge.card.mana.ManaCostShard;
import forge.game.Game;
@@ -34,8 +26,14 @@ import forge.game.ability.AbilityKey;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardZoneTable;
+import forge.game.mana.*;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
+import org.apache.commons.lang3.tuple.Pair;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
/**
*
diff --git a/forge-game/src/main/java/forge/game/cost/CostPutCardToLib.java b/forge-game/src/main/java/forge/game/cost/CostPutCardToLib.java
index 5b92acc8642..e511ea3e78c 100644
--- a/forge-game/src/main/java/forge/game/cost/CostPutCardToLib.java
+++ b/forge-game/src/main/java/forge/game/cost/CostPutCardToLib.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
@@ -30,6 +28,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.collect.FCollectionView;
+import java.util.Map;
+
/**
* This is for the "PutCardToLib" Cost.
*/
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 99efbf65b62..b75f941d35d 100644
--- a/forge-game/src/main/java/forge/game/cost/CostPutCounter.java
+++ b/forge-game/src/main/java/forge/game/cost/CostPutCounter.java
@@ -17,10 +17,7 @@
*/
package forge.game.cost;
-import java.util.List;
-
import com.google.common.collect.Sets;
-
import forge.game.Game;
import forge.game.GameEntityCounterTable;
import forge.game.ability.AbilityKey;
@@ -31,6 +28,8 @@ import forge.game.replacement.ReplacementType;
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 6ce057e4a98..f3029a574ea 100644
--- a/forge-game/src/main/java/forge/game/cost/CostRemoveAnyCounter.java
+++ b/forge-game/src/main/java/forge/game/cost/CostRemoveAnyCounter.java
@@ -17,10 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-
import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.card.Card;
@@ -31,6 +27,10 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Optional;
+
/**
* 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 36e2453670a..8a199a3f196 100644
--- a/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java
+++ b/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java
@@ -17,10 +17,7 @@
*/
package forge.game.cost;
-import java.util.List;
-
import com.google.common.collect.Lists;
-
import forge.game.card.Card;
import forge.game.card.CardLists;
import forge.game.card.CounterEnumType;
@@ -30,6 +27,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.Lang;
+import java.util.List;
+
/**
* The Class CostRemoveCounter.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostReturn.java b/forge-game/src/main/java/forge/game/cost/CostReturn.java
index 457d9096d03..a30be724092 100644
--- a/forge-game/src/main/java/forge/game/cost/CostReturn.java
+++ b/forge-game/src/main/java/forge/game/cost/CostReturn.java
@@ -17,8 +17,6 @@
*/
package forge.game.cost;
-import java.util.Map;
-
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
import forge.game.card.CardCollectionView;
@@ -27,6 +25,8 @@ import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Map;
+
/**
* The Class CostReturn.
*/
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 2cd67ffaa10..ff88e85980e 100644
--- a/forge-game/src/main/java/forge/game/cost/CostReveal.java
+++ b/forge-game/src/main/java/forge/game/cost/CostReveal.java
@@ -17,19 +17,15 @@
*/
package forge.game.cost;
-import java.util.Arrays;
-import java.util.List;
-
import forge.game.GameLogEntryType;
-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.*;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
+import java.util.Arrays;
+import java.util.List;
+
/**
* The Class CostReveal.
*/
diff --git a/forge-game/src/main/java/forge/game/cost/CostSacrifice.java b/forge-game/src/main/java/forge/game/cost/CostSacrifice.java
index 43abf19a5cc..323b6242885 100644
--- a/forge-game/src/main/java/forge/game/cost/CostSacrifice.java
+++ b/forge-game/src/main/java/forge/game/cost/CostSacrifice.java
@@ -17,13 +17,8 @@
*/
package forge.game.cost;
-import forge.card.CardType;
-
-import java.util.Map;
-import java.util.Set;
-
import com.google.common.collect.Sets;
-
+import forge.card.CardType;
import forge.game.Game;
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
@@ -35,6 +30,9 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.Lang;
+import java.util.Map;
+import java.util.Set;
+
/**
* The Class CostSacrifice.
*/
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 f4d6739f6fd..bbde2c7df1a 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 f5560b92b54..b33777d3df4 100644
--- a/forge-game/src/main/java/forge/game/cost/PaymentDecision.java
+++ b/forge-game/src/main/java/forge/game/cost/PaymentDecision.java
@@ -1,7 +1,5 @@
package forge.game.cost;
-import java.util.List;
-
import forge.game.GameEntityCounterTable;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -11,6 +9,8 @@ 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/mana/ManaCostBeingPaid.java b/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java
index 47657b7b42f..727ef9231be 100644
--- a/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java
+++ b/forge-game/src/main/java/forge/game/mana/ManaCostBeingPaid.java
@@ -17,27 +17,21 @@
*/
package forge.game.mana;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.function.Predicate;
-
import com.google.common.collect.Iterables;
-import forge.util.IterableUtil;
-import org.apache.commons.lang3.StringUtils;
-
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-
import forge.card.ColorSet;
import forge.card.MagicColor;
import forge.card.mana.IParserManaCost;
import forge.card.mana.ManaAtom;
import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
+import forge.util.IterableUtil;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.*;
+import java.util.Map.Entry;
+import java.util.function.Predicate;
/**
*
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 a9e7483e414..2f5eadd4cc6 100644
--- a/forge-game/src/main/java/forge/game/mana/ManaPool.java
+++ b/forge-game/src/main/java/forge/game/mana/ManaPool.java
@@ -17,15 +17,8 @@
*/
package forge.game.mana;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Lists;
-
import forge.card.mana.ManaAtom;
import forge.card.mana.ManaCostShard;
import forge.game.Game;
@@ -41,6 +34,8 @@ import forge.game.spellability.AbilityManaPart;
import forge.game.spellability.SpellAbility;
import forge.game.staticability.StaticAbilityUnspentMana;
+import java.util.*;
+
/**
*
* ManaPool class.
diff --git a/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java b/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java
index 8d60d7fdb09..2a3ccab0bb9 100644
--- a/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java
+++ b/forge-gui/src/main/java/forge/deck/ArchetypeDeckGenerator.java
@@ -1,15 +1,14 @@
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 cf6a2679b1c..c5ee008a8e4 100644
--- a/forge-gui/src/main/java/forge/deck/CardArchetypeLDAGenerator.java
+++ b/forge-gui/src/main/java/forge/deck/CardArchetypeLDAGenerator.java
@@ -1,18 +1,12 @@
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 e4fdf6dac9d..a32f1a21bf7 100644
--- a/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java
+++ b/forge-gui/src/main/java/forge/deck/CardRelationMatrixGenerator.java
@@ -1,27 +1,19 @@
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 java.util.stream.Collectors;
-
-import forge.item.PaperCardPredicates;
-import org.apache.commons.lang3.ArrayUtils;
-
import forge.deck.io.CardThemedMatrixIO;
import forge.deck.io.DeckStorage;
import forge.game.GameFormat;
import forge.item.PaperCard;
+import forge.item.PaperCardPredicates;
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.*;
+import java.util.stream.Collectors;
/**
* 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 00c1e8a4e84..a8fee1c7369 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/ColorDeckGenerator.java b/forge-gui/src/main/java/forge/deck/ColorDeckGenerator.java
index 655609306d1..c3c8f653937 100644
--- a/forge-gui/src/main/java/forge/deck/ColorDeckGenerator.java
+++ b/forge-gui/src/main/java/forge/deck/ColorDeckGenerator.java
@@ -1,13 +1,13 @@
package forge.deck;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.function.Predicate;
-
import forge.card.CardEdition;
import forge.item.PaperCard;
import forge.itemmanager.IItemManager;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Predicate;
+
public class ColorDeckGenerator extends DeckProxy implements Comparable
* ThemeDeckGenerator class.
diff --git a/forge-gui/src/main/java/forge/deck/DeckImportController.java b/forge-gui/src/main/java/forge/deck/DeckImportController.java
index 511abab4469..8ba686c67ce 100644
--- a/forge-gui/src/main/java/forge/deck/DeckImportController.java
+++ b/forge-gui/src/main/java/forge/deck/DeckImportController.java
@@ -1,26 +1,25 @@
package forge.deck;
-import java.text.DateFormatSymbols;
-import java.util.*;
-
import forge.StaticData;
import forge.card.CardDb;
import forge.card.CardEdition;
+import forge.deck.DeckRecognizer.Token;
import forge.deck.DeckRecognizer.TokenType;
import forge.game.GameFormat;
import forge.game.GameType;
-import forge.deck.DeckRecognizer.Token;
-import forge.localinstance.properties.ForgePreferences;
-import forge.model.FModel;
-import org.apache.commons.lang3.StringUtils;
-
import forge.gui.interfaces.ICheckBox;
import forge.gui.interfaces.IComboBox;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
+import forge.localinstance.properties.ForgePreferences;
+import forge.model.FModel;
import forge.util.Localizer;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
+import java.text.DateFormatSymbols;
+import java.util.*;
+
public class DeckImportController {
private boolean createNewDeck;
// Date filter
diff --git a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java
index 6ff02d999bd..a626b8e49cf 100644
--- a/forge-gui/src/main/java/forge/deck/DeckgenUtil.java
+++ b/forge-gui/src/main/java/forge/deck/DeckgenUtil.java
@@ -1,21 +1,6 @@
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 java.util.function.Predicate;
-
-import forge.item.PaperCardPredicates;
-import forge.util.*;
-import org.apache.commons.lang3.tuple.Pair;
-
import com.google.common.collect.Lists;
-
import forge.StaticData;
import forge.card.CardDb;
import forge.card.CardRules;
@@ -23,12 +8,7 @@ import forge.card.CardRulesPredicates;
import forge.card.ColorSet;
import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
-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.generation.*;
import forge.deck.io.Archetype;
import forge.game.GameFormat;
import forge.game.GameType;
@@ -42,10 +22,16 @@ import forge.gamemodes.quest.QuestEventChallenge;
import forge.gamemodes.quest.QuestEventDuel;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
+import forge.item.PaperCardPredicates;
import forge.itemmanager.IItemManager;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
+import forge.util.*;
import forge.util.storage.IStorage;
+import org.apache.commons.lang3.tuple.Pair;
+
+import java.util.*;
+import java.util.function.Predicate;
/**
* Utility collection for various types of decks.
diff --git a/forge-gui/src/main/java/forge/deck/NetDeckCategory.java b/forge-gui/src/main/java/forge/deck/NetDeckCategory.java
index d455ec4442b..a43d38c63ac 100644
--- a/forge-gui/src/main/java/forge/deck/NetDeckCategory.java
+++ b/forge-gui/src/main/java/forge/deck/NetDeckCategory.java
@@ -11,8 +11,13 @@ import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.storage.StorageBase;
-import java.io.*;
-import java.util.*;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
public class NetDeckCategory extends StorageBase
* InputAttack class.
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java
index 2ae2db4175e..f59d1ee0d1a 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBase.java
@@ -17,8 +17,6 @@
*/
package forge.gamemodes.match.input;
-import java.util.List;
-
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardView;
@@ -34,6 +32,8 @@ import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.Localizer;
+import java.util.List;
+
/**
*
* Abstract Input class.
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 b0d04e6cf4a..f5fe9466cbf 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputBlock.java
@@ -17,8 +17,6 @@
*/
package forge.gamemodes.match.input;
-import java.util.List;
-
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.combat.Combat;
@@ -34,6 +32,8 @@ import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.ThreadUtil;
+import java.util.List;
+
/**
*
* Input_Block class.
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java
index 833014c755f..518fc8f7a58 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputConfirm.java
@@ -17,10 +17,7 @@
*/
package forge.gamemodes.match.input;
-import java.util.List;
-
import com.google.common.collect.ImmutableList;
-
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.spellability.SpellAbility;
@@ -30,6 +27,8 @@ import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.util.Localizer;
+import java.util.List;
+
/**
*
* InputConfirm class.
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 7643ba5bdb1..cd814690afc 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
@@ -17,8 +17,6 @@
*/
package forge.gamemodes.match.input;
-import java.util.List;
-
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -32,6 +30,8 @@ import forge.util.Lang;
import forge.util.Localizer;
import forge.util.ThreadUtil;
+import java.util.List;
+
/**
*
* InputConfirmMulligan class.
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java
index f31c44a3165..be1a4600bcb 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputLockUI.java
@@ -1,8 +1,5 @@
package forge.gamemodes.match.input;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.player.PlayerView;
@@ -13,6 +10,9 @@ import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.ThreadUtil;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
public class InputLockUI implements Input {
private final AtomicInteger iCall = new AtomicInteger();
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 d27c22580d5..153ea541cea 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
@@ -17,8 +17,6 @@
*/
package forge.gamemodes.match.input;
-import java.util.List;
-
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -29,6 +27,8 @@ import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.Localizer;
+import java.util.List;
+
/**
*
* InputLondonMulligan class.
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java
index c134489837d..93eb1395e37 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPassPriority.java
@@ -17,15 +17,11 @@
*/
package forge.gamemodes.match.input;
-import java.util.ArrayList;
-import java.util.List;
-
import forge.game.Game;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.player.PlayerController;
import forge.game.player.actions.PassPriorityAction;
-
import forge.game.spellability.SpellAbility;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
@@ -35,6 +31,9 @@ import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.ThreadUtil;
+import java.util.ArrayList;
+import java.util.List;
+
/**
*
* Input_PassPriority class.
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 20a1b70496d..5d0517b0903 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,14 +1,6 @@
package forge.gamemodes.match.input;
-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 com.google.common.collect.Lists;
-
import forge.ai.ComputerUtilMana;
import forge.ai.PlayerControllerAi;
import forge.card.ColorSet;
@@ -33,6 +25,8 @@ import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.TextUtil;
+import java.util.*;
+
public abstract class InputPayMana extends InputSyncronizedBase {
private static final long serialVersionUID = 718128600948280315L;
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java
index ab204505f24..70cf6b65ed4 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java
@@ -1,8 +1,5 @@
package forge.gamemodes.match.input;
-import java.util.ArrayList;
-import java.util.List;
-
import forge.card.mana.ManaAtom;
import forge.card.mana.ManaCostShard;
import forge.game.mana.Mana;
@@ -16,6 +13,9 @@ import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.Localizer;
+import java.util.ArrayList;
+import java.util.List;
+
public class InputPayManaOfCostPayment extends InputPayMana {
public InputPayManaOfCostPayment(final PlayerControllerHuman controller, ManaCostBeingPaid cost, SpellAbility spellAbility, Player payer, ManaConversionMatrix matrix, boolean effect) {
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java
index 9dc29a86f3f..f3c2cd3d1fc 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputProxy.java
@@ -17,12 +17,6 @@
*/
package forge.gamemodes.match.input;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Observable;
-import java.util.Observer;
-import java.util.concurrent.atomic.AtomicReference;
-
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.player.Player;
@@ -32,6 +26,12 @@ import forge.gui.FThreads;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Observable;
+import java.util.Observer;
+import java.util.concurrent.atomic.AtomicReference;
+
/**
*
* GuiInput class.
diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java
index b669697d598..ae1972f82a9 100644
--- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java
+++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputQueue.java
@@ -17,13 +17,13 @@
*/
package forge.gamemodes.match.input;
+import forge.game.GameView;
+import forge.player.PlayerControllerHuman;
+
import java.util.Observable;
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;
-import forge.game.GameView;
-import forge.player.PlayerControllerHuman;
-
/**
*
* InputControl class.
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 97075abb257..3b5b2634048 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
@@ -1,12 +1,6 @@
package forge.gamemodes.match.input;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import com.google.common.collect.Maps;
-
import forge.card.ColorSet;
import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
@@ -21,6 +15,11 @@ import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.TextUtil;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
public final class InputSelectCardsForConvokeOrImprovise extends InputSelectManyBase
* ReadPriceList class.
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 9029fca11f5..2644f40c4ee 100644
--- a/forge-gui/src/main/java/forge/gui/card/CardPreferences.java
+++ b/forge-gui/src/main/java/forge/gui/card/CardPreferences.java
@@ -1,23 +1,21 @@
package forge.gui.card;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
import forge.card.CardDb;
+import forge.item.IPaperCard;
+import forge.localinstance.properties.ForgeConstants;
+import forge.model.FModel;
import forge.util.TextUtil;
+import forge.util.XmlUtil;
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;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.HashMap;
+import java.util.Map;
/**
* 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 9343ec1b678..ef810e5641a 100644
--- a/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java
+++ b/forge-gui/src/main/java/forge/gui/card/CardReaderExperiments.java
@@ -1,21 +1,17 @@
package forge.gui.card;
-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;
+import java.io.*;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
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/card/CardScriptInfo.java b/forge-gui/src/main/java/forge/gui/card/CardScriptInfo.java
index f97d2e9384e..049af08bdbb 100644
--- a/forge-gui/src/main/java/forge/gui/card/CardScriptInfo.java
+++ b/forge-gui/src/main/java/forge/gui/card/CardScriptInfo.java
@@ -17,14 +17,14 @@
*/
package forge.gui.card;
+import forge.localinstance.properties.ForgeConstants;
+import forge.util.FileUtil;
+
import java.io.File;
import java.io.PrintWriter;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import forge.localinstance.properties.ForgeConstants;
-import forge.util.FileUtil;
-
public final class CardScriptInfo {
private String text;
private final File file;
diff --git a/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java
index 76de4179a71..06bb498eaf3 100644
--- a/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java
+++ b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java
@@ -1,23 +1,21 @@
package forge.gui.card;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Predicate;
-
-import org.apache.commons.lang3.StringUtils;
-
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-
import forge.card.CardType;
import forge.game.ability.AbilityFactory;
import forge.game.ability.AbilityFactory.AbilityRecordType;
import forge.game.ability.ApiType;
import forge.game.replacement.ReplacementType;
import forge.game.trigger.TriggerType;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Predicate;
public final class CardScriptParser {
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 ae678d65575..9ae66851e08 100644
--- a/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java
+++ b/forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java
@@ -1,12 +1,8 @@
package forge.gui.control;
-import java.util.*;
-import java.util.Map.Entry;
-
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.eventbus.Subscribe;
-
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -26,6 +22,9 @@ import forge.player.PlayerZoneUpdates;
import forge.util.Lang;
import forge.util.maps.MapOfLists;
+import java.util.*;
+import java.util.Map.Entry;
+
public class FControlGameEventHandler extends IGameEventVisitor.Base
diff --git a/forge-gui/src/main/java/forge/player/PlayerZoneUpdate.java b/forge-gui/src/main/java/forge/player/PlayerZoneUpdate.java
index 7ed01f9f469..ea55414b7b5 100644
--- a/forge-gui/src/main/java/forge/player/PlayerZoneUpdate.java
+++ b/forge-gui/src/main/java/forge/player/PlayerZoneUpdate.java
@@ -1,12 +1,12 @@
package forge.player;
+import forge.game.player.PlayerView;
+import forge.game.zone.ZoneType;
+
import java.io.Serializable;
import java.util.EnumSet;
import java.util.Set;
-import forge.game.player.PlayerView;
-import forge.game.zone.ZoneType;
-
public class PlayerZoneUpdate implements Serializable {
private static final long serialVersionUID = -7666875897455073969L;
diff --git a/forge-gui/src/main/java/forge/player/PlayerZoneUpdates.java b/forge-gui/src/main/java/forge/player/PlayerZoneUpdates.java
index 17f71d1e6e2..9d85e139e0c 100644
--- a/forge-gui/src/main/java/forge/player/PlayerZoneUpdates.java
+++ b/forge-gui/src/main/java/forge/player/PlayerZoneUpdates.java
@@ -1,14 +1,13 @@
package forge.player;
+import com.google.common.collect.Maps;
+import forge.game.player.PlayerView;
+
import java.io.Serializable;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
-import com.google.common.collect.Maps;
-
-import forge.game.player.PlayerView;
-
public class PlayerZoneUpdates implements Iterable
* Target_Selection class.
diff --git a/forge-gui/src/main/java/forge/sound/EventVisualizer.java b/forge-gui/src/main/java/forge/sound/EventVisualizer.java
index 3d83b1d1fb8..09661a72fc1 100644
--- a/forge-gui/src/main/java/forge/sound/EventVisualizer.java
+++ b/forge-gui/src/main/java/forge/sound/EventVisualizer.java
@@ -1,8 +1,5 @@
package forge.sound;
-import java.io.File;
-import java.util.Collection;
-
import forge.LobbyPlayer;
import forge.game.card.Card;
import forge.game.event.*;
@@ -16,6 +13,9 @@ import forge.gui.events.UiEventNextGameDecision;
import forge.util.TextUtil;
import forge.util.maps.MapOfLists;
+import java.io.File;
+import java.util.Collection;
+
/**
* This class is in charge of converting any forge.game.event.Event to a SoundEffectType.
*
diff --git a/forge-gui/src/main/java/forge/util/HttpUtil.java b/forge-gui/src/main/java/forge/util/HttpUtil.java
index 3098135faf7..ca0a6d79a5d 100644
--- a/forge-gui/src/main/java/forge/util/HttpUtil.java
+++ b/forge-gui/src/main/java/forge/util/HttpUtil.java
@@ -17,18 +17,14 @@
*/
package forge.util;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
+import forge.localinstance.properties.ForgePreferences;
+
+import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Collection;
-import forge.localinstance.properties.ForgePreferences;
-
public class HttpUtil {
private static final String BOUNDARY = "--7d021a37605f0";
diff --git a/forge-gui/src/main/java/forge/util/IgnoringXStream.java b/forge-gui/src/main/java/forge/util/IgnoringXStream.java
index 7d8ba579e65..e8b5e997818 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 java.util.ArrayList;
-import java.util.List;
-
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.mapper.MapperWrapper;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* TODO: Write javadoc for this type.
*
diff --git a/forge-gui/src/main/java/forge/util/WordUtil.java b/forge-gui/src/main/java/forge/util/WordUtil.java
index 97478c69448..83251e58ec9 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/XmlReader.java b/forge-gui/src/main/java/forge/util/XmlReader.java
index d918f24ccd1..dff3e35ccfb 100644
--- a/forge-gui/src/main/java/forge/util/XmlReader.java
+++ b/forge-gui/src/main/java/forge/util/XmlReader.java
@@ -1,21 +1,19 @@
package forge.util;
-import java.io.File;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
+import forge.card.CardDb;
+import forge.item.PaperCard;
+import forge.util.XmlWriter.IXmlWritable;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import forge.card.CardDb;
-import forge.item.PaperCard;
-import forge.util.XmlWriter.IXmlWritable;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.File;
+import java.util.Collection;
+import java.util.EnumMap;
+import java.util.Map;
public class XmlReader {
private Element currentElement;
diff --git a/forge-gui/src/main/java/forge/util/XmlUtil.java b/forge-gui/src/main/java/forge/util/XmlUtil.java
index e15a4cb7ad3..4d04a0166a6 100644
--- a/forge-gui/src/main/java/forge/util/XmlUtil.java
+++ b/forge-gui/src/main/java/forge/util/XmlUtil.java
@@ -17,8 +17,9 @@
*/
package forge.util;
-import java.io.File;
-import java.io.StringWriter;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
@@ -26,10 +27,8 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
+import java.io.File;
+import java.io.StringWriter;
public class XmlUtil {
diff --git a/forge-gui/src/main/java/forge/util/XmlWriter.java b/forge-gui/src/main/java/forge/util/XmlWriter.java
index 3c6cddcaaf6..b15c6bdfa5f 100644
--- a/forge-gui/src/main/java/forge/util/XmlWriter.java
+++ b/forge-gui/src/main/java/forge/util/XmlWriter.java
@@ -1,19 +1,17 @@
package forge.util;
+import forge.item.PaperCard;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
import java.util.EnumMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Stack;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import forge.item.PaperCard;
-
public class XmlWriter {
private final Document document;
private final String filename;
diff --git a/forge-lda/src/forge/lda/dataset/BagOfWords.java b/forge-lda/src/forge/lda/dataset/BagOfWords.java
index f800c2fdddc..d425b931df2 100644
--- a/forge-lda/src/forge/lda/dataset/BagOfWords.java
+++ b/forge-lda/src/forge/lda/dataset/BagOfWords.java
@@ -24,7 +24,9 @@ import forge.localinstance.properties.ForgeConstants;
import forge.util.storage.IStorage;
import forge.util.storage.StorageImmediatelySerialized;
-import java.io.*;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.*;
/**
diff --git a/forge-lda/src/forge/lda/lda/inference/Inference.java b/forge-lda/src/forge/lda/lda/inference/Inference.java
index 89b6ffdf2d1..b17b40febf0 100644
--- a/forge-lda/src/forge/lda/lda/inference/Inference.java
+++ b/forge-lda/src/forge/lda/lda/inference/Inference.java
@@ -16,12 +16,11 @@
package forge.lda.lda.inference;
-import java.util.List;
-
import forge.lda.lda.LDA;
-
import org.apache.commons.lang3.tuple.Pair;
+import java.util.List;
+
public interface Inference {
/**
* Set up for inference.
diff --git a/forge-lda/src/forge/lda/lda/inference/internal/CollapsedGibbsSampler.java b/forge-lda/src/forge/lda/lda/inference/internal/CollapsedGibbsSampler.java
index 60f969fecc4..6064ee8baab 100644
--- a/forge-lda/src/forge/lda/lda/inference/internal/CollapsedGibbsSampler.java
+++ b/forge-lda/src/forge/lda/lda/inference/internal/CollapsedGibbsSampler.java
@@ -16,19 +16,17 @@
package forge.lda.lda.inference.internal;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.IntStream;
-
+import forge.lda.dataset.Vocabulary;
import forge.lda.lda.LDA;
import forge.lda.lda.inference.Inference;
import forge.lda.lda.inference.InferenceProperties;
-
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.math3.distribution.EnumeratedIntegerDistribution;
import org.apache.commons.math3.distribution.IntegerDistribution;
-import forge.lda.dataset.Vocabulary;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.IntStream;
public class CollapsedGibbsSampler implements Inference {
private LDA lda;