mirror of
https://github.com/correl/mage.git
synced 2024-12-26 03:00:11 +00:00
commit
c5c51cacf0
52 changed files with 306 additions and 667 deletions
|
@ -420,7 +420,7 @@ public class DeckGenerator {
|
||||||
if (landSets.isEmpty()) {
|
if (landSets.isEmpty()) {
|
||||||
for (String setCode :setsToUse) {
|
for (String setCode :setsToUse) {
|
||||||
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
||||||
ExpansionInfo [] blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
List<ExpansionInfo> blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
||||||
for (ExpansionInfo blockSet: blockSets) {
|
for (ExpansionInfo blockSet: blockSets) {
|
||||||
if (blockSet.hasBasicLands()) {
|
if (blockSet.hasBasicLands()) {
|
||||||
landSets.add(blockSet.getCode());
|
landSets.add(blockSet.getCode());
|
||||||
|
|
|
@ -91,7 +91,7 @@ public final class CollectionViewerPanel extends JPanel {
|
||||||
label1.setForeground(Color.white);
|
label1.setForeground(Color.white);
|
||||||
jPanel1.add(label1);
|
jPanel1.add(label1);
|
||||||
|
|
||||||
formats = new JComboBox(ConstructedFormats.getTypes());
|
formats = new JComboBox<>(ConstructedFormats.getTypes());
|
||||||
formats.setSelectedItem(ConstructedFormats.getDefault());
|
formats.setSelectedItem(ConstructedFormats.getDefault());
|
||||||
formats.setPreferredSize(new Dimension(250, 25));
|
formats.setPreferredSize(new Dimension(250, 25));
|
||||||
formats.setMaximumSize(new Dimension(250, 25));
|
formats.setMaximumSize(new Dimension(250, 25));
|
||||||
|
|
|
@ -76,7 +76,7 @@ public class AddLandDialog extends MageDialog {
|
||||||
for (String setCode :deck.getExpansionSetCodes()) {
|
for (String setCode :deck.getExpansionSetCodes()) {
|
||||||
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
||||||
if (expansionInfo != null) {
|
if (expansionInfo != null) {
|
||||||
ExpansionInfo [] blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
List<ExpansionInfo> blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
||||||
for (ExpansionInfo blockSet: blockSets) {
|
for (ExpansionInfo blockSet: blockSets) {
|
||||||
if (blockSet.hasBasicLands()) {
|
if (blockSet.hasBasicLands()) {
|
||||||
this.setCodesland.add(blockSet.getCode());
|
this.setCodesland.add(blockSet.getCode());
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
package mage.client.util.sets;
|
package mage.client.util.sets;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.GregorianCalendar;
|
import java.util.GregorianCalendar;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import mage.cards.repository.ExpansionInfo;
|
import mage.cards.repository.ExpansionInfo;
|
||||||
import mage.cards.repository.ExpansionRepository;
|
import mage.cards.repository.ExpansionRepository;
|
||||||
import mage.constants.SetType;
|
import mage.constants.SetType;
|
||||||
|
@ -19,598 +23,31 @@ public class ConstructedFormats {
|
||||||
|
|
||||||
private static final GregorianCalendar calendar = new GregorianCalendar();
|
private static final GregorianCalendar calendar = new GregorianCalendar();
|
||||||
|
|
||||||
|
|
||||||
public static final String ALL = "- All Sets";
|
public static final String ALL = "- All Sets";
|
||||||
public static final String STANDARD = "- Standard";
|
public static final String STANDARD = "- Standard";
|
||||||
public static final String EXTENDED = "- Extended";
|
public static final String EXTENDED = "- Extended";
|
||||||
public static final String MODERN = "- Modern";
|
public static final String MODERN = "- Modern";
|
||||||
|
|
||||||
private static final String[] constructedFormats = {
|
private static final Map<String, List<String>> underlyingSetCodesPerFormat = new HashMap<>();
|
||||||
ALL, STANDARD, EXTENDED, MODERN,
|
private static final List<String> formats = new ArrayList<String>();
|
||||||
"* Khans of Tarkir Block", "Khans of Tarkir", "Fate Reforged", "Dragons of Tarkir",
|
|
||||||
"* Theros Block", "Theros", "Born of the Gods", "Journey into Nyx",
|
|
||||||
"* Return to Ravnica Block", "Return to Ravnica", "Gatecrash", "Dragon's Maze",
|
|
||||||
"* Innistrad Block", "Innistrad", "Dark Ascension", "Avacyn Restored",
|
|
||||||
"* Scars of Mirrodin Block", "Scars of Mirrodin", "Mirrodin Besieged", "New Phyrexia",
|
|
||||||
"* Zendikar Block", "Zendikar", "Worldwake", "Rise of the Eldrazi",
|
|
||||||
"* Shards of Alara Block", "Shards of Alara", "Conflux", "Alara Reborn",
|
|
||||||
"* Shadowmoor Block", "Shadowmoor", "Eventide",
|
|
||||||
"* Lorwyn Block", "Lorwyn", "Morningtide",
|
|
||||||
"* Time Spiral Block", "Time Spiral", "Planar Chaos", "Future Sight",
|
|
||||||
"* Ravnica Block", "Ravnica: City of Guilds", "Guildpact", "Dissension",
|
|
||||||
"* Kamigawa Block", "Champions of Kamigawa", "Betrayers of Kamigawa", "Saviors of Kamigawa",
|
|
||||||
"* Mirrodin Block", "Mirrodin", "Darksteel", "Fifth Dawn",
|
|
||||||
"* Onslaught Block", "Onslaught", "Legions", "Scourge",
|
|
||||||
"* Odyssey Block", "Odyssey", "Torment", "Judgment",
|
|
||||||
"* Invasion Block", "Invasion", "Planeshift", "Apocalypse",
|
|
||||||
"* Masquerade Block", "Mercadian Masques", "Nemesis", "Prophecy",
|
|
||||||
"* Urza Block", "Urza's Saga", "Urza's Legacy", "Urza's Destiny",
|
|
||||||
"* Tempest Block", "Tempest", "Stronghold", "Exodus",
|
|
||||||
"* Mirage Block", "Mirage", "Visions", "Weatherlight",
|
|
||||||
"* Ice Age Block", "Ice Age", "Alliances", "Coldsnap",
|
|
||||||
"Homelands", "Fallen Empires", "The Dark", "Legends", "Antiquities", "Arabian Nights",
|
|
||||||
"Magic Origins",
|
|
||||||
"Magic 2015",
|
|
||||||
"Magic 2014",
|
|
||||||
"Magic 2013",
|
|
||||||
"Magic 2012",
|
|
||||||
"Magic 2011",
|
|
||||||
"Magic 2010",
|
|
||||||
"Tenth Edition",
|
|
||||||
"Ninth Edition",
|
|
||||||
"Eighth Edition",
|
|
||||||
"Seventh Edition",
|
|
||||||
"Sixth Edition",
|
|
||||||
"Fifth Edition",
|
|
||||||
"Fourth Edition",
|
|
||||||
"Revised Edition", "Unlimited Edition", "Limited Edition Beta", "Limited Edition Alpha",
|
|
||||||
"Tempest Remastered",
|
|
||||||
"Vintage Masters",
|
|
||||||
"Conspiracy",
|
|
||||||
"Modern Masters 2015",
|
|
||||||
"Modern Masters",
|
|
||||||
"Masters Edition",
|
|
||||||
"Masters Edition II",
|
|
||||||
"Masters Edition III",
|
|
||||||
"Masters Edition IV",
|
|
||||||
"Archenemy",
|
|
||||||
"Commander 2014 Edition",
|
|
||||||
"Commander 2013 Edition",
|
|
||||||
"Commander",
|
|
||||||
"Planechase 2012",
|
|
||||||
"Planechase",
|
|
||||||
"Portal", "Portal Second Age", "Portal Three Kingdoms","Starter 1999","Starter 2000",
|
|
||||||
|
|
||||||
"Duel Decks: Anthology, Divine vs. Demonic",
|
|
||||||
"Duel Decks: Anthology, Elves vs. Goblins",
|
|
||||||
"Duel Decks: Anthology, Garruk vs. Liliana",
|
|
||||||
"Duel Decks: Anthology, Jace vs. Chandra",
|
|
||||||
"Duel Decks: Ajani vs. Nicol Bolas",
|
|
||||||
"Duel Decks: Divine vs. Demonic",
|
|
||||||
"Duel Decks: Elspeth vs. Kiora",
|
|
||||||
"Duel Decks: Elspeth vs. Tezzeret",
|
|
||||||
"Duel Decks: Elves vs. Goblins",
|
|
||||||
"Duel Decks: Garruk vs. Liliana",
|
|
||||||
"Duel Decks: Heroes vs. Monsters",
|
|
||||||
"Duel Decks: Izzet vs. Golgari",
|
|
||||||
"Duel Decks: Jace vs. Chandra",
|
|
||||||
"Duel Decks: Jace vs. Vraska",
|
|
||||||
"Duel Decks: Knights vs. Dragons",
|
|
||||||
"Duel Decks: Phyrexia vs. the Coalition",
|
|
||||||
"Duel Decks: Sorin vs. Tibalt",
|
|
||||||
"Duel Decks: Speed vs. Cunning",
|
|
||||||
"Duel Decks: Venser vs. Koth",
|
|
||||||
|
|
||||||
"Friday Night Magic",
|
|
||||||
"Game Day",
|
|
||||||
"Grand Prix",
|
|
||||||
"Guru",
|
|
||||||
"Judge Promo",
|
|
||||||
"Launch Party",
|
|
||||||
"Media Inserts",
|
|
||||||
"Magic Player Rewards",
|
|
||||||
"Prerelease Events",
|
|
||||||
"Unhinged",
|
|
||||||
"World Magic Cup Qualifier",
|
|
||||||
"WPN Gateway",
|
|
||||||
};
|
|
||||||
|
|
||||||
private ConstructedFormats() {
|
private ConstructedFormats() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String[] getTypes() {
|
public static String[] getTypes() {
|
||||||
return constructedFormats;
|
return formats.toArray(new String[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getDefault() {
|
public static String getDefault() {
|
||||||
return constructedFormats[1];
|
return STANDARD;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> getSetsByFormat(String format) {
|
public static List<String> getSetsByFormat(final String format) {
|
||||||
if (format.equals("* Khans of Tarkir Block")) {
|
if(!format.equals(ALL)) {
|
||||||
return Arrays.asList("KTK", "FRF", "DTK");
|
return underlyingSetCodesPerFormat.get(format);
|
||||||
}
|
}
|
||||||
if (format.equals("Dragons of Tarkir")) {
|
|
||||||
return Arrays.asList("DTK");
|
|
||||||
}
|
|
||||||
if (format.equals("Fate Reforged")) {
|
|
||||||
return Arrays.asList("FRF");
|
|
||||||
}
|
|
||||||
if (format.equals("Khans of Tarkir")) {
|
|
||||||
return Arrays.asList("KTK");
|
|
||||||
}
|
|
||||||
if (format.equals("* Theros Block")) {
|
|
||||||
return Arrays.asList("THS", "BNG", "JOU");
|
|
||||||
}
|
|
||||||
if (format.equals("Journey into Nyx")) {
|
|
||||||
return Arrays.asList("JOU");
|
|
||||||
}
|
|
||||||
if (format.equals("Born of the Gods")) {
|
|
||||||
return Arrays.asList("BNG");
|
|
||||||
}
|
|
||||||
if (format.equals("Theros")) {
|
|
||||||
return Arrays.asList("THS");
|
|
||||||
}
|
|
||||||
if (format.equals("Arabian Nights")) {
|
|
||||||
return Arrays.asList("ARN");
|
|
||||||
}
|
|
||||||
if (format.equals("Antiquities")) {
|
|
||||||
return Arrays.asList("ATQ");
|
|
||||||
}
|
|
||||||
if (format.equals("Legends")) {
|
|
||||||
return Arrays.asList("LEG");
|
|
||||||
}
|
|
||||||
if (format.equals("The Dark")) {
|
|
||||||
return Arrays.asList("DRK");
|
|
||||||
}
|
|
||||||
if (format.equals("Fallen Empires")) {
|
|
||||||
return Arrays.asList("FEM");
|
|
||||||
}
|
|
||||||
if (format.equals("Homelands")) {
|
|
||||||
return Arrays.asList("HML");
|
|
||||||
}
|
|
||||||
if (format.equals("* Ice Age Block")) {
|
|
||||||
return Arrays.asList("ICE", "ALL", "CSP");
|
|
||||||
}
|
|
||||||
if (format.equals("Ice Age")) {
|
|
||||||
return Arrays.asList("ICE");
|
|
||||||
}
|
|
||||||
if (format.equals("Alliances")) {
|
|
||||||
return Arrays.asList("ALL");
|
|
||||||
}
|
|
||||||
if (format.equals("Coldsnap")) {
|
|
||||||
return Arrays.asList("CSP");
|
|
||||||
}
|
|
||||||
if (format.equals("* Mirage Block")) {
|
|
||||||
return Arrays.asList("MIR", "VIS", "WTH");
|
|
||||||
}
|
|
||||||
if (format.equals("Mirage")) {
|
|
||||||
return Arrays.asList("MIR");
|
|
||||||
}
|
|
||||||
if (format.equals("Visions")) {
|
|
||||||
return Arrays.asList("VIS");
|
|
||||||
}
|
|
||||||
if (format.equals("Weatherlight")) {
|
|
||||||
return Arrays.asList("WTH");
|
|
||||||
}
|
|
||||||
if (format.equals("* Tempest Block")) {
|
|
||||||
return Arrays.asList("TMP", "STH", "EXO");
|
|
||||||
}
|
|
||||||
if (format.equals("Tempest")) {
|
|
||||||
return Arrays.asList("TMP");
|
|
||||||
}
|
|
||||||
if (format.equals("Stronghold")) {
|
|
||||||
return Arrays.asList("STH");
|
|
||||||
}
|
|
||||||
if (format.equals("Exodus")) {
|
|
||||||
return Arrays.asList("EXO");
|
|
||||||
}
|
|
||||||
if (format.equals("* Urza Block")) {
|
|
||||||
return Arrays.asList("USG", "ULG", "UDS");
|
|
||||||
}
|
|
||||||
if (format.equals("Urza's Saga")) {
|
|
||||||
return Arrays.asList("USG");
|
|
||||||
}
|
|
||||||
if (format.equals("Urza's Legacy")) {
|
|
||||||
return Arrays.asList("ULG");
|
|
||||||
}
|
|
||||||
if (format.equals("Urza's Destiny")) {
|
|
||||||
return Arrays.asList("UDS");
|
|
||||||
}
|
|
||||||
if (format.equals("* Masquerade Block")) {
|
|
||||||
return Arrays.asList("MMQ", "NMS", "PCY");
|
|
||||||
}
|
|
||||||
if (format.equals("Mercadian Masques")) {
|
|
||||||
return Arrays.asList("MMQ");
|
|
||||||
}
|
|
||||||
if (format.equals("Nemesis")) {
|
|
||||||
return Arrays.asList("NMS");
|
|
||||||
}
|
|
||||||
if (format.equals("Prophecy")) {
|
|
||||||
return Arrays.asList("PCY");
|
|
||||||
}
|
|
||||||
if (format.equals("* Invasion Block")) {
|
|
||||||
return Arrays.asList("INV", "PLS", "APC");
|
|
||||||
}
|
|
||||||
if (format.equals("Invasion")) {
|
|
||||||
return Arrays.asList("INV");
|
|
||||||
}
|
|
||||||
if (format.equals("Planeshift")) {
|
|
||||||
return Arrays.asList("PLS");
|
|
||||||
}
|
|
||||||
if (format.equals("Apocalypse")) {
|
|
||||||
return Arrays.asList("APC");
|
|
||||||
}
|
|
||||||
if (format.equals("* Odyssey Block")) {
|
|
||||||
return Arrays.asList("ODY", "TOR", "JUD");
|
|
||||||
}
|
|
||||||
if (format.equals("Odyssey")) {
|
|
||||||
return Arrays.asList("ODY");
|
|
||||||
}
|
|
||||||
if (format.equals("Torment")) {
|
|
||||||
return Arrays.asList("TOR");
|
|
||||||
}
|
|
||||||
if (format.equals("Judgment")) {
|
|
||||||
return Arrays.asList("JUD");
|
|
||||||
}
|
|
||||||
if (format.equals("* Onslaught Block")) {
|
|
||||||
return Arrays.asList("ONS", "LGN", "SCG");
|
|
||||||
}
|
|
||||||
if (format.equals("Onslaught")) {
|
|
||||||
return Arrays.asList("ONS");
|
|
||||||
}
|
|
||||||
if (format.equals("Legions")) {
|
|
||||||
return Arrays.asList("LGN");
|
|
||||||
}
|
|
||||||
if (format.equals("Scourge")) {
|
|
||||||
return Arrays.asList("SCG");
|
|
||||||
}
|
|
||||||
if (format.equals("* Mirrodin Block")) {
|
|
||||||
return Arrays.asList("MRD", "DST", "5DN");
|
|
||||||
}
|
|
||||||
if (format.equals("Mirrodin")) {
|
|
||||||
return Arrays.asList("MRD");
|
|
||||||
}
|
|
||||||
if (format.equals("Darksteel")) {
|
|
||||||
return Arrays.asList("DST");
|
|
||||||
}
|
|
||||||
if (format.equals("Fifth Dawn")) {
|
|
||||||
return Arrays.asList("5DN");
|
|
||||||
}
|
|
||||||
if (format.equals("* Kamigawa Block")) {
|
|
||||||
return Arrays.asList("CHK", "BOK", "SOK");
|
|
||||||
}
|
|
||||||
if (format.equals("Champions of Kamigawa")) {
|
|
||||||
return Arrays.asList("CHK");
|
|
||||||
}
|
|
||||||
if (format.equals("Betrayers of Kamigawa")) {
|
|
||||||
return Arrays.asList("BOK");
|
|
||||||
}
|
|
||||||
if (format.equals("Saviors of Kamigawa")) {
|
|
||||||
return Arrays.asList("SOK");
|
|
||||||
}
|
|
||||||
if (format.equals("* Ravnica Block")) {
|
|
||||||
return Arrays.asList("RAV", "GPT", "DIS");
|
|
||||||
}
|
|
||||||
if (format.equals("Ravnica: City of Guilds")) {
|
|
||||||
return Arrays.asList("RAV");
|
|
||||||
}
|
|
||||||
if (format.equals("Guildpact")) {
|
|
||||||
return Arrays.asList("GPT");
|
|
||||||
}
|
|
||||||
if (format.equals("Dissension")) {
|
|
||||||
return Arrays.asList("DIS");
|
|
||||||
}
|
|
||||||
if (format.equals("* Time Spiral Block")) {
|
|
||||||
return Arrays.asList("TSP", "TSB", "PLC", "FUT");
|
|
||||||
}
|
|
||||||
if (format.equals("Time Spiral")) {
|
|
||||||
return Arrays.asList("TSP", "TSB");
|
|
||||||
}
|
|
||||||
if (format.equals("Planar Chaos")) {
|
|
||||||
return Arrays.asList("PLC");
|
|
||||||
}
|
|
||||||
if (format.equals("Future Sight")) {
|
|
||||||
return Arrays.asList("FUT");
|
|
||||||
}
|
|
||||||
if (format.equals("* Lorwyn Block")) {
|
|
||||||
return Arrays.asList("LRW", "MOR");
|
|
||||||
}
|
|
||||||
if (format.equals("Lorwyn")) {
|
|
||||||
return Arrays.asList("LRW");
|
|
||||||
}
|
|
||||||
if (format.equals("Morningtide")) {
|
|
||||||
return Arrays.asList("MOR");
|
|
||||||
}
|
|
||||||
if (format.equals("* Shadowmoor Block")) {
|
|
||||||
return Arrays.asList("SHM", "EVE");
|
|
||||||
}
|
|
||||||
if (format.equals("Shadowmoor")) {
|
|
||||||
return Arrays.asList("SHM");
|
|
||||||
}
|
|
||||||
if (format.equals("Eventide")) {
|
|
||||||
return Arrays.asList("EVE");
|
|
||||||
}
|
|
||||||
if (format.equals("* Shards of Alara Block")) {
|
|
||||||
return Arrays.asList("ALA", "CON", "ARB");
|
|
||||||
}
|
|
||||||
if (format.equals("Alara Reborn")) {
|
|
||||||
return Arrays.asList("ARB");
|
|
||||||
}
|
|
||||||
if (format.equals("Conflux")) {
|
|
||||||
return Arrays.asList("CON");
|
|
||||||
}
|
|
||||||
if (format.equals("Shards of Alara")) {
|
|
||||||
return Arrays.asList("ALA");
|
|
||||||
}
|
|
||||||
if (format.equals("* Zendikar Block")) {
|
|
||||||
return Arrays.asList("ZEN", "WWK", "ROE");
|
|
||||||
}
|
|
||||||
if (format.equals("Zendikar")) {
|
|
||||||
return Arrays.asList("ZEN");
|
|
||||||
}
|
|
||||||
if (format.equals("Worldwake")) {
|
|
||||||
return Arrays.asList("WWK");
|
|
||||||
}
|
|
||||||
if (format.equals("Rise of the Eldrazi")) {
|
|
||||||
return Arrays.asList("ROE");
|
|
||||||
}
|
|
||||||
if (format.equals("* Scars of Mirrodin Block")) {
|
|
||||||
return Arrays.asList("SOM", "MBS", "NPH");
|
|
||||||
}
|
|
||||||
if (format.equals("Scars of Mirrodin")) {
|
|
||||||
return Arrays.asList("SOM");
|
|
||||||
}
|
|
||||||
if (format.equals("Mirrodin Besieged")) {
|
|
||||||
return Arrays.asList("MBS");
|
|
||||||
}
|
|
||||||
if (format.equals("New Phyrexia")) {
|
|
||||||
return Arrays.asList("NPH");
|
|
||||||
}
|
|
||||||
if (format.equals("* Innistrad Block")) {
|
|
||||||
return Arrays.asList("ISD", "DKA", "AVR");
|
|
||||||
}
|
|
||||||
if (format.equals("Innistrad")) {
|
|
||||||
return Arrays.asList("ISD");
|
|
||||||
}
|
|
||||||
if (format.equals("Dark Ascension")) {
|
|
||||||
return Arrays.asList("DKA");
|
|
||||||
}
|
|
||||||
if (format.equals("Avacyn Restored")) {
|
|
||||||
return Arrays.asList("AVR");
|
|
||||||
}
|
|
||||||
if (format.equals("* Return to Ravnica Block")) {
|
|
||||||
return Arrays.asList("RTR", "GTC", "DGM");
|
|
||||||
}
|
|
||||||
if (format.equals("Return to Ravnica")) {
|
|
||||||
return Arrays.asList("RTR");
|
|
||||||
}
|
|
||||||
if (format.equals("Gatecrash")) {
|
|
||||||
return Arrays.asList("GTC");
|
|
||||||
}
|
|
||||||
if (format.equals("Dragon's Maze")) {
|
|
||||||
return Arrays.asList("DGM");
|
|
||||||
}
|
|
||||||
if (format.equals("Limited Edition Alpha")) {
|
|
||||||
return Arrays.asList("LEA");
|
|
||||||
}
|
|
||||||
if (format.equals("Limited Edition Beta")) {
|
|
||||||
return Arrays.asList("LEB");
|
|
||||||
}
|
|
||||||
if (format.equals("Unlimited Edition")) {
|
|
||||||
return Arrays.asList("2ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Revised Edition")) {
|
|
||||||
return Arrays.asList("3ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Fourth Edition")) {
|
|
||||||
return Arrays.asList("4ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Fifth Edition")) {
|
|
||||||
return Arrays.asList("5ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Sixth Edition")) {
|
|
||||||
return Arrays.asList("6ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Seventh Edition")) {
|
|
||||||
return Arrays.asList("7ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Eighth Edition")) {
|
|
||||||
return Arrays.asList("8ED");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (format.equals("Ninth Edition")) {
|
|
||||||
return Arrays.asList("9ED");
|
|
||||||
}
|
|
||||||
if (format.equals("Tenth Edition")) {
|
|
||||||
return Arrays.asList("10E");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (format.equals("Magic 2010")) {
|
|
||||||
return Arrays.asList("M10");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic 2011")) {
|
|
||||||
return Arrays.asList("M11");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic 2012")) {
|
|
||||||
return Arrays.asList("M12");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic 2013")) {
|
|
||||||
return Arrays.asList("M13");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic 2014")) {
|
|
||||||
return Arrays.asList("M14");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic 2015")) {
|
|
||||||
return Arrays.asList("M15");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic Origins")) {
|
|
||||||
return Arrays.asList("ORI");
|
|
||||||
}
|
|
||||||
if (format.equals("Archenemy")) {
|
|
||||||
return Arrays.asList("ARC");
|
|
||||||
}
|
|
||||||
if (format.equals("Planechase")) {
|
|
||||||
return Arrays.asList("HOP");
|
|
||||||
}
|
|
||||||
if (format.equals("Commander")) {
|
|
||||||
return Arrays.asList("CMD");
|
|
||||||
}
|
|
||||||
if (format.equals("Commander 2013 Edition")) {
|
|
||||||
return Arrays.asList("C13");
|
|
||||||
}
|
|
||||||
if (format.equals("Commander 2014 Edition")) {
|
|
||||||
return Arrays.asList("C14");
|
|
||||||
}
|
|
||||||
if (format.equals("Planechase 2012")) {
|
|
||||||
return Arrays.asList("PC2");
|
|
||||||
}
|
|
||||||
if (format.equals("Tempest Remastered")) {
|
|
||||||
return Arrays.asList("TPR");
|
|
||||||
}
|
|
||||||
if (format.equals("Modern Masters")) {
|
|
||||||
return Arrays.asList("MMA");
|
|
||||||
}
|
|
||||||
if (format.equals("Modern Masters 2015")) {
|
|
||||||
return Arrays.asList("MMB");
|
|
||||||
}
|
|
||||||
if (format.equals("Masters Edition")) {
|
|
||||||
return Arrays.asList("MED");
|
|
||||||
}
|
|
||||||
if (format.equals("Masters Edition II")) {
|
|
||||||
return Arrays.asList("ME2");
|
|
||||||
}
|
|
||||||
if (format.equals("Masters Edition III")) {
|
|
||||||
return Arrays.asList("ME3");
|
|
||||||
}
|
|
||||||
if (format.equals("Masters Edition IV")) {
|
|
||||||
return Arrays.asList("ME4");
|
|
||||||
}
|
|
||||||
if (format.equals("Conspiracy")) {
|
|
||||||
return Arrays.asList("CNS");
|
|
||||||
}
|
|
||||||
if (format.equals("Vintage Masters")) {
|
|
||||||
return Arrays.asList("VMA");
|
|
||||||
}
|
|
||||||
if (format.equals("Friday Night Magic")) {
|
|
||||||
return Arrays.asList("FNMP");
|
|
||||||
}
|
|
||||||
if (format.equals("Game Day")) {
|
|
||||||
return Arrays.asList("MGDC");
|
|
||||||
}
|
|
||||||
if (format.equals("Grand Prix")) {
|
|
||||||
return Arrays.asList("GPX");
|
|
||||||
}
|
|
||||||
if (format.equals("Launch Party")) {
|
|
||||||
return Arrays.asList("MLP");
|
|
||||||
}
|
|
||||||
if (format.equals("Magic Player Rewards")) {
|
|
||||||
return Arrays.asList("MPRP");
|
|
||||||
}
|
|
||||||
if (format.equals("Media Inserts")) {
|
|
||||||
return Arrays.asList("MBP");
|
|
||||||
}
|
|
||||||
if (format.equals("Prerelease Events")) {
|
|
||||||
return Arrays.asList("PTC");
|
|
||||||
}
|
|
||||||
if (format.equals("World Magic Cup Qualifier")) {
|
|
||||||
return Arrays.asList("WMCQ");
|
|
||||||
}
|
|
||||||
if (format.equals("WPN Gateway")) {
|
|
||||||
return Arrays.asList("GRC");
|
|
||||||
}
|
|
||||||
if (format.equals("Guru")) {
|
|
||||||
return Arrays.asList("GUR");
|
|
||||||
}
|
|
||||||
if (format.equals("Judge Promo")) {
|
|
||||||
return Arrays.asList("JR");
|
|
||||||
}
|
|
||||||
if (format.equals("Unhinged")) {
|
|
||||||
return Arrays.asList("UNH");
|
|
||||||
}
|
|
||||||
if (format.equals("Portal")) {
|
|
||||||
return Arrays.asList("POR");
|
|
||||||
}
|
|
||||||
if (format.equals("Portal Second Age")) {
|
|
||||||
return Arrays.asList("PO2");
|
|
||||||
}
|
|
||||||
if (format.equals("Portal Three Kingdoms")) {
|
|
||||||
return Arrays.asList("PTK");
|
|
||||||
}
|
|
||||||
if (format.equals("Starter 1999")) {
|
|
||||||
return Arrays.asList("S99");
|
|
||||||
}
|
|
||||||
if (format.equals("Starter 2000")) {
|
|
||||||
return Arrays.asList("S00");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Anthology, Divine vs. Demonic")) {
|
|
||||||
return Arrays.asList("DD3A");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Anthology, Elves vs. Goblins")) {
|
|
||||||
return Arrays.asList("DD3B");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Anthology, Garruk vs. Liliana")) {
|
|
||||||
return Arrays.asList("DD3C");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Anthology, Jace vs. Chandra")) {
|
|
||||||
return Arrays.asList("DD3D");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Elves vs. Goblins")) {
|
|
||||||
return Arrays.asList("EVG");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Jace vs. Chandra")) {
|
|
||||||
return Arrays.asList("DD2");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Divine vs. Demonic")) {
|
|
||||||
return Arrays.asList("DDC");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Garruk vs. Liliana")) {
|
|
||||||
return Arrays.asList("DDD");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Phyrexia vs. the Coalition")) {
|
|
||||||
return Arrays.asList("DDE");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Elspeth vs. Kiora")) {
|
|
||||||
return Arrays.asList("DDO");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Elspeth vs. Tezzeret")) {
|
|
||||||
return Arrays.asList("DDF");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Knights vs. Dragons")) {
|
|
||||||
return Arrays.asList("DDG");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Ajani vs. Nicol Bolas")) {
|
|
||||||
return Arrays.asList("DDH");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Venser vs. Koth")) {
|
|
||||||
return Arrays.asList("DDI");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Izzet vs. Golgari")) {
|
|
||||||
return Arrays.asList("DDJ");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Sorin vs. Tibalt")) {
|
|
||||||
return Arrays.asList("DDK");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Heroes vs. Monsters")) {
|
|
||||||
return Arrays.asList("DDL");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Jace vs. Vraska")) {
|
|
||||||
return Arrays.asList("DDM");
|
|
||||||
}
|
|
||||||
if (format.equals("Duel Decks: Speed vs. Cunning")) {
|
|
||||||
return Arrays.asList("DDN");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (format.equals(STANDARD)) {
|
|
||||||
return standard;
|
|
||||||
}
|
|
||||||
if (format.equals(EXTENDED)) {
|
|
||||||
return extended;
|
|
||||||
}
|
|
||||||
if (format.equals(MODERN)) {
|
|
||||||
return modern;
|
|
||||||
}
|
|
||||||
return all;
|
return all;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void buildLists() {
|
private static void buildLists() {
|
||||||
|
@ -622,28 +59,171 @@ public class ConstructedFormats {
|
||||||
else {
|
else {
|
||||||
cutoff = new GregorianCalendar(calendar.get(Calendar.YEAR) - 2, Calendar.SEPTEMBER, 1);
|
cutoff = new GregorianCalendar(calendar.get(Calendar.YEAR) - 2, Calendar.SEPTEMBER, 1);
|
||||||
}
|
}
|
||||||
|
final Map<String, ExpansionInfo> expansionInfo = new HashMap<String, ExpansionInfo>();
|
||||||
for (ExpansionInfo set : ExpansionRepository.instance.getAll()) {
|
for (ExpansionInfo set : ExpansionRepository.instance.getAll()) {
|
||||||
|
expansionInfo.put(set.getName(), set);
|
||||||
|
formats.add(set.getName());
|
||||||
if (set.getType().equals(SetType.CORE) || set.getType().equals(SetType.EXPANSION)) {
|
if (set.getType().equals(SetType.CORE) || set.getType().equals(SetType.EXPANSION)) {
|
||||||
if (set.getReleaseDate().after(cutoff.getTime())) {
|
if (set.getReleaseDate().after(cutoff.getTime())) {
|
||||||
standard.add(set.getCode());
|
if(underlyingSetCodesPerFormat.get(STANDARD) == null) {
|
||||||
|
underlyingSetCodesPerFormat.put(STANDARD, new ArrayList<String>());
|
||||||
|
}
|
||||||
|
underlyingSetCodesPerFormat.get(STANDARD).add(set.getCode());
|
||||||
}
|
}
|
||||||
if (set.getReleaseDate().after(extendedDate)) {
|
if (set.getReleaseDate().after(extendedDate)) {
|
||||||
extended.add(set.getCode());
|
if(underlyingSetCodesPerFormat.get(EXTENDED) == null) {
|
||||||
|
underlyingSetCodesPerFormat.put(EXTENDED, new ArrayList<String>());
|
||||||
|
}
|
||||||
|
underlyingSetCodesPerFormat.get(EXTENDED).add(set.getCode());
|
||||||
}
|
}
|
||||||
if (set.getReleaseDate().after(modernDate)) {
|
if (set.getReleaseDate().after(modernDate)) {
|
||||||
modern.add(set.getCode());
|
if(underlyingSetCodesPerFormat.get(MODERN) == null) {
|
||||||
|
underlyingSetCodesPerFormat.put(MODERN, new ArrayList<String>());
|
||||||
|
}
|
||||||
|
underlyingSetCodesPerFormat.get(MODERN).add(set.getCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(underlyingSetCodesPerFormat.get(set.getName()) == null) {
|
||||||
|
underlyingSetCodesPerFormat.put(set.getName(), new ArrayList<String>());
|
||||||
|
}
|
||||||
|
|
||||||
|
underlyingSetCodesPerFormat.get(set.getName()).add(set.getCode());
|
||||||
|
|
||||||
|
if(set.getType().equals(SetType.EXPANSION) && set.getBlockName() != null) {
|
||||||
|
String blockDisplayName = getBlockDisplayName(set.getBlockName());
|
||||||
|
if(underlyingSetCodesPerFormat.get(blockDisplayName) == null) {
|
||||||
|
underlyingSetCodesPerFormat.put(blockDisplayName, new ArrayList<String>());
|
||||||
|
}
|
||||||
|
|
||||||
|
underlyingSetCodesPerFormat.get(blockDisplayName).add(set.getCode());
|
||||||
|
|
||||||
|
if(expansionInfo.get(blockDisplayName) == null) {
|
||||||
|
expansionInfo.put(blockDisplayName, set);
|
||||||
|
formats.add(blockDisplayName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(expansionInfo.get(blockDisplayName).getReleaseDate().after(set.getReleaseDate())) {
|
||||||
|
expansionInfo.put(blockDisplayName, set);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(set.getType().equals(SetType.SUPPLEMENTAL) && set.getBlockName() != null) {
|
||||||
|
if(expansionInfo.get(set.getBlockName()) == null) {
|
||||||
|
expansionInfo.put(set.getBlockName(), set);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(expansionInfo.get(set.getBlockName()).getReleaseDate().before(set.getReleaseDate())) {
|
||||||
|
expansionInfo.put(set.getBlockName(), set);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collections.sort(formats, new Comparator<String>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(String name1, String name2) {
|
||||||
|
ExpansionInfo expansionInfo1 = expansionInfo.get(name1);
|
||||||
|
ExpansionInfo expansionInfo2 = expansionInfo.get(name2);
|
||||||
|
|
||||||
|
if(expansionInfo1.getType().compareTo(expansionInfo2.getType()) == 0) {
|
||||||
|
SetType setType = expansionInfo1.getType();
|
||||||
|
if(setType.equals(SetType.EXPANSION)) {
|
||||||
|
|
||||||
|
if(expansionInfo1.getBlockName() == null) {
|
||||||
|
if(expansionInfo2.getBlockName() == null) {
|
||||||
|
return expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate());
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(expansionInfo2.getBlockName() == null) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Block comparison
|
||||||
|
if(name1.endsWith("Block") && name2.endsWith("Block")) {
|
||||||
|
return expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(name1.endsWith("Block")) {
|
||||||
|
if(expansionInfo1.getBlockName().equals(expansionInfo2.getBlockName())) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(name2.endsWith("Block")) {
|
||||||
|
if(expansionInfo1.getBlockName().equals(expansionInfo2.getBlockName())) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate());
|
||||||
|
|
||||||
|
} else if(setType.equals(SetType.SUPPLEMENTAL)) {
|
||||||
|
if(expansionInfo1.getBlockName() == null) {
|
||||||
|
if(expansionInfo2.getBlockName() == null) {
|
||||||
|
return expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate());
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(expansionInfo2.getBlockName() == null) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(expansionInfo1.getBlockName().equals(expansionInfo2.getBlockName())) {
|
||||||
|
//If release date is the same, sort alphabetically.
|
||||||
|
if(expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate()) == 0) {
|
||||||
|
return name1.compareTo(name2);
|
||||||
|
}
|
||||||
|
return expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(expansionInfo1.getBlockName().startsWith("Duel Decks")) {
|
||||||
|
if(expansionInfo1.getBlockName().startsWith("Duel Decks: Anthology")) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if(expansionInfo2.getBlockName().startsWith("Duel Decks")) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ExpansionInfo blockInfo1 = expansionInfo.get(expansionInfo1.getBlockName());
|
||||||
|
ExpansionInfo blockInfo2 = expansionInfo.get(expansionInfo2.getBlockName());
|
||||||
|
|
||||||
|
return blockInfo2.getReleaseDate().compareTo(blockInfo1.getReleaseDate());
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return expansionInfo2.getReleaseDate().compareTo(expansionInfo1.getReleaseDate());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return expansionInfo1.getType().compareTo(expansionInfo2.getType());
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
formats.add(0, MODERN);
|
||||||
|
formats.add(0, EXTENDED);
|
||||||
|
formats.add(0, STANDARD);
|
||||||
|
formats.add(0, ALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getBlockDisplayName(String blockName) {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("* ").append(blockName).append(" Block");
|
||||||
|
|
||||||
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final List<String> standard = new ArrayList<>();
|
|
||||||
|
|
||||||
private static final List<String> extended = new ArrayList<>();
|
|
||||||
private static final Date extendedDate = new GregorianCalendar(2009, 8, 20).getTime();
|
private static final Date extendedDate = new GregorianCalendar(2009, 8, 20).getTime();
|
||||||
|
|
||||||
private static final List<String> modern = new ArrayList<>();
|
|
||||||
private static final Date modernDate = new GregorianCalendar(2003, 7, 20).getTime();
|
private static final Date modernDate = new GregorianCalendar(2003, 7, 20).getTime();
|
||||||
|
|
||||||
// for all sets just return empty list
|
// for all sets just return empty list
|
||||||
|
|
|
@ -34,10 +34,10 @@ import mage.cards.decks.Constructed;
|
||||||
*
|
*
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
*/
|
*/
|
||||||
public class ShadowmooreBlock extends Constructed {
|
public class ShadowmoorBlock extends Constructed {
|
||||||
|
|
||||||
public ShadowmooreBlock() {
|
public ShadowmoorBlock() {
|
||||||
super("Constructed - Shadowmoore Block");
|
super("Constructed - Shadowmoor Block");
|
||||||
setCodes.add("SHM");
|
setCodes.add("SHM");
|
||||||
setCodes.add("EVE");
|
setCodes.add("EVE");
|
||||||
}
|
}
|
|
@ -1549,7 +1549,7 @@ public class ComputerPlayer extends PlayerImpl implements Player {
|
||||||
if (landSets.isEmpty()) {
|
if (landSets.isEmpty()) {
|
||||||
for (String setCode :deck.getExpansionSetCodes()) {
|
for (String setCode :deck.getExpansionSetCodes()) {
|
||||||
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
||||||
ExpansionInfo [] blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
List<ExpansionInfo> blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
||||||
for (ExpansionInfo blockSet: blockSets) {
|
for (ExpansionInfo blockSet: blockSets) {
|
||||||
if (blockSet.hasBasicLands()) {
|
if (blockSet.hasBasicLands()) {
|
||||||
landSets.add(blockSet.getCode());
|
landSets.add(blockSet.getCode());
|
||||||
|
|
|
@ -44,7 +44,8 @@ public class AjaniVsNicolBolas extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AjaniVsNicolBolas() {
|
private AjaniVsNicolBolas() {
|
||||||
super("Duel Decks: Ajani vs. Nicol Bolas", "DDH", "mage.sets.ajanivsnicolbolas", new GregorianCalendar(2011, 9, 2).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Ajani vs. Nicol Bolas", "DDH", "mage.sets.ajanivsnicolbolas", new GregorianCalendar(2011, 9, 2).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -43,7 +43,8 @@ public class AnthologyDivineVsDemonic extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnthologyDivineVsDemonic() {
|
private AnthologyDivineVsDemonic() {
|
||||||
super("Duel Decks: Anthology, Divine vs. Demonic", "DD3A", "mage.sets.anthologydivinevsdemonic", new GregorianCalendar(2014, 12, 5).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Anthology, Divine vs. Demonic", "DD3A", "mage.sets.anthologydivinevsdemonic", new GregorianCalendar(2014, 12, 5).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks: Anthology";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,8 @@ public class AnthologyElvesVsGoblins extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnthologyElvesVsGoblins() {
|
private AnthologyElvesVsGoblins() {
|
||||||
super("Duel Decks: Anthology, Elves vs. Goblins", "DD3B", "mage.sets.anthologyelvesvsgoblins", new GregorianCalendar(2014, 12, 5).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Anthology, Elves vs. Goblins", "DD3B", "mage.sets.anthologyelvesvsgoblins", new GregorianCalendar(2014, 12, 5).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks: Anthology";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,8 @@ public class AnthologyGarrukVsLiliana extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnthologyGarrukVsLiliana() {
|
private AnthologyGarrukVsLiliana() {
|
||||||
super("Duel Decks: Anthology, Garruk vs. Liliana", "DD3C", "mage.sets.anthologygarrukvsliliana", new GregorianCalendar(2014, 12, 5).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Anthology, Garruk vs. Liliana", "DD3C", "mage.sets.anthologygarrukvsliliana", new GregorianCalendar(2014, 12, 5).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks: Anthology";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,8 @@ public class AnthologyJaceVsChandra extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnthologyJaceVsChandra() {
|
private AnthologyJaceVsChandra() {
|
||||||
super("Duel Decks: Anthology, Jace vs. Chandra", "DD3D", "mage.sets.anthologyjacevschandra", new GregorianCalendar(2014, 12, 5).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Anthology, Jace vs. Chandra", "DD3D", "mage.sets.anthologyjacevschandra", new GregorianCalendar(2014, 12, 5).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks: Anthology";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class Archenemy extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Archenemy() {
|
private Archenemy() {
|
||||||
super("Archenemy", "ARC", "mage.sets.archenemy", new GregorianCalendar(2010, 6, 18).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Archenemy", "ARC", "mage.sets.archenemy", new GregorianCalendar(2010, 6, 18).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Command Zone";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,16 +36,16 @@ import mage.constants.SetType;
|
||||||
*
|
*
|
||||||
* @author North
|
* @author North
|
||||||
*/
|
*/
|
||||||
public class SixthEdition extends ExpansionSet {
|
public class ClassicSixthEdition extends ExpansionSet {
|
||||||
|
|
||||||
private static final SixthEdition fINSTANCE = new SixthEdition();
|
private static final ClassicSixthEdition fINSTANCE = new ClassicSixthEdition();
|
||||||
|
|
||||||
public static SixthEdition getInstance() {
|
public static ClassicSixthEdition getInstance() {
|
||||||
return fINSTANCE;
|
return fINSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SixthEdition() {
|
private ClassicSixthEdition() {
|
||||||
super("Sixth Edition", "6ED", "mage.sets.sixthedition", new GregorianCalendar(1999, 3, 28).getTime(), SetType.CORE);
|
super("Classic Sixth Edition", "6ED", "mage.sets.classicsixthedition", new GregorianCalendar(1999, 3, 28).getTime(), SetType.CORE);
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
this.numBoosterCommon = 10;
|
this.numBoosterCommon = 10;
|
|
@ -47,7 +47,8 @@ public class Commander extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Commander() {
|
private Commander() {
|
||||||
super("Magic: The Gathering-Commander", "CMD", "mage.sets.commander", new GregorianCalendar(2011, 6, 17).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Commander", "CMD", "mage.sets.commander", new GregorianCalendar(2011, 6, 17).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Command Zone";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -47,7 +47,8 @@ public class Commander2013 extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Commander2013() {
|
private Commander2013() {
|
||||||
super("Commander 2013 Edition", "C13", "mage.sets.commander2013", new GregorianCalendar(2013, 11, 01).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Commander 2013 Edition", "C13", "mage.sets.commander2013", new GregorianCalendar(2013, 11, 01).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Command Zone";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class Commander2014 extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Commander2014() {
|
private Commander2014() {
|
||||||
super("Commander 2014 Edition", "C14", "mage.sets.commander2014", new GregorianCalendar(2014, 11, 07).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Commander 2014 Edition", "C14", "mage.sets.commander2014", new GregorianCalendar(2014, 11, 07).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Command Zone";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,8 @@ import mage.constants.SetType;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Conspiracy() {
|
private Conspiracy() {
|
||||||
super("Magic: The Gathering-Conspiracy", "CNS", "mage.sets.conspiracy", new GregorianCalendar(2014, 6, 6).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Conspiracy", "CNS", "mage.sets.conspiracy", new GregorianCalendar(2014, 6, 6).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Conspiracy";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 0;
|
this.numBoosterLands = 0;
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class DivineVsDemonic extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private DivineVsDemonic() {
|
private DivineVsDemonic() {
|
||||||
super("Duel Decks: Divine vs. Demonic", "DDC", "mage.sets.divinevsdemonic", new GregorianCalendar(2009, 04, 10).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Divine vs. Demonic", "DDC", "mage.sets.divinevsdemonic", new GregorianCalendar(2009, 04, 10).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -47,7 +47,7 @@ public class DragonsOfTarkir extends ExpansionSet {
|
||||||
|
|
||||||
private DragonsOfTarkir() {
|
private DragonsOfTarkir() {
|
||||||
super("Dragons of Tarkir", "DTK", "mage.sets.dragonsoftarkir", new GregorianCalendar(2015, 3, 27).getTime(), SetType.EXPANSION);
|
super("Dragons of Tarkir", "DTK", "mage.sets.dragonsoftarkir", new GregorianCalendar(2015, 3, 27).getTime(), SetType.EXPANSION);
|
||||||
this.blockName = "Dragons of Tarkir";
|
this.blockName = "Khans of Tarkir";
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -43,7 +43,8 @@ public class ElspethVsKiora extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ElspethVsKiora() {
|
private ElspethVsKiora() {
|
||||||
super("Duel Decks: Elspeth vs. Kiora", "DDO", "mage.sets.elspethvskiora", new GregorianCalendar(2015, 2, 27).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Elspeth vs. Kiora", "DDO", "mage.sets.elspethvskiora", new GregorianCalendar(2015, 2, 27).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,15 +5,16 @@ import mage.constants.SetType;
|
||||||
|
|
||||||
import java.util.GregorianCalendar;
|
import java.util.GregorianCalendar;
|
||||||
|
|
||||||
public class ElspethvsTezzeret extends ExpansionSet {
|
public class ElspethVsTezzeret extends ExpansionSet {
|
||||||
private static final ElspethvsTezzeret fINSTANCE = new ElspethvsTezzeret();
|
private static final ElspethVsTezzeret fINSTANCE = new ElspethVsTezzeret();
|
||||||
|
|
||||||
public static ElspethvsTezzeret getInstance() {
|
public static ElspethVsTezzeret getInstance() {
|
||||||
return fINSTANCE;
|
return fINSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ElspethvsTezzeret() {
|
private ElspethVsTezzeret() {
|
||||||
super("Duel Decks: Elspeth vs. Tezzeret", "DDF", "mage.sets.elspethvstezzeret", new GregorianCalendar(2010, 8, 3).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Elspeth vs. Tezzeret", "DDF", "mage.sets.elspethvstezzeret", new GregorianCalendar(2010, 8, 3).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -23,7 +23,8 @@ public class ElvesVsGoblins extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ElvesVsGoblins() {
|
private ElvesVsGoblins() {
|
||||||
super("Duel Decks: Elves vs. Goblins", "EVG", "mage.sets.elvesvsgoblins", new GregorianCalendar(2007, 11, 16).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Elves vs. Goblins", "EVG", "mage.sets.elvesvsgoblins", new GregorianCalendar(2007, 11, 16).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -23,7 +23,8 @@ public class GarrukVsLiliana extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private GarrukVsLiliana() {
|
private GarrukVsLiliana() {
|
||||||
super("Duel Decks: Garruk vs. Liliana", "DDD", "mage.sets.garrukvsliliana", new GregorianCalendar(2009, 10, 30).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Garruk vs. Liliana", "DDD", "mage.sets.garrukvsliliana", new GregorianCalendar(2009, 10, 30).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -36,15 +36,16 @@ import mage.constants.SetType;
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class Heroesvsmonsters extends ExpansionSet {
|
public class HeroesVsMonsters extends ExpansionSet {
|
||||||
private static final Heroesvsmonsters fINSTANCE = new Heroesvsmonsters();
|
private static final HeroesVsMonsters fINSTANCE = new HeroesVsMonsters();
|
||||||
|
|
||||||
public static Heroesvsmonsters getInstance() {
|
public static HeroesVsMonsters getInstance() {
|
||||||
return fINSTANCE;
|
return fINSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Heroesvsmonsters() {
|
private HeroesVsMonsters() {
|
||||||
super("Duel Decks: Heroes vs. Monsters", "DDL", "mage.sets.heroesvsmonsters", new GregorianCalendar(2013, 9, 6).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Heroes vs. Monsters", "DDL", "mage.sets.heroesvsmonsters", new GregorianCalendar(2013, 9, 6).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -44,7 +44,8 @@ public class IzzetVsGolgari extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private IzzetVsGolgari() {
|
private IzzetVsGolgari() {
|
||||||
super("Duel Decks: Izzet vs. Golgari", "DDJ", "mage.sets.izzetvsgolgari", new GregorianCalendar(2012, 9, 7).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Izzet vs. Golgari", "DDJ", "mage.sets.izzetvsgolgari", new GregorianCalendar(2012, 9, 7).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,8 @@ public class JaceVsChandra extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private JaceVsChandra() {
|
private JaceVsChandra() {
|
||||||
super("Duel Decks: Jace vs. Chandra", "DD2", "mage.sets.jacevschandra", new GregorianCalendar(2008, 11, 07).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Jace vs. Chandra", "DD2", "mage.sets.jacevschandra", new GregorianCalendar(2008, 11, 07).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class JaceVsVraska extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private JaceVsVraska() {
|
private JaceVsVraska() {
|
||||||
super("Duel Decks: Jace vs. Vraska", "DDM", "mage.sets.jacevsvraska", new GregorianCalendar(2014, 3, 14).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Jace vs. Vraska", "DDM", "mage.sets.jacevsvraska", new GregorianCalendar(2014, 3, 14).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class KnightsVsDragons extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private KnightsVsDragons() {
|
private KnightsVsDragons() {
|
||||||
super("Duel Decks: Knights vs. Dragons", "DDG", "mage.sets.knightsvsdragons", new GregorianCalendar(2011, 4, 1).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Knights vs. Dragons", "DDG", "mage.sets.knightsvsdragons", new GregorianCalendar(2011, 4, 1).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -44,7 +44,7 @@ public class MastersEdition extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private MastersEdition() {
|
private MastersEdition() {
|
||||||
super("Masters Edition", "MED", "mage.sets.mastersedition", new GregorianCalendar(2007, 9, 10).getTime(), SetType.REPRINT);
|
super("Masters Edition", "MED", "mage.sets.mastersedition", new GregorianCalendar(2007, 9, 10).getTime(), SetType.MAGIC_ONLINE);
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class MastersEditionII extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private MastersEditionII() {
|
private MastersEditionII() {
|
||||||
super("Masters Edition II", "ME2", "mage.sets.masterseditionii", new GregorianCalendar(2008, 9, 22).getTime(), SetType.REPRINT);
|
super("Masters Edition II", "ME2", "mage.sets.masterseditionii", new GregorianCalendar(2008, 9, 22).getTime(), SetType.MAGIC_ONLINE);
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class MastersEditionIII extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private MastersEditionIII() {
|
private MastersEditionIII() {
|
||||||
super("Masters Edition III", "ME3", "mage.sets.masterseditioniii", new GregorianCalendar(2009, 9, 7).getTime(), SetType.REPRINT);
|
super("Masters Edition III", "ME3", "mage.sets.masterseditioniii", new GregorianCalendar(2009, 9, 7).getTime(), SetType.MAGIC_ONLINE);
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class MastersEditionIV extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private MastersEditionIV() {
|
private MastersEditionIV() {
|
||||||
super("Masters Edition IV", "ME4", "mage.sets.masterseditioniv", new GregorianCalendar(2011, 1, 10).getTime(), SetType.REPRINT);
|
super("Masters Edition IV", "ME4", "mage.sets.masterseditioniv", new GregorianCalendar(2011, 1, 10).getTime(), SetType.MAGIC_ONLINE);
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -47,7 +47,8 @@ public class ModernMasters extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModernMasters() {
|
private ModernMasters() {
|
||||||
super("Modern Masters", "MMA", "mage.sets.modernmasters", new GregorianCalendar(2013, 6, 7).getTime(), SetType.REPRINT);
|
super("Modern Masters", "MMA", "mage.sets.modernmasters", new GregorianCalendar(2013, 6, 7).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Reprint";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 0;
|
this.numBoosterLands = 0;
|
||||||
|
|
|
@ -47,7 +47,8 @@ public class ModernMasters2015 extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModernMasters2015() {
|
private ModernMasters2015() {
|
||||||
super("Modern Masters 2015", "MMB", "mage.sets.modernmasters2015", new GregorianCalendar(2015, 5, 22).getTime(), SetType.REPRINT);
|
super("Modern Masters 2015", "MMB", "mage.sets.modernmasters2015", new GregorianCalendar(2015, 5, 22).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Reprint";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 0;
|
this.numBoosterLands = 0;
|
||||||
|
|
|
@ -44,7 +44,8 @@ public class PhyrexiaVsTheCoalition extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private PhyrexiaVsTheCoalition() {
|
private PhyrexiaVsTheCoalition() {
|
||||||
super("Duel Decks: Phyrexia vs. the Coalition", "DDE", "mage.sets.phyrexiavsthecoalition", new GregorianCalendar(2010, 3, 19).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Phyrexia vs. the Coalition", "DDE", "mage.sets.phyrexiavsthecoalition", new GregorianCalendar(2010, 3, 19).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class Planechase extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Planechase() {
|
private Planechase() {
|
||||||
super("Planechase", "HOP", "mage.sets.planechase", new GregorianCalendar(2009, 8, 4).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Planechase", "HOP", "mage.sets.planechase", new GregorianCalendar(2009, 8, 4).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Command Zone";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ public class Planechase2012 extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Planechase2012() {
|
private Planechase2012() {
|
||||||
super("Planechase (2012 Edition)", "PC2", "mage.sets.planechase2012", new GregorianCalendar(2012, 6, 1).getTime(), SetType.NON_STANDARD_LEGAL_SETS);
|
super("Planechase 2012 Edition", "PC2", "mage.sets.planechase2012", new GregorianCalendar(2012, 6, 1).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Command Zone";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -50,7 +50,8 @@ public class Portal extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Portal() {
|
private Portal() {
|
||||||
super("Portal", "POR", "mage.sets.portal", new GregorianCalendar(1997, 5, 1).getTime(), SetType.REPRINT);
|
super("Portal", "POR", "mage.sets.portal", new GregorianCalendar(1997, 5, 1).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Beginner";
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 0;
|
this.numBoosterLands = 0;
|
||||||
|
|
|
@ -50,7 +50,8 @@ public class PortalSecondAge extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private PortalSecondAge() {
|
private PortalSecondAge() {
|
||||||
super("Portal Second Age", "PO2", "mage.sets.portalsecondage", new GregorianCalendar(1998, 6, 24).getTime(), SetType.REPRINT);
|
super("Portal Second Age", "PO2", "mage.sets.portalsecondage", new GregorianCalendar(1998, 6, 24).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Beginner";
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 0;
|
this.numBoosterLands = 0;
|
||||||
|
|
|
@ -50,7 +50,8 @@ public class PortalThreeKingdoms extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private PortalThreeKingdoms() {
|
private PortalThreeKingdoms() {
|
||||||
super("Portal Three Kingsdoms", "PTK", "mage.sets.portalthreekingdoms", new GregorianCalendar(1999, 5, 1).getTime(), SetType.REPRINT);
|
super("Portal Three Kingdoms", "PTK", "mage.sets.portalthreekingdoms", new GregorianCalendar(1999, 5, 1).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Beginner";
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 2;
|
this.numBoosterLands = 2;
|
||||||
|
|
|
@ -44,7 +44,8 @@ public class SorinVsTibalt extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private SorinVsTibalt() {
|
private SorinVsTibalt() {
|
||||||
super("Duel Decks: Sorin vs. Tibalt", "DDK", "mage.sets.sorinvstibalt", new GregorianCalendar(2013, 3, 15).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Sorin vs. Tibalt", "DDK", "mage.sets.sorinvstibalt", new GregorianCalendar(2013, 3, 15).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -44,7 +44,8 @@ public class SpeedVsCunning extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private SpeedVsCunning() {
|
private SpeedVsCunning() {
|
||||||
super("Duel Decks: Speed vs. Cunning", "DDN", "mage.sets.speedvscunning", new GregorianCalendar(2014, 9, 5).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Speed vs. Cunning", "DDN", "mage.sets.speedvscunning", new GregorianCalendar(2014, 9, 5).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -50,7 +50,8 @@ public class Starter1999 extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Starter1999() {
|
private Starter1999() {
|
||||||
super("Starter1999", "S99", "mage.sets.starter1999", new GregorianCalendar(1999, 7, 1).getTime(), SetType.REPRINT);
|
super("Starter 1999", "S99", "mage.sets.starter1999", new GregorianCalendar(1999, 7, 1).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Beginner";
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -50,7 +50,8 @@ public class Starter2000 extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Starter2000() {
|
private Starter2000() {
|
||||||
super("Starter2000", "S00", "mage.sets.starter2000", new GregorianCalendar(2000, 7, 1).getTime(), SetType.REPRINT);
|
super("Starter 2000", "S00", "mage.sets.starter2000", new GregorianCalendar(2000, 7, 1).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Beginner";
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = false;
|
this.hasBoosters = false;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class TempestRemastered extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private TempestRemastered() {
|
private TempestRemastered() {
|
||||||
super("Tempest Remastered", "TPR", "mage.sets.tempestremastered", new GregorianCalendar(2015, 5, 6).getTime(), SetType.REPRINT);
|
super("Tempest Remastered", "TPR", "mage.sets.tempestremastered", new GregorianCalendar(2015, 5, 6).getTime(), SetType.MAGIC_ONLINE);
|
||||||
this.hasBasicLands = true;
|
this.hasBasicLands = true;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
|
|
|
@ -36,16 +36,16 @@ import mage.cards.ExpansionSet;
|
||||||
*
|
*
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
*/
|
*/
|
||||||
public class Tenth extends ExpansionSet {
|
public class TenthEdition extends ExpansionSet {
|
||||||
|
|
||||||
private static final Tenth fINSTANCE = new Tenth();
|
private static final TenthEdition fINSTANCE = new TenthEdition();
|
||||||
|
|
||||||
public static Tenth getInstance() {
|
public static TenthEdition getInstance() {
|
||||||
return fINSTANCE;
|
return fINSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Tenth() {
|
private TenthEdition() {
|
||||||
super("Tenth Edition", "10E", "mage.sets.tenth", new GregorianCalendar(2007, 6, 14).getTime(), SetType.CORE);
|
super("Tenth Edition", "10E", "mage.sets.tenthedition", new GregorianCalendar(2007, 6, 14).getTime(), SetType.CORE);
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterLands = 1;
|
this.numBoosterLands = 1;
|
||||||
this.numBoosterCommon = 10;
|
this.numBoosterCommon = 10;
|
|
@ -45,7 +45,8 @@ public class VenserVsKoth extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private VenserVsKoth() {
|
private VenserVsKoth() {
|
||||||
super("Duel Decks: Venser vs. Koth", "DDI", "mage.sets.venservskoth", new GregorianCalendar(2012, 3, 30).getTime(), SetType.DUEL_DECK);
|
super("Duel Decks: Venser vs. Koth", "DDI", "mage.sets.venservskoth", new GregorianCalendar(2012, 3, 30).getTime(), SetType.SUPPLEMENTAL);
|
||||||
|
this.blockName = "Duel Decks";
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ public class VintageMasters extends ExpansionSet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private VintageMasters() {
|
private VintageMasters() {
|
||||||
super("Vintage Masters", "VMA", "mage.sets.vintagemasters", new GregorianCalendar(2014, 6, 16).getTime(), SetType.REPRINT);
|
super("Vintage Masters", "VMA", "mage.sets.vintagemasters", new GregorianCalendar(2014, 6, 16).getTime(), SetType.MAGIC_ONLINE);
|
||||||
this.hasBasicLands = false;
|
this.hasBasicLands = false;
|
||||||
this.hasBoosters = true;
|
this.hasBoosters = true;
|
||||||
this.numBoosterSpecial = 1;
|
this.numBoosterSpecial = 1;
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import mage.cards.decks.DeckCardInfo;
|
import mage.cards.decks.DeckCardInfo;
|
||||||
import mage.cards.decks.DeckCardLists;
|
import mage.cards.decks.DeckCardLists;
|
||||||
import mage.cards.repository.CardCriteria;
|
import mage.cards.repository.CardCriteria;
|
||||||
|
@ -42,12 +43,8 @@ import mage.cards.repository.CardInfo;
|
||||||
import mage.cards.repository.CardRepository;
|
import mage.cards.repository.CardRepository;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.ColoredManaSymbol;
|
import mage.constants.ColoredManaSymbol;
|
||||||
import static mage.constants.ColoredManaSymbol.B;
|
|
||||||
import static mage.constants.ColoredManaSymbol.G;
|
|
||||||
import static mage.constants.ColoredManaSymbol.R;
|
|
||||||
import static mage.constants.ColoredManaSymbol.U;
|
|
||||||
import static mage.constants.ColoredManaSymbol.W;
|
|
||||||
import mage.util.ClassScanner;
|
import mage.util.ClassScanner;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -97,13 +97,12 @@ public enum ExpansionRepository {
|
||||||
return sets;
|
return sets;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExpansionInfo[] getSetsFromBlock(String blockName) {
|
public List<ExpansionInfo> getSetsFromBlock(String blockName) {
|
||||||
ExpansionInfo[] sets = new ExpansionInfo[0];
|
List<ExpansionInfo> sets = new LinkedList<>();
|
||||||
try {
|
try {
|
||||||
QueryBuilder<ExpansionInfo, Object> qb = expansionDao.queryBuilder();
|
QueryBuilder<ExpansionInfo, Object> qb = expansionDao.queryBuilder();
|
||||||
qb.where().eq("blockName", new SelectArg(blockName));
|
qb.where().eq("blockName", new SelectArg(blockName));
|
||||||
List<ExpansionInfo> expansions = expansionDao.query(qb.prepare());
|
return expansionDao.query(qb.prepare());
|
||||||
sets = expansions.toArray(new ExpansionInfo[0]);
|
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
}
|
}
|
||||||
return sets;
|
return sets;
|
||||||
|
@ -123,9 +122,40 @@ public enum ExpansionRepository {
|
||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ExpansionInfo getSetByName(String setName) {
|
||||||
|
ExpansionInfo set = null;
|
||||||
|
try {
|
||||||
|
QueryBuilder<ExpansionInfo, Object> qb = expansionDao.queryBuilder();
|
||||||
|
qb.where().eq("name", new SelectArg(setName));
|
||||||
|
List<ExpansionInfo> expansions = expansionDao.query(qb.prepare());
|
||||||
|
if (expansions.size() > 0) {
|
||||||
|
set = expansions.get(0);
|
||||||
|
}
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
}
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
public List<ExpansionInfo> getAll() {
|
public List<ExpansionInfo> getAll() {
|
||||||
try {
|
try {
|
||||||
return expansionDao.queryForAll();
|
QueryBuilder<ExpansionInfo, Object> qb = expansionDao.queryBuilder();
|
||||||
|
qb.orderBy("releaseDate", true);
|
||||||
|
return expansionDao.query(qb.prepare());
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
}
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getAllSetNames() {
|
||||||
|
try {
|
||||||
|
QueryBuilder<ExpansionInfo, Object> qb = expansionDao.queryBuilder();
|
||||||
|
qb.orderBy("releaseDate", true);
|
||||||
|
List<ExpansionInfo> expansions = expansionDao.query(qb.prepare());
|
||||||
|
List<String> setNames = new LinkedList<>();
|
||||||
|
for (ExpansionInfo expansionInfo : expansions) {
|
||||||
|
setNames.add(expansionInfo.getName());
|
||||||
|
}
|
||||||
|
return setNames;
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
}
|
}
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
|
|
|
@ -5,11 +5,10 @@ package mage.constants;
|
||||||
* @author North
|
* @author North
|
||||||
*/
|
*/
|
||||||
public enum SetType {
|
public enum SetType {
|
||||||
CORE("Core"),
|
|
||||||
DUEL_DECK("Duel Deck"),
|
|
||||||
EXPANSION("Expansion"),
|
EXPANSION("Expansion"),
|
||||||
NON_STANDARD_LEGAL_SETS("Non-standard-legal sets"),
|
CORE("Core"),
|
||||||
REPRINT("Reprint"),
|
MAGIC_ONLINE("Magic Online"),
|
||||||
|
SUPPLEMENTAL("Supplemental"),
|
||||||
PROMOTIONAL("Promotional"),
|
PROMOTIONAL("Promotional"),
|
||||||
JOKESET("Joke Set");
|
JOKESET("Joke Set");
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class TournamentUtil {
|
||||||
if (setCodesland.isEmpty()) {
|
if (setCodesland.isEmpty()) {
|
||||||
for (String setCode :setCodesDeck) {
|
for (String setCode :setCodesDeck) {
|
||||||
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
ExpansionInfo expansionInfo = ExpansionRepository.instance.getSetByCode(setCode);
|
||||||
ExpansionInfo [] blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
List<ExpansionInfo> blockSets = ExpansionRepository.instance.getSetsFromBlock(expansionInfo.getBlockName());
|
||||||
for (ExpansionInfo blockSet: blockSets) {
|
for (ExpansionInfo blockSet: blockSets) {
|
||||||
if (blockSet.hasBasicLands()) {
|
if (blockSet.hasBasicLands()) {
|
||||||
setCodesland.add(blockSet.getCode());
|
setCodesland.add(blockSet.getCode());
|
||||||
|
|
Loading…
Reference in a new issue