use of pl.themolka.arcade.settings.Settings in project Arcade2 by ShootGame.
the class ArcadeCommands method reload.
//
// '/arcade reload' command
//
private void reload(Sender sender) {
if (!sender.hasPermission("arcade.command.reload")) {
throw new CommandPermissionException("arcade.command.reload");
}
Settings settings = this.plugin.getSettings();
sender.sendInfo("Reloading settings file...");
try {
settings.setDocument(settings.readSettingsFile());
this.plugin.getEventBus().publish(new SettingsReloadEvent(this.plugin, settings));
sender.sendSuccess("Successfully reloaded settings file. Well done!");
} catch (DOMException | IOException | ParserNotSupportedException ex) {
ex.printStackTrace();
throw new CommandException("Could not reload settings file: " + ex.getMessage());
}
}
use of pl.themolka.arcade.settings.Settings in project Arcade2 by ShootGame.
the class ArcadePlugin method start.
public final void start() throws Throwable {
if (this.isRunning()) {
throw new IllegalStateException("Already running!");
} else if (this.getStartTime() != null) {
throw new IllegalStateException("Outdated class!");
}
this.running = true;
this.startTime = Time.now();
this.loadParsers();
try (InputStream input = this.getClass().getClassLoader().getResourceAsStream(ManifestFile.DEFAULT_FILE)) {
this.manifest = new ManifestFile(this.domEngines.forFile(ManifestFile.DEFAULT_FILE).read(input));
}
this.eventBus = new EventBus(this);
this.console = new ConsoleSender(this);
this.commands = new BukkitCommands(this, this.getName());
this.commands.setPrefix(BukkitCommands.BUKKIT_COMMAND_PREFIX);
this.settings = new Settings(this);
this.reloadConfig();
if (!this.getSettings().isEnabled()) {
this.getLogger().log(Level.INFO, this.getName() + " isn't enabled in the settings file, skipped enabling...");
return;
}
this.domPreprocessor.install(new Include(this.domEngines, this.domPreprocessor, this.settings.getIncludeRepository()));
this.getEventBus().publish(new PluginStartEvent(this));
this.loadServer();
try {
this.loadEnvironment();
this.getEnvironment().onEnable();
} catch (DOMException ex) {
this.getLogger().log(Level.SEVERE, "Could not enable the environment: " + ex.toString());
return;
}
this.loadCommands();
this.loadModules();
this.loadMaps();
this.loadTasks();
this.loadWindows();
this.loadGames();
this.tickableTask = this.getServer().getScheduler().runTaskTimer(this, this, 1L, 1L);
this.getEventBus().publish(new PluginReadyEvent(this));
// begin the plugin logic
this.getServer().getScheduler().runTaskLater(this, () -> {
World defaultWorld = this.getServer().getWorlds().get(0);
Vector spawn = this.getSettings().getSpawn();
defaultWorld.setSpawnLocation(spawn.getBlockX(), spawn.getBlockY(), spawn.getBlockZ());
if (this.beginLogic()) {
this.getEventBus().publish(new PluginFreshEvent(this));
this.getLogger().info(getName() + " is fresh and ready to use.");
} else {
this.getLogger().severe("Could not start - see logs above. Shutting down the server...");
this.getServer().shutdown();
}
}, Time.ZERO.toTicks());
}
Aggregations