use of pl.themolka.arcade.parser.ParserNotSupportedException in project Arcade2 by ShootGame.
the class ArcadePlugin method reloadConfig.
@Override
public void reloadConfig() {
try {
this.settings.setDocument(this.settings.readSettingsFile());
this.getEventBus().publish(new SettingsReloadEvent(this, this.settings));
} catch (DOMException | IOException | ParserNotSupportedException ex) {
throw new RuntimeException(ex);
}
}
use of pl.themolka.arcade.parser.ParserNotSupportedException in project Arcade2 by ShootGame.
the class SimpleGameManager method createGame.
@Override
public Game createGame(OfflineMap map) throws DOMException, IOException {
File file = map.getSettings();
DOMEngine engine = this.plugin.getDomEngines().forFile(file);
Parser<MapManifest> parser;
try {
parser = this.plugin.getParsers().forType(MapManifest.class);
} catch (ParserNotSupportedException ex) {
throw new RuntimeException("No " + MapManifest.class.getSimpleName() + " parser installed");
}
Document document = engine.read(file);
this.plugin.getDomPreprocessor().preprocess(document);
ArcadeMap realMap = new ArcadeMap(map, parser.parse(document).orFail());
WorldNameGenerator worldNameGenerator = new WorldNameGenerator(map);
realMap.setWorldName(worldNameGenerator.nextWorldName());
return this.createGame(realMap);
}
Aggregations