Merge remote-tracking branch 'core/master' into rollback_Phase_dev

# Conflicts:
#	forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java
#	forge-gui-mobile/src/forge/screens/match/MatchController.java
#	forge-gui/src/main/java/forge/gamemodes/net/server/NetGuiGame.java
#	forge-gui/src/main/java/forge/gui/interfaces/IGuiGame.java
This commit is contained in:
Anthony Calosa
2021-03-18 17:19:08 +08:00
1479 changed files with 10644 additions and 8016 deletions

View File

@@ -1,5 +0,0 @@
package forge.assets;
public interface ISkinImage {
}

View File

@@ -1,14 +1,15 @@
package forge.deck;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.tuple.Pair;
import forge.card.CardEdition;
import forge.deck.io.Archetype;
import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.model.FModel;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
import java.util.List;
/**
* Created by maustin on 09/05/2017.

View File

@@ -1,12 +1,18 @@
package forge.deck;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
import forge.StaticData;
import forge.deck.io.Archetype;
import forge.deck.io.CardThemedLDAIO;
import forge.model.FModel;
import org.apache.commons.lang3.tuple.Pair;
import java.util.*;
/**
* Created by maustin on 09/05/2017.

View File

@@ -1,23 +1,32 @@
package forge.deck;
import java.io.File;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.ArrayUtils;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.deck.io.CardThemedMatrixIO;
import forge.deck.io.DeckStorage;
import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgeConstants;
import forge.model.FModel;
import forge.properties.ForgeConstants;
import forge.util.storage.IStorage;
import forge.util.storage.StorageImmediatelySerialized;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
import java.util.*;
/**
* Created by maustin on 09/05/2017.

View File

@@ -1,13 +1,13 @@
package forge.deck;
import java.util.ArrayList;
import java.util.List;
import forge.card.CardEdition;
import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.model.FModel;
import java.util.ArrayList;
import java.util.List;
/**
* Created by maustin on 09/05/2017.
*/

View File

@@ -1,8 +1,12 @@
package forge.deck;
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import forge.card.CardEdition;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
@@ -11,9 +15,6 @@ import forge.item.PaperCard;
import forge.model.FModel;
import forge.util.ItemPool;
import java.util.ArrayList;
import java.util.List;
/**
* Created by maustin on 09/05/2017.
*/

View File

@@ -17,16 +17,16 @@
*/
package forge.deck;
import forge.deck.generation.DeckGeneratorBase;
import forge.deck.generation.IDeckGenPool;
import forge.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.MyRandom;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import forge.deck.generation.DeckGeneratorBase;
import forge.deck.generation.IDeckGenPool;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.MyRandom;
/**
* <p>
* ThemeDeckGenerator class.

View File

@@ -8,11 +8,11 @@ import java.util.List;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.commons.lang3.StringUtils;
import forge.interfaces.ICheckBox;
import forge.interfaces.IComboBox;
import forge.gui.interfaces.ICheckBox;
import forge.gui.interfaces.IComboBox;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
import forge.model.FModel;
import forge.util.gui.SOptionPane;
import forge.util.Localizer;
public class DeckImportController {

View File

@@ -6,10 +6,9 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.Set;
import forge.card.CardSplitType;
import org.apache.commons.lang3.StringUtils;
import com.google.common.base.Function;
@@ -21,6 +20,7 @@ import forge.StaticData;
import forge.card.CardEdition;
import forge.card.CardRarity;
import forge.card.CardRules;
import forge.card.CardSplitType;
import forge.card.CardType;
import forge.card.ColorSet;
import forge.card.MagicColor;
@@ -28,14 +28,14 @@ import forge.card.mana.ManaCostShard;
import forge.deck.io.DeckPreferences;
import forge.game.GameFormat;
import forge.game.GameType;
import forge.gamemodes.quest.QuestController;
import forge.gamemodes.quest.QuestEvent;
import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.item.PreconDeck;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences.FPref;
import forge.quest.QuestController;
import forge.quest.QuestEvent;
import forge.util.BinaryUtil;
import forge.util.IHasName;
import forge.util.storage.IStorage;

View File

@@ -1,10 +1,21 @@
package forge.deck;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import forge.StaticData;
import forge.card.CardDb;
import forge.card.CardRules;
@@ -12,30 +23,32 @@ import forge.card.CardRulesPredicates;
import forge.card.ColorSet;
import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
import forge.deck.generation.*;
import forge.deck.generation.DeckGenerator2Color;
import forge.deck.generation.DeckGenerator3Color;
import forge.deck.generation.DeckGenerator5Color;
import forge.deck.generation.DeckGeneratorBase;
import forge.deck.generation.DeckGeneratorMonoColor;
import forge.deck.generation.IDeckGenPool;
import forge.deck.io.Archetype;
import forge.game.GameFormat;
import forge.game.GameType;
import forge.gamemodes.limited.ArchetypeDeckBuilder;
import forge.gamemodes.limited.CardThemedCommanderDeckBuilder;
import forge.gamemodes.limited.CardThemedConquestDeckBuilder;
import forge.gamemodes.limited.CardThemedDeckBuilder;
import forge.gamemodes.quest.QuestController;
import forge.gamemodes.quest.QuestEvent;
import forge.gamemodes.quest.QuestEventChallenge;
import forge.gamemodes.quest.QuestEventDuel;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
import forge.itemmanager.IItemManager;
import forge.limited.ArchetypeDeckBuilder;
import forge.limited.CardThemedCommanderDeckBuilder;
import forge.limited.CardThemedConquestDeckBuilder;
import forge.limited.CardThemedDeckBuilder;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.properties.ForgePreferences.FPref;
import forge.quest.QuestController;
import forge.quest.QuestEvent;
import forge.quest.QuestEventChallenge;
import forge.quest.QuestEventDuel;
import forge.util.Aggregates;
import forge.util.Lang;
import forge.util.MyRandom;
import forge.util.gui.SOptionPane;
import forge.util.storage.IStorage;
import org.apache.commons.lang3.tuple.Pair;
import java.util.*;
/**
* Utility collection for various types of decks.

View File

@@ -3,17 +3,22 @@ package forge.deck;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckArchiveBlock extends StorageBase<Deck> {

View File

@@ -3,17 +3,22 @@ package forge.deck;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckArchiveLegacy extends StorageBase<Deck> {

View File

@@ -3,17 +3,22 @@ package forge.deck;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckArchiveModern extends StorageBase<Deck> {

View File

@@ -3,17 +3,22 @@ package forge.deck;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckArchivePioneer extends StorageBase<Deck> {

View File

@@ -3,17 +3,22 @@ package forge.deck;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckArchiveStandard extends StorageBase<Deck> {

View File

@@ -3,17 +3,22 @@ package forge.deck;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckArchiveVintage extends StorageBase<Deck> {

View File

@@ -8,15 +8,15 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import forge.GuiBase;
import forge.deck.io.DeckSerializer;
import forge.deck.io.DeckStorage;
import forge.download.GuiDownloadZipService;
import forge.game.GameType;
import forge.properties.ForgeConstants;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SGuiChoose;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.WaitCallback;
import forge.util.gui.SGuiChoose;
import forge.util.storage.StorageBase;
public class NetDeckCategory extends StorageBase<Deck> {

View File

@@ -8,8 +8,8 @@ import com.google.common.collect.Iterables;
import forge.game.GameType;
import forge.game.IHasGameType;
import forge.gamemodes.quest.QuestController;
import forge.model.FModel;
import forge.quest.QuestController;
import forge.util.Aggregates;
public class RandomDeckGenerator extends DeckProxy implements Comparable<RandomDeckGenerator> {

View File

@@ -1,10 +1,10 @@
package forge.deck.io;
import org.apache.commons.lang3.tuple.Pair;
import java.io.Serializable;
import java.util.List;
import org.apache.commons.lang3.tuple.Pair;
public class Archetype implements Serializable {
static final long serialVersionUID = 1733769383530140352L;

View File

@@ -1,13 +1,19 @@
package forge.deck.io;
import forge.game.GameFormat;
import forge.properties.ForgeConstants;
import org.apache.commons.lang3.tuple.Pair;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.tuple.Pair;
import forge.game.GameFormat;
import forge.localinstance.properties.ForgeConstants;
/**
* Created by maustin on 11/05/2017.
*/

