49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
package tc.oc.pgm.ghostsquadron;
|
|
|
|
import java.util.Collections;
|
|
import java.util.Set;
|
|
import java.util.logging.Logger;
|
|
|
|
import net.md_5.bungee.api.chat.BaseComponent;
|
|
import net.md_5.bungee.api.chat.TranslatableComponent;
|
|
import org.jdom2.Document;
|
|
import org.jdom2.Element;
|
|
import tc.oc.api.docs.virtual.MapDoc;
|
|
import tc.oc.pgm.classes.ClassMatchModule;
|
|
import tc.oc.pgm.classes.ClassModule;
|
|
import tc.oc.pgm.blitz.BlitzModule;
|
|
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;
|
|
|
|
@ModuleDescription(name = "Ghost Squadron", depends = { ClassModule.class }, follows = { BlitzModule.class })
|
|
public class GhostSquadronModule implements MapModule, MatchModuleFactory<GhostSquadronMatchModule> {
|
|
|
|
private static final BaseComponent GAME = new TranslatableComponent("match.scoreboard.gs.title");
|
|
@Override
|
|
public BaseComponent getGameName(MapModuleContext context) {
|
|
return GAME;
|
|
}
|
|
|
|
@Override
|
|
public Set<MapDoc.Gamemode> getGamemodes(MapModuleContext context) {
|
|
return Collections.singleton(MapDoc.Gamemode.gs);
|
|
}
|
|
|
|
@Override
|
|
public GhostSquadronMatchModule createMatchModule(Match match) {
|
|
return new GhostSquadronMatchModule(match, match.getMatchModule(ClassMatchModule.class));
|
|
}
|
|
|
|
public static GhostSquadronModule parse(MapModuleContext context, Logger logger, Document doc) {
|
|
Element ghostSquadronEl = doc.getRootElement().getChild("ghostsquadron");
|
|
if(ghostSquadronEl == null) {
|
|
return null;
|
|
} else {
|
|
return new GhostSquadronModule();
|
|
}
|
|
}
|
|
}
|