AltitudeQuests/src/main/java/com/alttd/altitudequests/AQuest.java

70 lines
2.2 KiB
Java
Raw Normal View History

2022-01-06 18:05:33 +00:00
package com.alttd.altitudequests;
import com.alttd.altitudequests.commands.CommandManager;
import com.alttd.altitudequests.config.*;
import com.alttd.altitudequests.events.*;
2022-06-01 21:17:45 +00:00
import com.alttd.altitudequests.objects.Quest;
2022-05-01 19:48:52 +00:00
import com.alttd.altitudequests.util.Logger;
2022-01-06 18:05:33 +00:00
import org.bukkit.plugin.java.JavaPlugin;
2022-06-01 21:17:45 +00:00
import org.bukkit.scheduler.BukkitRunnable;
2022-01-06 18:05:33 +00:00
public final class AQuest extends JavaPlugin {
2022-01-06 18:05:33 +00:00
public static AQuest instance;
2022-01-06 18:05:33 +00:00
public static AQuest getInstance() {
2022-01-06 18:05:33 +00:00
return instance;
}
@Override
public void onLoad() {
instance = this;
}
@Override
public void onEnable() {
reloadConfigs();
2022-05-01 19:48:52 +00:00
registerEvents();
new CommandManager();
2022-06-01 21:17:45 +00:00
scheduleTasks();
2022-05-01 19:48:52 +00:00
Logger.info("--------------------------------------------------");
Logger.info("AQuest started");
Logger.info("--------------------------------------------------");
2022-01-06 18:05:33 +00:00
}
@Override
public void onDisable() {
// Plugin shutdown logic
}
2022-05-01 19:48:52 +00:00
public void reloadConfigs() {
Config.reload();
DatabaseConfig.reload();
MessagesConfig.reload();
LocalConfig.reload();
QuestsConfig.reload();
}
2022-05-01 19:48:52 +00:00
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 QuestComplete(), this);
getServer().getMessenger().registerOutgoingPluginChannel(this, "aquest:player-data");
getServer().getMessenger().registerIncomingPluginChannel(this, "aquest:player-data", new PluginMessageListener());
2022-05-01 19:48:52 +00:00
}
2022-06-01 21:17:45 +00:00
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);
}
2022-01-06 18:05:33 +00:00
}