View File

@@ -12,7 +12,7 @@ import java.util.Map;
import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.properties.ForgeConstants;
import forge.localinstance.properties.ForgeConstants;
/**
* Created by maustin on 11/05/2017.

View File

@@ -1,10 +1,5 @@
package forge.deck.io;
import forge.deck.DeckProxy;
import forge.deck.DeckType;
import forge.properties.ForgeConstants;
import forge.util.XmlUtil;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
@@ -17,6 +12,11 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import forge.deck.DeckProxy;
import forge.deck.DeckType;
import forge.localinstance.properties.ForgeConstants;
import forge.util.XmlUtil;
/**
* Preferences associated with individual decks
*

View File

@@ -1,24 +1,33 @@
package forge.download;
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.MalformedURLException;
import java.net.Socket;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.SwingUtilities;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.ImmutableList;
import forge.GuiBase;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SOptionPane;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.properties.ForgePreferences;
import forge.util.BuildInfo;
import forge.util.FileUtil;
import forge.util.Localizer;
import forge.util.WaitCallback;
import forge.util.gui.SOptionPane;
import org.apache.commons.lang3.StringUtils;
import javax.swing.*;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.net.*;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AutoUpdater {
private final String SNAPSHOT_VERSION_INDEX = "https://snapshots.cardforge.org/";

View File

@@ -29,7 +29,8 @@ import java.lang.Thread.UncaughtExceptionHandler;
import com.esotericsoftware.minlog.Log;
import forge.FTrace;
import forge.properties.ForgeConstants;
import forge.gui.error.BugReporter;
import forge.localinstance.properties.ForgeConstants;
import forge.util.MultiplexOutputStream;
/**

View File

@@ -1,13 +1,4 @@
package forge.gauntlet;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import forge.GuiBase;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.player.RegisteredPlayer;
import forge.match.HostedMatch;
import forge.properties.ForgeConstants;
package forge.gamemodes.gauntlet;
import java.io.File;
import java.text.DateFormat;
@@ -16,6 +7,15 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.player.RegisteredPlayer;
import forge.gamemodes.match.HostedMatch;
import forge.gui.GuiBase;
import forge.localinstance.properties.ForgeConstants;
/**
* Handles layout saving and loading.

View File

@@ -1,4 +1,4 @@
package forge.gauntlet;
package forge.gamemodes.gauntlet;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -16,26 +16,26 @@ import java.util.TreeMap;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import com.thoughtworks.xstream.converters.ConversionException;
import com.thoughtworks.xstream.security.NoTypePermission;
import com.thoughtworks.xstream.security.NullPermission;
import com.thoughtworks.xstream.security.PrimitiveTypePermission;
import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.error.BugReporter;
import org.apache.commons.lang3.StringUtils;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.converters.ConversionException;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import com.thoughtworks.xstream.security.NoTypePermission;
import com.thoughtworks.xstream.security.NullPermission;
import com.thoughtworks.xstream.security.PrimitiveTypePermission;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.gui.error.BugReporter;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgeConstants;
import forge.model.FModel;
import forge.properties.ForgeConstants;
import forge.util.IgnoringXStream;
public class GauntletIO {
@@ -73,6 +73,9 @@ public class GauntletIO {
});
xStream.registerConverter(new DeckSectionToXml());
xStream.autodetectAnnotations(true);
// Alias for renamed
xStream.aliasPackage("forge.gauntlet", GauntletIO.class.getPackage().getName());
return xStream;
}

View File

@@ -1,7 +1,10 @@
package forge.gauntlet;
package forge.gamemodes.gauntlet;
import java.io.File;
import java.util.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import forge.deck.Deck;
import forge.deck.DeckType;

View File

@@ -1,16 +1,16 @@
package forge.gauntlet;
package forge.gamemodes.gauntlet;
import java.util.List;
import com.google.common.collect.Lists;
import forge.LobbyPlayer;
import forge.assets.FSkinProp;
import forge.deck.Deck;
import forge.game.GameView;
import forge.game.player.RegisteredPlayer;
import forge.interfaces.IButton;
import forge.interfaces.IWinLoseView;
import forge.gui.interfaces.IButton;
import forge.gui.interfaces.IWinLoseView;
import forge.localinstance.assets.FSkinProp;
import forge.model.FModel;
import forge.player.GamePlayerUtil;
import forge.util.Localizer;

View File

@@ -1,12 +1,12 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.List;
import forge.deck.DeckFormat;
import forge.deck.io.Archetype;
import forge.game.GameFormat;
import forge.item.PaperCard;
import java.util.List;
public class ArchetypeDeckBuilder extends CardThemedDeckBuilder{
private Archetype archetype;

View File

@@ -1,10 +1,10 @@
package forge.limited;
package forge.gamemodes.limited;
import forge.item.PaperCard;
import java.util.List;
import forge.item.PaperCard;
/**
* Deck built from a Booster Draft.

View File

@@ -15,35 +15,44 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Stack;
import java.util.TreeMap;
import org.apache.commons.lang3.ArrayUtils;
import com.google.common.base.Predicate;
import com.google.common.base.Supplier;
import com.google.common.collect.Iterables;
import forge.StaticData;
import forge.card.CardEdition;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.gui.util.SGuiChoose;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
import forge.item.SealedProduct;
import forge.item.generation.ChaosBoosterSupplier;
import forge.item.generation.IUnOpenedProduct;
import forge.item.generation.UnOpenedProduct;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.CardBlock;
import forge.model.FModel;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences;
import forge.util.FileUtil;
import forge.util.ItemPool;
import forge.util.TextUtil;
import forge.util.gui.SGuiChoose;
import forge.util.gui.SOptionPane;
import forge.util.storage.IStorage;
import forge.util.Localizer;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
import java.util.*;
import forge.util.TextUtil;
import forge.util.storage.IStorage;
/**
* Booster Draft Format.

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.List;
@@ -23,7 +23,7 @@ import java.util.List;
import forge.card.ColorSet;
import forge.deck.Deck;
import forge.item.PaperCard;
import forge.properties.ForgePreferences;
import forge.localinstance.properties.ForgePreferences;
/**
* <p>

View File

@@ -1,16 +1,20 @@
package forge.limited;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import forge.card.*;
import forge.item.PaperCard;
import org.apache.commons.lang3.tuple.Pair;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import forge.card.ColorSet;
import forge.card.DeckHints;
import forge.card.MagicColor;
import forge.item.PaperCard;
public class CardRanker {
private static final double SCORE_UNPICKABLE = -100.0;

View File

@@ -1,10 +1,11 @@
package forge.limited;
import forge.item.PaperCard;
import org.apache.commons.lang3.tuple.Pair;
package forge.gamemodes.limited;
import java.util.Comparator;
import org.apache.commons.lang3.tuple.Pair;
import forge.item.PaperCard;
/**
* Sorts cards by rank.
*

View File

@@ -1,8 +1,11 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.List;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import forge.card.CardRulesPredicates;
import forge.card.ColorSet;
import forge.deck.DeckFormat;
@@ -10,8 +13,6 @@ import forge.deck.generation.DeckGenPool;
import forge.item.PaperCard;
import forge.model.FModel;
import java.util.List;
/**
* Created by maustin on 28/02/2018.
*/

