diff --git a/forge-core/src/main/java/forge/StaticData.java b/forge-core/src/main/java/forge/StaticData.java index d9d02dcc78b..6b65424daab 100644 --- a/forge-core/src/main/java/forge/StaticData.java +++ b/forge-core/src/main/java/forge/StaticData.java @@ -35,6 +35,7 @@ public class StaticData { private Predicate standardPredicate; private Predicate brawlPredicate; + private Predicate pioneerPredicate; private Predicate modernPredicate; private Predicate commanderPredicate; private Predicate oathbreakerPredicate; @@ -197,13 +198,13 @@ public class StaticData { public TokenDb getAllTokens() { return allTokens; } - public Predicate getStandardPredicate() { - return standardPredicate; - } + public void setStandardPredicate(Predicate standardPredicate) { this.standardPredicate = standardPredicate; } - public void setModernPredicate(Predicate modernPredicate) { this.modernPredicate = standardPredicate; } + public void setPioneerPredicate(Predicate pioneerPredicate) { this.pioneerPredicate = pioneerPredicate; } + + public void setModernPredicate(Predicate modernPredicate) { this.modernPredicate = modernPredicate; } public void setCommanderPredicate(Predicate commanderPredicate) { this.commanderPredicate = commanderPredicate; } @@ -211,9 +212,11 @@ public class StaticData { public void setBrawlPredicate(Predicate brawlPredicate) { this.brawlPredicate = brawlPredicate; } - public Predicate getModernPredicate() { - return modernPredicate; - } + public Predicate getStandardPredicate() { return standardPredicate; } + + public Predicate getPioneerPredicate() { return pioneerPredicate; } + + public Predicate getModernPredicate() { return modernPredicate; } public Predicate getCommanderPredicate() { return commanderPredicate; } diff --git a/forge-game/src/main/java/forge/game/GameFormat.java b/forge-game/src/main/java/forge/game/GameFormat.java index 8f714aac24a..9eb259404ea 100644 --- a/forge-game/src/main/java/forge/game/GameFormat.java +++ b/forge-game/src/main/java/forge/game/GameFormat.java @@ -47,7 +47,7 @@ import java.util.Map.Entry; public class GameFormat implements Comparable { private final String name; public enum FormatType {Sanctioned, Casual, Historic, Digital, Custom} - public enum FormatSubType {Block, Standard, Extended, Modern, Legacy, Vintage, Commander, Planechase, Videogame, MTGO, Custom} + public enum FormatSubType {Block, Standard, Extended, Pioneer, Modern, Legacy, Vintage, Commander, Planechase, Videogame, MTGO, Custom} // contains allowed sets, when empty allows all sets private FormatType formatType; @@ -290,6 +290,7 @@ public class GameFormat implements Comparable { private List coreFormats = new ArrayList<>(); { coreFormats.add("Standard.txt"); + coreFormats.add("Pioneer.txt"); coreFormats.add("Modern.txt"); coreFormats.add("Legacy.txt"); coreFormats.add("Vintage.txt"); @@ -468,6 +469,10 @@ public class GameFormat implements Comparable { return this.map.get("Extended"); } + public GameFormat getPioneer() { + return this.map.get("Pioneer"); + } + public GameFormat getModern() { return this.map.get("Modern"); } diff --git a/forge-gui/res/formats/Sanctioned/Modern.txt b/forge-gui/res/formats/Sanctioned/Modern.txt index 92e7a97a367..86de24b81fb 100644 --- a/forge-gui/res/formats/Sanctioned/Modern.txt +++ b/forge-gui/res/formats/Sanctioned/Modern.txt @@ -1,6 +1,6 @@ [format] Name:Modern -Order:102 +Order:103 Subtype:Modern Type:Sanctioned Sets:8ED, MRD, DST, 5DN, CHK, BOK, SOK, 9ED, RAV, GPT, DIS, CSP, TSP, TSB, PLC, FUT, 10E, LRW, EVE, SHM, MOR, ALA, CFX, ARB, M10, ZEN, WWK, ROE, M11, SOM, MBS, NPH, M12, ISD, DKA, AVR, M13, RTR, GTC, DGM, M14, THS, BNG, JOU, M15, KTK, FRF, DTK, MM2, ORI, BFZ, OGW, SOI, EMN, KLD, AER, AKH, W17, HOU, XLN, RIX, DOM, M19, G18, GRN, RNA, WAR, MH1, M20, ELD diff --git a/forge-gui/res/formats/Sanctioned/Pioneer.txt b/forge-gui/res/formats/Sanctioned/Pioneer.txt new file mode 100644 index 00000000000..f4486847e85 --- /dev/null +++ b/forge-gui/res/formats/Sanctioned/Pioneer.txt @@ -0,0 +1,7 @@ +[format] +Name:Pioneer +Order:102 +Subtype:Pioneer +Type:Sanctioned +Sets:RTR, GTC, DGM, M14, THS, BNG, JOU, M15, KTK, FRF, DTK, ORI, BFZ, OGW, SOI, EMN, KLD, AER, AKH, HOU, XLN, RIX, DOM, M19, GRN, RNA, WAR, M20, ELD +Banned:Bloodstained Mire; Flooded Strand; Polluted Delta; Windswept Heath; Wooded Foothills; Felidar Guardian; Leyline of Abundance; Oath of Nissa diff --git a/forge-gui/src/main/java/forge/model/FModel.java b/forge-gui/src/main/java/forge/model/FModel.java index d1732ab280b..740204b60ea 100644 --- a/forge-gui/src/main/java/forge/model/FModel.java +++ b/forge-gui/src/main/java/forge/model/FModel.java @@ -168,6 +168,7 @@ public final class FModel { new File(ForgeConstants.USER_FORMATS_DIR), preferences.getPrefBoolean(FPref.LOAD_HISTORIC_FORMATS))); magicDb.setStandardPredicate(formats.getStandard().getFilterRules()); + magicDb.setPioneerPredicate(formats.getPioneer().getFilterRules()); magicDb.setModernPredicate(formats.getModern().getFilterRules()); magicDb.setCommanderPredicate(formats.get("Commander").getFilterRules()); magicDb.setOathbreakerPredicate(formats.get("Oathbreaker").getFilterRules());