89 lines
3.0 KiB
Java
89 lines
3.0 KiB
Java
package com.alttd.altitudequests;
|
|
|
|
import com.alttd.altitudequests.commands.CommandManager;
|
|
import com.alttd.altitudequests.config.*;
|
|
import com.alttd.altitudequests.events.*;
|
|
import com.alttd.altitudequests.objects.Quest;
|
|
import com.alttd.altitudequests.util.Logger;
|
|
import com.alttd.altitudequests.util.Utilities;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
|
|
public final class AQuest extends JavaPlugin {
|
|
|
|
public static AQuest instance;
|
|
|
|
public static AQuest getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
public void onLoad() {
|
|
instance = this;
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
reloadConfigs();
|
|
registerEvents();
|
|
new CommandManager();
|
|
scheduleTasks();
|
|
|
|
Logger.info("--------------------------------------------------");
|
|
Logger.info("AQuest started");
|
|
Logger.info("--------------------------------------------------");
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
if (Config.DEBUG)
|
|
Logger.info("Syncing users.");
|
|
Quest.saveAll();
|
|
}
|
|
|
|
public void reloadConfigs() {
|
|
Config.reload();
|
|
DatabaseConfig.reload();
|
|
MessagesConfig.reload();
|
|
LocalConfig.reload();
|
|
QuestsConfig.reload();
|
|
}
|
|
|
|
private void registerEvents() {
|
|
getServer().getPluginManager().registerEvents(new TalkToQuest(), this);
|
|
getServer().getPluginManager().registerEvents(new MineBlocks(), this);
|
|
getServer().getPluginManager().registerEvents(new LoginEvent(), this);
|
|
getServer().getPluginManager().registerEvents(new LogoutEvent(), this);
|
|
getServer().getPluginManager().registerEvents(new EntityDeath(), this);
|
|
getServer().getPluginManager().registerEvents(new EntitySheared(), this);
|
|
getServer().getPluginManager().registerEvents(new EntityBucketed(), this);
|
|
getServer().getPluginManager().registerEvents(new EntityBreed(), this);
|
|
getServer().getPluginManager().registerEvents(new DonNotMessWithNPC(), this);
|
|
getServer().getMessenger().registerOutgoingPluginChannel(this, "aquest:player-data");
|
|
getServer().getMessenger().registerIncomingPluginChannel(this, "aquest:player-data", new PluginMessageListener());
|
|
}
|
|
|
|
private static int yearDay = Utilities.getYearDay();
|
|
private void scheduleTasks() {
|
|
new BukkitRunnable() {
|
|
@Override
|
|
public void run() {
|
|
if (Config.DEBUG)
|
|
Logger.info("Syncing users.");
|
|
Quest.saveAll();
|
|
}
|
|
}.runTaskTimerAsynchronously(getInstance(), 10 * 60 * 20L, 10 * 60 * 20L); //every 10 minutes
|
|
|
|
new BukkitRunnable() {
|
|
@Override
|
|
public void run() {
|
|
int tmp = Utilities.getYearDay();
|
|
if (tmp == yearDay)
|
|
return;
|
|
yearDay = tmp;
|
|
Quest.resetQuests();
|
|
}
|
|
}.runTaskTimerAsynchronously(getInstance(), 100, 100); //every 5 seconds
|
|
}
|
|
}
|