Moved SetInfo lists to external files.

This commit is contained in:
jendave
2011-08-07 01:06:06 +00:00
parent e678980a46
commit 3f95238d84
4 changed files with 281 additions and 167 deletions

2
.gitattributes vendored
View File

@@ -17,6 +17,8 @@ build/manifest.forge -text
/pom.xml svneol=native#text/xml /pom.xml svneol=native#text/xml
res/AllTokens.txt -text svneol=native#text/plain res/AllTokens.txt -text svneol=native#text/plain
res/PerSetTracking.py -text svneol=native#text/x-python res/PerSetTracking.py -text svneol=native#text/x-python
res/blockdata/blocks.txt svneol=native#text/plain
res/blockdata/setdata.txt svneol=native#text/plain
res/booster-decks -text svneol=unset#unset res/booster-decks -text svneol=unset#unset
res/boosterdata/10E.pack -text res/boosterdata/10E.pack -text
res/boosterdata/2ED.pack -text res/boosterdata/2ED.pack -text

42
res/blockdata/blocks.txt Normal file
View File

@@ -0,0 +1,42 @@
Index:0|Set0:LEA|Name:Alpha|DraftPacks:3|LandSetCode:LEA|SealedPacks:6
Index:0|Set0:LEB|Name:Beta|DraftPacks:3|LandSetCode:LEB|SealedPacks:6
Index:0|Set0:2ED|Name:Unlimited|DraftPacks:3|LandSetCode:2ED|SealedPacks:6
Index:0|Set0:ARN|Name:Arabian Nights|DraftPacks:5|LandSetCode:2ED|SealedPacks:9
Index:0|Set0:ATQ|Name:Antiquities|DraftPacks:5|LandSetCode:ATQ|SealedPacks:9
Index:0|Set0:3ED|Name:Revised|DraftPacks:3|LandSetCode:3ED|SealedPacks:6
Index:0|Set0:LEG|Name:Legends|DraftPacks:3|LandSetCode:3ED|SealedPacks:6
Index:0|Set0:DRK|Name:The Dark|DraftPacks:5|LandSetCode:3ED|SealedPacks:9
Index:0|Set0:FEM|Name:Fallen Empires|DraftPacks:5|LandSetCode:3ED|SealedPacks:9
Index:0|Set0:4ED|Name:Fourth Edition|DraftPacks:3|LandSetCode:4ED|SealedPacks:6
Index:0|Set0:ICE|Set1:ALL|Set2:CSP|Name:Ice Age|DraftPacks:3|LandSetCode:ICE|SealedPacks:6
Index:0|Set0:HML|Name:Homelands|DraftPacks:5|LandSetCode:4ED|SealedPacks:9
Index:0|Set0:MIR|Set1:VIS|Set2:WTH|Name:Mirage|DraftPacks:3|LandSetCode:MIR|SealedPacks:6
Index:0|Set0:5ED|Name:Fifth Edition|DraftPacks:3|LandSetCode:5ED|SealedPacks:6
Index:0|Set0:POR|Name:Portal|DraftPacks:3|LandSetCode:POR|SealedPacks:6
Index:0|Set0:TMP|Set1:STH|Set2:EXO|Name:Tempest|DraftPacks:3|LandSetCode:TMP|SealedPacks:6
Index:0|Set0:PO2|Name:Portal Second Age|DraftPacks:3|LandSetCode:PO2|SealedPacks:6
Index:0|Set0:USG|Set1:ULG|Set2:UDS|Name:Urza|DraftPacks:3|LandSetCode:USG|SealedPacks:6
Index:0|Set0:6ED|Name:Sixth Edition|DraftPacks:3|LandSetCode:6ED|SealedPacks:6
Index:0|Set0:PTK|Name:Portal Three Kingdoms|DraftPacks:5|LandSetCode:PTK|SealedPacks:9
Index:0|Set0:MMQ|Set1:NMS|Set2:PCY|Name:Masques|DraftPacks:3|LandSetCode:MMQ|SealedPacks:6
Index:0|Set0:INV|Set1:PLS|Set2:APC|Name:Invasion|DraftPacks:3|LandSetCode:INV|SealedPacks:6
Index:0|Set0:7ED|Name:Seventh Edition|DraftPacks:3|LandSetCode:7ED|SealedPacks:6
Index:0|Set0:ODY|Set1:TOR|Set2:JUD|Name:Odyssey|DraftPacks:3|LandSetCode:ODY|SealedPacks:6
Index:0|Set0:ONS|Set1:LGN|Set2:SCG|Name:Onslaught|DraftPacks:3|LandSetCode:ONS|SealedPacks:6
Index:0|Set0:8ED|Name:Eighth Edition|DraftPacks:3|LandSetCode:8ED|SealedPacks:6
Index:0|Set0:MRD|Set1:DST|Set2:5DN|Name:Mirrodin|DraftPacks:3|LandSetCode:MRD|SealedPacks:6
Index:0|Set0:CHK|Set1:BOK|Set2:SOK|Name:Kamigawa|DraftPacks:3|LandSetCode:CHK|SealedPacks:6
Index:0|Set0:9ED|Name:Ninth Edition|DraftPacks:3|LandSetCode:9ED|SealedPacks:6
Index:0|Set0:RAV|Set1:GPT|Set2:DIS|Name:Ravnica|DraftPacks:3|LandSetCode:RAV|SealedPacks:6
Index:0|Set0:CSP|Name:Coldsnap|DraftPacks:3|LandSetCode:9ED|SealedPacks:6
Index:0|Set0:TSP|Set1:PLC|Set2:FUT|Name:Time Spiral|DraftPacks:3|LandSetCode:TSP|SealedPacks:6
Index:0|Set0:10E|Name:Tenth Edition|DraftPacks:3|LandSetCode:10E|SealedPacks:6
Index:0|Set0:LRW|Set1:MOR|Name:Lorwyn|DraftPacks:3|LandSetCode:LRW|SealedPacks:6
Index:0|Set0:SHM|Set1:EVE|Name:Shadowmoor|DraftPacks:3|LandSetCode:SHM|SealedPacks:6
Index:0|Set0:ALA|Set1:CFX|Set2:ARB|Name:Shards of Alara|DraftPacks:3|LandSetCode:ALA|SealedPacks:6
Index:0|Set0:M10|Name:Magic 2010|DraftPacks:3|LandSetCode:M10|SealedPacks:6
Index:0|Set0:ZEN|Set1:WWK|Name:Zendikar|DraftPacks:3|LandSetCode:ZEN|SealedPacks:6
Index:0|Set0:ROE|Name:Rise of the Eldrazi|DraftPacks:3|LandSetCode:ROE|SealedPacks:6
Index:0|Set0:M11|Name:Magic 2011|DraftPacks:3|LandSetCode:M11|SealedPacks:6
Index:0|Set0:SOM|Set1:MBS|Set2:NPH|Name:Scars of Mirrodin|DraftPacks:3|LandSetCode:SOM|SealedPacks:6

