183 lines
5.3 KiB
Java
183 lines
5.3 KiB
Java
package mc.unraveled.reforged.plugin;
|
|
|
|
import mc.unraveled.reforged.banning.BanManager;
|
|
import mc.unraveled.reforged.command.*;
|
|
import mc.unraveled.reforged.command.base.CommandLoader;
|
|
import mc.unraveled.reforged.config.Yaml;
|
|
import mc.unraveled.reforged.config.YamlManager;
|
|
import mc.unraveled.reforged.data.DataManager;
|
|
import mc.unraveled.reforged.data.LoginManager;
|
|
import mc.unraveled.reforged.data.StaffChat;
|
|
import mc.unraveled.reforged.economy.EconomyManager;
|
|
import mc.unraveled.reforged.listening.InfractionListener;
|
|
import mc.unraveled.reforged.listening.PlayerDataListener;
|
|
import mc.unraveled.reforged.listening.StaffChatListener;
|
|
import mc.unraveled.reforged.permission.RankManager;
|
|
import mc.unraveled.reforged.service.base.Scheduling;
|
|
import mc.unraveled.reforged.service.base.ServicePool;
|
|
import mc.unraveled.reforged.storage.DBConnectionHandler;
|
|
import mc.unraveled.reforged.storage.DBProperties;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
|
|
public final class Traverse extends JavaPlugin {
|
|
|
|
// Secondary variable declaration.
|
|
private final String CONFIG_FILE = "config.yml";
|
|
private final File CONFIG = new File(getDataFolder(), CONFIG_FILE);
|
|
// Primary variable declaration.
|
|
|
|
private DBConnectionHandler SQLManager;
|
|
|
|
private DataManager dataManager;
|
|
|
|
private CommandLoader commandLoader;
|
|
|
|
private BanManager banManager;
|
|
|
|
private RankManager rankManager;
|
|
|
|
private Scheduling scheduler;
|
|
|
|
private ServicePool PIPELINE;
|
|
|
|
private EconomyManager economyManager;
|
|
|
|
private LoginManager loginManager;
|
|
|
|
private YamlManager yamlManager;
|
|
private Yaml yamlConfig;
|
|
private StaffChat staffChat;
|
|
|
|
public DBConnectionHandler getSQLManager() {
|
|
return SQLManager;
|
|
}
|
|
|
|
public DataManager getDataManager() {
|
|
return dataManager;
|
|
}
|
|
|
|
public CommandLoader getCommandLoader() {
|
|
return commandLoader;
|
|
}
|
|
|
|
public BanManager getBanManager() {
|
|
return banManager;
|
|
}
|
|
|
|
public RankManager getRankManager() {
|
|
return rankManager;
|
|
}
|
|
|
|
public Scheduling getScheduler() {
|
|
return scheduler;
|
|
}
|
|
|
|
public ServicePool getPIPELINE() {
|
|
return PIPELINE;
|
|
}
|
|
|
|
public EconomyManager getEconomyManager() {
|
|
return economyManager;
|
|
}
|
|
|
|
public LoginManager getLoginManager() {
|
|
return loginManager;
|
|
}
|
|
|
|
public YamlManager getYamlManager() {
|
|
return yamlManager;
|
|
}
|
|
|
|
public Yaml getYamlConfig() {
|
|
return yamlConfig;
|
|
}
|
|
|
|
public StaffChat getStaffChat() {
|
|
return staffChat;
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
this.SQLManager = new DBConnectionHandler(new DBProperties(this, "db.properties"));
|
|
this.commandLoader = new CommandLoader(this, "TRAVERSE");
|
|
this.dataManager = new DataManager(this);
|
|
this.banManager = new BanManager(this);
|
|
this.rankManager = new RankManager(this);
|
|
this.scheduler = new Scheduling(this);
|
|
this.PIPELINE = new ServicePool("PIPELINE", this);
|
|
this.economyManager = new EconomyManager(this);
|
|
this.loginManager = new LoginManager(this);
|
|
this.yamlManager = new YamlManager(this);
|
|
this.staffChat = new StaffChat(this);
|
|
|
|
registerCommands();
|
|
registerListeners();
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
this.banManager.save();
|
|
this.dataManager.saveCacheToDB();
|
|
this.PIPELINE.recycle();
|
|
this.rankManager.save();
|
|
this.yamlConfig.saveToFile();
|
|
// Plugin shutdown logic
|
|
}
|
|
|
|
public void registerCommands() {
|
|
getCommandLoader().register(
|
|
new BanCMD(this),
|
|
new BanInfoCMD(this),
|
|
new BankCMD(this),
|
|
new EntityPurgeCMD(this),
|
|
new GroupCMD(this),
|
|
new KickCMD(this),
|
|
new LockCMD(this),
|
|
new MuteCMD(this),
|
|
new PardonCMD(this),
|
|
new PlayerDataCMD(this),
|
|
new StaffChatCMD(this),
|
|
new TraverseCMD(this),
|
|
new UnmuteCMD(this)
|
|
);
|
|
|
|
getCommandLoader().load();
|
|
}
|
|
|
|
public void registerListeners() {
|
|
getServer().getPluginManager().registerEvents(new InfractionListener(this), this);
|
|
getServer().getPluginManager().registerEvents(new StaffChatListener(this), this);
|
|
getServer().getPluginManager().registerEvents(new PlayerDataListener(this), this);
|
|
}
|
|
|
|
public void registerConfig() {
|
|
Yaml yaml;
|
|
try {
|
|
if (CONFIG.createNewFile()) {
|
|
yaml = getYamlManager().bldr()
|
|
.fileName(CONFIG_FILE)
|
|
.dataFolder(getDataFolder())
|
|
.copyDefaults(true)
|
|
.build();
|
|
} else {
|
|
yaml = getYamlManager().bldr()
|
|
.fileName(CONFIG_FILE)
|
|
.dataFolder(getDataFolder())
|
|
.copyDefaults(false)
|
|
.build();
|
|
}
|
|
} catch (IOException e) {
|
|
Bukkit.getLogger().severe("Could not create config.yml!");
|
|
e.printStackTrace();
|
|
return;
|
|
}
|
|
|
|
this.yamlConfig = yaml;
|
|
getYamlConfig().loadFromFile();
|
|
}
|
|
}
|