@@ -78,7 +78,7 @@ public class Mana {
* @param col
* a {@link java.lang.String} object.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param manaAbility
* a {@link forge.card.spellability.AbilityMana} object
*/
@@ -206,7 +206,7 @@ public class Mana {
* Getter for the field sourceCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getSourceCard() {
return this.sourceCard;
diff --git a/forge-gui/src/main/java/forge/card/mana/ManaCostBeingPaid.java b/forge-gui/src/main/java/forge/card/mana/ManaCostBeingPaid.java
index 03963ab3064..34497726fa4 100644
--- a/forge-gui/src/main/java/forge/card/mana/ManaCostBeingPaid.java
+++ b/forge-gui/src/main/java/forge/card/mana/ManaCostBeingPaid.java
@@ -28,15 +28,15 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CardUtil;
import forge.card.ColorSet;
import forge.card.MagicColor;
import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility;
import forge.game.Game;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceCounter.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceCounter.java
index f182658267d..2061d617c26 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceCounter.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceCounter.java
@@ -19,8 +19,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceDamage.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceDamage.java
index cd18e7cfe44..cd182faadc0 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceDamage.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceDamage.java
@@ -19,9 +19,9 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.util.Expressions;
/**
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceDestroy.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceDestroy.java
index ca5306cfa37..e5c62537e7b 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceDestroy.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceDestroy.java
@@ -19,8 +19,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceDiscard.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceDiscard.java
index 9ab6f79268a..de3767d9e13 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceDiscard.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceDiscard.java
@@ -19,8 +19,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceDraw.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceDraw.java
index 8fa4141d2b4..767832c475f 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceDraw.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceDraw.java
@@ -19,8 +19,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceGainLife.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceGainLife.java
index 7ce294c6309..bbb2128b60e 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceGainLife.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceGainLife.java
@@ -19,8 +19,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceGameLoss.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceGameLoss.java
index 66280090466..cd623e03a69 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceGameLoss.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceGameLoss.java
@@ -2,7 +2,7 @@
import java.util.Map;
-import forge.Card;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceMoved.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceMoved.java
index 11d95ab9091..ebe1e7dc8c2 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceMoved.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceMoved.java
@@ -2,8 +2,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.zone.ZoneType;
/**
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceProduceMana.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceProduceMana.java
index b6c5daa5526..4ccf6b67b78 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceProduceMana.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceProduceMana.java
@@ -2,8 +2,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceSetInMotion.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceSetInMotion.java
index 493c975c83e..bc95c729f76 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceSetInMotion.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceSetInMotion.java
@@ -19,7 +19,7 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceTurnFaceUp.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceTurnFaceUp.java
index 43ac3d3a1d4..e8a4c884b36 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceTurnFaceUp.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceTurnFaceUp.java
@@ -2,8 +2,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplaceUntap.java b/forge-gui/src/main/java/forge/card/replacement/ReplaceUntap.java
index 85ecb971f2e..895ee529aa6 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplaceUntap.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplaceUntap.java
@@ -19,8 +19,8 @@ package forge.card.replacement;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.phase.PhaseType;
/**
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplacementEffect.java b/forge-gui/src/main/java/forge/card/replacement/ReplacementEffect.java
index e52263dedf8..597f9643b3b 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplacementEffect.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplacementEffect.java
@@ -20,12 +20,12 @@ package forge.card.replacement;
import java.util.List;
import java.util.Map;
-import forge.Card;
import forge.card.TriggerReplacementBase;
import forge.card.ability.AbilityUtils;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.util.Expressions;
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplacementHandler.java b/forge-gui/src/main/java/forge/card/replacement/ReplacementHandler.java
index fe52faad4e9..52ef76d9163 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplacementHandler.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplacementHandler.java
@@ -25,12 +25,12 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
-import forge.GameLogEntryType;
import forge.card.ability.AbilityFactory;
import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.GameLogEntryType;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
diff --git a/forge-gui/src/main/java/forge/card/replacement/ReplacementType.java b/forge-gui/src/main/java/forge/card/replacement/ReplacementType.java
index 0afedb6fcc2..cd0c83d31a0 100644
--- a/forge-gui/src/main/java/forge/card/replacement/ReplacementType.java
+++ b/forge-gui/src/main/java/forge/card/replacement/ReplacementType.java
@@ -4,7 +4,7 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
-import forge.Card;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/spellability/Ability.java b/forge-gui/src/main/java/forge/card/spellability/Ability.java
index c2872a9695c..9f490385c89 100644
--- a/forge-gui/src/main/java/forge/card/spellability/Ability.java
+++ b/forge-gui/src/main/java/forge/card/spellability/Ability.java
@@ -19,10 +19,10 @@ package forge.card.spellability;
import com.esotericsoftware.minlog.Log;
-import forge.Card;
import forge.card.cost.Cost;
import forge.card.mana.ManaCost;
import forge.game.Game;
+import forge.game.card.Card;
/**
*
@@ -36,7 +36,7 @@ public abstract class AbilityStatic extends Ability {
*
*
* @param sourceCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param manaCost
* a {@link java.lang.String} object.
*/
diff --git a/forge-gui/src/main/java/forge/card/spellability/AbilitySub.java b/forge-gui/src/main/java/forge/card/spellability/AbilitySub.java
index f9364631c98..3c3a85b2a6b 100644
--- a/forge-gui/src/main/java/forge/card/spellability/AbilitySub.java
+++ b/forge-gui/src/main/java/forge/card/spellability/AbilitySub.java
@@ -19,7 +19,6 @@ package forge.card.spellability;
import java.util.Map;
-import forge.Card;
import forge.card.ability.AbilityFactory;
import forge.card.ability.ApiType;
import forge.card.ability.SpellAbilityAi;
@@ -30,6 +29,7 @@ import forge.card.ability.effects.ManaEffect;
import forge.card.ability.effects.ManaReflectedEffect;
import forge.card.cardfactory.CardFactory;
import forge.card.cost.Cost;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
diff --git a/forge-gui/src/main/java/forge/card/spellability/AbilityTriggered.java b/forge-gui/src/main/java/forge/card/spellability/AbilityTriggered.java
index a36caa571fb..e00dacaa961 100644
--- a/forge-gui/src/main/java/forge/card/spellability/AbilityTriggered.java
+++ b/forge-gui/src/main/java/forge/card/spellability/AbilityTriggered.java
@@ -19,12 +19,12 @@ package forge.card.spellability;
import java.util.Arrays;
-import forge.Card;
import forge.Command;
import forge.card.CardCharacteristicName;
import forge.card.CardCharacteristics;
import forge.card.mana.ManaCost;
import forge.card.trigger.ZCTrigger;
+import forge.game.card.Card;
/**
*
@@ -75,7 +75,7 @@ public class AbilityTriggered extends Ability implements Command {
*
*
* @param sourceCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param sourceCommand
* a {@link forge.Command} object.
* @param situation
@@ -128,7 +128,7 @@ public class AbilityTriggered extends Ability implements Command {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean triggerFor(final Card c) {
diff --git a/forge-gui/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java b/forge-gui/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java
index 0399949d086..15faa23acaa 100644
--- a/forge-gui/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java
+++ b/forge-gui/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java
@@ -22,13 +22,13 @@ import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Iterables;
-import forge.Card;
-import forge.GameObject;
import forge.card.CardType;
import forge.card.ability.AbilityUtils;
import forge.card.cost.CostPartMana;
import forge.card.cost.CostPayment;
import forge.game.Game;
+import forge.game.GameObject;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.Zone;
diff --git a/forge-gui/src/main/java/forge/card/spellability/Spell.java b/forge-gui/src/main/java/forge/card/spellability/Spell.java
index ee2a1269c8a..700a3787b9e 100644
--- a/forge-gui/src/main/java/forge/card/spellability/Spell.java
+++ b/forge-gui/src/main/java/forge/card/spellability/Spell.java
@@ -20,14 +20,14 @@ package forge.card.spellability;
import java.util.ArrayList;
import java.util.List;
-import forge.Card;
-import forge.CardLists;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
import forge.card.cost.CostPayment;
import forge.card.staticability.StaticAbility;
import forge.error.BugReporter;
import forge.game.Game;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.Expressions;
@@ -53,7 +53,7 @@ public abstract class Spell extends SpellAbility implements java.io.Serializable
*
*
* @param sourceCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public Spell(final Card sourceCard) {
this(sourceCard, new Cost(sourceCard.getManaCost(), false));
diff --git a/forge-gui/src/main/java/forge/card/spellability/SpellAbility.java b/forge-gui/src/main/java/forge/card/spellability/SpellAbility.java
index d6c2560d5b5..257050b28ab 100644
--- a/forge-gui/src/main/java/forge/card/spellability/SpellAbility.java
+++ b/forge-gui/src/main/java/forge/card/spellability/SpellAbility.java
@@ -30,9 +30,6 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.GameEntity;
-import forge.GameObject;
import forge.card.ability.AbilityUtils;
import forge.card.ability.ApiType;
import forge.card.cost.Cost;
@@ -40,6 +37,9 @@ import forge.card.cost.CostPartMana;
import forge.card.mana.Mana;
import forge.card.mana.ManaCost;
import forge.game.Game;
+import forge.game.GameEntity;
+import forge.game.GameObject;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.util.TextUtil;
@@ -164,7 +164,7 @@ public abstract class SpellAbility extends GameObject implements ISpellAbility {
* @param spellOrAbility
* a int.
* @param iSourceCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public SpellAbility(final Card iSourceCard, Cost toPay) {
this.sourceCard = iSourceCard;
@@ -362,7 +362,7 @@ public abstract class SpellAbility extends GameObject implements ISpellAbility {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public void setSourceCard(final Card c) {
this.sourceCard = c;
@@ -373,7 +373,7 @@ public abstract class SpellAbility extends GameObject implements ISpellAbility {
* Getter for the field getMapParams(final String abString, final Card hostCard) {
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantAttackBlock.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantAttackBlock.java
index ad1abb54c45..4763ed066d8 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantAttackBlock.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantAttackBlock.java
@@ -19,10 +19,10 @@ package forge.card.staticability;
import java.util.HashMap;
-import forge.Card;
-import forge.GameEntity;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
+import forge.game.GameEntity;
+import forge.game.card.Card;
/**
* The Class StaticAbility_CantBeCast.
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java
index 45211491cc2..bcb9a622ff7 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java
@@ -20,8 +20,8 @@ package forge.card.staticability;
import java.util.HashMap;
import java.util.List;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantTarget.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantTarget.java
index 818750e7caf..3fb3e301842 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantTarget.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCantTarget.java
@@ -19,8 +19,8 @@ package forge.card.staticability;
import java.util.HashMap;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityContinuous.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityContinuous.java
index 9512d572f10..71c7a269630 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityContinuous.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityContinuous.java
@@ -26,11 +26,6 @@ import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardUtil;
-import forge.StaticEffect;
-import forge.StaticEffects;
import forge.card.CardType;
import forge.card.TriggerReplacementBase;
import forge.card.ability.AbilityFactory;
@@ -44,6 +39,11 @@ import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
import forge.game.Game;
import forge.game.GlobalRuleChange;
+import forge.game.StaticEffect;
+import forge.game.StaticEffects;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCostChange.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCostChange.java
index d24b78dcb28..7d1b911804c 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCostChange.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityCostChange.java
@@ -20,7 +20,6 @@ package forge.card.staticability;
import java.util.HashMap;
import java.util.List;
-import forge.Card;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.mana.ManaCostBeingPaid;
import forge.card.mana.ManaCostShard;
@@ -28,6 +27,7 @@ import forge.card.spellability.AbilityActivated;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.TargetRestrictions;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityETBTapped.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityETBTapped.java
index 040898a16f7..c05fcd3beee 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityETBTapped.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityETBTapped.java
@@ -19,7 +19,7 @@ package forge.card.staticability;
import java.util.HashMap;
-import forge.Card;
+import forge.game.card.Card;
/**
* The Class StaticAbility_CantBeCast.
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityMayLookAt.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityMayLookAt.java
index 39b44066d79..780565812e8 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityMayLookAt.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityMayLookAt.java
@@ -19,7 +19,7 @@ package forge.card.staticability;
import java.util.HashMap;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java
index 403bb132498..3ed6528218d 100644
--- a/forge-gui/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java
+++ b/forge-gui/src/main/java/forge/card/staticability/StaticAbilityPreventDamage.java
@@ -19,9 +19,9 @@ package forge.card.staticability;
import java.util.HashMap;
-import forge.Card;
-import forge.GameEntity;
import forge.card.cardfactory.CardFactoryUtil;
+import forge.game.GameEntity;
+import forge.game.card.Card;
/**
* The Class StaticAbility_PreventDamage.
diff --git a/forge-gui/src/main/java/forge/card/trigger/Trigger.java b/forge-gui/src/main/java/forge/card/trigger/Trigger.java
index 403039ae5a2..142ea28a02c 100644
--- a/forge-gui/src/main/java/forge/card/trigger/Trigger.java
+++ b/forge-gui/src/main/java/forge/card/trigger/Trigger.java
@@ -22,12 +22,12 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import forge.Card;
import forge.card.TriggerReplacementBase;
import forge.card.spellability.Ability;
import forge.card.spellability.OptionalCost;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
@@ -129,7 +129,7 @@ public abstract class Trigger extends TriggerReplacementBase {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerAlways.java b/forge-gui/src/main/java/forge/card/trigger/TriggerAlways.java
index cb9fd834539..e3bbc893b5b 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerAlways.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerAlways.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerAlways extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerAttached.java b/forge-gui/src/main/java/forge/card/trigger/TriggerAttached.java
index e21235ade66..a901a25693a 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerAttached.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerAttached.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerAttached extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java b/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java
index 0b25d234e6a..3282882e361 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerBlocked.java
@@ -20,8 +20,8 @@ package forge.card.trigger;
import java.util.List;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -41,7 +41,7 @@ public class TriggerAttackerBlocked extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java b/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java
index 6fdb579a82c..cc0bf2c4f95 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerAttackerUnblocked.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerAttackerUnblocked extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java b/forge-gui/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java
index b22778df758..e3a8986c479 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerAttackersDeclared.java
@@ -20,9 +20,9 @@ package forge.card.trigger;
import java.util.List;
import java.util.Map;
-import forge.Card;
-import forge.GameEntity;
import forge.card.spellability.SpellAbility;
+import forge.game.GameEntity;
+import forge.game.card.Card;
/**
* TODO Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerAttacks.java b/forge-gui/src/main/java/forge/card/trigger/TriggerAttacks.java
index e726800bcbc..a78e5b41474 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerAttacks.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerAttacks.java
@@ -20,9 +20,9 @@ package forge.card.trigger;
import java.util.List;
import java.util.Map;
-import forge.Card;
-import forge.GameEntity;
import forge.card.spellability.SpellAbility;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
@@ -43,7 +43,7 @@ public class TriggerAttacks extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerBecomeMonstrous.java b/forge-gui/src/main/java/forge/card/trigger/TriggerBecomeMonstrous.java
index 2bae228260a..da8c2bf5e65 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerBecomeMonstrous.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerBecomeMonstrous.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerBecomeMonstrous extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerBecomesTarget.java b/forge-gui/src/main/java/forge/card/trigger/TriggerBecomesTarget.java
index 6c8e8c1132e..ceac4976a41 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerBecomesTarget.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerBecomesTarget.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -41,7 +41,7 @@ public class TriggerBecomesTarget extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerBlockersDeclared.java b/forge-gui/src/main/java/forge/card/trigger/TriggerBlockersDeclared.java
index 63c4f37ce5a..ceae701b04e 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerBlockersDeclared.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerBlockersDeclared.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerBlocks.java b/forge-gui/src/main/java/forge/card/trigger/TriggerBlocks.java
index be82c91f4d8..93f4c21f4eb 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerBlocks.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerBlocks.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerBlocks extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerChampioned.java b/forge-gui/src/main/java/forge/card/trigger/TriggerChampioned.java
index 087c177df75..c3b476187cc 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerChampioned.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerChampioned.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -39,7 +39,7 @@ public class TriggerChampioned extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerChangesController.java b/forge-gui/src/main/java/forge/card/trigger/TriggerChangesController.java
index 00cca21d573..68652ca825c 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerChangesController.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerChangesController.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerChangesController extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerChangesZone.java b/forge-gui/src/main/java/forge/card/trigger/TriggerChangesZone.java
index 24730a52dbb..4666a6d5a0a 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerChangesZone.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerChangesZone.java
@@ -19,10 +19,10 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.ability.AbilityUtils;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.util.Expressions;
/**
@@ -43,7 +43,7 @@ public class TriggerChangesZone extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerClashed.java b/forge-gui/src/main/java/forge/card/trigger/TriggerClashed.java
index 23665869678..84e747fb549 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerClashed.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerClashed.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerClashed extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java b/forge-gui/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java
index 0fc9cf8c695..77cf12efe03 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerCombatDamageDoneOnce.java
@@ -19,9 +19,9 @@ package forge.card.trigger;
import java.util.List;
-import forge.Card;
-import forge.GameEntity;
import forge.card.spellability.SpellAbility;
+import forge.game.GameEntity;
+import forge.game.card.Card;
/**
*
@@ -41,7 +41,7 @@ public class TriggerCombatDamageDoneOnce extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerCounterAdded.java b/forge-gui/src/main/java/forge/card/trigger/TriggerCounterAdded.java
index 2af36cd0593..f62ef5b3534 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerCounterAdded.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerCounterAdded.java
@@ -17,9 +17,9 @@
*/
package forge.card.trigger;
-import forge.Card;
-import forge.CounterType;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
/**
*
@@ -39,7 +39,7 @@ public class TriggerCounterAdded extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerCounterRemoved.java b/forge-gui/src/main/java/forge/card/trigger/TriggerCounterRemoved.java
index 05ad8719160..6597cfda42b 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerCounterRemoved.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerCounterRemoved.java
@@ -17,9 +17,9 @@
*/
package forge.card.trigger;
-import forge.Card;
-import forge.CounterType;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
/**
*
@@ -39,7 +39,7 @@ public class TriggerCounterRemoved extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerCountered.java b/forge-gui/src/main/java/forge/card/trigger/TriggerCountered.java
index 88800150b6d..8aedc254399 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerCountered.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerCountered.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerCountered extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerCycled.java b/forge-gui/src/main/java/forge/card/trigger/TriggerCycled.java
index f056f9aea9f..8838af54027 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerCycled.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerCycled.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerCycled extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* a boolean
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerDamageDone.java b/forge-gui/src/main/java/forge/card/trigger/TriggerDamageDone.java
index e21a9f3784c..67ee77ef4ba 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerDamageDone.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerDamageDone.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.util.Expressions;
/**
@@ -39,7 +39,7 @@ public class TriggerDamageDone extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerDestroyed.java b/forge-gui/src/main/java/forge/card/trigger/TriggerDestroyed.java
index 2f8d75cad4b..2a765fa9473 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerDestroyed.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerDestroyed.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerDestroyed extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerDevoured.java b/forge-gui/src/main/java/forge/card/trigger/TriggerDevoured.java
index 282a8ee68b9..717529ff217 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerDevoured.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerDevoured.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerDevoured extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerDiscarded.java b/forge-gui/src/main/java/forge/card/trigger/TriggerDiscarded.java
index 37b3bc2b6bc..fe3264d99ad 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerDiscarded.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerDiscarded.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerDiscarded extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerDrawn.java b/forge-gui/src/main/java/forge/card/trigger/TriggerDrawn.java
index 3bbb5f719ff..5a556e9e624 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerDrawn.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerDrawn.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerDrawn extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerEvolved.java b/forge-gui/src/main/java/forge/card/trigger/TriggerEvolved.java
index a29ebaade6b..7c92f16b3cc 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerEvolved.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerEvolved.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerEvolved extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerFlippedCoin.java b/forge-gui/src/main/java/forge/card/trigger/TriggerFlippedCoin.java
index c6ba30806f6..c1ce118d0be 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerFlippedCoin.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerFlippedCoin.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerFlippedCoin extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerHandler.java b/forge-gui/src/main/java/forge/card/trigger/TriggerHandler.java
index 482cc70f80a..38c6db593dd 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerHandler.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerHandler.java
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import forge.Card;
import forge.card.ability.AbilityFactory;
import forge.card.ability.AbilityUtils;
import forge.card.ability.ApiType;
@@ -36,6 +35,7 @@ import forge.card.spellability.TargetSelection;
import forge.game.Game;
import forge.game.GlobalRuleChange;
import forge.game.ai.ComputerUtil;
+import forge.game.card.Card;
import forge.game.phase.PhaseType;
import forge.game.player.HumanPlay;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerLandPlayed.java b/forge-gui/src/main/java/forge/card/trigger/TriggerLandPlayed.java
index 243a0e5c781..fb2a28670b6 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerLandPlayed.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerLandPlayed.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerLandPlayed extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerLifeGained.java b/forge-gui/src/main/java/forge/card/trigger/TriggerLifeGained.java
index 7a329efe867..dbc41760062 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerLifeGained.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerLifeGained.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerLifeGained extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerLifeLost.java b/forge-gui/src/main/java/forge/card/trigger/TriggerLifeLost.java
index 5aaad666512..4b1df61749f 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerLifeLost.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerLifeLost.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerLifeLost extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerLosesGame.java b/forge-gui/src/main/java/forge/card/trigger/TriggerLosesGame.java
index 1a2dc569fe8..8f34209e206 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerLosesGame.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerLosesGame.java
@@ -1,7 +1,7 @@
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
@@ -16,7 +16,7 @@ public class TriggerLosesGame extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerNewGame.java b/forge-gui/src/main/java/forge/card/trigger/TriggerNewGame.java
index 3559533b6bc..d5ad4ea4e74 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerNewGame.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerNewGame.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerNewGame extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerPayCumulativeUpkeep.java b/forge-gui/src/main/java/forge/card/trigger/TriggerPayCumulativeUpkeep.java
index 3b70a1bbe3f..b7f86122e8b 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerPayCumulativeUpkeep.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerPayCumulativeUpkeep.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerPayCumulativeUpkeep extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerPhase.java b/forge-gui/src/main/java/forge/card/trigger/TriggerPhase.java
index 4e9a59c5154..bd1bf2d5ced 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerPhase.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerPhase.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerPhase extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerPlanarDice.java b/forge-gui/src/main/java/forge/card/trigger/TriggerPlanarDice.java
index 48c813ee482..67a34d22bec 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerPlanarDice.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerPlanarDice.java
@@ -2,9 +2,9 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
import forge.game.PlanarDice;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
@@ -20,7 +20,7 @@ public class TriggerPlanarDice extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java b/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java
index 9836f6c344c..f3428cee656 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedFrom.java
@@ -2,8 +2,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
@@ -19,7 +19,7 @@ public class TriggerPlaneswalkedFrom extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java b/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java
index 8e637061cdd..ec2dd87228b 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerPlaneswalkedTo.java
@@ -2,8 +2,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
@@ -19,7 +19,7 @@ public class TriggerPlaneswalkedTo extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerSacrificed.java b/forge-gui/src/main/java/forge/card/trigger/TriggerSacrificed.java
index 4f0505abd15..5019fbb6b57 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerSacrificed.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerSacrificed.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerSacrificed extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerScry.java b/forge-gui/src/main/java/forge/card/trigger/TriggerScry.java
index 4ada333a6a0..f988ddec319 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerScry.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerScry.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerScry extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerSetInMotion.java b/forge-gui/src/main/java/forge/card/trigger/TriggerSetInMotion.java
index 77e7c90c3d2..f8e57f81017 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerSetInMotion.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerSetInMotion.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerSetInMotion extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerShuffled.java b/forge-gui/src/main/java/forge/card/trigger/TriggerShuffled.java
index 97750335ade..fbc5e00b624 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerShuffled.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerShuffled.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerShuffled extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java b/forge-gui/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java
index beca4fe46b6..cb650180be9 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java
@@ -17,13 +17,13 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.cost.Cost;
import forge.card.spellability.OptionalCost;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.TargetChoices;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
@@ -44,7 +44,7 @@ public class TriggerSpellAbilityCast extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerTaps.java b/forge-gui/src/main/java/forge/card/trigger/TriggerTaps.java
index 5b6d365febc..100c42b6095 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerTaps.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerTaps.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerTaps extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* a boolean
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerTapsForMana.java b/forge-gui/src/main/java/forge/card/trigger/TriggerTapsForMana.java
index 6b134682ae4..7d3cdff7570 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerTapsForMana.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerTapsForMana.java
@@ -19,9 +19,9 @@ package forge.card.trigger;
import java.util.List;
-import forge.Card;
import forge.card.MagicColor;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
@@ -42,7 +42,7 @@ public class TriggerTapsForMana extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerTransformed.java b/forge-gui/src/main/java/forge/card/trigger/TriggerTransformed.java
index 4f354ee7971..adc706f5646 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerTransformed.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerTransformed.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java b/forge-gui/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java
index 94e8d5d4fa4..b5f4abde866 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerTurnFaceUp.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerTurnFaceUp extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerType.java b/forge-gui/src/main/java/forge/card/trigger/TriggerType.java
index cc979e2a494..d1703a2992e 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerType.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerType.java
@@ -4,7 +4,7 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;
-import forge.Card;
+import forge.game.card.Card;
/**
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerUnequip.java b/forge-gui/src/main/java/forge/card/trigger/TriggerUnequip.java
index 41a29dd4863..a14fbef032f 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerUnequip.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerUnequip.java
@@ -17,8 +17,8 @@
*/
package forge.card.trigger;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -38,7 +38,7 @@ public class TriggerUnequip extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/TriggerUntaps.java b/forge-gui/src/main/java/forge/card/trigger/TriggerUntaps.java
index 7e065ad4dba..69a7bee807e 100644
--- a/forge-gui/src/main/java/forge/card/trigger/TriggerUntaps.java
+++ b/forge-gui/src/main/java/forge/card/trigger/TriggerUntaps.java
@@ -19,8 +19,8 @@ package forge.card.trigger;
import java.util.Map;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
/**
*
@@ -40,7 +40,7 @@ public class TriggerUntaps extends Trigger {
* @param params
* a {@link java.util.HashMap} object.
* @param host
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param intrinsic
* the intrinsic
*/
diff --git a/forge-gui/src/main/java/forge/card/trigger/WrappedAbility.java b/forge-gui/src/main/java/forge/card/trigger/WrappedAbility.java
index d250a76dd01..de29c225129 100644
--- a/forge-gui/src/main/java/forge/card/trigger/WrappedAbility.java
+++ b/forge-gui/src/main/java/forge/card/trigger/WrappedAbility.java
@@ -4,8 +4,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import forge.Card;
-import forge.GameObject;
import forge.card.ability.ApiType;
import forge.card.cost.Cost;
import forge.card.mana.ManaCost;
@@ -17,6 +15,8 @@ import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.TargetRestrictions;
import forge.card.spellability.TargetChoices;
import forge.game.Game;
+import forge.game.GameObject;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.gui.GuiDialog;
diff --git a/forge-gui/src/main/java/forge/control/FControl.java b/forge-gui/src/main/java/forge/control/FControl.java
index 20b87dcd4b4..e63ee9bdd7d 100644
--- a/forge-gui/src/main/java/forge/control/FControl.java
+++ b/forge-gui/src/main/java/forge/control/FControl.java
@@ -37,18 +37,18 @@ import javax.swing.WindowConstants;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
import forge.Constant.Preferences;
import forge.Singletons;
import forge.control.KeyboardShortcuts.Shortcut;
import forge.game.Game;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.card.Card;
import forge.game.player.LobbyPlayer;
import forge.game.player.LobbyPlayerAi;
import forge.game.player.LobbyPlayerHuman;
import forge.game.player.Player;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiDialog;
import forge.gui.SOverlayUtils;
import forge.gui.deckeditor.CDeckEditorUI;
diff --git a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java
index 9d8c3f29665..4b869d3c015 100644
--- a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java
+++ b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java
@@ -11,9 +11,9 @@ import org.apache.commons.lang3.tuple.Pair;
import com.google.common.eventbus.Subscribe;
-import forge.Card;
import forge.FThreads;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.event.GameEvent;
import forge.game.event.GameEventAnteCardsSelected;
import forge.game.event.GameEventAttackersDeclared;
diff --git a/forge-gui/src/main/java/forge/game/Game.java b/forge-gui/src/main/java/forge/game/Game.java
index 393f0985a2e..b1242739c19 100644
--- a/forge-gui/src/main/java/forge/game/Game.java
+++ b/forge-gui/src/main/java/forge/game/Game.java
@@ -25,15 +25,13 @@ import java.util.TreeMap;
import com.google.common.eventbus.EventBus;
-import forge.Card;
-import forge.CardLists;
import forge.FThreads;
-import forge.GameLog;
-import forge.StaticEffects;
import forge.card.replacement.ReplacementHandler;
import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.trigger.TriggerHandler;
import forge.card.trigger.TriggerType;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
import forge.game.combat.Combat;
import forge.game.event.GameEvent;
import forge.game.event.GameEventGameOutcome;
@@ -44,6 +42,7 @@ import forge.game.phase.PhaseType;
import forge.game.phase.Untap;
import forge.game.phase.Upkeep;
import forge.game.player.Player;
+import forge.game.player.RegisteredPlayer;
import forge.game.zone.MagicStack;
import forge.game.zone.Zone;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/game/GameAction.java b/forge-gui/src/main/java/forge/game/GameAction.java
index 490d3c60a0e..f4324499e97 100644
--- a/forge-gui/src/main/java/forge/game/GameAction.java
+++ b/forge-gui/src/main/java/forge/game/GameAction.java
@@ -33,16 +33,8 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CardUtil;
import forge.Command;
-import forge.CounterType;
import forge.FThreads;
-import forge.GameEntity;
-import forge.GameLogEntryType;
-import forge.GameObject;
import forge.card.CardCharacteristicName;
import forge.card.CardType;
import forge.card.TriggerReplacementBase;
@@ -59,6 +51,11 @@ import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardUtil;
+import forge.game.card.CounterType;
import forge.game.event.GameEventCardChangeZone;
import forge.game.event.GameEventCardDestroyed;
import forge.game.event.GameEventCardRegenerated;
@@ -119,9 +116,9 @@ public class GameAction {
* @param zoneTo
* a {@link forge.game.zone.PlayerZone} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param position TODO
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public Card changeZone(final Zone zoneFrom, Zone zoneTo, final Card c, Integer position) {
@@ -381,8 +378,8 @@ public class GameAction {
* @param zoneTo
* a {@link forge.game.zone.PlayerZone} object.
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveTo(final Zone zoneTo, Card c) {
// FThreads.assertExecutedByEdt(false); // This code must never be executed from EDT,
@@ -481,8 +478,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToStack(final Card c) {
final Zone stack = game.getStackZone();
@@ -495,8 +492,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToGraveyard(Card c) {
final Player owner = c.getOwner();
@@ -520,8 +517,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToHand(final Card c) {
final PlayerZone hand = c.getOwner().getZone(ZoneType.Hand);
@@ -534,8 +531,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToPlay(final Card c) {
final PlayerZone play = c.getController().getZone(ZoneType.Battlefield);
@@ -548,10 +545,10 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param p
* a {@link forge.game.player.Player} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToPlay(final Card c, final Player p) {
// move to a specific player's Battlefield
@@ -565,8 +562,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToBottomOfLibrary(final Card c) {
return this.moveToLibrary(c, -1);
@@ -578,8 +575,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToLibrary(final Card c) {
return this.moveToLibrary(c, 0);
@@ -591,10 +588,10 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param libPosition
* a int.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToLibrary(Card c, int libPosition) {
final PlayerZone library = c.getOwner().getZone(ZoneType.Library);
@@ -611,12 +608,12 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param zone
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param libPosition
* a int.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveToVariantDeck(Card c, ZoneType zone, int deckPosition) {
final PlayerZone deck = c.getOwner().getZone(zone);
@@ -632,8 +629,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card exile(final Card c) {
if (game.isCardExiled(c)) {
@@ -664,10 +661,10 @@ public class GameAction {
* @param name
* a {@link java.lang.String} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param libPosition
* a int.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card moveTo(final ZoneType name, final Card c, final int libPosition) {
// Call specific functions to set PlayerZone, then move onto moveTo
@@ -1224,7 +1221,7 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean destroy(final Card c, final SpellAbility sa) {
@@ -1256,7 +1253,7 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean destroyNoRegeneration(final Card c, final SpellAbility sa) {
@@ -1304,8 +1301,8 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
private static Card addSuspendTriggers(final Card c) {
if (c.getSVar("HasteFromSuspend").equals("True")) {
@@ -1349,7 +1346,7 @@ public class GameAction {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean sacrificeDestroy(final Card c) {
diff --git a/forge-gui/src/main/java/forge/game/GameActionUtil.java b/forge-gui/src/main/java/forge/game/GameActionUtil.java
index d0d47dad4ec..3440f39e60e 100644
--- a/forge-gui/src/main/java/forge/game/GameActionUtil.java
+++ b/forge-gui/src/main/java/forge/game/GameActionUtil.java
@@ -28,9 +28,6 @@ import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
import forge.Command;
import forge.card.MagicColor;
import forge.card.ability.AbilityFactory;
@@ -45,6 +42,9 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.OptionalCost;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRestriction;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.TextUtil;
@@ -74,7 +74,7 @@ public final class GameActionUtil {
* @param player
* a {@link forge.game.player.Player} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param damage
* a int.
*/
diff --git a/forge-gui/src/main/java/forge/GameEntity.java b/forge-gui/src/main/java/forge/game/GameEntity.java
similarity index 91%
rename from forge-gui/src/main/java/forge/GameEntity.java
rename to forge-gui/src/main/java/forge/game/GameEntity.java
index 005a8411832..b7a9a0ddaa5 100644
--- a/forge-gui/src/main/java/forge/GameEntity.java
+++ b/forge-gui/src/main/java/forge/game/GameEntity.java
@@ -15,13 +15,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
-import forge.game.Game;
+import forge.game.card.Card;
import forge.game.event.GameEventCardAttachment;
import forge.game.event.GameEventCardAttachment.AttachMethod;
@@ -78,7 +78,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return whether or not damage was dealt
*/
public boolean addDamage(final int damage, final Card source) {
@@ -98,7 +98,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return whether or not damage was dealt
*/
public boolean addDamageWithoutPrevention(final int damage, final Card source) {
@@ -119,7 +119,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return whether or not damage was dealt
@@ -137,7 +137,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -156,7 +156,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -173,7 +173,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -188,7 +188,7 @@ public abstract class GameEntity extends GameObject {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -382,7 +382,7 @@ public abstract class GameEntity extends GameObject {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void addEnchantedBy(final Card c) {
this.enchantedBy.add(c);
@@ -395,7 +395,7 @@ public abstract class GameEntity extends GameObject {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void removeEnchantedBy(final Card c) {
this.enchantedBy.remove(c);
diff --git a/forge-gui/src/main/java/forge/GameLog.java b/forge-gui/src/main/java/forge/game/GameLog.java
similarity index 98%
rename from forge-gui/src/main/java/forge/GameLog.java
rename to forge-gui/src/main/java/forge/game/GameLog.java
index 6e8dc7f6b56..f199f9aeb1a 100644
--- a/forge-gui/src/main/java/forge/GameLog.java
+++ b/forge-gui/src/main/java/forge/game/GameLog.java
@@ -16,13 +16,15 @@
* along with this program. If not, see .
*/
-package forge;
+package forge.game;
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import org.apache.commons.lang3.StringUtils;
+
+import forge.Singletons;
import forge.game.event.IGameEventVisitor;
import forge.properties.ForgePreferences.FPref;
diff --git a/forge-gui/src/main/java/forge/GameLogEntry.java b/forge-gui/src/main/java/forge/game/GameLogEntry.java
similarity index 92%
rename from forge-gui/src/main/java/forge/GameLogEntry.java
rename to forge-gui/src/main/java/forge/game/GameLogEntry.java
index 372f2fbaab8..0685a67d04d 100644
--- a/forge-gui/src/main/java/forge/GameLogEntry.java
+++ b/forge-gui/src/main/java/forge/game/GameLogEntry.java
@@ -1,4 +1,4 @@
-package forge;
+package forge.game;
public class GameLogEntry {
public final String message;
diff --git a/forge-gui/src/main/java/forge/GameLogEntryType.java b/forge-gui/src/main/java/forge/game/GameLogEntryType.java
similarity index 92%
rename from forge-gui/src/main/java/forge/GameLogEntryType.java
rename to forge-gui/src/main/java/forge/game/GameLogEntryType.java
index ffd289413d4..cfa3783f157 100644
--- a/forge-gui/src/main/java/forge/GameLogEntryType.java
+++ b/forge-gui/src/main/java/forge/game/GameLogEntryType.java
@@ -1,4 +1,4 @@
-package forge;
+package forge.game;
public enum GameLogEntryType {
GAME_OUTCOME("Game outcome"),
diff --git a/forge-gui/src/main/java/forge/GameLogFormatter.java b/forge-gui/src/main/java/forge/game/GameLogFormatter.java
similarity index 99%
rename from forge-gui/src/main/java/forge/GameLogFormatter.java
rename to forge-gui/src/main/java/forge/game/GameLogFormatter.java
index 6e7cc52fc77..13e4ae22ac6 100644
--- a/forge-gui/src/main/java/forge/GameLogFormatter.java
+++ b/forge-gui/src/main/java/forge/game/GameLogFormatter.java
@@ -1,4 +1,4 @@
-package forge;
+package forge.game;
import java.util.Collection;
import java.util.List;
@@ -7,7 +7,7 @@ import java.util.Map.Entry;
import com.google.common.eventbus.Subscribe;
import forge.card.spellability.TargetChoices;
-import forge.game.GameOutcome;
+import forge.game.card.Card;
import forge.game.event.GameEvent;
import forge.game.event.GameEventAttackersDeclared;
import forge.game.event.GameEventBlockersDeclared;
diff --git a/forge-gui/src/main/java/forge/game/GameNew.java b/forge-gui/src/main/java/forge/game/GameNew.java
index afb0d674335..91dac122832 100644
--- a/forge-gui/src/main/java/forge/game/GameNew.java
+++ b/forge-gui/src/main/java/forge/game/GameNew.java
@@ -15,10 +15,6 @@ import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.GameLogEntryType;
import forge.Singletons;
import forge.card.replacement.ReplacementEffect;
import forge.card.replacement.ReplacementHandler;
@@ -27,8 +23,12 @@ import forge.card.trigger.TriggerHandler;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckSection;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
import forge.game.player.Player;
import forge.game.player.PlayerType;
+import forge.game.player.RegisteredPlayer;
import forge.game.zone.PlayerZone;
import forge.game.zone.ZoneType;
import forge.gui.GuiDialog;
@@ -181,8 +181,8 @@ public class GameNew {
*
*
* @param in
- * an array of {@link forge.Card} objects.
- * @return an array of {@link forge.Card} objects.
+ * an array of {@link forge.game.card.Card} objects.
+ * @return an array of {@link forge.game.card.Card} objects.
*/
private static Iterable smoothComputerManaCurve(final Iterable in) {
final List library = Lists.newArrayList(in);
diff --git a/forge-gui/src/main/java/forge/GameObject.java b/forge-gui/src/main/java/forge/game/GameObject.java
similarity index 93%
rename from forge-gui/src/main/java/forge/GameObject.java
rename to forge-gui/src/main/java/forge/game/GameObject.java
index aae9887adba..24fcce20865 100644
--- a/forge-gui/src/main/java/forge/GameObject.java
+++ b/forge-gui/src/main/java/forge/game/GameObject.java
@@ -1,6 +1,7 @@
-package forge;
+package forge.game;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
public abstract class GameObject {
diff --git a/forge-gui/src/main/java/forge/game/Match.java b/forge-gui/src/main/java/forge/game/Match.java
index 8e551106617..5f5f806d379 100644
--- a/forge-gui/src/main/java/forge/game/Match.java
+++ b/forge-gui/src/main/java/forge/game/Match.java
@@ -9,11 +9,12 @@ import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.Lists;
-import forge.Card;
import forge.Singletons;
+import forge.game.card.Card;
import forge.game.event.GameEventAnteCardsSelected;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
+import forge.game.player.RegisteredPlayer;
import forge.properties.ForgePreferences.FPref;
/**
diff --git a/forge-gui/src/main/java/forge/StaticEffect.java b/forge-gui/src/main/java/forge/game/StaticEffect.java
similarity index 93%
rename from forge-gui/src/main/java/forge/StaticEffect.java
rename to forge-gui/src/main/java/forge/game/StaticEffect.java
index 1f5cc60ef41..fcc0931c7f3 100644
--- a/forge-gui/src/main/java/forge/StaticEffect.java
+++ b/forge-gui/src/main/java/forge/game/StaticEffect.java
@@ -15,13 +15,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
@@ -122,7 +123,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param sa
* a {@link forge.card.spellability.SpellAbility} object.
*/
@@ -142,7 +143,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param s
* a {@link java.util.ArrayList} object.
*/
@@ -162,7 +163,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a {@link java.util.ArrayList} object.
*/
public final ArrayList getOriginalAbilities(final Card c) {
@@ -179,7 +180,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void clearOriginalAbilities(final Card c) {
if (this.originalAbilities.containsKey(c)) {
@@ -227,7 +228,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param s
* a {@link java.lang.String} object.
*/
@@ -247,7 +248,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param s
* a {@link java.util.ArrayList} object.
*/
@@ -267,7 +268,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a {@link java.util.ArrayList} object.
*/
public final ArrayList getOriginalKeywords(final Card c) {
@@ -284,7 +285,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void clearOriginalKeywords(final Card c) {
if (this.originalKeywords.containsKey(c)) {
@@ -308,7 +309,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param power
* a int.
* @param toughness
@@ -327,7 +328,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public final int getOriginalPower(final Card c) {
@@ -344,7 +345,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public final int getOriginalToughness(final Card c) {
@@ -442,7 +443,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param s
* a {@link java.lang.String} object.
*/
@@ -462,7 +463,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param s
* a {@link java.util.ArrayList} object.
*/
@@ -482,7 +483,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a {@link java.util.ArrayList} object.
*/
public final ArrayList getOriginalTypes(final Card c) {
@@ -499,7 +500,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void clearOriginalTypes(final Card c) {
if (this.originalTypes.containsKey(c)) {
@@ -523,7 +524,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param s
* a {@link java.lang.String} object.
*/
@@ -543,7 +544,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a {@link java.util.ArrayList} object.
*/
public final ArrayList getTypes(final Card c) {
@@ -560,7 +561,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param type
* a {@link java.lang.String} object.
*/
@@ -576,7 +577,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void clearTypes(final Card c) {
if (this.types.containsKey(c)) {
@@ -657,7 +658,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a long.
*/
public final long getTimestamp(final Card c) {
@@ -675,7 +676,7 @@ public class StaticEffect {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param timestamp
* a long.
*/
@@ -698,7 +699,7 @@ public class StaticEffect {
* Getter for the field source.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getSource() {
return this.source;
diff --git a/forge-gui/src/main/java/forge/StaticEffects.java b/forge-gui/src/main/java/forge/game/StaticEffects.java
similarity index 99%
rename from forge-gui/src/main/java/forge/StaticEffects.java
rename to forge-gui/src/main/java/forge/game/StaticEffects.java
index 7e2f90c79ee..043a2d052c8 100644
--- a/forge-gui/src/main/java/forge/StaticEffects.java
+++ b/forge-gui/src/main/java/forge/game/StaticEffects.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game;
import java.util.ArrayList;
import java.util.Arrays;
@@ -30,8 +30,8 @@ import com.esotericsoftware.minlog.Log;
import forge.card.TriggerReplacementBase;
import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility;
-import forge.game.Game;
-import forge.game.GlobalRuleChange;
+import forge.game.card.Card;
+import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/game/ai/AiAttackController.java b/forge-gui/src/main/java/forge/game/ai/AiAttackController.java
index 285d4f3df86..6b95e14ac35 100644
--- a/forge-gui/src/main/java/forge/game/ai/AiAttackController.java
+++ b/forge-gui/src/main/java/forge/game/ai/AiAttackController.java
@@ -24,12 +24,12 @@ import java.util.Random;
import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CounterType;
-import forge.GameEntity;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.player.Player;
@@ -129,7 +129,7 @@ public class AiAttackController {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a boolean.
@@ -192,7 +192,7 @@ public class AiAttackController {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param attackers
* a {@link forge.CardList} object.
* @return a boolean.
@@ -859,7 +859,7 @@ public class AiAttackController {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public final int getAttack(final Card c) {
@@ -878,7 +878,7 @@ public class AiAttackController {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defenders
* a {@link forge.CardList} object.
* @param combat
diff --git a/forge-gui/src/main/java/forge/game/ai/AiBlockController.java b/forge-gui/src/main/java/forge/game/ai/AiBlockController.java
index e68f4ccf76d..c460bdb69d6 100644
--- a/forge-gui/src/main/java/forge/game/ai/AiBlockController.java
+++ b/forge-gui/src/main/java/forge/game/ai/AiBlockController.java
@@ -24,14 +24,14 @@ import java.util.List;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CounterType;
-import forge.GameEntity;
import forge.card.TriggerReplacementBase;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/game/ai/AiController.java b/forge-gui/src/main/java/forge/game/ai/AiController.java
index 1f49aa76257..b61ae00c3ef 100644
--- a/forge-gui/src/main/java/forge/game/ai/AiController.java
+++ b/forge-gui/src/main/java/forge/game/ai/AiController.java
@@ -28,11 +28,6 @@ import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CardPredicates.Presets;
-import forge.GameEntity;
import forge.card.CardType;
import forge.card.MagicColor;
import forge.card.ability.ApiType;
@@ -45,6 +40,11 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellPermanent;
import forge.game.GameActionUtil;
import forge.game.Game;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardPredicates.Presets;
import forge.game.combat.Combat;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/game/ai/ComputerUtil.java b/forge-gui/src/main/java/forge/game/ai/ComputerUtil.java
index 3d9e46875a3..d6409db45a1 100644
--- a/forge-gui/src/main/java/forge/game/ai/ComputerUtil.java
+++ b/forge-gui/src/main/java/forge/game/ai/ComputerUtil.java
@@ -29,13 +29,6 @@ import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CounterType;
-import forge.CardPredicates.Presets;
-import forge.CardUtil;
-import forge.GameObject;
import forge.card.CardType;
import forge.card.MagicColor;
import forge.card.ability.AbilityFactory;
@@ -57,6 +50,13 @@ import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.error.BugReporter;
import forge.game.Game;
+import forge.game.GameObject;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardUtil;
+import forge.game.card.CounterType;
+import forge.game.card.CardPredicates.Presets;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.phase.PhaseHandler;
@@ -325,12 +325,12 @@ public class ComputerUtil {
*
*
* @param activate
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param pref
* a {@link java.lang.String} object.
* @param typeList
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getCardPreference(final Player ai, final Card activate, final String pref, final List typeList) {
@@ -415,9 +415,9 @@ public class ComputerUtil {
* @param type
* a {@link java.lang.String} object.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param target
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param amount
* a int.
* @return a {@link forge.CardList} object.
@@ -464,9 +464,9 @@ public class ComputerUtil {
* @param type
* a {@link java.lang.String} object.
* @param activate
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param target
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param amount
* a int.
* @return a {@link forge.CardList} object.
@@ -511,9 +511,9 @@ public class ComputerUtil {
* @param type
* a {@link java.lang.String} object.
* @param activate
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param target
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param amount
* a int.
* @return a {@link forge.CardList} object.
@@ -554,7 +554,7 @@ public class ComputerUtil {
* @param type
* a {@link java.lang.String} object.
* @param activate
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param tap
* a boolean.
* @param amount
@@ -594,7 +594,7 @@ public class ComputerUtil {
* @param type
* a {@link java.lang.String} object.
* @param activate
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param untap
* a boolean.
* @param amount
@@ -634,9 +634,9 @@ public class ComputerUtil {
* @param type
* a {@link java.lang.String} object.
* @param activate
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param target
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param amount
* a int.
* @return a {@link forge.CardList} object.
@@ -764,7 +764,7 @@ public class ComputerUtil {
* @param ai
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canRegenerate(Player ai, final Card card) {
@@ -829,7 +829,7 @@ public class ComputerUtil {
*
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int possibleDamagePrevention(final Card card) {
diff --git a/forge-gui/src/main/java/forge/game/ai/ComputerUtilCard.java b/forge-gui/src/main/java/forge/game/ai/ComputerUtilCard.java
index 26181a0b3e8..da08d6f4466 100644
--- a/forge-gui/src/main/java/forge/game/ai/ComputerUtilCard.java
+++ b/forge-gui/src/main/java/forge/game/ai/ComputerUtilCard.java
@@ -17,10 +17,6 @@ import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CardUtil;
import forge.card.CardType;
import forge.card.ColorSet;
import forge.card.MagicColor;
@@ -29,6 +25,10 @@ import forge.card.spellability.SpellAbility;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckSection;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardUtil;
import forge.game.combat.Combat;
import forge.game.player.Player;
import forge.item.PaperCard;
@@ -48,10 +48,10 @@ public class ComputerUtilCard {
* @param list
* a {@link forge.CardList} object.
* @param spell
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param targeted
* a boolean.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getMostExpensivePermanentAI(final List list, final SpellAbility spell, final boolean targeted) {
List all = list;
@@ -75,7 +75,7 @@ public class ComputerUtilCard {
*
* @param list
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getBestArtifactAI(final List list) {
List all = CardLists.filter(list, CardPredicates.Presets.ARTIFACTS);
@@ -95,10 +95,10 @@ public class ComputerUtilCard {
* @param list
* a {@link forge.CardList} object.
* @param spell
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param targeted
* a boolean.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getBestEnchantmentAI(final List list, final SpellAbility spell, final boolean targeted) {
List all = CardLists.filter(list, CardPredicates.Presets.ENCHANTMENTS);
@@ -123,7 +123,7 @@ public class ComputerUtilCard {
*
* @param list
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getBestLandAI(final Collection list) {
final List land = CardLists.filter(list, CardPredicates.Presets.LANDS);
@@ -176,10 +176,10 @@ public class ComputerUtilCard {
* @param list
* a {@link forge.CardList} object.
* @param spell
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param targeted
* a boolean.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getCheapestPermanentAI(Collection all, final SpellAbility spell, final boolean targeted) {
if (targeted) {
@@ -215,7 +215,7 @@ public class ComputerUtilCard {
*
* @param list
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getBestAI(final Collection list) {
// Get Best will filter by appropriate getBest list if ALL of the list
@@ -249,7 +249,7 @@ public class ComputerUtilCard {
*
* @param list
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getWorstCreatureAI(final List list) {
return Aggregates.itemWithMin(Iterables.filter(list, CardPredicates.Presets.CREATURES), ComputerUtilCard.fnEvaluateCreature);
@@ -263,7 +263,7 @@ public class ComputerUtilCard {
*
* @param list
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getBestCreatureToBounceAI(final List list) {
final int tokenBonus = 60;
@@ -289,7 +289,7 @@ public class ComputerUtilCard {
*
* @param list
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getWorstAI(final Collection list) {
return ComputerUtilCard.getWorstPermanentAI(list, false, false, false, false);
@@ -310,7 +310,7 @@ public class ComputerUtilCard {
* a boolean.
* @param biasCreature
* a boolean.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getWorstPermanentAI(final Collection list, final boolean biasEnch, final boolean biasLand,
final boolean biasArt, final boolean biasCreature) {
@@ -374,7 +374,7 @@ public class ComputerUtilCard {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int evaluateCreature(final Card c) {
@@ -607,7 +607,7 @@ public class ComputerUtilCard {
* @param ai
* the AI player
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean doesCreatureAttackAI(final Player ai, final Card card) {
@@ -796,7 +796,7 @@ public class ComputerUtilCard {
*
* @param lands
* a {@link forge.CardList} object.
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public static Card getWorstLand(final List lands) {
Card worstLand = null;
diff --git a/forge-gui/src/main/java/forge/game/ai/ComputerUtilCombat.java b/forge-gui/src/main/java/forge/game/ai/ComputerUtilCombat.java
index e55d9032594..f55ec0f119e 100644
--- a/forge-gui/src/main/java/forge/game/ai/ComputerUtilCombat.java
+++ b/forge-gui/src/main/java/forge/game/ai/ComputerUtilCombat.java
@@ -24,10 +24,6 @@ import java.util.Map;
import com.google.common.base.Predicate;
-import forge.Card;
-import forge.CardLists;
-import forge.CounterType;
-import forge.GameEntity;
import forge.card.TriggerReplacementBase;
import forge.card.ability.AbilityFactory;
import forge.card.ability.AbilityUtils;
@@ -41,7 +37,11 @@ import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
import forge.card.trigger.TriggerType;
import forge.game.Game;
+import forge.game.GameEntity;
import forge.game.GlobalRuleChange;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.player.Player;
@@ -64,7 +64,7 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param player
* a {@link forge.game.player.Player} object.
* @return a int.
@@ -91,7 +91,7 @@ public class ComputerUtilCombat {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int getAttack(final Card c) {
@@ -112,7 +112,7 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param attacked
* a {@link forge.game.player.Player} object.
* @param combat
@@ -142,7 +142,7 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param attacked
* a {@link forge.game.player.Player} object.
* @param combat
@@ -412,7 +412,7 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defenders
* a {@link forge.CardList} object.
* @return a int.
@@ -434,9 +434,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int dealsDamageAsBlocker(final Card attacker, final Card defender) {
@@ -487,7 +487,7 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defenders
* a {@link forge.CardList} object.
* @return a int.
@@ -511,9 +511,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int shieldDamage(final Card attacker, final Card defender) {
@@ -548,7 +548,7 @@ public class ComputerUtilCombat {
* @param ai
*
* @param combatant
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean combatantWouldBeDestroyed(Player ai, final Card combatant, Combat combat) {
@@ -570,7 +570,7 @@ public class ComputerUtilCombat {
* @param ai
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean attackerWouldBeDestroyed(Player ai, final Card attacker, Combat combat) {
@@ -593,9 +593,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param trigger
* a {@link forge.card.trigger.Trigger} object.
* @param combat
@@ -724,9 +724,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int predictPowerBonusOfBlocker(final Card attacker, final Card defender, boolean withoutAbilities) {
@@ -878,9 +878,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
public static int predictToughnessBonusOfBlocker(final Card attacker, final Card defender, boolean withoutAbilities) {
@@ -1007,9 +1007,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a int.
@@ -1184,9 +1184,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a int.
@@ -1364,9 +1364,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean checkDestroyBlockerTrigger(final Card attacker, final Card defender) {
@@ -1420,9 +1420,9 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean checkDestroyAttackerTrigger(final Card attacker, final Card defender) {
@@ -1476,9 +1476,9 @@ public class ComputerUtilCombat {
* @param ai
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @param withoutAbilities
@@ -1606,7 +1606,7 @@ public class ComputerUtilCombat {
* @param ai
*
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean blockerWouldBeDestroyed(Player ai, final Card blocker, Combat combat) {
@@ -1631,9 +1631,9 @@ public class ComputerUtilCombat {
* @param ai
*
* @param defender
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @param withoutAbilities
@@ -1761,7 +1761,7 @@ public class ComputerUtilCombat {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param block
* a {@link forge.CardList} object.
* @param dmgCanDeal
@@ -1856,7 +1856,7 @@ public class ComputerUtilCombat {
* @param maxDamage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -1873,7 +1873,7 @@ public class ComputerUtilCombat {
* @param maxDamage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @param noPrevention
@@ -1942,7 +1942,7 @@ public class ComputerUtilCombat {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -2003,7 +2003,7 @@ public class ComputerUtilCombat {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -2033,7 +2033,7 @@ public class ComputerUtilCombat {
* @param possiblePrevention
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
diff --git a/forge-gui/src/main/java/forge/game/ai/ComputerUtilCost.java b/forge-gui/src/main/java/forge/game/ai/ComputerUtilCost.java
index 54d127099f3..1e92002e958 100644
--- a/forge-gui/src/main/java/forge/game/ai/ComputerUtilCost.java
+++ b/forge-gui/src/main/java/forge/game/ai/ComputerUtilCost.java
@@ -5,9 +5,6 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
-import forge.CardLists;
-import forge.CounterType;
import forge.card.ability.AbilityUtils;
import forge.card.cost.Cost;
import forge.card.cost.CostDamage;
@@ -20,6 +17,9 @@ import forge.card.cost.CostRemoveCounter;
import forge.card.cost.CostSacrifice;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.TextUtil;
@@ -287,7 +287,7 @@ public class ComputerUtilCost {
*
*
* @param hostCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param costString
* a {@link java.lang.String} object.
* @return a boolean.
diff --git a/forge-gui/src/main/java/forge/game/ai/ComputerUtilMana.java b/forge-gui/src/main/java/forge/game/ai/ComputerUtilMana.java
index 166b231eed5..037e8b49b68 100644
--- a/forge-gui/src/main/java/forge/game/ai/ComputerUtilMana.java
+++ b/forge-gui/src/main/java/forge/game/ai/ComputerUtilMana.java
@@ -16,9 +16,6 @@ import com.google.common.base.Predicate;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
-import forge.Card;
-import forge.CardLists;
-import forge.CardUtil;
import forge.FThreads;
import forge.card.MagicColor;
import forge.card.ability.AbilityUtils;
@@ -36,6 +33,9 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
import forge.game.GameActionUtil;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.CollectionSuppliers;
diff --git a/forge-gui/src/main/java/forge/Card.java b/forge-gui/src/main/java/forge/game/card/Card.java
similarity index 99%
rename from forge-gui/src/main/java/forge/Card.java
rename to forge-gui/src/main/java/forge/game/card/Card.java
index 8e13cb5431b..21977a2ba0c 100644
--- a/forge-gui/src/main/java/forge/Card.java
+++ b/forge-gui/src/main/java/forge/game/card/Card.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import java.util.ArrayList;
import java.util.Arrays;
@@ -41,7 +41,8 @@ import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import forge.CardPredicates.Presets;
+import forge.Command;
+import forge.Singletons;
import forge.card.CardCharacteristicName;
import forge.card.CardCharacteristics;
import forge.card.CardEdition;
@@ -72,7 +73,10 @@ import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger;
import forge.game.Game;
import forge.game.GameActionUtil;
+import forge.game.GameEntity;
+import forge.game.GameLogEntryType;
import forge.game.GlobalRuleChange;
+import forge.game.card.CardPredicates.Presets;
import forge.game.combat.AttackingBand;
import forge.game.combat.Combat;
import forge.game.event.GameEventCardDamaged;
@@ -586,7 +590,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void addImprinted(final Card c) {
this.imprintedCards.add(c);
@@ -637,7 +641,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void addEncoded(final Card c) {
this.encodedCards.add(c);
@@ -1033,7 +1037,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void addClone(final Card c) {
this.clones.add(c);
@@ -1053,7 +1057,7 @@ public class Card extends GameEntity implements Comparable {
* Getter for the field cloneOrigin.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getCloneOrigin() {
return this.cloneOrigin;
@@ -1065,7 +1069,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param name
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void setCloneOrigin(final Card name) {
this.cloneOrigin = name;
@@ -1200,7 +1204,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param counterName
- * a {@link forge.CounterType} object.
+ * a {@link forge.game.card.CounterType} object.
* @param n
* a int.
*/
@@ -1239,7 +1243,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param counterName
- * a {@link forge.CounterType} object.
+ * a {@link forge.game.card.CounterType} object.
* @return a int.
*/
public final int getCounters(final CounterType counterName) {
@@ -1482,7 +1486,7 @@ public class Card extends GameEntity implements Comparable {
* @param s
* a {@link java.lang.String} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param addToColors
* a boolean.
* @param bIncrease
@@ -1505,7 +1509,7 @@ public class Card extends GameEntity implements Comparable {
* @param s
* a {@link java.lang.String} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param addTo
* a boolean.
* @param timestampIn
@@ -1755,7 +1759,7 @@ public class Card extends GameEntity implements Comparable {
* used primarily with AbilityFactory_GainControl
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void addGainControlTarget(final Card c) {
this.gainControlTargets.add(c);
@@ -3194,7 +3198,7 @@ public class Card extends GameEntity implements Comparable {
* getEquippingCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getEquippingCard() {
if (this.equipping.isEmpty()) {
@@ -3208,7 +3212,7 @@ public class Card extends GameEntity implements Comparable {
* getFortifyingCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getFortifyingCard() {
if (this.fortifying.isEmpty()) {
@@ -3292,7 +3296,7 @@ public class Card extends GameEntity implements Comparable {
* equipment.equipCard(cardToBeEquipped)
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void equipCard(final Card c) {
if (c.hasKeyword("CARDNAME can't be equipped.")) {
@@ -3338,7 +3342,7 @@ public class Card extends GameEntity implements Comparable {
* fortification.fortifyCard(cardToBeFortified)
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void fortifyCard(final Card c) {
Card oldTarget = null;
@@ -3366,7 +3370,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void unEquipCard(final Card c) // equipment.unEquipCard(equippedCard);
{
@@ -3388,7 +3392,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void unFortifyCard(final Card c) { // fortification.unEquipCard(fortifiedCard);
this.fortifying.remove(c);
@@ -3414,7 +3418,7 @@ public class Card extends GameEntity implements Comparable {
* Getter for the field enchanting.
*
*
- * @return a {@link forge.GameEntity} object.
+ * @return a {@link forge.game.GameEntity} object.
*/
public final GameEntity getEnchanting() {
return this.enchanting;
@@ -3425,7 +3429,7 @@ public class Card extends GameEntity implements Comparable {
* getEnchantingCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getEnchantingCard() {
if ((this.enchanting != null) && (this.enchanting instanceof Card)) {
@@ -3517,7 +3521,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param e
- * a {@link forge.GameEntity} object.
+ * a {@link forge.game.GameEntity} object.
*/
public final void removeEnchanting(final GameEntity e) {
if (this.enchanting.equals(e)) {
@@ -3531,7 +3535,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param entity
- * a {@link forge.GameEntity} object.
+ * a {@link forge.game.GameEntity} object.
*/
public final void enchantEntity(final GameEntity entity) {
if (entity.hasKeyword("CARDNAME can't be enchanted.")) {
@@ -3558,7 +3562,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param gameEntity
- * a {@link forge.GameEntity} object.
+ * a {@link forge.game.GameEntity} object.
*/
public final void unEnchantEntity(final GameEntity entity) {
if (this.enchanting == null || !this.enchanting.equals(entity))
@@ -5174,7 +5178,7 @@ public class Card extends GameEntity implements Comparable {
* @param sourceController
* a {@link forge.game.player.Player} object.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
@Override
@@ -5228,7 +5232,7 @@ public class Card extends GameEntity implements Comparable {
* @param sourceController
* a {@link forge.game.player.Player} object.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
@Override
@@ -6736,7 +6740,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c1
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean sharesColorWith(final Card c1) {
@@ -6755,7 +6759,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c1
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean sharesCreatureTypeWith(final Card c1) {
@@ -6781,7 +6785,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c1
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean sharesCardTypeWith(final Card c1) {
@@ -6800,7 +6804,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c1
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean sharesTypeWith(final Card c1) {
@@ -6819,7 +6823,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c1
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean sharesControllerWith(final Card c1) {
@@ -6882,7 +6886,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param damage
* a int.
*/
@@ -6936,7 +6940,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param damage
* a int.
*/
@@ -7070,7 +7074,7 @@ public class Card extends GameEntity implements Comparable {
* @param damage
* a int.
* @param sourceCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void addAssignedDamage(int damage, final Card sourceCard) {
if (damage < 0) {
@@ -7165,7 +7169,7 @@ public class Card extends GameEntity implements Comparable {
* @param possiblePrevention
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -7223,7 +7227,7 @@ public class Card extends GameEntity implements Comparable {
* @param damageIn
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -7322,7 +7326,7 @@ public class Card extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -7450,7 +7454,7 @@ public class Card extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -7525,7 +7529,7 @@ public class Card extends GameEntity implements Comparable {
* @param damageIn
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -7572,7 +7576,7 @@ public class Card extends GameEntity implements Comparable {
* @param damageIn
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return whether or not damage as dealt
@@ -8417,7 +8421,7 @@ public class Card extends GameEntity implements Comparable {
*
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public boolean hasETBTrigger() {
diff --git a/forge-gui/src/main/java/forge/CardColor.java b/forge-gui/src/main/java/forge/game/card/CardColor.java
similarity index 95%
rename from forge-gui/src/main/java/forge/CardColor.java
rename to forge-gui/src/main/java/forge/game/card/CardColor.java
index 4054c1ad959..b3d4996830f 100644
--- a/forge-gui/src/main/java/forge/CardColor.java
+++ b/forge-gui/src/main/java/forge/game/card/CardColor.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import forge.card.ColorSet;
import forge.card.mana.ManaCost;
@@ -65,7 +65,7 @@ public class CardColor {
* @param mc
* a {@link forge.card.mana.ManaCostBeingPaid} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param addToColors
* a boolean.
* @param baseColor
@@ -97,7 +97,7 @@ public class CardColor {
* @param cost
* a {@link java.lang.String} object.
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param addToColors
* a boolean.
* @param time
diff --git a/forge-gui/src/main/java/forge/CardDamageHistory.java b/forge-gui/src/main/java/forge/game/card/CardDamageHistory.java
similarity index 96%
rename from forge-gui/src/main/java/forge/CardDamageHistory.java
rename to forge-gui/src/main/java/forge/game/card/CardDamageHistory.java
index bec6b383f62..c318902b07f 100644
--- a/forge-gui/src/main/java/forge/CardDamageHistory.java
+++ b/forge-gui/src/main/java/forge/game/card/CardDamageHistory.java
@@ -1,4 +1,4 @@
-package forge;
+package forge.game.card;
import java.util.ArrayList;
import java.util.List;
diff --git a/forge-gui/src/main/java/forge/CardKeywords.java b/forge-gui/src/main/java/forge/game/card/CardKeywords.java
similarity index 98%
rename from forge-gui/src/main/java/forge/CardKeywords.java
rename to forge-gui/src/main/java/forge/game/card/CardKeywords.java
index 9f72a9db082..17fb70219ba 100644
--- a/forge-gui/src/main/java/forge/CardKeywords.java
+++ b/forge-gui/src/main/java/forge/game/card/CardKeywords.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import java.util.List;
import java.util.ArrayList;
diff --git a/forge-gui/src/main/java/forge/CardLists.java b/forge-gui/src/main/java/forge/game/card/CardLists.java
similarity index 99%
rename from forge-gui/src/main/java/forge/CardLists.java
rename to forge-gui/src/main/java/forge/game/card/CardLists.java
index 6f74838965e..fca8b039fc8 100644
--- a/forge-gui/src/main/java/forge/CardLists.java
+++ b/forge-gui/src/main/java/forge/game/card/CardLists.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/forge-gui/src/main/java/forge/CardPowerToughness.java b/forge-gui/src/main/java/forge/game/card/CardPowerToughness.java
similarity index 98%
rename from forge-gui/src/main/java/forge/CardPowerToughness.java
rename to forge-gui/src/main/java/forge/game/card/CardPowerToughness.java
index cc8a5b25c88..090727c43c4 100644
--- a/forge-gui/src/main/java/forge/CardPowerToughness.java
+++ b/forge-gui/src/main/java/forge/game/card/CardPowerToughness.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
/**
*
diff --git a/forge-gui/src/main/java/forge/CardPredicates.java b/forge-gui/src/main/java/forge/game/card/CardPredicates.java
similarity index 99%
rename from forge-gui/src/main/java/forge/CardPredicates.java
rename to forge-gui/src/main/java/forge/game/card/CardPredicates.java
index f296be02d88..49ac6c8a7f7 100644
--- a/forge-gui/src/main/java/forge/CardPredicates.java
+++ b/forge-gui/src/main/java/forge/game/card/CardPredicates.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import java.util.List;
diff --git a/forge-gui/src/main/java/forge/CardType.java b/forge-gui/src/main/java/forge/game/card/CardType.java
similarity index 99%
rename from forge-gui/src/main/java/forge/CardType.java
rename to forge-gui/src/main/java/forge/game/card/CardType.java
index f7dd8ef0c67..c4862ee348a 100644
--- a/forge-gui/src/main/java/forge/CardType.java
+++ b/forge-gui/src/main/java/forge/game/card/CardType.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import java.util.ArrayList;
diff --git a/forge-gui/src/main/java/forge/CardUtil.java b/forge-gui/src/main/java/forge/game/card/CardUtil.java
similarity index 99%
rename from forge-gui/src/main/java/forge/CardUtil.java
rename to forge-gui/src/main/java/forge/game/card/CardUtil.java
index 9e2a5eed612..887d6975cbb 100644
--- a/forge-gui/src/main/java/forge/CardUtil.java
+++ b/forge-gui/src/main/java/forge/game/card/CardUtil.java
@@ -15,13 +15,16 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import forge.Constant;
+import forge.Singletons;
+import forge.Constant.Keywords;
import forge.card.CardCharacteristicName;
import forge.card.CardCharacteristics;
import forge.card.ColorSet;
diff --git a/forge-gui/src/main/java/forge/CounterType.java b/forge-gui/src/main/java/forge/game/card/CounterType.java
similarity index 97%
rename from forge-gui/src/main/java/forge/CounterType.java
rename to forge-gui/src/main/java/forge/game/card/CounterType.java
index 93336b14b87..5df5b13062f 100644
--- a/forge-gui/src/main/java/forge/CounterType.java
+++ b/forge-gui/src/main/java/forge/game/card/CounterType.java
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package forge;
+package forge.game.card;
/**
* The class Counters.
@@ -301,7 +301,7 @@ public enum CounterType {
*
* @param name
* a {@link java.lang.String} object.
- * @return a {@link forge.CounterType} object.
+ * @return a {@link forge.game.card.CounterType} object.
*/
public static CounterType getType(final String name) {
final String replacedName = name.replace("/", "").replaceAll("\\+", "p").replaceAll("\\-", "m").toUpperCase();
diff --git a/forge-gui/src/main/java/forge/game/card/package-info.java b/forge-gui/src/main/java/forge/game/card/package-info.java
new file mode 100644
index 00000000000..2e4122db81e
--- /dev/null
+++ b/forge-gui/src/main/java/forge/game/card/package-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author Max
+ *
+ */
+package forge.game.card;
\ No newline at end of file
diff --git a/forge-gui/src/main/java/forge/game/combat/AttackingBand.java b/forge-gui/src/main/java/forge/game/combat/AttackingBand.java
index 843bdfa93c1..714fd27018c 100644
--- a/forge-gui/src/main/java/forge/game/combat/AttackingBand.java
+++ b/forge-gui/src/main/java/forge/game/combat/AttackingBand.java
@@ -3,9 +3,9 @@ package forge.game.combat;
import java.util.ArrayList;
import java.util.List;
-import forge.Card;
-import forge.CardLists;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/game/combat/Combat.java b/forge-gui/src/main/java/forge/game/combat/Combat.java
index 7cd89482303..2c865dbda47 100644
--- a/forge-gui/src/main/java/forge/game/combat/Combat.java
+++ b/forge-gui/src/main/java/forge/game/combat/Combat.java
@@ -31,11 +31,11 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.GameEntity;
import forge.card.trigger.TriggerType;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
@@ -638,7 +638,7 @@ public class Combat {
*
*
* @param att
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean isUnblocked(final Card att) {
@@ -651,7 +651,7 @@ public class Combat {
* getUnblockedAttackers.
*
*
- * @return an array of {@link forge.Card} objects.
+ * @return an array of {@link forge.game.card.Card} objects.
*/
public final List getUnblockedAttackers() {
List unblocked = new ArrayList();
diff --git a/forge-gui/src/main/java/forge/game/combat/CombatUtil.java b/forge-gui/src/main/java/forge/game/combat/CombatUtil.java
index 7195de005fc..3dc5bc1ad8e 100644
--- a/forge-gui/src/main/java/forge/game/combat/CombatUtil.java
+++ b/forge-gui/src/main/java/forge/game/combat/CombatUtil.java
@@ -26,10 +26,6 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.GameEntity;
import forge.card.CardType;
import forge.card.MagicColor;
import forge.card.ability.AbilityFactory;
@@ -41,7 +37,11 @@ import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.TriggerType;
import forge.game.Game;
+import forge.game.GameEntity;
import forge.game.GlobalRuleChange;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
import forge.game.phase.PhaseType;
import forge.game.phase.Untap;
import forge.game.player.Player;
@@ -69,7 +69,7 @@ public class CombatUtil {
*
*
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a boolean.
@@ -112,7 +112,7 @@ public class CombatUtil {
*
*
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canBlock(final Card blocker) {
@@ -126,7 +126,7 @@ public class CombatUtil {
*
*
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canBlock(final Card blocker, final boolean nextTurn) {
@@ -169,7 +169,7 @@ public class CombatUtil {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a boolean.
@@ -201,7 +201,7 @@ public class CombatUtil {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canBeBlocked(final Card attacker, Player defender) {
@@ -337,7 +337,7 @@ public class CombatUtil {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static int needsBlockers(final Card attacker) {
@@ -428,7 +428,7 @@ public class CombatUtil {
*
*
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a boolean.
@@ -500,9 +500,9 @@ public class CombatUtil {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a boolean.
@@ -544,9 +544,9 @@ public class CombatUtil {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canBlock(final Card attacker, final Card blocker) {
@@ -560,9 +560,9 @@ public class CombatUtil {
*
*
* @param attacker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param blocker
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canBlock(final Card attacker, final Card blocker, final boolean nextTurn) {
@@ -676,7 +676,7 @@ public class CombatUtil {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param combat
* a {@link forge.game.combat.Combat} object.
* @return a boolean.
@@ -729,7 +729,7 @@ public class CombatUtil {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canAttack(final Card c, final GameEntity defender) {
@@ -772,7 +772,7 @@ public class CombatUtil {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canAttackNextTurn(final Card c) {
@@ -786,7 +786,7 @@ public class CombatUtil {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canAttackNextTurn(final Card c, final GameEntity defender) {
@@ -911,7 +911,7 @@ public class CombatUtil {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param bLast
* a boolean.
*/
@@ -939,7 +939,7 @@ public class CombatUtil {
* @param game
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public static void checkDeclaredAttacker(final Game game, final Card c, final Combat combat) {
// Run triggers
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventAnteCardsSelected.java b/forge-gui/src/main/java/forge/game/event/GameEventAnteCardsSelected.java
index 6f2b362914d..04ad545da12 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventAnteCardsSelected.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventAnteCardsSelected.java
@@ -2,7 +2,7 @@ package forge.game.event;
import org.apache.commons.lang3.tuple.Pair;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
public class GameEventAnteCardsSelected extends GameEvent {
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventAttackersDeclared.java b/forge-gui/src/main/java/forge/game/event/GameEventAttackersDeclared.java
index 8f52318710d..d1c82f7490a 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventAttackersDeclared.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventAttackersDeclared.java
@@ -2,8 +2,8 @@ package forge.game.event;
import com.google.common.collect.Multimap;
-import forge.Card;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventBlockersDeclared.java b/forge-gui/src/main/java/forge/game/event/GameEventBlockersDeclared.java
index 13d044e1bd3..b1b15d83283 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventBlockersDeclared.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventBlockersDeclared.java
@@ -5,8 +5,8 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
-import forge.Card;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.util.Lang;
import forge.util.maps.MapOfLists;
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardAttachment.java b/forge-gui/src/main/java/forge/game/event/GameEventCardAttachment.java
index 4aa4a87d565..69df0f87e04 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCardAttachment.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCardAttachment.java
@@ -1,7 +1,7 @@
package forge.game.event;
-import forge.Card;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
public class GameEventCardAttachment extends GameEvent {
public enum AttachMethod {
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardChangeZone.java b/forge-gui/src/main/java/forge/game/event/GameEventCardChangeZone.java
index 8698e3c6bbe..58b75d1002f 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCardChangeZone.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCardChangeZone.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.zone.Zone;
public class GameEventCardChangeZone extends GameEvent {
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardCounters.java b/forge-gui/src/main/java/forge/game/event/GameEventCardCounters.java
index d771886baef..e53a50e3056 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCardCounters.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCardCounters.java
@@ -1,7 +1,7 @@
package forge.game.event;
-import forge.Card;
-import forge.CounterType;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
public class GameEventCardCounters extends GameEvent {
public final Card card;
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardDamaged.java b/forge-gui/src/main/java/forge/game/event/GameEventCardDamaged.java
index f41ae32e9fc..0c4bd9cc37c 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCardDamaged.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCardDamaged.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
public class GameEventCardDamaged extends GameEvent {
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardStatsChanged.java b/forge-gui/src/main/java/forge/game/event/GameEventCardStatsChanged.java
index c26baed4c3b..2dd40b652d6 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCardStatsChanged.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCardStatsChanged.java
@@ -6,7 +6,7 @@ import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Iterables;
-import forge.Card;
+import forge.game.card.Card;
/**
* This means card's characteristics have changed on server, clients must re-request them
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCardTapped.java b/forge-gui/src/main/java/forge/game/event/GameEventCardTapped.java
index 79546bdd3c3..60a4edc8a45 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCardTapped.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCardTapped.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
public class GameEventCardTapped extends GameEvent {
public final boolean tapped;
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventCombatEnded.java b/forge-gui/src/main/java/forge/game/event/GameEventCombatEnded.java
index 24df93ca126..0e3bea536b6 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventCombatEnded.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventCombatEnded.java
@@ -2,7 +2,7 @@ package forge.game.event;
import java.util.List;
-import forge.Card;
+import forge.game.card.Card;
public class GameEventCombatEnded extends GameEvent {
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventLandPlayed.java b/forge-gui/src/main/java/forge/game/event/GameEventLandPlayed.java
index bcfdad0c81e..20a36e70cd6 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventLandPlayed.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventLandPlayed.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
public class GameEventLandPlayed extends GameEvent {
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventPlayerDamaged.java b/forge-gui/src/main/java/forge/game/event/GameEventPlayerDamaged.java
index 47e94cedc2e..f23013966a0 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventPlayerDamaged.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventPlayerDamaged.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventPlayerPoisoned.java b/forge-gui/src/main/java/forge/game/event/GameEventPlayerPoisoned.java
index 492cc49249e..ff85cfd2c09 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventPlayerPoisoned.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventPlayerPoisoned.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
diff --git a/forge-gui/src/main/java/forge/game/event/GameEventZone.java b/forge-gui/src/main/java/forge/game/event/GameEventZone.java
index df5b791c8fd..187b6573030 100644
--- a/forge-gui/src/main/java/forge/game/event/GameEventZone.java
+++ b/forge-gui/src/main/java/forge/game/event/GameEventZone.java
@@ -1,6 +1,6 @@
package forge.game.event;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.Lang;
diff --git a/forge-gui/src/main/java/forge/game/limited/BoosterDraft.java b/forge-gui/src/main/java/forge/game/limited/BoosterDraft.java
index f7f92182618..b37eca7bc85 100644
--- a/forge-gui/src/main/java/forge/game/limited/BoosterDraft.java
+++ b/forge-gui/src/main/java/forge/game/limited/BoosterDraft.java
@@ -32,7 +32,6 @@ import javax.swing.JOptionPane;
import org.apache.commons.lang3.ArrayUtils;
import com.google.common.base.Supplier;
-import forge.Card;
import forge.Constant.Preferences;
import forge.Singletons;
import forge.card.CardBlock;
@@ -41,6 +40,7 @@ import forge.card.CardEditionPredicates;
import forge.card.IUnOpenedProduct;
import forge.card.UnOpenedProduct;
import forge.deck.Deck;
+import forge.game.card.Card;
import forge.gui.GuiChoose;
import forge.item.PaperCard;
import forge.item.IPaperCard;
diff --git a/forge-gui/src/main/java/forge/game/limited/GauntletMini.java b/forge-gui/src/main/java/forge/game/limited/GauntletMini.java
index 6ddc91d2b57..810524c415c 100644
--- a/forge-gui/src/main/java/forge/game/limited/GauntletMini.java
+++ b/forge-gui/src/main/java/forge/game/limited/GauntletMini.java
@@ -27,7 +27,7 @@ import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.SOverlayUtils;
import forge.net.FServer;
import forge.net.Lobby;
diff --git a/forge-gui/src/main/java/forge/game/limited/IBoosterDraft.java b/forge-gui/src/main/java/forge/game/limited/IBoosterDraft.java
index 86e7b23bfa3..8a73a1af6f9 100644
--- a/forge-gui/src/main/java/forge/game/limited/IBoosterDraft.java
+++ b/forge-gui/src/main/java/forge/game/limited/IBoosterDraft.java
@@ -46,7 +46,7 @@ public interface IBoosterDraft {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
void setChoice(PaperCard c);
diff --git a/forge-gui/src/main/java/forge/game/phase/EndOfTurn.java b/forge-gui/src/main/java/forge/game/phase/EndOfTurn.java
index 084ed63efa4..a6365b6bb9f 100644
--- a/forge-gui/src/main/java/forge/game/phase/EndOfTurn.java
+++ b/forge-gui/src/main/java/forge/game/phase/EndOfTurn.java
@@ -17,12 +17,12 @@
*/
package forge.game.phase;
-import forge.Card;
import forge.card.ability.AbilityFactory;
import forge.card.mana.ManaCost;
import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.player.GameLossReason;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java b/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java
index 9279842e45b..bb1bb8ece92 100644
--- a/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java
+++ b/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java
@@ -27,12 +27,8 @@ import org.apache.commons.lang3.time.StopWatch;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
-import forge.Card;
-import forge.CardLists;
import forge.FThreads;
-import forge.GameEntity;
import forge.Singletons;
-import forge.CardPredicates.Presets;
import forge.card.ability.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
@@ -40,10 +36,14 @@ import forge.card.mana.ManaCost;
import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.TriggerType;
+import forge.game.GameEntity;
import forge.game.GameStage;
import forge.game.Game;
import forge.game.GameType;
import forge.game.GlobalRuleChange;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates.Presets;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.event.GameEventAttackersDeclared;
diff --git a/forge-gui/src/main/java/forge/game/phase/Untap.java b/forge-gui/src/main/java/forge/game/phase/Untap.java
index 292755e2f15..4991e97328f 100644
--- a/forge-gui/src/main/java/forge/game/phase/Untap.java
+++ b/forge-gui/src/main/java/forge/game/phase/Untap.java
@@ -23,14 +23,14 @@ import java.util.List;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
import forge.Singletons;
-import forge.CardPredicates.Presets;
-import forge.GameEntity;
import forge.game.Game;
+import forge.game.GameEntity;
import forge.game.ai.ComputerUtilCard;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardPredicates.Presets;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiDialog;
@@ -77,7 +77,7 @@ public class Untap extends Phase {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public static boolean canUntap(final Card c) {
diff --git a/forge-gui/src/main/java/forge/game/phase/Upkeep.java b/forge-gui/src/main/java/forge/game/phase/Upkeep.java
index 624785e46d4..80bc9ee3ba0 100644
--- a/forge-gui/src/main/java/forge/game/phase/Upkeep.java
+++ b/forge-gui/src/main/java/forge/game/phase/Upkeep.java
@@ -21,9 +21,6 @@ import java.util.HashMap;
import java.util.List;
import com.google.common.base.Predicate;
-import forge.Card;
-import forge.CardLists;
-import forge.CounterType;
import forge.card.ability.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
@@ -32,6 +29,9 @@ import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility;
import forge.card.trigger.TriggerType;
import forge.game.Game;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.game.player.PlayerController.ManaPaymentPurpose;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/game/player/HumanPlay.java b/forge-gui/src/main/java/forge/game/player/HumanPlay.java
index 08c9f253d28..7fa63305cdb 100644
--- a/forge-gui/src/main/java/forge/game/player/HumanPlay.java
+++ b/forge-gui/src/main/java/forge/game/player/HumanPlay.java
@@ -8,13 +8,7 @@ import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Predicate;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates.Presets;
-import forge.CardPredicates;
-import forge.CounterType;
import forge.FThreads;
-import forge.GameLogEntryType;
import forge.Singletons;
import forge.card.ability.AbilityUtils;
import forge.card.ability.ApiType;
@@ -52,6 +46,12 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.TargetRestrictions;
import forge.game.GameActionUtil;
import forge.game.Game;
+import forge.game.GameLogEntryType;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CounterType;
+import forge.game.card.CardPredicates.Presets;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
diff --git a/forge-gui/src/main/java/forge/game/player/Player.java b/forge-gui/src/main/java/forge/game/player/Player.java
index bc8d3bdfae0..7d64584eaae 100644
--- a/forge-gui/src/main/java/forge/game/player/Player.java
+++ b/forge-gui/src/main/java/forge/game/player/Player.java
@@ -32,14 +32,8 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CardPredicates.Presets;
import forge.Constant.Preferences;
-import forge.CounterType;
import forge.FThreads;
-import forge.GameEntity;
import forge.Singletons;
import forge.card.MagicColor;
import forge.card.ability.AbilityFactory;
@@ -54,10 +48,15 @@ import forge.card.staticability.StaticAbility;
import forge.card.trigger.TriggerType;
import forge.game.Game;
import forge.game.GameActionUtil;
+import forge.game.GameEntity;
import forge.game.GameStage;
import forge.game.GameType;
import forge.game.GlobalRuleChange;
-import forge.game.RegisteredPlayer;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CounterType;
+import forge.game.card.CardPredicates.Presets;
import forge.game.event.GameEventLandPlayed;
import forge.game.event.GameEventMulligan;
import forge.game.event.GameEventPlayerControl;
@@ -389,7 +388,7 @@ public class Player extends GameEntity implements Comparable {
* @param newLife
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean setLife(final int newLife, final Card source) {
@@ -448,7 +447,7 @@ public class Player extends GameEntity implements Comparable {
* @param toGain
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean gainLife(final int toGain, final Card source) {
@@ -583,7 +582,7 @@ public class Player extends GameEntity implements Comparable {
* @param lifePayment
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a boolean.
*/
public final boolean payLife(final int lifePayment, final Card source) {
@@ -614,7 +613,7 @@ public class Player extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return whether or not damage was dealt
@@ -693,7 +692,7 @@ public class Player extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -759,7 +758,7 @@ public class Player extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -846,7 +845,7 @@ public class Player extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -877,7 +876,7 @@ public class Player extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param isCombat
* a boolean.
* @return a int.
@@ -1043,7 +1042,7 @@ public class Player extends GameEntity implements Comparable {
* @param damage
* a int.
* @param source
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final boolean addCombatDamage(final int damage, final Card source) {
@@ -1581,7 +1580,7 @@ public class Player extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a int.
*/
protected final int getDredgeNumber(final Card c) {
@@ -1638,7 +1637,7 @@ public class Player extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param sa
* a {@link forge.card.spellability.SpellAbility} object.
* @return a {@link forge.CardList} object.
@@ -1815,7 +1814,7 @@ public class Player extends GameEntity implements Comparable {
*
*
* @param land
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final boolean playLand(final Card land, final boolean ignoreZoneAndTiming) {
FThreads.assertExecutedByEdt(false);
@@ -1952,7 +1951,7 @@ public class Player extends GameEntity implements Comparable {
* Getter for the field lastDrawnCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getLastDrawnCard() {
return this.lastDrawnCard;
@@ -1964,8 +1963,8 @@ public class Player extends GameEntity implements Comparable {
*
*
* @param c
- * a {@link forge.Card} object.
- * @return a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
private final Card setLastDrawnCard(final Card c) {
this.lastDrawnCard = c;
@@ -1989,9 +1988,9 @@ public class Player extends GameEntity implements Comparable {
*
*
* @param s
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final void setNamedCard(final String s) {
this.namedCard = s;
@@ -3128,7 +3127,7 @@ public class Player extends GameEntity implements Comparable {
*
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void drawMiracle(final Card card) {
// Whenever a card with miracle is the first card drawn in a turn,
diff --git a/forge-gui/src/main/java/forge/game/player/PlayerController.java b/forge-gui/src/main/java/forge/game/player/PlayerController.java
index 089b37e7edd..d608db6a821 100644
--- a/forge-gui/src/main/java/forge/game/player/PlayerController.java
+++ b/forge-gui/src/main/java/forge/game/player/PlayerController.java
@@ -11,10 +11,6 @@ import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.ImmutableList;
-import forge.Card;
-import forge.CounterType;
-import forge.GameEntity;
-import forge.GameObject;
import forge.card.cost.Cost;
import forge.card.mana.Mana;
import forge.card.replacement.ReplacementEffect;
@@ -24,7 +20,11 @@ import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.TargetChoices;
import forge.deck.Deck;
import forge.game.Game;
+import forge.game.GameEntity;
+import forge.game.GameObject;
import forge.game.GameType;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.game.phase.PhaseType;
import forge.game.zone.ZoneType;
diff --git a/forge-gui/src/main/java/forge/game/player/PlayerControllerAi.java b/forge-gui/src/main/java/forge/game/player/PlayerControllerAi.java
index 096866105c0..96b60babcf5 100644
--- a/forge-gui/src/main/java/forge/game/player/PlayerControllerAi.java
+++ b/forge-gui/src/main/java/forge/game/player/PlayerControllerAi.java
@@ -14,12 +14,6 @@ import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CounterType;
-import forge.GameEntity;
-import forge.GameObject;
import forge.card.ability.ApiType;
import forge.card.ability.ai.CharmAi;
import forge.card.cost.Cost;
@@ -34,6 +28,8 @@ import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.TargetChoices;
import forge.deck.Deck;
import forge.game.Game;
+import forge.game.GameEntity;
+import forge.game.GameObject;
import forge.game.GameType;
import forge.game.ai.AiController;
import forge.game.ai.ComputerUtil;
@@ -41,6 +37,10 @@ import forge.game.ai.AiBlockController;
import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat;
import forge.game.ai.ComputerUtilCost;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.game.zone.ZoneType;
import forge.util.Aggregates;
diff --git a/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java
index 81236cb39e8..88fd5db558c 100644
--- a/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java
+++ b/forge-gui/src/main/java/forge/game/player/PlayerControllerHuman.java
@@ -25,10 +25,6 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CounterType;
-import forge.GameEntity;
-import forge.GameObject;
import forge.Singletons;
import forge.card.ability.effects.CharmEffect;
import forge.card.cost.Cost;
@@ -43,7 +39,11 @@ import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.game.Game;
+import forge.game.GameEntity;
+import forge.game.GameObject;
import forge.game.GameType;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.game.phase.PhaseType;
import forge.game.zone.Zone;
diff --git a/forge-gui/src/main/java/forge/game/RegisteredPlayer.java b/forge-gui/src/main/java/forge/game/player/RegisteredPlayer.java
similarity index 94%
rename from forge-gui/src/main/java/forge/game/RegisteredPlayer.java
rename to forge-gui/src/main/java/forge/game/player/RegisteredPlayer.java
index 6acfef7627f..60a1cbf4ddd 100644
--- a/forge-gui/src/main/java/forge/game/RegisteredPlayer.java
+++ b/forge-gui/src/main/java/forge/game/player/RegisteredPlayer.java
@@ -1,4 +1,4 @@
-package forge.game;
+package forge.game.player;
import java.util.ArrayList;
import java.util.Collections;
@@ -6,8 +6,6 @@ import java.util.List;
import forge.deck.Deck;
import forge.deck.DeckSection;
-import forge.game.player.LobbyPlayer;
-import forge.game.player.Player;
import forge.item.PaperCard;
import forge.item.IPaperCard;
diff --git a/forge-gui/src/main/java/forge/game/zone/MagicStack.java b/forge-gui/src/main/java/forge/game/zone/MagicStack.java
index 114c8fa0b8f..72c626f8f4d 100644
--- a/forge-gui/src/main/java/forge/game/zone/MagicStack.java
+++ b/forge-gui/src/main/java/forge/game/zone/MagicStack.java
@@ -31,14 +31,8 @@ import com.esotericsoftware.minlog.Log;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
import forge.FThreads;
-import forge.GameObject;
import forge.Singletons;
-import forge.CardPredicates.Presets;
-import forge.GameLogEntryType;
import forge.card.ability.AbilityFactory;
import forge.card.ability.AbilityUtils;
import forge.card.cardfactory.CardFactory;
@@ -58,8 +52,14 @@ import forge.card.spellability.TargetSelection;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.game.Game;
+import forge.game.GameLogEntryType;
+import forge.game.GameObject;
import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CardPredicates.Presets;
import forge.game.event.GameEventCardStatsChanged;
import forge.game.event.GameEventSpellAbilityCast;
import forge.game.event.GameEventSpellRemovedFromStack;
@@ -673,7 +673,7 @@ public class MagicStack /* extends MyObservable */ implements Iterable
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
void setCard(Card card);
@@ -43,7 +43,7 @@ public interface CardContainer {
* getCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
Card getCard();
diff --git a/forge-gui/src/main/java/forge/gui/CardDetailPanel.java b/forge-gui/src/main/java/forge/gui/CardDetailPanel.java
index a89801aaaa5..08975a0093f 100644
--- a/forge-gui/src/main/java/forge/gui/CardDetailPanel.java
+++ b/forge-gui/src/main/java/forge/gui/CardDetailPanel.java
@@ -36,15 +36,15 @@ import javax.swing.border.EtchedBorder;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
-import forge.CardUtil;
-import forge.CounterType;
-import forge.GameEntity;
import forge.Singletons;
import forge.card.CardCharacteristicName;
import forge.card.CardEdition;
import forge.card.CardType;
import forge.card.ColorSet;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardUtil;
+import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.toolbox.FLabel;
diff --git a/forge-gui/src/main/java/forge/gui/CardListViewer.java b/forge-gui/src/main/java/forge/gui/CardListViewer.java
index defc753583e..edf6a5c3741 100644
--- a/forge-gui/src/main/java/forge/gui/CardListViewer.java
+++ b/forge-gui/src/main/java/forge/gui/CardListViewer.java
@@ -37,7 +37,7 @@ import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import forge.Card;
+import forge.game.card.Card;
import forge.item.PaperCard;
/**
diff --git a/forge-gui/src/main/java/forge/gui/CardPicturePanel.java b/forge-gui/src/main/java/forge/gui/CardPicturePanel.java
index 48bc07495ab..10804f901c7 100644
--- a/forge-gui/src/main/java/forge/gui/CardPicturePanel.java
+++ b/forge-gui/src/main/java/forge/gui/CardPicturePanel.java
@@ -23,10 +23,10 @@ import java.awt.image.BufferedImage;
import javax.swing.JPanel;
-import forge.Card;
import forge.ImageCache;
import forge.Singletons;
import forge.card.CardCharacteristicName;
+import forge.game.card.Card;
import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FSkin.JComponentSkin;
import forge.gui.toolbox.imaging.FImagePanel;
diff --git a/forge-gui/src/main/java/forge/gui/DualListBox.java b/forge-gui/src/main/java/forge/gui/DualListBox.java
index b17a5aa4979..9da403ddd85 100644
--- a/forge-gui/src/main/java/forge/gui/DualListBox.java
+++ b/forge-gui/src/main/java/forge/gui/DualListBox.java
@@ -23,8 +23,8 @@ import javax.swing.event.ListDataListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.gui.match.CMatchUI;
import forge.gui.toolbox.FButton;
import forge.gui.toolbox.FLabel;
diff --git a/forge-gui/src/main/java/forge/gui/GuiChoose.java b/forge-gui/src/main/java/forge/gui/GuiChoose.java
index dd871ecf312..a52d821ff84 100644
--- a/forge-gui/src/main/java/forge/gui/GuiChoose.java
+++ b/forge-gui/src/main/java/forge/gui/GuiChoose.java
@@ -16,9 +16,9 @@ import javax.swing.event.ListSelectionListener;
import com.google.common.base.Function;
-import forge.Card;
import forge.FThreads;
import forge.Singletons;
+import forge.game.card.Card;
import forge.gui.match.CMatchUI;
import forge.item.InventoryItem;
import forge.view.FDialog;
diff --git a/forge-gui/src/main/java/forge/gui/GuiDialog.java b/forge-gui/src/main/java/forge/gui/GuiDialog.java
index c010dad0c32..1660f43886d 100644
--- a/forge-gui/src/main/java/forge/gui/GuiDialog.java
+++ b/forge-gui/src/main/java/forge/gui/GuiDialog.java
@@ -8,8 +8,8 @@ import javax.swing.UIManager;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
import forge.FThreads;
+import forge.game.card.Card;
import forge.gui.match.CMatchUI;
/**
diff --git a/forge-gui/src/main/java/forge/gui/GuiDisplayUtil.java b/forge-gui/src/main/java/forge/gui/GuiDisplayUtil.java
index 908a701cf12..59fb55fd833 100644
--- a/forge-gui/src/main/java/forge/gui/GuiDisplayUtil.java
+++ b/forge-gui/src/main/java/forge/gui/GuiDisplayUtil.java
@@ -36,10 +36,6 @@ import javax.swing.JOptionPane;
import com.google.common.base.Predicates;
import com.google.common.collect.Lists;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates;
-import forge.CounterType;
import forge.Singletons;
import forge.card.CardCharacteristicName;
import forge.card.spellability.AbilityManaPart;
@@ -48,6 +44,10 @@ import forge.card.trigger.TriggerType;
import forge.game.Game;
import forge.game.GameType;
import forge.game.PlanarDice;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
+import forge.game.card.CounterType;
import forge.game.phase.PhaseType;
import forge.game.player.HumanPlay;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/gui/GuiUtils.java b/forge-gui/src/main/java/forge/gui/GuiUtils.java
index 6fee89934f8..d484f695e64 100644
--- a/forge-gui/src/main/java/forge/gui/GuiUtils.java
+++ b/forge-gui/src/main/java/forge/gui/GuiUtils.java
@@ -30,7 +30,7 @@ import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.KeyStroke;
-import forge.Card;
+import forge.game.card.Card;
import forge.gui.match.VMatchUI;
import forge.gui.match.nonsingleton.VField;
import forge.view.arcane.CardPanel;
diff --git a/forge-gui/src/main/java/forge/gui/InputProxy.java b/forge-gui/src/main/java/forge/gui/InputProxy.java
index 7ee43779ec3..324451a1ac6 100644
--- a/forge-gui/src/main/java/forge/gui/InputProxy.java
+++ b/forge-gui/src/main/java/forge/gui/InputProxy.java
@@ -22,11 +22,11 @@ import java.util.Observable;
import java.util.Observer;
import java.util.concurrent.atomic.AtomicReference;
-import forge.Card;
import forge.FThreads;
import forge.Singletons;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.gui.input.Input;
@@ -114,7 +114,7 @@ public class InputProxy implements Observer {
*
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param triggerEvent
*/
public final void selectCard(final Card card, final MouseEvent triggerEvent) {
diff --git a/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java b/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java
index 836bafc8633..0868d85c315 100644
--- a/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java
+++ b/forge-gui/src/main/java/forge/gui/deckchooser/FDeckChooser.java
@@ -22,7 +22,7 @@ import org.apache.commons.lang3.ArrayUtils;
import forge.Command;
import forge.Singletons;
import forge.deck.Deck;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.MouseUtil;
import forge.gui.MouseUtil.MouseCursor;
import forge.gui.deckchooser.DecksComboBox.DeckType;
diff --git a/forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java b/forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java
index 4f8d62506f2..63a248f61af 100644
--- a/forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java
+++ b/forge-gui/src/main/java/forge/gui/events/UiEventAttackerDeclared.java
@@ -1,7 +1,7 @@
package forge.gui.events;
-import forge.Card;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
/**
* TODO: Write javadoc for this type.
diff --git a/forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java b/forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java
index 911fdde02f5..0137ca12e86 100644
--- a/forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java
+++ b/forge-gui/src/main/java/forge/gui/events/UiEventBlockerAssigned.java
@@ -1,6 +1,6 @@
package forge.gui.events;
-import forge.Card;
+import forge.game.card.Card;
public class UiEventBlockerAssigned extends UiEvent {
diff --git a/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java b/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java
index 7598015e44a..1c036e58268 100644
--- a/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java
+++ b/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java
@@ -17,7 +17,7 @@ import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO;
import forge.gui.SOverlayUtils;
diff --git a/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java b/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java
index cbd9df29dbe..62437fb2436 100644
--- a/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java
+++ b/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java
@@ -15,7 +15,7 @@ import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO;
import forge.gui.SOverlayUtils;
diff --git a/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java b/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java
index 93925e90dc3..b0857953b5f 100644
--- a/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java
+++ b/forge-gui/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java
@@ -16,7 +16,7 @@ import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO;
import forge.gui.SOverlayUtils;
diff --git a/forge-gui/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java b/forge-gui/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java
index 5722ed8fb0f..16ffb0fab24 100644
--- a/forge-gui/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java
+++ b/forge-gui/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java
@@ -17,8 +17,8 @@ import forge.card.CardEdition;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
import forge.game.player.LobbyPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiChoose;
import forge.gui.SOverlayUtils;
import forge.gui.deckeditor.CDeckEditorUI;
diff --git a/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java b/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java
index e79ae55d416..b818cb64e56 100644
--- a/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java
+++ b/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java
@@ -14,7 +14,7 @@ import forge.FThreads;
import forge.Singletons;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.SOverlayUtils;
import forge.gui.deckchooser.DecksComboBox.DeckType;
import forge.gui.framework.ICDoc;
diff --git a/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java b/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java
index da263699040..f2b9aefaccb 100644
--- a/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java
+++ b/forge-gui/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java
@@ -16,9 +16,9 @@ import forge.deck.Deck;
import forge.deck.DeckGroup;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
import forge.game.limited.BoosterDraft;
import forge.game.limited.LimitedPoolType;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiChoose;
import forge.gui.SOverlayUtils;
import forge.gui.deckeditor.CDeckEditorUI;
diff --git a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java
index a65fbcb6931..9f0d05d2402 100644
--- a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java
+++ b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java
@@ -14,10 +14,10 @@ import org.apache.commons.lang3.tuple.Pair;
import forge.Command;
import forge.Constant.Preferences;
-import forge.GameLogEntryType;
import forge.Singletons;
import forge.control.FControl.CloseAction;
import forge.control.RestartUtil;
+import forge.game.GameLogEntryType;
import forge.game.ai.AiProfileUtil;
import forge.gui.framework.FScreen;
import forge.gui.framework.ICDoc;
diff --git a/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java
index 2070fcb2c7b..3e54aacc045 100644
--- a/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java
+++ b/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java
@@ -23,11 +23,11 @@ import net.miginfocom.swing.MigLayout;
import org.apache.commons.lang3.StringUtils;
-import forge.GameLogEntryType;
import forge.Singletons;
import forge.control.FControl.CloseAction;
import forge.control.KeyboardShortcuts;
import forge.control.KeyboardShortcuts.Shortcut;
+import forge.game.GameLogEntryType;
import forge.gui.framework.DragCell;
import forge.gui.framework.DragTab;
import forge.gui.framework.EDocID;
diff --git a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java
index 316c66141f2..d3d9a1231d6 100644
--- a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java
+++ b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java
@@ -17,7 +17,7 @@ import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiDialog;
import forge.gui.SOverlayUtils;
import forge.gui.deckchooser.DeckgenUtil;
diff --git a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuCommander.java b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuCommander.java
index 1e23fc05712..824eb38adcb 100644
--- a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuCommander.java
+++ b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuCommander.java
@@ -16,8 +16,8 @@ import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
import forge.game.player.LobbyPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiDialog;
import forge.gui.SOverlayUtils;
import forge.gui.deckeditor.CDeckEditorUI;
diff --git a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java
index 534d19e635c..3df4e649703 100644
--- a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java
+++ b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java
@@ -17,8 +17,8 @@ import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
import forge.game.player.LobbyPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiDialog;
import forge.gui.SOverlayUtils;
import forge.gui.deckchooser.DeckgenUtil;
diff --git a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java
index 4382a8b3905..73ef51af2dc 100644
--- a/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java
+++ b/forge-gui/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java
@@ -17,8 +17,8 @@ import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
import forge.game.player.LobbyPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gui.GuiDialog;
import forge.gui.SOverlayUtils;
import forge.gui.deckchooser.FDeckChooser;
diff --git a/forge-gui/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java b/forge-gui/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java
index 7cd72b21342..19841d70d58 100644
--- a/forge-gui/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java
+++ b/forge-gui/src/main/java/forge/gui/home/variant/VSubmenuVanguard.java
@@ -17,8 +17,8 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import net.miginfocom.swing.MigLayout;
-import forge.Card;
import forge.Singletons;
+import forge.game.card.Card;
import forge.gui.CardDetailPanel;
import forge.gui.deckchooser.FDeckChooser;
import forge.gui.framework.DragCell;
diff --git a/forge-gui/src/main/java/forge/gui/input/Input.java b/forge-gui/src/main/java/forge/gui/input/Input.java
index 1d45e8c1fb1..1d8a99317c9 100644
--- a/forge-gui/src/main/java/forge/gui/input/Input.java
+++ b/forge-gui/src/main/java/forge/gui/input/Input.java
@@ -2,8 +2,8 @@ package forge.gui.input;
import java.awt.event.MouseEvent;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
/**
diff --git a/forge-gui/src/main/java/forge/gui/input/InputAttack.java b/forge-gui/src/main/java/forge/gui/input/InputAttack.java
index 8b28b4dd2df..e186ec17a59 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputAttack.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputAttack.java
@@ -22,10 +22,10 @@ import java.util.List;
import com.google.common.collect.Iterables;
-import forge.Card;
-import forge.CardPredicates;
-import forge.GameEntity;
import forge.card.ability.AbilityUtils;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CardPredicates;
import forge.game.combat.AttackingBand;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputBase.java b/forge-gui/src/main/java/forge/gui/input/InputBase.java
index a2ff0e83f0f..b3ce64ec262 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputBase.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputBase.java
@@ -19,9 +19,9 @@ package forge.gui.input;
import java.awt.event.MouseEvent;
-import forge.Card;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.phase.PhaseHandler;
import forge.game.player.Player;
import forge.gui.framework.SDisplayUtil;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputBlock.java b/forge-gui/src/main/java/forge/gui/input/InputBlock.java
index 8b710b5e007..7359e3a09fa 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputBlock.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputBlock.java
@@ -19,7 +19,7 @@ package forge.gui.input;
import java.awt.event.MouseEvent;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputConfirmMulligan.java b/forge-gui/src/main/java/forge/gui/input/InputConfirmMulligan.java
index 27e3438efc1..c3f5cd999ef 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputConfirmMulligan.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputConfirmMulligan.java
@@ -21,8 +21,8 @@ import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
-import forge.Card;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiDialog;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputLockUI.java b/forge-gui/src/main/java/forge/gui/input/InputLockUI.java
index 2755398fad8..e4c24670a8d 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputLockUI.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputLockUI.java
@@ -3,11 +3,11 @@ package forge.gui.input;
import java.awt.event.MouseEvent;
import java.util.concurrent.atomic.AtomicInteger;
-import forge.Card;
import forge.FThreads;
import forge.Singletons;
import forge.card.spellability.SpellAbility;
import forge.control.InputQueue;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.gui.match.CMatchUI;
import forge.util.ThreadUtil;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputPassPriority.java b/forge-gui/src/main/java/forge/gui/input/InputPassPriority.java
index 9c2c5c7c0a1..b84b5785922 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputPassPriority.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputPassPriority.java
@@ -20,8 +20,8 @@ package forge.gui.input;
import java.awt.event.MouseEvent;
import java.util.List;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.view.ButtonUtil;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputPayMana.java b/forge-gui/src/main/java/forge/gui/input/InputPayMana.java
index fde15d299ac..9563e8724e0 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputPayMana.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputPayMana.java
@@ -7,8 +7,6 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
-import forge.CardUtil;
import forge.FThreads;
import forge.card.ColorSet;
import forge.card.MagicColor;
@@ -19,6 +17,8 @@ import forge.card.replacement.ReplacementEffect;
import forge.card.spellability.AbilityManaPart;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
+import forge.game.card.CardUtil;
import forge.game.player.HumanPlay;
import forge.game.player.Player;
import forge.gui.GuiChoose;
@@ -90,7 +90,7 @@ public abstract class InputPayMana extends InputSyncronizedBase {
* @param sa
* a {@link forge.card.spellability.SpellAbility} object.
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @param manaCost
* a {@link forge.card.mana.ManaCostBeingPaid} object.
* @return a {@link forge.card.mana.ManaCostBeingPaid} object.
diff --git a/forge-gui/src/main/java/forge/gui/input/InputPayManaOfCostPayment.java b/forge-gui/src/main/java/forge/gui/input/InputPayManaOfCostPayment.java
index 39e9be840cd..6a5ae3f75a0 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputPayManaOfCostPayment.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputPayManaOfCostPayment.java
@@ -1,8 +1,8 @@
package forge.gui.input;
-import forge.Card;
import forge.card.mana.ManaCostBeingPaid;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.player.Player;
public class InputPayManaOfCostPayment extends InputPayMana {
diff --git a/forge-gui/src/main/java/forge/gui/input/InputPayManaSimple.java b/forge-gui/src/main/java/forge/gui/input/InputPayManaSimple.java
index af0e09a906f..3e8fc757510 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputPayManaSimple.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputPayManaSimple.java
@@ -17,10 +17,10 @@
*/
package forge.gui.input;
-import forge.Card;
import forge.card.mana.ManaCostBeingPaid;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.view.ButtonUtil;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputPayManaX.java b/forge-gui/src/main/java/forge/gui/input/InputPayManaX.java
index 8a43f8eaa0a..069cbfe5115 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputPayManaX.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputPayManaX.java
@@ -6,10 +6,10 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
import forge.card.ColorSet;
import forge.card.mana.ManaCostBeingPaid;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.view.ButtonUtil;
public class InputPayManaX extends InputPayMana {
diff --git a/forge-gui/src/main/java/forge/gui/input/InputProliferate.java b/forge-gui/src/main/java/forge/gui/input/InputProliferate.java
index fd8b2fce229..18fb8f7f565 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputProliferate.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputProliferate.java
@@ -6,9 +6,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import forge.Card;
-import forge.CounterType;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.gui.GuiChoose;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputSelectCards.java b/forge-gui/src/main/java/forge/gui/input/InputSelectCards.java
index fcadb2daf37..44fa9bab61f 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputSelectCards.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputSelectCards.java
@@ -2,7 +2,7 @@ package forge.gui.input;
import java.awt.event.MouseEvent;
-import forge.Card;
+import forge.game.card.Card;
public abstract class InputSelectCards extends InputSelectManyBase {
private static final long serialVersionUID = -6609493252672573139L;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputSelectCardsFromList.java b/forge-gui/src/main/java/forge/gui/input/InputSelectCardsFromList.java
index c35da9cf104..4abfa598650 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputSelectCardsFromList.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputSelectCardsFromList.java
@@ -1,7 +1,8 @@
package forge.gui.input;
import java.util.Collection;
-import forge.Card;
+
+import forge.game.card.Card;
public class InputSelectCardsFromList extends InputSelectCards {
private static final long serialVersionUID = 6230360322294805986L;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputSelectManyBase.java b/forge-gui/src/main/java/forge/gui/input/InputSelectManyBase.java
index ddf8778c36e..44a01b7de91 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputSelectManyBase.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputSelectManyBase.java
@@ -3,8 +3,8 @@ package forge.gui.input;
import java.util.ArrayList;
import java.util.List;
-import forge.Card;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.gui.match.CMatchUI;
import forge.view.ButtonUtil;
diff --git a/forge-gui/src/main/java/forge/gui/input/InputSelectTargets.java b/forge-gui/src/main/java/forge/gui/input/InputSelectTargets.java
index 3a910537fb6..432bc1ea272 100644
--- a/forge-gui/src/main/java/forge/gui/input/InputSelectTargets.java
+++ b/forge-gui/src/main/java/forge/gui/input/InputSelectTargets.java
@@ -6,11 +6,11 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import forge.Card;
-import forge.GameEntity;
import forge.card.ability.ApiType;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.TargetRestrictions;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.gui.GuiChoose;
import forge.gui.match.CMatchUI;
diff --git a/forge-gui/src/main/java/forge/gui/match/CMatchUI.java b/forge-gui/src/main/java/forge/gui/match/CMatchUI.java
index 7ff6dbb1a9b..7c470aea942 100644
--- a/forge-gui/src/main/java/forge/gui/match/CMatchUI.java
+++ b/forge-gui/src/main/java/forge/gui/match/CMatchUI.java
@@ -32,12 +32,12 @@ import com.google.common.collect.Lists;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
-import forge.Card;
import forge.Command;
import forge.FThreads;
-import forge.GameEntity;
import forge.ImageCache;
import forge.Singletons;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.game.combat.Combat;
import forge.game.phase.PhaseType;
import forge.game.player.LobbyPlayer;
@@ -231,7 +231,7 @@ public enum CMatchUI implements ICDoc, IMenuProvider {
* Fires up trample dialog. Very old code, due for refactoring with new UI.
* Could possibly move to view.
*
- * @param attacker {@link forge.Card}
+ * @param attacker {@link forge.game.card.Card}
* @param blockers {@link forge.CardList}
* @param damage int
* @param overrideOrder overriding combatant order
diff --git a/forge-gui/src/main/java/forge/gui/match/ControlWinLose.java b/forge-gui/src/main/java/forge/gui/match/ControlWinLose.java
index 3032fa248c5..8298f289386 100644
--- a/forge-gui/src/main/java/forge/gui/match/ControlWinLose.java
+++ b/forge-gui/src/main/java/forge/gui/match/ControlWinLose.java
@@ -7,15 +7,15 @@ import java.util.List;
import javax.swing.JButton;
-import forge.Card;
import forge.Singletons;
import forge.deck.Deck;
import forge.game.Game;
import forge.game.GameOutcome;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.card.Card;
import forge.game.player.Player;
+import forge.game.player.RegisteredPlayer;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
import forge.gui.SOverlayUtils;
diff --git a/forge-gui/src/main/java/forge/gui/match/GauntletWinLose.java b/forge-gui/src/main/java/forge/gui/match/GauntletWinLose.java
index 7c6a556e0d7..e7d4ef54792 100644
--- a/forge-gui/src/main/java/forge/gui/match/GauntletWinLose.java
+++ b/forge-gui/src/main/java/forge/gui/match/GauntletWinLose.java
@@ -32,8 +32,8 @@ import forge.deck.Deck;
import forge.game.Game;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
import forge.game.player.LobbyPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO;
import forge.gui.SOverlayUtils;
diff --git a/forge-gui/src/main/java/forge/gui/match/QuestWinLose.java b/forge-gui/src/main/java/forge/gui/match/QuestWinLose.java
index 0b318be113c..6e006dd04bd 100644
--- a/forge-gui/src/main/java/forge/gui/match/QuestWinLose.java
+++ b/forge-gui/src/main/java/forge/gui/match/QuestWinLose.java
@@ -30,7 +30,6 @@ import javax.swing.SwingConstants;
import org.apache.commons.lang3.StringUtils;
-import forge.Card;
import forge.Singletons;
import forge.card.CardEdition;
import forge.card.IUnOpenedProduct;
@@ -39,6 +38,7 @@ import forge.game.Game;
import forge.game.GameEndReason;
import forge.game.GameFormat;
import forge.game.GameOutcome;
+import forge.game.card.Card;
import forge.game.player.GameLossReason;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java b/forge-gui/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java
index 66268a6e512..ca368a0611b 100644
--- a/forge-gui/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java
+++ b/forge-gui/src/main/java/forge/gui/match/QuestWinLoseCardViewer.java
@@ -26,7 +26,7 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import net.miginfocom.swing.MigLayout;
-import forge.Card;
+import forge.game.card.Card;
import forge.gui.CardDetailPanel;
import forge.gui.CardPicturePanel;
import forge.gui.toolbox.FList;
diff --git a/forge-gui/src/main/java/forge/gui/match/TargetingOverlay.java b/forge-gui/src/main/java/forge/gui/match/TargetingOverlay.java
index 554acd705e4..a0ed9c1f18d 100644
--- a/forge-gui/src/main/java/forge/gui/match/TargetingOverlay.java
+++ b/forge-gui/src/main/java/forge/gui/match/TargetingOverlay.java
@@ -33,8 +33,8 @@ import java.util.Map;
import javax.swing.JPanel;
-import forge.Card;
import forge.Singletons;
+import forge.game.card.Card;
import forge.game.combat.Combat;
import forge.gui.framework.FScreen;
import forge.gui.match.controllers.CDock;
diff --git a/forge-gui/src/main/java/forge/gui/match/VAssignDamage.java b/forge-gui/src/main/java/forge/gui/match/VAssignDamage.java
index 788a0142064..c406c43719b 100644
--- a/forge-gui/src/main/java/forge/gui/match/VAssignDamage.java
+++ b/forge-gui/src/main/java/forge/gui/match/VAssignDamage.java
@@ -34,10 +34,10 @@ import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout;
-import forge.Card;
-import forge.CounterType;
-import forge.GameEntity;
+import forge.game.GameEntity;
import forge.game.Match;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.gui.SOverlayUtils;
import forge.gui.toolbox.FButton;
@@ -135,8 +135,8 @@ public class VAssignDamage {
/** Constructor.
*
- * @param attacker0 {@link forge.Card}
- * @param defenderCards List<{@link forge.Card}>
+ * @param attacker0 {@link forge.game.card.Card}
+ * @param defenderCards List<{@link forge.game.card.Card}>
* @param damage0 int
* @param defender GameEntity that's bein attacked
* @param overrideOrder override combatant order
diff --git a/forge-gui/src/main/java/forge/gui/match/ViewWinLose.java b/forge-gui/src/main/java/forge/gui/match/ViewWinLose.java
index 4227c30a9ee..7960c875f42 100644
--- a/forge-gui/src/main/java/forge/gui/match/ViewWinLose.java
+++ b/forge-gui/src/main/java/forge/gui/match/ViewWinLose.java
@@ -14,11 +14,11 @@ import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout;
import forge.Command;
-import forge.GameLog;
-import forge.GameLogEntry;
-import forge.GameLogEntryType;
import forge.Singletons;
import forge.game.Game;
+import forge.game.GameLog;
+import forge.game.GameLogEntry;
+import forge.game.GameLogEntryType;
import forge.game.GameOutcome;
import forge.game.player.Player;
import forge.gui.toolbox.FButton;
diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CCombat.java b/forge-gui/src/main/java/forge/gui/match/controllers/CCombat.java
index b9379ccc114..b7256920026 100644
--- a/forge-gui/src/main/java/forge/gui/match/controllers/CCombat.java
+++ b/forge-gui/src/main/java/forge/gui/match/controllers/CCombat.java
@@ -2,9 +2,9 @@ package forge.gui.match.controllers;
import java.util.List;
-import forge.Card;
import forge.Command;
-import forge.GameEntity;
+import forge.game.GameEntity;
+import forge.game.card.Card;
import forge.game.combat.AttackingBand;
import forge.game.combat.Combat;
import forge.game.player.Player;
@@ -128,7 +128,7 @@ public enum CCombat implements ICDoc {
*
*
* @param c
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a {@link java.lang.String} object.
*/
private static String combatantToString(final Card c) {
diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CDetail.java b/forge-gui/src/main/java/forge/gui/match/controllers/CDetail.java
index 81d998265c9..5794e6cd972 100644
--- a/forge-gui/src/main/java/forge/gui/match/controllers/CDetail.java
+++ b/forge-gui/src/main/java/forge/gui/match/controllers/CDetail.java
@@ -20,9 +20,9 @@ package forge.gui.match.controllers;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-import forge.Card;
import forge.Command;
import forge.Singletons;
+import forge.game.card.Card;
import forge.gui.framework.ICDoc;
import forge.gui.match.views.VDetail;
import forge.item.IPaperCard;
diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CDock.java b/forge-gui/src/main/java/forge/gui/match/controllers/CDock.java
index ffb9ef018cd..6bfbfe98c9b 100644
--- a/forge-gui/src/main/java/forge/gui/match/controllers/CDock.java
+++ b/forge-gui/src/main/java/forge/gui/match/controllers/CDock.java
@@ -28,14 +28,14 @@ import java.util.TreeMap;
import javax.swing.JOptionPane;
-import forge.Card;
-import forge.CardLists;
-import forge.CardPredicates.Presets;
import forge.Command;
import forge.FThreads;
import forge.Singletons;
import forge.deck.Deck;
import forge.game.Game;
+import forge.game.card.Card;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates.Presets;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.phase.PhaseHandler;
diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CLog.java b/forge-gui/src/main/java/forge/gui/match/controllers/CLog.java
index 6c8c73e8b26..08d43befd1a 100644
--- a/forge-gui/src/main/java/forge/gui/match/controllers/CLog.java
+++ b/forge-gui/src/main/java/forge/gui/match/controllers/CLog.java
@@ -5,7 +5,7 @@ import java.util.Observer;
import forge.Command;
import forge.FThreads;
-import forge.GameLog;
+import forge.game.GameLog;
import forge.gui.framework.ICDoc;
import forge.gui.match.views.VLog;
diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java b/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java
index 7b8b466ba09..ca5ecf888e3 100644
--- a/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java
+++ b/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java
@@ -23,10 +23,10 @@ import java.awt.event.MouseWheelListener;
import javax.swing.JLabel;
-import forge.Card;
-import forge.CardUtil;
import forge.Command;
import forge.card.CardCharacteristicName;
+import forge.game.card.Card;
+import forge.game.card.CardUtil;
import forge.gui.CardPicturePanel;
import forge.gui.framework.ICDoc;
import forge.gui.match.views.VPicture;
diff --git a/forge-gui/src/main/java/forge/gui/match/nonsingleton/CField.java b/forge-gui/src/main/java/forge/gui/match/nonsingleton/CField.java
index 20491b24549..cd43d0bdcdf 100644
--- a/forge-gui/src/main/java/forge/gui/match/nonsingleton/CField.java
+++ b/forge-gui/src/main/java/forge/gui/match/nonsingleton/CField.java
@@ -24,12 +24,12 @@ import java.awt.event.MouseListener;
import java.util.List;
import com.google.common.base.Function;
-import forge.Card;
import forge.Command;
import forge.Singletons;
import forge.Constant.Preferences;
import forge.card.spellability.SpellAbility;
import forge.game.Game;
+import forge.game.card.Card;
import forge.game.player.HumanPlay;
import forge.game.player.LobbyPlayer;
import forge.game.player.Player;
diff --git a/forge-gui/src/main/java/forge/gui/match/nonsingleton/CHand.java b/forge-gui/src/main/java/forge/gui/match/nonsingleton/CHand.java
index 618f2e6fb8a..fde846494fc 100644
--- a/forge-gui/src/main/java/forge/gui/match/nonsingleton/CHand.java
+++ b/forge-gui/src/main/java/forge/gui/match/nonsingleton/CHand.java
@@ -26,10 +26,10 @@ import java.util.Observable;
import javax.swing.JLayeredPane;
import javax.swing.SwingUtilities;
-import forge.Card;
import forge.Command;
import forge.FThreads;
import forge.Singletons;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.framework.ICDoc;
diff --git a/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java b/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java
index e8ad58e75dc..7a679a534eb 100644
--- a/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java
+++ b/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java
@@ -4,10 +4,10 @@ import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
-import forge.Card;
import forge.Singletons;
import forge.card.CardCharacteristicName;
import forge.card.cardfactory.CardFactory;
+import forge.game.card.Card;
import forge.game.zone.PlayerZone;
import forge.gui.ForgeAction;
import forge.gui.GuiChoose;
diff --git a/forge-gui/src/main/java/forge/gui/match/views/VAntes.java b/forge-gui/src/main/java/forge/gui/match/views/VAntes.java
index 4a8476d6b32..506a9840d1d 100644
--- a/forge-gui/src/main/java/forge/gui/match/views/VAntes.java
+++ b/forge-gui/src/main/java/forge/gui/match/views/VAntes.java
@@ -26,7 +26,7 @@ import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
import net.miginfocom.swing.MigLayout;
-import forge.Card;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.CardPicturePanel;
@@ -144,7 +144,7 @@ public enum VAntes implements IVDoc {
/**
*
* @param p0 {@link forge.game.player.Player}
- * @param c0 {@link forge.Card}
+ * @param c0 {@link forge.game.card.Card}
*/
public AntePanel(final Card c0) {
super();
diff --git a/forge-gui/src/main/java/forge/gui/match/views/VLog.java b/forge-gui/src/main/java/forge/gui/match/views/VLog.java
index 0aeb387957b..42a1c1249a6 100644
--- a/forge-gui/src/main/java/forge/gui/match/views/VLog.java
+++ b/forge-gui/src/main/java/forge/gui/match/views/VLog.java
@@ -26,9 +26,9 @@ import net.miginfocom.swing.MigLayout;
import com.google.common.collect.Lists;
-import forge.GameLog;
-import forge.GameLogEntry;
-import forge.GameLogEntryType;
+import forge.game.GameLog;
+import forge.game.GameLogEntry;
+import forge.game.GameLogEntryType;
import forge.gui.framework.DragCell;
import forge.gui.framework.DragTab;
import forge.gui.framework.EDocID;
diff --git a/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java b/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java
index d5893f77212..937b0583869 100644
--- a/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java
+++ b/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java
@@ -25,11 +25,11 @@ import java.util.Map.Entry;
import javax.swing.JLabel;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
-import forge.Card;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.Game;
import forge.game.GameType;
+import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.framework.DragCell;
diff --git a/forge-gui/src/main/java/forge/gui/match/views/VStack.java b/forge-gui/src/main/java/forge/gui/match/views/VStack.java
index a1b0c980f92..d3ab9292827 100644
--- a/forge-gui/src/main/java/forge/gui/match/views/VStack.java
+++ b/forge-gui/src/main/java/forge/gui/match/views/VStack.java
@@ -32,8 +32,8 @@ import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import net.miginfocom.swing.MigLayout;
-import forge.CardUtil;
import forge.card.spellability.SpellAbilityStackInstance;
+import forge.game.card.CardUtil;
import forge.game.player.LobbyPlayer;
import forge.game.player.PlayerController;
import forge.game.zone.MagicStack;
diff --git a/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java b/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java
index a54355b3c1a..fdf814b3149 100644
--- a/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java
+++ b/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java
@@ -21,9 +21,9 @@ package forge.gui.toolbox.imaging;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
-import forge.Card;
import forge.ImageCache;
import forge.card.CardCharacteristicName;
+import forge.game.card.Card;
import forge.gui.toolbox.CardFaceSymbols;
import forge.gui.toolbox.FSkin.ComponentSkin;
diff --git a/forge-gui/src/main/java/forge/gui/toolbox/special/CardViewer.java b/forge-gui/src/main/java/forge/gui/toolbox/special/CardViewer.java
index 40fd0fb4bab..302fc0c5c8e 100644
--- a/forge-gui/src/main/java/forge/gui/toolbox/special/CardViewer.java
+++ b/forge-gui/src/main/java/forge/gui/toolbox/special/CardViewer.java
@@ -27,7 +27,7 @@ import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import forge.Card;
+import forge.game.card.Card;
import forge.gui.CardDetailPanel;
import forge.gui.CardPicturePanel;
import forge.item.PaperCard;
diff --git a/forge-gui/src/main/java/forge/gui/toolbox/special/CardZoomer.java b/forge-gui/src/main/java/forge/gui/toolbox/special/CardZoomer.java
index b05b23d6842..7576c4af31c 100644
--- a/forge-gui/src/main/java/forge/gui/toolbox/special/CardZoomer.java
+++ b/forge-gui/src/main/java/forge/gui/toolbox/special/CardZoomer.java
@@ -31,9 +31,9 @@ import javax.swing.JPanel;
import javax.swing.Timer;
import net.miginfocom.swing.MigLayout;
-import forge.Card;
-import forge.CardUtil;
import forge.card.CardCharacteristicName;
+import forge.game.card.Card;
+import forge.game.card.CardUtil;
import forge.gui.SOverlayUtils;
import forge.gui.toolbox.FOverlay;
import forge.gui.toolbox.FSkin;
diff --git a/forge-gui/src/main/java/forge/gui/workshop/controllers/CCardScript.java b/forge-gui/src/main/java/forge/gui/workshop/controllers/CCardScript.java
index 02a0ef64114..d6d6eac4825 100644
--- a/forge-gui/src/main/java/forge/gui/workshop/controllers/CCardScript.java
+++ b/forge-gui/src/main/java/forge/gui/workshop/controllers/CCardScript.java
@@ -6,11 +6,11 @@ import javax.swing.JOptionPane;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
-import forge.Card;
import forge.Command;
import forge.Singletons;
import forge.card.CardDb;
import forge.card.CardRules;
+import forge.game.card.Card;
import forge.gui.framework.FScreen;
import forge.gui.framework.ICDoc;
import forge.gui.match.controllers.CDetail;
diff --git a/forge-gui/src/main/java/forge/net/FServer.java b/forge-gui/src/main/java/forge/net/FServer.java
index f546a4248f3..42008a09f46 100644
--- a/forge-gui/src/main/java/forge/net/FServer.java
+++ b/forge-gui/src/main/java/forge/net/FServer.java
@@ -8,13 +8,13 @@ import java.util.concurrent.CountDownLatch;
import org.apache.commons.lang3.time.StopWatch;
-import forge.GameLogEntry;
import forge.Singletons;
import forge.deck.Deck;
import forge.game.Game;
+import forge.game.GameLogEntry;
import forge.game.GameType;
import forge.game.Match;
-import forge.game.RegisteredPlayer;
+import forge.game.player.RegisteredPlayer;
import forge.util.Lang;
diff --git a/forge-gui/src/main/java/forge/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/properties/ForgePreferences.java
index 7cb03aa4be5..b49dde23aa5 100644
--- a/forge-gui/src/main/java/forge/properties/ForgePreferences.java
+++ b/forge-gui/src/main/java/forge/properties/ForgePreferences.java
@@ -21,8 +21,8 @@ import java.util.List;
import forge.Constant;
import forge.Constant.Preferences;
-import forge.GameLogEntryType;
import forge.control.FControl.CloseAction;
+import forge.game.GameLogEntryType;
import forge.game.ai.AiProfileUtil;
import forge.gui.home.EMenuItem;
import forge.gui.match.VMatchUI;
diff --git a/forge-gui/src/main/java/forge/quest/QuestUtil.java b/forge-gui/src/main/java/forge/quest/QuestUtil.java
index b78c0034f6f..4a4589cbf27 100644
--- a/forge-gui/src/main/java/forge/quest/QuestUtil.java
+++ b/forge-gui/src/main/java/forge/quest/QuestUtil.java
@@ -20,10 +20,10 @@ package forge.quest;
import java.util.ArrayList;
import java.util.List;
-import forge.Card;
import forge.Singletons;
import forge.card.CardEdition;
import forge.card.CardRules;
+import forge.game.card.Card;
import forge.item.PaperToken;
import forge.item.IPaperCard;
import forge.quest.bazaar.QuestPetController;
diff --git a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java
index 4f1bc1b492a..b05a334352c 100644
--- a/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java
+++ b/forge-gui/src/main/java/forge/quest/bazaar/QuestPetController.java
@@ -73,7 +73,7 @@ public class QuestPetController implements IQuestBazaarItem {
* getPetCard.
*
* @param qA quest assets
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public PaperToken getPetCard(final QuestAssets qA) {
diff --git a/forge-gui/src/main/java/forge/sound/EventVisualizer.java b/forge-gui/src/main/java/forge/sound/EventVisualizer.java
index de6e69cabb0..b311334aa1e 100644
--- a/forge-gui/src/main/java/forge/sound/EventVisualizer.java
+++ b/forge-gui/src/main/java/forge/sound/EventVisualizer.java
@@ -2,8 +2,8 @@ package forge.sound;
import java.util.Collection;
-import forge.Card;
import forge.card.spellability.SpellAbility;
+import forge.game.card.Card;
import forge.game.event.GameEventBlockersDeclared;
import forge.game.event.GameEventCardChangeZone;
import forge.game.event.GameEventCardDamaged;
diff --git a/forge-gui/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui/src/main/java/forge/view/arcane/CardPanel.java
index 5c87a052de1..75b1c1050e7 100644
--- a/forge-gui/src/main/java/forge/view/arcane/CardPanel.java
+++ b/forge-gui/src/main/java/forge/view/arcane/CardPanel.java
@@ -35,13 +35,13 @@ import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.SwingUtilities;
-import forge.Card;
-import forge.CounterType;
import forge.ImageCache;
import forge.Singletons;
import forge.card.CardCharacteristicName;
import forge.card.CardEdition;
import forge.card.mana.ManaCost;
+import forge.game.card.Card;
+import forge.game.card.CounterType;
import forge.game.combat.Combat;
import forge.gui.CardContainer;
import forge.gui.match.CMatchUI;
@@ -117,7 +117,7 @@ public class CardPanel extends JPanel implements CardContainer {
*
*
* @param newGameCard
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public CardPanel(final Card newGameCard) {
this.gameCard = newGameCard;
@@ -616,7 +616,7 @@ public class CardPanel extends JPanel implements CardContainer {
*
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
*/
public final void setText(final Card card) {
@@ -656,7 +656,7 @@ public class CardPanel extends JPanel implements CardContainer {
* getCard.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getCard() {
return this.getGameCard();
diff --git a/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java b/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java
index 078d3e6e154..e1cd06a484d 100644
--- a/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java
+++ b/forge-gui/src/main/java/forge/view/arcane/CardPanelContainer.java
@@ -31,9 +31,9 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
-import forge.Card;
import forge.Constant;
import forge.FThreads;
+import forge.game.card.Card;
import forge.gui.match.CMatchUI;
import forge.gui.toolbox.special.CardZoomer;
import forge.view.arcane.util.CardPanelMouseListener;
@@ -292,7 +292,7 @@ public abstract class CardPanelContainer extends JPanel {
* Must call from the Swing event thread.
*
* @param card
- * a {@link forge.Card} object.
+ * a {@link forge.game.card.Card} object.
* @return a {@link forge.view.arcane.CardPanel} object.
*/
public CardPanel addCard(final Card card) {
@@ -581,7 +581,7 @@ public abstract class CardPanelContainer extends JPanel {
* getCardFromMouseOverPanel.
*
*
- * @return a {@link forge.Card} object.
+ * @return a {@link forge.game.card.Card} object.
*/
public final Card getHoveredCard(MouseEvent e) {
// re-evaluate cursor position so if we hovered over a card, alt-tabbed out of the application, then
diff --git a/forge-gui/src/main/java/forge/view/arcane/PlayArea.java b/forge-gui/src/main/java/forge/view/arcane/PlayArea.java
index 71e3029dcf0..fbf1ae0b9b7 100644
--- a/forge-gui/src/main/java/forge/view/arcane/PlayArea.java
+++ b/forge-gui/src/main/java/forge/view/arcane/PlayArea.java
@@ -27,8 +27,8 @@ import java.util.List;
import javax.swing.JScrollPane;
-import forge.Card;
import forge.FThreads;
+import forge.game.card.Card;
import forge.gui.match.CMatchUI;
import forge.gui.match.controllers.CMessage;
import forge.view.arcane.util.Animation;
@@ -521,7 +521,7 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
*
*
* @param newList
- * an array of {@link forge.Card} objects.
+ * an array of {@link forge.game.card.Card} objects.
*/
public void setupPlayZone() {
FThreads.assertExecutedByEdt(true);
diff --git a/forge-gui/src/test/java/forge/BoosterDraftTest.java b/forge-gui/src/test/java/forge/BoosterDraftTest.java
index b6c40460bdf..1ae6fcd9272 100644
--- a/forge-gui/src/test/java/forge/BoosterDraftTest.java
+++ b/forge-gui/src/test/java/forge/BoosterDraftTest.java
@@ -6,6 +6,7 @@ import org.testng.annotations.Test;
import forge.card.BoosterGenerator;
import forge.deck.Deck;
+import forge.game.card.Card;
import forge.game.limited.IBoosterDraft;
import forge.item.PaperCard;
import forge.item.SealedProduct;
diff --git a/forge-gui/src/test/java/forge/RunTest.java b/forge-gui/src/test/java/forge/RunTest.java
index 963d1bf4165..67a8dfceb66 100644
--- a/forge-gui/src/test/java/forge/RunTest.java
+++ b/forge-gui/src/test/java/forge/RunTest.java
@@ -2,6 +2,7 @@ package forge;
import org.testng.annotations.Test;
+import forge.game.card.Card;
import forge.game.combat.CombatUtil;
/**
diff --git a/forge-gui/src/test/java/forge/card/mana/ManaPartTest.java b/forge-gui/src/test/java/forge/card/mana/ManaPartTest.java
index 4dbc79e6d7a..0d56311c165 100644
--- a/forge-gui/src/test/java/forge/card/mana/ManaPartTest.java
+++ b/forge-gui/src/test/java/forge/card/mana/ManaPartTest.java
@@ -2,8 +2,8 @@ package forge.card.mana;
import org.testng.annotations.Test;
-import forge.Card;
import forge.card.MagicColor;
+import forge.game.card.Card;
/**
*