83
res/blockdata/setdata.txt Normal file
View File

@@ -0,0 +1,83 @@
Index:0|Code2:MBP|Code3:MBP|Name:Media Insert Promo
Index:1|Code2:A|Code3:LEA|Name:Limited Edition Alpha
Index:2|Code2:B|Code3:LEB|Name:Limited Edition Beta
Index:3|Code2:U|Code3:2ED|Name:Unlimited
Index:4|Code2:AN|Code3:ARN|Name:Arabian Nights
Index:5|Code2:AQ|Code3:ATQ|Name:Antiquities
Index:6|Code2:R|Code3:3ED|Name:Revised Edition
Index:7|Code2:LG|Code3:LEG|Name:Legends
Index:8|Code2:DK|Code3:DRK|Name:The Dark
Index:9|Code2:FE|Code3:FEM|Name:Fallen Empires
Index:10|Code2:4E|Code3:4ED|Name:Fourth Edition
Index:11|Code2:IA|Code3:ICE|Name:Ice Age
Index:12|Code2:CH|Code3:CHR|Name:Chronicles
Index:13|Code2:HL|Code3:HML|Name:Homelands
Index:14|Code2:AL|Code3:ALL|Name:Alliances
Index:15|Code2:MI|Code3:MIR|Name:Mirage
Index:16|Code2:VI|Code3:VIS|Name:Visions
Index:17|Code2:5E|Code3:5ED|Name:Fifth Edition
Index:18|Code2:PT|Code3:POR|Name:Portal
Index:19|Code2:WL|Code3:WTH|Name:Weatherlight
Index:20|Code2:TE|Code3:TMP|Name:Tempest
Index:21|Code2:SH|Code3:STH|Name:Stronghold
Index:22|Code2:EX|Code3:EXO|Name:Exodus
Index:23|Code2:P2|Code3:PO2|Name:Portal Second Age
Index:24|Code2:US|Code3:USG|Name:Urza's Saga
Index:25|Code2:UL|Code3:ULG|Name:Urza's Legacy
Index:26|Code2:6E|Code3:6ED|Name:Classic (Sixth Edition)
Index:27|Code2:UD|Code3:UDS|Name:Urza's Destiny
Index:28|Code2:P3|Code3:PTK|Name:Portal Three Kingdoms
Index:29|Code2:ST|Code3:S99|Name:Starter 1999
Index:30|Code2:MM|Code3:MMQ|Name:Mercadian Masques
Index:31|Code2:NE|Code3:NMS|Name:Nemesis
Index:32|Code2:S2K|Code3:S00|Name:Starter 2000
Index:33|Code2:PY|Code3:PCY|Name:Prophecy
Index:34|Code2:IN|Code3:INV|Name:Invasion
Index:35|Code2:PS|Code3:PLS|Name:Planeshift
Index:36|Code2:7E|Code3:7ED|Name:Seventh Edition
Index:37|Code2:AP|Code3:APC|Name:Apocalypse
Index:38|Code2:OD|Code3:ODY|Name:Odyssey
Index:39|Code2:TO|Code3:TOR|Name:Torment
Index:40|Code2:JU|Code3:JUD|Name:Judgment
Index:41|Code2:ON|Code3:ONS|Name:Onslaught
Index:42|Code2:LE|Code3:LGN|Name:Legions
Index:43|Code2:SC|Code3:SCG|Name:Scourge
Index:44|Code2:8E|Code3:8ED|Name:Core Set - Eighth Edition
Index:45|Code2:MR|Code3:MRD|Name:Mirrodin
Index:46|Code2:DS|Code3:DST|Name:Darksteel
Index:47|Code2:FD|Code3:5DN|Name:Fifth Dawn
Index:48|Code2:CHK|Code3:CHK|Name:Champions of Kamigawa
Index:49|Code2:BOK|Code3:BOK|Name:Betrayers of Kamigawa
Index:50|Code2:SOK|Code3:SOK|Name:Saviors of Kamigawa
Index:51|Code2:9E|Code3:9ED|Name:Core Set - Ninth Edition
Index:52|Code2:RAV|Code3:RAV|Name:Ravnica: City of Guilds
Index:53|Code2:GP|Code3:GPT|Name:Guildpact
Index:54|Code2:DIS|Code3:DIS|Name:Dissension
Index:55|Code2:CS|Code3:CSP|Name:Coldsnap
Index:56|Code2:TSP|Code3:TSP|Name:Time Spiral
Index:57|Code2:TSB|Code3:TSB|Name:Time Spiral Timeshifted
Index:58|Code2:PLC|Code3:PLC|Name:Planar Chaos
Index:59|Code2:FUT|Code3:FUT|Name:Future Sight
Index:60|Code2:10E|Code3:10E|Name:Core Set - Tenth Edition
Index:61|Code2:LRW|Code3:LRW|Name:Lorwyn
Index:62|Code2:MOR|Code3:MOR|Name:Morningtide
Index:63|Code2:SHM|Code3:SHM|Name:Shadowmoor
Index:64|Code2:EVE|Code3:EVE|Name:Eventide
Index:65|Code2:ALA|Code3:ALA|Name:Shards of Alara
Index:66|Code2:CFX|Code3:CFX|Name:Conflux
Index:67|Code2:ARB|Code3:ARB|Name:Alara Reborn
Index:68|Code2:M10|Code3:M10|Name:Magic The Gathering 2010
Index:69|Code2:ZEN|Code3:ZEN|Name:Zendikar
Index:70|Code2:WWK|Code3:WWK|Name:Worldwake
Index:71|Code2:ROE|Code3:ROE|Name:Rise of the Eldrazi
Index:72|Code2:M11|Code3:M11|Name:Magic The Gathering 2011
Index:73|Code2:SOM|Code3:SOM|Name:Scars of Mirrodin
Index:74|Code2:MBS|Code3:MBS|Name:Mirrodin Besieged
Index:75|Code2:NPH|Code3:NPH|Name:New Phyrexia

