package tc.oc.pgm.modules; import java.util.logging.Logger; import org.jdom2.Document; import tc.oc.pgm.map.MapModule; import tc.oc.pgm.map.MapModuleContext; import tc.oc.pgm.match.Match; import tc.oc.pgm.match.MatchModuleFactory; import tc.oc.pgm.module.ModuleDescription; import tc.oc.pgm.utils.XMLUtils; import tc.oc.pgm.xml.InvalidXMLException; import tc.oc.pgm.xml.Node; /** * Assorted features used by internal maps i.e. maps * that have no outer surface. We assume that such maps * have a bedrock outfill spanning the full world height. */ @ModuleDescription(name = "Internal Topology Module") public class InternalModule implements MapModule, MatchModuleFactory<InternalMatchModule> { @Override public InternalMatchModule createMatchModule(Match match) { return new InternalMatchModule(match); } // --------------------- // ---- XML Parsing ---- // --------------------- public static InternalModule parse(MapModuleContext context, Logger logger, Document doc) throws InvalidXMLException { if(XMLUtils.parseBoolean(Node.fromLastChildOrAttr(doc.getRootElement(), "internal"), false)) { return new InternalModule(); } return null; } }