View File

@@ -1,8 +1,11 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.List;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import forge.card.CardRulesPredicates;
import forge.card.ColorSet;
import forge.deck.DeckFormat;
@@ -11,8 +14,6 @@ import forge.game.GameFormat;
import forge.item.PaperCard;
import forge.model.FModel;
import java.util.List;
/**
* Created by maustin on 28/02/2018.
*/

View File

@@ -1,11 +1,25 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import forge.StaticData;
import forge.card.*;
import forge.card.CardEdition;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.card.ColorSet;
import forge.card.MagicColor;
import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
import forge.deck.CardPool;
@@ -18,12 +32,10 @@ import forge.deck.generation.IDeckGenPool;
import forge.game.GameFormat;
import forge.item.IPaperCard;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.properties.ForgePreferences;
import forge.util.MyRandom;
import java.util.*;
/**
* Limited format deck.
*/

View File

@@ -15,7 +15,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import forge.card.CardEdition;
import forge.deck.Deck;
@@ -28,13 +35,6 @@ import forge.util.ItemPool;
import forge.util.TextUtil;
import forge.util.storage.IStorage;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* CustomDraft class.

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package forge.limited;
package forge.gamemodes.limited;
/**
* DraftRankCache

View File

@@ -1,4 +1,4 @@
package forge.limited;
package forge.gamemodes.limited;
import forge.card.ColorSet;
import forge.card.MagicColor;

View File

@@ -15,16 +15,16 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.List;
import forge.GuiBase;
import forge.deck.Deck;
import forge.game.GameType;
import forge.game.player.RegisteredPlayer;
import forge.match.HostedMatch;
import forge.gamemodes.match.HostedMatch;
import forge.gui.GuiBase;
import forge.model.FModel;
import forge.player.GamePlayerUtil;
import forge.util.Aggregates;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import forge.card.CardEdition;
import forge.deck.CardPool;

View File

@@ -1,4 +1,4 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.HashMap;

View File

@@ -15,13 +15,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
package forge.gamemodes.limited;
import java.util.Map.Entry;
import forge.deck.Deck;
import forge.item.PaperCard;
import java.util.Map.Entry;
/**
* <p>
* LimitedDeckEvaluator class.

View File

@@ -1,13 +1,15 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
//import com.google.common.collect.Lists;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.item.PaperCard;
//import forge.limited.powers.DraftPower;
import java.util.*;
//import forge.gamemodes.limited.powers.DraftPower;
public class LimitedPlayer {
// A Player class for inside some type of limited environment, like Draft.

View File

@@ -1,13 +1,13 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.List;
import forge.card.ColorSet;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckSection;
import forge.item.PaperCard;
import forge.properties.ForgePreferences;
import java.util.List;
import forge.localinstance.properties.ForgePreferences;
public class LimitedPlayerAI extends LimitedPlayer {
protected DeckColors deckCols;

View File

@@ -1,4 +1,4 @@
package forge.limited;
package forge.gamemodes.limited;
public enum LimitedPoolType {
Full("Full Cardpool"),

View File

@@ -1,8 +1,8 @@
package forge.limited;
package forge.gamemodes.limited;
import forge.game.GameView;
import forge.interfaces.IButton;
import forge.interfaces.IWinLoseView;
import forge.gui.interfaces.IButton;
import forge.gui.interfaces.IWinLoseView;
import forge.model.FModel;
import forge.player.GamePlayerUtil;
import forge.util.Localizer;

View File

@@ -1,12 +1,12 @@
package forge.limited;
import forge.properties.ForgeConstants;
import forge.util.FileUtil;
package forge.gamemodes.limited;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import forge.localinstance.properties.ForgeConstants;
import forge.util.FileUtil;
/**
* ReadDraftRankings class.
*

View File

@@ -15,36 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.limited;
import com.google.common.collect.Lists;
import forge.StaticData;
import forge.assets.FSkinProp;
import forge.card.CardEdition;
import forge.card.MagicColor;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckGroup;
import forge.deck.DeckSection;
import forge.item.PaperCard;
import forge.item.SealedProduct;
import forge.item.generation.IUnOpenedProduct;
import forge.item.generation.UnOpenedProduct;
import forge.model.CardBlock;
import forge.model.FModel;
import forge.model.UnOpenedMeta;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences.FPref;
import forge.util.FileUtil;
import forge.util.MyRandom;
import forge.util.TextUtil;
import forge.util.gui.SGuiChoose;
import forge.util.gui.SOptionPane;
import forge.util.storage.IStorage;
import forge.util.Localizer;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
package forge.gamemodes.limited;
import java.io.File;
import java.util.ArrayList;
@@ -52,6 +23,37 @@ import java.util.Collections;
import java.util.List;
import java.util.Stack;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.Lists;
import forge.StaticData;
import forge.card.CardEdition;
import forge.card.MagicColor;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckGroup;
import forge.deck.DeckSection;
import forge.gui.util.SGuiChoose;
import forge.gui.util.SOptionPane;
import forge.item.PaperCard;
import forge.item.SealedProduct;
import forge.item.generation.IUnOpenedProduct;
import forge.item.generation.UnOpenedProduct;
import forge.localinstance.assets.FSkinProp;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.CardBlock;
import forge.model.FModel;
import forge.model.UnOpenedMeta;
import forge.util.FileUtil;
import forge.util.Localizer;
import forge.util.MyRandom;
import forge.util.TextUtil;
import forge.util.storage.IStorage;
/**
* <p>
* SealedDeckFormat class.

View File

@@ -1,6 +1,11 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.common.collect.Iterables;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.card.ColorSet;
@@ -8,10 +13,6 @@ import forge.card.MagicColor;
import forge.item.PaperCard;
import forge.util.MyRandom;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Deck builder for Sealed Deck Format.
*

View File

@@ -1,4 +1,8 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.List;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
@@ -8,9 +12,6 @@ import forge.game.GameFormat;
import forge.model.FModel;
import forge.util.TextUtil;
import forge.util.storage.StorageReaderFile;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
/**
* Themed chaos draft allows limiting the pool of available random boosters for a draft to a certain theme.

View File

@@ -1,4 +1,4 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.Collections;

View File

@@ -1,4 +1,4 @@
package forge.limited;
package forge.gamemodes.limited;
import java.util.ArrayList;
import java.util.List;

View File

@@ -0,0 +1,3 @@
/** Forge Card Game. */
package forge.gamemodes.limited;