View File

@@ -1,94 +1,42 @@
package forge; package forge;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
public class SetInfoUtil { public class SetInfoUtil {
private static ArrayList<HashMap<String, String>> setData = new ArrayList<HashMap<String, String>>();
private static String[][] sets = { private static void loadSetData() {
{"MBP", "MBP", "Media Insert Promo"}, ArrayList<String> fData = FileUtil.readFile("res/blockdata/setdata.txt");
{"A", "LEA", "Limited Edition Alpha"},
{"B", "LEB", "Limited Edition Beta"}, if (fData.size() > 0) {
{"U", "2ED", "Unlimited"}, for (int i=0; i<fData.size(); i++) {
{"AN", "ARN", "Arabian Nights"}, String s = fData.get(i);
{"AQ", "ATQ", "Antiquities"}, if (s.length() > 5) {
{"R", "3ED", "Revised Edition"}, HashMap<String, String> sm = new HashMap<String, String>();
{"LG", "LEG", "Legends"},
{"DK", "DRK", "The Dark"}, String ss[] = s.split("\\|");
{"FE", "FEM", "Fallen Empires"}, for (int j=0; j<ss.length; j++) {
{"4E", "4ED", "Fourth Edition"}, String kv[] = ss[i].split(":");
{"IA", "ICE", "Ice Age"}, sm.put(kv[0], kv[1]);
{"CH", "CHR", "Chronicles"}, }
{"HL", "HML", "Homelands"},
{"AL", "ALL", "Alliances"}, setData.add(sm);
{"MI", "MIR", "Mirage"}, }
{"VI", "VIS", "Visions"}, }
{"5E", "5ED", "Fifth Edition"},
{"PT", "POR", "Portal"}, }
{"WL", "WTH", "Weatherlight"}, }
{"TE", "TMP", "Tempest"},
{"SH", "STH", "Stronghold"},
{"EX", "EXO", "Exodus"},
{"P2", "PO2", "Portal Second Age"},
{"US", "USG", "Urza's Saga"},
{"UL", "ULG", "Urza's Legacy"},
{"6E", "6ED", "Classic (Sixth Edition)"},
{"UD", "UDS", "Urza's Destiny"},
{"P3", "PTK", "Portal Three Kingdoms"},
{"ST", "S99", "Starter 1999"},
{"MM", "MMQ", "Mercadian Masques"},
{"NE", "NMS", "Nemesis"},
{"S2K", "S00", "Starter 2000"},
{"PY", "PCY", "Prophecy"},
{"IN", "INV", "Invasion"},
{"PS", "PLS", "Planeshift"},
{"7E", "7ED", "Seventh Edition"},
{"AP", "APC", "Apocalypse"},
{"OD", "ODY", "Odyssey"},
{"TO", "TOR", "Torment"},
{"JU", "JUD", "Judgment"},
{"ON", "ONS", "Onslaught"},
{"LE", "LGN", "Legions"},
{"SC", "SCG", "Scourge"},
{"8E", "8ED", "Core Set - Eighth Edition"},
{"MR", "MRD", "Mirrodin"},
{"DS", "DST", "Darksteel"},
{"FD", "5DN", "Fifth Dawn"},
{"CHK", "CHK", "Champions of Kamigawa"},
{"BOK", "BOK", "Betrayers of Kamigawa"},
{"SOK", "SOK", "Saviors of Kamigawa"},
{"9E", "9ED", "Core Set - Ninth Edition"},
{"RAV", "RAV", "Ravnica: City of Guilds"},
{"GP", "GPT", "Guildpact"},
{"DIS", "DIS", "Dissension"},
{"CS", "CSP", "Coldsnap"},
{"TSP", "TSP", "Time Spiral"},
{"TSB", "TSB", "Time Spiral Timeshifted"},
{"PLC", "PLC", "Planar Chaos"},
{"FUT", "FUT", "Future Sight"},
{"10E", "10E", "Core Set - Tenth Edition"},
{"LRW", "LRW", "Lorwyn"},
{"MOR", "MOR", "Morningtide"},
{"SHM", "SHM", "Shadowmoor"},
{"EVE", "EVE", "Eventide"},
{"ALA", "ALA", "Shards of Alara"},
{"CFX", "CFX", "Conflux"},
{"ARB", "ARB", "Alara Reborn"},
{"M10", "M10", "Magic The Gathering 2010"},
{"ZEN", "ZEN", "Zendikar"},
{"WWK", "WWK", "Worldwake"},
{"ROE", "ROE", "Rise of the Eldrazi"},
{"M11", "M11", "Magic The Gathering 2011"},
{"SOM", "SOM", "Scars of Mirrodin"},
{"MBS", "MBS", "Mirrodin Besieged"},
{"NPH", "NPH", "New Phyrexia"}
};
public static ArrayList<String> getSetCode2List() public static ArrayList<String> getSetCode2List()
{ {
ArrayList<String> scl = new ArrayList<String>(); ArrayList<String> scl = new ArrayList<String>();
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
scl.add(sets[i][0]); loadSetData();
for (int i=0; i<setData.size(); i++)
scl.add(setData.get(i).get("Code2"));
return scl; return scl;
} }
@@ -97,8 +45,11 @@ public class SetInfoUtil {
{ {
ArrayList<String> scl = new ArrayList<String>(); ArrayList<String> scl = new ArrayList<String>();
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
scl.add(sets[i][1]); loadSetData();
for (int i=0; i<setData.size(); i++)
scl.add(setData.get(i).get("Code3"));
return scl; return scl;
} }
@@ -107,77 +58,101 @@ public class SetInfoUtil {
{ {
ArrayList<String> snl = new ArrayList<String>(); ArrayList<String> snl = new ArrayList<String>();
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
snl.add(sets[i][2]); loadSetData();
for (int i=0; i<setData.size(); i++)
snl.add(setData.get(i).get("Name"));
return snl; return snl;
} }
public static String getSetCode2_SetName(String SetName) public static String getSetCode2_SetName(String SetName)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
if (sets[i][2].equals(SetName)) loadSetData();
return sets[i][0];
for (int i=0; i<setData.size(); i++)
if (setData.get(i).get("Name").equals(SetName))
return setData.get(i).get("Code2");
return ""; return "";
} }
public static String getSetCode3_SetName(String SetName) public static String getSetCode3_SetName(String SetName)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
if (sets[i][2].equals(SetName)) loadSetData();
return sets[i][1];
for (int i=0; i<setData.size(); i++)
if (setData.get(i).get("Name").equals(SetName))
return setData.get(i).get("Code3");
return ""; return "";
} }
public static String getSetCode2_SetCode3(String SetCode3) public static String getSetCode2_SetCode3(String SetCode3)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
if (sets[i][1].equals(SetCode3)) loadSetData();
return sets[i][0];
for (int i=0; i<setData.size(); i++)
if (setData.get(i).get("Code3").equals(SetCode3))
return setData.get(i).get("Code2");
return ""; return "";
} }
public static String getSetCode3_SetCode2(String SetCode2) public static String getSetCode3_SetCode2(String SetCode2)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
if (sets[i][0].equals(SetCode2)) loadSetData();
return sets[i][1];
for (int i=0; i<setData.size(); i++)
if (setData.get(i).get("Code2").equals(SetCode2))
return setData.get(i).get("Code3");
return ""; return "";
} }
public static String getSetName_SetCode2(String SetCode2) public static String getSetName_SetCode2(String SetCode2)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
if (sets[i][0].equals(SetCode2)) loadSetData();
return sets[i][2];
for (int i=0; i<setData.size(); i++)
if (setData.get(i).get("Code2").equals(SetCode2))
return setData.get(i).get("Name");
return ""; return "";
} }
public static String getSetName_SetCode3(String SetCode3) public static String getSetName_SetCode3(String SetCode3)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
if (sets[i][1].equals(SetCode3)) loadSetData();
return sets[i][2];
for (int i=0; i<setData.size(); i++)
if (setData.get(i).get("Code3").equals(SetCode3))
return setData.get(i).get("Name");
return ""; return "";
} }
public static String getMostRecentSet(ArrayList<SetInfo> alSI) public static String getMostRecentSet(ArrayList<SetInfo> alSI)
{ {
if (setData.size() == 0)
loadSetData();
int mostRecent = -1; int mostRecent = -1;
for (int i=0; i<alSI.size(); i++) for (int i=0; i<alSI.size(); i++)
{ {
SetInfo s = alSI.get(i); SetInfo s = alSI.get(i);
for (int j=0; j<sets.length; j++) for (int j=0; j<setData.size(); j++)
{ {
if (sets[j][1].equals(s.Code)) if (setData.get(j).get("Code3").equals(s.Code))
{ {
if (j > mostRecent) if (j > mostRecent)
{ {
@@ -190,7 +165,7 @@ public class SetInfoUtil {
} }
if (mostRecent > -1) if (mostRecent > -1)
return sets[mostRecent][1]; return setData.get(mostRecent).get("Code3");
return ""; return "";
} }
@@ -211,65 +186,50 @@ public class SetInfoUtil {
public static int getSetIndex(String SetCode) public static int getSetIndex(String SetCode)
{ {
for (int i=0; i<sets.length; i++) if (setData.size() == 0)
loadSetData();
for (int i=0; i<setData.size(); i++)
{ {
if (sets[i][1].equals(SetCode)) if (setData.get(i).get("Code3").equals(SetCode))
return i; return Integer.parseInt(setData.get(i).get("Index"));
} }
return 0; return 0;
} }
private static String[][] blocks = { private static ArrayList<HashMap<String, String>> blockData = new ArrayList<HashMap<String, String>>();
{"LEA", "", "", "Alpha", "3", "LEA"},
{"LEB", "", "", "Beta", "3", "LEB"}, private static void loadBlockData() {
{"2ED", "", "", "Unlimited", "3", "2ED"}, ArrayList<String> fData = FileUtil.readFile("res/blockdata/blocks.txt");
{"ARN", "", "", "Arabian Nights", "5", "2ED"},
{"ATQ", "", "", "Antiquities", "5", "ATQ"}, if (fData.size() > 0) {
{"3ED", "", "", "Revised", "3", "3ED"}, for (int i=0; i<fData.size(); i++) {
{"LEG", "", "", "Legends", "3", "3ED"}, String s = fData.get(i);
{"DRK", "", "", "The Dark", "5", "3ED"}, if (s.length() > 5) {
{"FEM", "", "", "Fallen Empires", "5", "3ED"}, HashMap<String, String> sm = new HashMap<String, String>();
{"4ED", "", "", "Fourth Edition", "3", "4ED"},
{"ICE", "ALL", "CSP", "Ice Age", "3", "ICE"}, String ss[] = s.split("\\|");
//{"CHR", "", "", "Chronicles", "4", "4ED"}, for (int j=0; j<ss.length; j++) {
{"HML", "", "", "Homelands", "5", "4ED"}, String kv[] = ss[i].split(":");
{"MIR", "VIS", "WTH", "Mirage", "3", "MIR"}, sm.put(kv[0], kv[1]);
{"5ED", "", "", "Fifth Edition", "3", "5ED"}, }
{"POR", "", "", "Portal", "3", "POR"},
{"TMP", "STH", "EXO", "Tempest", "3", "TMP"}, blockData.add(sm);
{"PO2", "", "", "Portal Second Age", "3", "PO2"}, }
{"USG", "ULG", "UDS", "Urza", "3", "USG"}, }
{"6ED", "", "", "Sixth Edition", "3", "6ED"},
{"PTK", "", "", "Portal Three Kingdoms", "5", "PTK"}, }
{"MMQ", "NMS", "PCY", "Masques", "3", "MMQ"}, }
{"INV", "PLS", "APC", "Invasion", "3", "INV"},
{"7ED", "", "", "Seventh Edition", "3", "7ED"},
{"ODY", "TOR", "JUD", "Odyssey", "3", "ODY"},
{"ONS", "LGN", "SCG", "Onslaught", "3", "ONS"},
{"8ED", "", "", "Eighth Edition", "3", "8ED"},
{"MRD", "DST", "5DN", "Mirrodin", "3", "MRD"},
{"CHK", "BOK", "SOK", "Kamigawa", "3", "CHK"},
{"9ED", "", "", "Ninth Edition", "3", "9ED"},
{"RAV", "GPT", "DIS", "Ravnica", "3", "RAV"},
{"CSP", "", "", "Coldsnap", "3", "9ED"},
{"TSP", "PLC", "FUT", "Time Spiral", "3", "TSP"},
{"10E", "", "", "Tenth Edition", "3", "10E"},
{"LRW", "MOR", "", "Lorwyn", "3", "LRW"},
{"SHM", "EVE", "", "Shadowmoor", "3", "SHM"},
{"ALA", "CFX", "ARB", "Shards of Alara", "3", "ALA"},
{"M10", "", "", "Magic 2010", "3", "M10"},
{"ZEN", "WWK", "", "Zendikar", "3", "ZEN"},
{"ROE", "", "", "Rise of the Eldrazi", "3", "ROE"},
{"M11", "", "", "Magic 2011", "3", "M11"},
{"SOM", "MBS", "NPH", "Scars of Mirrodin", "3", "SOM"}
};
public static ArrayList<String> getBlockNameList() { public static ArrayList<String> getBlockNameList() {
ArrayList<String> bnl = new ArrayList<String>(); ArrayList<String> bnl = new ArrayList<String>();
for (int i=0; i<blocks.length; i++) if (blockData.size() == 0)
bnl.add(blocks[i][3]); loadBlockData();
for (int i=0; i<blockData.size(); i++)
bnl.add(blockData.get(i).get("Name"));
return bnl; return bnl;
} }
@@ -277,29 +237,56 @@ public class SetInfoUtil {
public static ArrayList<String> getSets_BlockName(String blockName) { public static ArrayList<String> getSets_BlockName(String blockName) {
ArrayList<String> sets = new ArrayList<String>(); ArrayList<String> sets = new ArrayList<String>();
for (int i=0; i<blocks.length; i++) { if (blockData.size() == 0)
if (blocks[i][3].equals(blockName)) { loadBlockData();
for (int j=0; j<3; j++)
sets.add(blocks[i][j]); for (int i=0; i<blockData.size(); i++) {
if (blockData.get(i).get("Name").equals(blockName)) {
if (blockData.get(i).containsKey("Set0"))
sets.add(blockData.get(i).get("Set0"));
if (blockData.get(i).containsKey("Set1"))
sets.add(blockData.get(i).get("Set1"));
if (blockData.get(i).containsKey("Set2"))
sets.add(blockData.get(i).get("Set2"));
} }
} }
return sets; return sets;
} }
public static int getPackCount(String blockName) { public static int getDraftPackCount(String blockName) {
for (int i=0; i<blocks.length; i++) { if (blockData.size() == 0)
if (blocks[i][3].equals(blockName)) loadBlockData();
return Integer.parseInt(blocks[i][4]);
for (int i=0; i<blockData.size(); i++) {
if (blockData.get(i).get("Name").equals(blockName))
return Integer.parseInt(blockData.get(i).get("DraftPacks"));
}
return 0;
}
public static int getSealedPackCount(String blockName) {
if (blockData.size() == 0)
loadBlockData();
for (int i=0; i<blockData.size(); i++) {
if (blockData.get(i).get("Name").equals(blockName))
return Integer.parseInt(blockData.get(i).get("SealedPacks"));
} }
return 0; return 0;
} }
public static String getLandCode(String blockName) { public static String getLandCode(String blockName) {
for (int i=0; i<blocks.length; i++) { if (blockData.size() == 0)
if (blocks[i][3].equals(blockName)) loadBlockData();
return blocks[i][5];
for (int i=0; i<blockData.size(); i++) {
if (blockData.get(i).get("Name").equals(blockName))
return blockData.get(i).get("LandSetCode");
} }
return "M11"; // default, should never happen IRL return "M11"; // default, should never happen IRL