49 lines
1.7 KiB
Java
49 lines
1.7 KiB
Java
package tc.oc.pgm.scoreboard;
|
|
|
|
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 tc.oc.pgm.blitz.BlitzModule;
|
|
import tc.oc.pgm.map.MapInfo;
|
|
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.modules.InfoModule;
|
|
import tc.oc.pgm.score.ScoreModule;
|
|
import tc.oc.pgm.teams.TeamModule;
|
|
import tc.oc.pgm.xml.InvalidXMLException;
|
|
|
|
@ModuleDescription(name = "sidebar", follows = { TeamModule.class, ScoreModule.class, BlitzModule.class })
|
|
public class SidebarModule implements MapModule, MatchModuleFactory<SidebarMatchModule> {
|
|
|
|
private BaseComponent title = new TranslatableComponent("match.scoreboard.default.title");
|
|
|
|
@Override
|
|
public SidebarMatchModule createMatchModule(Match match) {
|
|
return new SidebarMatchModule(match, title);
|
|
}
|
|
|
|
public static SidebarModule parse(MapModuleContext context, Logger logger, Document doc) throws InvalidXMLException {
|
|
return new SidebarModule();
|
|
}
|
|
|
|
@Override
|
|
public void postParse(MapModuleContext context, Logger logger, Document doc) throws InvalidXMLException {
|
|
final MapInfo info = context.needModule(InfoModule.class).getMapInfo();
|
|
if(info.game != null) {
|
|
title = info.game;
|
|
} else {
|
|
for(MapModule module : context.loadedModules()) {
|
|
final BaseComponent name = module.getGameName(context);
|
|
if(name != null) {
|
|
title = name;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|