View File

@@ -1,4 +1,4 @@
package forge.match;
package forge.gamemodes.match;
import java.io.Serializable;
import java.util.Collection;
@@ -17,9 +17,6 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import forge.FThreads;
import forge.GuiBase;
import forge.assets.FSkinProp;
import forge.game.GameView;
import forge.game.card.Card;
import forge.game.card.CardView;
@@ -27,13 +24,16 @@ import forge.game.card.CardView.CardStateView;
import forge.game.event.GameEventSpellAbilityCast;
import forge.game.event.GameEventSpellRemovedFromStack;
import forge.game.player.PlayerView;
import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.gui.interfaces.IGuiGame;
import forge.gui.interfaces.IMayViewCards;
import forge.interfaces.IGameController;
import forge.interfaces.IGuiGame;
import forge.interfaces.IMayViewCards;
import forge.localinstance.assets.FSkinProp;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences;
import forge.trackable.TrackableTypes;
import forge.util.Localizer;

View File

@@ -1,4 +1,4 @@
package forge.match;
package forge.gamemodes.match;
import java.io.Serializable;
import java.util.ArrayList;
@@ -9,14 +9,12 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.primitives.Ints;
import forge.GuiBase;
import forge.LobbyPlayer;
import forge.ai.AIOption;
import forge.deck.CardPool;
@@ -28,17 +26,18 @@ import forge.game.GameView;
import forge.game.IHasGameType;
import forge.game.player.Player;
import forge.game.player.RegisteredPlayer;
import forge.gamemodes.net.event.UpdateLobbyPlayerEvent;
import forge.gui.GuiBase;
import forge.gui.interfaces.IGuiGame;
import forge.gui.util.SOptionPane;
import forge.interfaces.IGameController;
import forge.interfaces.IGuiGame;
import forge.interfaces.IUpdateable;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.net.event.UpdateLobbyPlayerEvent;
import forge.player.GamePlayerUtil;
import forge.properties.ForgePreferences.FPref;
import forge.util.Localizer;
import forge.util.NameGenerator;
import forge.util.gui.SOptionPane;
public abstract class GameLobby implements IHasGameType {
private final static int MAX_PLAYERS = 8;

View File

@@ -1,4 +1,4 @@
package forge.match;
package forge.gamemodes.match;
import java.util.Collection;
import java.util.Collections;
@@ -9,9 +9,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import forge.LobbyPlayer;
import forge.interfaces.IGameController;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.ImmutableMap;
@@ -19,38 +16,44 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.eventbus.Subscribe;
import forge.FThreads;
import forge.GuiBase;
import forge.control.FControlGameEventHandler;
import forge.control.FControlGamePlayback;
import forge.control.WatchLocalGame;
import forge.events.IUiEventVisitor;
import forge.events.UiEvent;
import forge.events.UiEventAttackerDeclared;
import forge.events.UiEventBlockerAssigned;
import forge.events.UiEventNextGameDecision;
import forge.LobbyPlayer;
import forge.game.Game;
import forge.game.GameRules;
import forge.game.GameType;
import forge.game.GameView;
import forge.game.Match;
import forge.game.event.*;
import forge.game.event.GameEvent;
import forge.game.event.GameEventSubgameEnd;
import forge.game.event.GameEventSubgameStart;
import forge.game.event.IGameEventVisitor;
import forge.game.player.Player;
import forge.game.player.PlayerView;
import forge.game.player.RegisteredPlayer;
import forge.interfaces.IGuiGame;
import forge.gamemodes.quest.QuestController;
import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.gui.control.FControlGameEventHandler;
import forge.gui.control.FControlGamePlayback;
import forge.gui.control.WatchLocalGame;
import forge.gui.events.IUiEventVisitor;
import forge.gui.events.UiEvent;
import forge.gui.events.UiEventAttackerDeclared;
import forge.gui.events.UiEventBlockerAssigned;
import forge.gui.events.UiEventNextGameDecision;
import forge.gui.interfaces.IGuiGame;
import forge.interfaces.IGameController;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.player.GamePlayerUtil;
import forge.player.LobbyPlayerHuman;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref;
import forge.quest.QuestController;
import forge.sound.MusicPlaylist;
import forge.sound.SoundSystem;
import forge.trackable.TrackableCollection;
import forge.util.CollectionSuppliers;
import forge.util.TextUtil;
import forge.util.collect.FCollectionView;
import forge.util.maps.HashMapOfLists;
import forge.util.maps.MapOfLists;

View File

@@ -1,4 +1,4 @@
package forge.match;
package forge.gamemodes.match;
import java.io.Serializable;
import java.util.Set;
@@ -7,7 +7,7 @@ import com.google.common.collect.ImmutableSet;
import forge.ai.AIOption;
import forge.deck.Deck;
import forge.net.event.UpdateLobbyPlayerEvent;
import forge.gamemodes.net.event.UpdateLobbyPlayerEvent;
public final class LobbySlot implements Serializable {
private static final long serialVersionUID = 9203252798721142264L;

View File

@@ -1,4 +1,4 @@
package forge.match;
package forge.gamemodes.match;
public enum LobbySlotType {
LOCAL,

View File

@@ -1,9 +1,9 @@
package forge.match;
package forge.gamemodes.match;
import java.util.Collections;
import forge.GuiBase;
import forge.interfaces.IGuiGame;
import forge.gui.GuiBase;
import forge.gui.interfaces.IGuiGame;
public final class LocalLobby extends GameLobby {

View File

@@ -1,4 +1,4 @@
package forge.match;
package forge.gamemodes.match;
public enum NextGameDecision {
NEW,

View File

@@ -1,4 +1,4 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;

View File

@@ -15,14 +15,21 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import com.google.common.collect.Sets;
import forge.events.UiEventAttackerDeclared;
import forge.game.GameEntity;
import forge.game.GameEntityView;
import forge.game.card.*;
import forge.game.card.Card;
import forge.game.card.CardCollectionView;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates.Presets;
import forge.game.card.CardView;
import forge.game.combat.AttackingBand;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
@@ -31,14 +38,11 @@ import forge.game.keyword.Keyword;
import forge.game.player.Player;
import forge.game.player.PlayerView;
import forge.game.zone.ZoneType;
import forge.gui.events.UiEventAttackerDeclared;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.collect.FCollectionView;
import forge.util.Localizer;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import forge.util.collect.FCollectionView;
/**
* <p>

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;
@@ -27,9 +27,9 @@ import forge.game.player.Player;
import forge.game.player.PlayerView;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityView;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgePreferences;
import forge.util.ITriggerEvent;
import forge.util.Localizer;

View File

@@ -15,10 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;
import forge.FThreads;
import forge.events.UiEventBlockerAssigned;
import forge.game.card.Card;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates.Presets;
@@ -29,12 +29,12 @@ import forge.game.event.GameEventCombatChanged;
import forge.game.event.GameEventCombatUpdate;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.FThreads;
import forge.gui.events.UiEventBlockerAssigned;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.ThreadUtil;
import forge.util.Localizer;
import java.util.List;
import forge.util.ThreadUtil;
/**
* <p>

View File

@@ -15,19 +15,19 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;
import com.google.common.collect.ImmutableList;
import forge.GuiBase;
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.spellability.SpellAbility;
import forge.gui.GuiBase;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgePreferences;
import forge.util.Localizer;
/**

View File

@@ -15,9 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardCollection;
@@ -28,8 +29,8 @@ import forge.game.zone.ZoneType;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.Lang;
import forge.util.ThreadUtil;
import forge.util.Localizer;
import forge.util.ThreadUtil;
/**
* <p>

View File

@@ -1,13 +1,13 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import forge.FThreads;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.player.PlayerView;
import forge.game.spellability.SpellAbility;
import forge.gui.FThreads;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.ThreadUtil;

View File

@@ -15,9 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.List;
import forge.game.Game;
import forge.game.card.Card;
import forge.game.card.CardCollection;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.ArrayList;
import java.util.List;
@@ -25,10 +25,10 @@ import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.spellability.LandAbility;
import forge.game.spellability.SpellAbility;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.player.GamePlayerUtil;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgePreferences.FPref;
import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.ThreadUtil;

View File

@@ -1,15 +1,16 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import forge.GuiBase;
import forge.game.spellability.SpellAbilityView;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Lists;
import forge.FThreads;
import forge.ai.ComputerUtilMana;
import forge.ai.PlayerControllerAi;
import forge.card.ColorSet;
@@ -23,11 +24,15 @@ import forge.game.player.Player;
import forge.game.player.PlayerView;
import forge.game.spellability.AbilityManaPart;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityView;
import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.player.HumanPlay;
import forge.player.PlayerControllerHuman;
import forge.util.Evaluator;
import forge.util.ITriggerEvent;
import forge.util.Localizer;
import forge.util.TextUtil;
public abstract class InputPayMana extends InputSyncronizedBase {
private static final long serialVersionUID = 718128600948280315L;

View File

@@ -1,4 +1,4 @@
package forge.match.input;
package forge.gamemodes.match.input;
import forge.card.mana.ManaAtom;
import forge.card.mana.ManaCostShard;
@@ -7,9 +7,9 @@ import forge.game.mana.ManaConversionMatrix;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgePreferences;
import forge.util.ITriggerEvent;
import forge.util.Localizer;

View File

@@ -1,9 +1,9 @@
package forge.match.input;
package forge.gamemodes.match.input;
import forge.control.FControlGamePlayback;
import forge.game.Game;
import forge.game.card.Card;
import forge.game.phase.PhaseHandler;
import forge.gui.control.FControlGamePlayback;
public class InputPlaybackControl extends InputSyncronizedBase {
private static final long serialVersionUID = 7979208993306642072L;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.ArrayList;
import java.util.List;
@@ -23,12 +23,12 @@ import java.util.Observable;
import java.util.Observer;
import java.util.concurrent.atomic.AtomicReference;
import forge.FThreads;
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.player.Player;
import forge.game.player.PlayerView;
import forge.game.spellability.SpellAbility;
import forge.gui.FThreads;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;

View File

@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.Observable;
import java.util.concurrent.BlockingDeque;

View File

@@ -1,4 +1,4 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.Collection;
import java.util.HashMap;
@@ -6,11 +6,8 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import forge.util.TextUtil;
import org.apache.commons.lang3.tuple.ImmutablePair;
import forge.model.FModel;
import forge.properties.ForgePreferences;
import forge.card.ColorSet;
import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
@@ -20,8 +17,11 @@ import forge.game.card.CardUtil;
import forge.game.mana.ManaCostBeingPaid;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.util.ITriggerEvent;
import forge.util.TextUtil;
public final class InputSelectCardsForConvokeOrImprovise extends InputSelectManyBase<Card> {

View File

@@ -1,4 +1,4 @@
package forge.match.input;
package forge.gamemodes.match.input;
import forge.game.card.Card;
import forge.game.spellability.SpellAbility;

View File

@@ -1,12 +1,16 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import forge.FThreads;
import forge.game.GameEntity;
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.Zone;
import forge.gui.FThreads;
import forge.player.PlayerControllerHuman;
import forge.player.PlayerZoneUpdate;
import forge.player.PlayerZoneUpdates;
@@ -14,10 +18,6 @@ import forge.util.ITriggerEvent;
import forge.util.collect.FCollection;
import forge.util.collect.FCollectionView;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class InputSelectEntitiesFromList<T extends GameEntity> extends InputSelectManyBase<T> {
private static final long serialVersionUID = -6609493252672573139L;

View File

@@ -1,4 +1,4 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.Collection;
@@ -8,9 +8,9 @@ import forge.game.GameEntity;
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.game.spellability.SpellAbility;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.properties.ForgePreferences;
public abstract class InputSelectManyBase<T extends GameEntity> extends InputSyncronizedBase {
private static final long serialVersionUID = -2305549394512889450L;

View File

@@ -1,10 +1,16 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import forge.FThreads;
import forge.game.GameEntity;
import forge.game.GameObject;
import forge.game.ability.ApiType;
@@ -14,23 +20,17 @@ import forge.game.card.CardView;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions;
import forge.gui.FThreads;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.player.PlayerControllerHuman;
import forge.player.PlayerZoneUpdate;
import forge.player.PlayerZoneUpdates;
import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences;
import forge.util.Aggregates;
import forge.util.ITriggerEvent;
import forge.util.TextUtil;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public final class InputSelectTargets extends InputSyncronizedBase {
private final List<Card> choices;
// some cards can be targeted several times (eg: distribute damage as you choose)

View File

@@ -1,4 +1,4 @@
package forge.match.input;
package forge.gamemodes.match.input;
public interface InputSynchronized extends Input {
void awaitLatchRelease();

View File

@@ -1,9 +1,9 @@
package forge.match.input;
package forge.gamemodes.match.input;
import java.util.concurrent.CountDownLatch;
import forge.FThreads;
import forge.error.BugReporter;
import forge.gui.FThreads;
import forge.gui.error.BugReporter;
import forge.player.PlayerControllerHuman;
public abstract class InputSyncronizedBase extends InputBase implements InputSynchronized {

View File

@@ -0,0 +1,3 @@
/** Forge Card Game. */
package forge.gamemodes.match.input;

View File

@@ -1,6 +1,4 @@
package forge.net;
import io.netty.handler.codec.serialization.ClassResolver;
package forge.gamemodes.net;
import java.io.EOFException;
import java.io.IOException;
@@ -9,6 +7,8 @@ import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.io.StreamCorruptedException;
import io.netty.handler.codec.serialization.ClassResolver;
public class CObjectInputStream extends ObjectInputStream {
private final ClassResolver classResolver;

View File

@@ -1,4 +1,4 @@
package forge.net;
package forge.gamemodes.net;
import java.io.IOException;
import java.io.ObjectOutputStream;

View File

@@ -1,11 +1,11 @@
package forge.net;
package forge.gamemodes.net;
import java.text.SimpleDateFormat;
import java.util.Date;
import forge.localinstance.properties.ForgePreferences;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.properties.ForgePreferences;
import forge.properties.ForgePreferences.FPref;
public class ChatMessage {
private static final ForgePreferences prefs = FModel.getPreferences();

View File

@@ -1,6 +1,9 @@
package forge.net;
package forge.gamemodes.net;
import forge.GuiBase;
import java.io.ObjectInputStream;
import java.io.StreamCorruptedException;
import forge.gui.GuiBase;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufInputStream;
import io.netty.channel.ChannelHandlerContext;
@@ -8,9 +11,6 @@ import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
import io.netty.handler.codec.serialization.ClassResolver;
import net.jpountz.lz4.LZ4BlockInputStream;
import java.io.ObjectInputStream;
import java.io.StreamCorruptedException;
public class CompatibleObjectDecoder extends LengthFieldBasedFrameDecoder {
private final ClassResolver classResolver;

View File

@@ -1,15 +1,15 @@
package forge.net;
package forge.gamemodes.net;
import forge.GuiBase;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import forge.gui.GuiBase;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufOutputStream;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;
import net.jpountz.lz4.LZ4BlockOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class CompatibleObjectEncoder extends MessageToByteEncoder<Serializable> {
private static final byte[] LENGTH_PLACEHOLDER = new byte[4];

View File

@@ -1,17 +1,17 @@
package forge.net;
import forge.FThreads;
import forge.assets.FSkinProp;
import forge.net.event.GuiGameEvent;
import forge.net.event.ReplyEvent;
import forge.util.gui.SOptionPane;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
package forge.gamemodes.net;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import forge.gamemodes.net.event.GuiGameEvent;
import forge.gamemodes.net.event.ReplyEvent;
import forge.gui.FThreads;
import forge.gui.util.SOptionPane;
import forge.localinstance.assets.FSkinProp;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
public abstract class GameProtocolHandler<T> extends ChannelInboundHandlerAdapter {
private final boolean runInEdt;

View File

@@ -1,8 +1,8 @@
package forge.net;
package forge.gamemodes.net;
import java.util.concurrent.TimeoutException;
import forge.net.event.GuiGameEvent;
import forge.gamemodes.net.event.GuiGameEvent;
public final class GameProtocolSender {

View File

@@ -1,4 +1,4 @@
package forge.net;
package forge.gamemodes.net;
public interface IOnlineChatInterface {
void setGameClient(IRemote iRemote);

View File

@@ -0,0 +1,11 @@
package forge.gamemodes.net;
import forge.gamemodes.match.GameLobby;
import forge.gamemodes.net.client.FGameClient;
import forge.gui.interfaces.ILobbyView;
public interface IOnlineLobby {
ILobbyView setLobby(GameLobby lobby);
void setClient(FGameClient client);
void closeConn(String msg);
}

View File

@@ -1,9 +1,9 @@
package forge.net;
package forge.gamemodes.net;
import java.util.concurrent.TimeoutException;
import forge.net.event.IdentifiableNetEvent;
import forge.net.event.NetEvent;
import forge.gamemodes.net.event.IdentifiableNetEvent;
import forge.gamemodes.net.event.NetEvent;
public interface IRemote {
void send(NetEvent event);

View File

@@ -1,29 +1,29 @@
package forge.net;
package forge.gamemodes.net;
import forge.match.LobbySlotType;
import forge.properties.ForgeConstants;
import org.apache.commons.lang3.StringUtils;
import forge.GuiBase;
import forge.interfaces.IGuiGame;
import forge.gamemodes.match.GameLobby.GameLobbyData;
import forge.gamemodes.match.LobbySlotType;
import forge.gamemodes.net.client.ClientGameLobby;
import forge.gamemodes.net.client.FGameClient;
import forge.gamemodes.net.event.IdentifiableNetEvent;
import forge.gamemodes.net.event.MessageEvent;
import forge.gamemodes.net.event.NetEvent;
import forge.gamemodes.net.event.UpdateLobbyPlayerEvent;
import forge.gamemodes.net.server.FServerManager;
import forge.gamemodes.net.server.ServerGameLobby;
import forge.gui.GuiBase;
import forge.gui.interfaces.IGuiGame;
import forge.gui.interfaces.ILobbyView;
import forge.gui.util.SOptionPane;
import forge.interfaces.ILobbyListener;
import forge.interfaces.ILobbyView;
import forge.interfaces.IPlayerChangeListener;
import forge.interfaces.IUpdateable;
import forge.match.GameLobby.GameLobbyData;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.localinstance.properties.ForgeProfileProperties;
import forge.model.FModel;
import forge.net.client.ClientGameLobby;
import forge.net.client.FGameClient;
import forge.net.event.IdentifiableNetEvent;
import forge.net.event.MessageEvent;
import forge.net.event.NetEvent;
import forge.net.event.UpdateLobbyPlayerEvent;
import forge.net.server.FServerManager;
import forge.net.server.ServerGameLobby;
import forge.player.GamePlayerUtil;
import forge.properties.ForgeProfileProperties;
import forge.properties.ForgePreferences.FPref;
import forge.util.gui.SOptionPane;
import forge.util.Localizer;
public class NetConnectUtil {

View File

@@ -1,11 +1,11 @@
package forge.net;
package forge.gamemodes.net;
import java.util.Collections;
import forge.interfaces.IGuiGame;
import forge.match.GameLobby;
import forge.match.LobbySlot;
import forge.match.LobbySlotType;
import forge.gamemodes.match.GameLobby;
import forge.gamemodes.match.LobbySlot;
import forge.gamemodes.match.LobbySlotType;
import forge.gui.interfaces.IGuiGame;
//Temporary lobby instance to use for OnlineLobby before connecting to a server
public final class OfflineLobby extends GameLobby {

View File

@@ -1,8 +1,12 @@
package forge.net;
package forge.gamemodes.net;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import com.google.common.base.Function;
import forge.GuiBase;
import forge.assets.FSkinProp;
import forge.deck.CardPool;
import forge.game.GameEntityView;
import forge.game.GameView;
@@ -11,19 +15,16 @@ import forge.game.phase.PhaseType;
import forge.game.player.DelayedReveal;
import forge.game.player.PlayerView;
import forge.game.spellability.SpellAbilityView;
import forge.gamemodes.match.NextGameDecision;
import forge.gui.GuiBase;
import forge.gui.interfaces.IGuiGame;
import forge.interfaces.IGameController;
import forge.interfaces.IGuiGame;
import forge.match.NextGameDecision;
import forge.localinstance.assets.FSkinProp;
import forge.player.PlayerZoneUpdates;
import forge.trackable.TrackableCollection;
import forge.util.ITriggerEvent;
import forge.util.ReflectionUtil;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* The methods that can be sent through this protocol.
*/

View File

@@ -1,4 +1,4 @@
package forge.net;
package forge.gamemodes.net;
import java.util.Map;
import java.util.concurrent.Callable;

View File

@@ -1,7 +1,7 @@
package forge.net.client;
package forge.gamemodes.net.client;
import forge.interfaces.IGuiGame;
import forge.match.GameLobby;
import forge.gamemodes.match.GameLobby;
import forge.gui.interfaces.IGuiGame;
public final class ClientGameLobby extends GameLobby {
private int localPlayer = -1;

Some files were not shown because too many files have changed in this diff Show More