1717import tc .oc .pgm .api .match .Match ;
1818import tc .oc .pgm .filters .FilterModule ;
1919import tc .oc .pgm .filters .matcher .StaticFilter ;
20+ import tc .oc .pgm .filters .parse .DynamicFilterValidation ;
2021import tc .oc .pgm .filters .parse .FilterParser ;
2122import tc .oc .pgm .util .xml .InvalidXMLException ;
2223import tc .oc .pgm .util .xml .Node ;
@@ -57,6 +58,7 @@ public BlitzModule parse(MapFactory factory, Logger logger, Document doc)
5758 int lives = Integer .MAX_VALUE ;
5859 boolean broadcastLives = false ;
5960 Filter filter = null ;
61+ Filter scoreboardFilter = null ;
6062 Filter joinFilter = null ;
6163
6264 FilterParser filters = factory .getFilters ();
@@ -66,11 +68,15 @@ public BlitzModule parse(MapFactory factory, Logger logger, Document doc)
6668 XMLUtils .parseNumberInRange (
6769 Node .fromChildOrAttr (blitzEl , "lives" ), Integer .class , Range .atLeast (1 ), 1 );
6870 filter = filters .parseProperty (blitzEl , "filter" , StaticFilter .ALLOW );
71+ scoreboardFilter =
72+ filters .parseProperty (
73+ blitzEl , "scoreboard-filter" , StaticFilter .ALLOW , DynamicFilterValidation .PARTY );
6974 joinFilter = filters .parseProperty (blitzEl , "join-filter" , StaticFilter .DENY );
7075 }
7176
7277 if (lives != Integer .MAX_VALUE ) {
73- return new BlitzModule (new BlitzConfig (lives , broadcastLives , filter , joinFilter ));
78+ return new BlitzModule (
79+ new BlitzConfig (lives , broadcastLives , filter , scoreboardFilter , joinFilter ));
7480 }
7581
7682 return null ;
0 commit comments