public TeleportCmdWarpper(Object pl) {
this.plugin = (NyaaUtils) pl;
this.ess = (IEssentials) plugin.getServer().getPluginManager().getPlugin("Essentials");
if (plugin.cfg.teleportEnable) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
hasOurTown = plugin.getServer().getPluginManager().getPlugin("ourtown") != null;
}
public static User getUser(Player player) {
if(player == null) return null;
IEssentials api = getAPI();
if(api == null) return null;
return api.getUser(player);
}
public static IEssentials getAPI() {
PluginManager manager = Bukkit.getPluginManager();
Plugin plugin = manager.getPlugin("Essentials");
return (IEssentials) plugin;
}
@Override
public void onEnable() {
// Basic config & events
instance = this;
saveDefaultConfig();
reloadConfig();
cfg = getConfig();
Locale.init(cfg.getConfigurationSection("message"));
// Load Reward config
rewardMap = new HashMap<>();
for (String i : cfg.getConfigurationSection("rewards").getValues(false).keySet()) {
rewardMap.put(i, new Reward(cfg.getConfigurationSection("rewards." + i)));
}
rules = new HashMap<>();
for (String n : cfg.getConfigurationSection("rules").getValues(false).keySet()) {
rules.put(n, new Rule(n, cfg.getConfigurationSection("rules." + n)));
}
// Database
File legacyDataFile = new File(getDataFolder(), "data.txt");
File newDataFile = new File(getDataFolder(), "database.yml");
File recurrenceFile = new File(getDataFolder(), "recurrenceRules.yml");
if (newDataFile.isFile()) {
getLogger().info("Loading database... database.yml");
if (legacyDataFile.isFile()) {
getLogger().info("You can manually remove the old database: data.txt");
}
database = new DatabaseManager(newDataFile, recurrenceFile);
} else {
if (legacyDataFile.isFile()) { // migrate old db
getLogger().info("Updating old database... data.txt");
database = new DatabaseManager(newDataFile, legacyDataFile, recurrenceFile);
} else { // no database
getLogger().info("Creating database... database.yml");
database = new DatabaseManager(newDataFile, recurrenceFile);
}
}
// Essential Hook
Plugin p = getServer().getPluginManager().getPlugin("Essentials");
if (p instanceof IEssentials) {
ess = (IEssentials) p;
} else {
getLogger().warning("Essential not exists, afk setting will be ignored.");
ess = null;
}
// refresh online players
updater = new RecordManager(database);
for (Player player : getServer().getOnlinePlayers()) {
updater.sessionStart(player.getUniqueId());
}
// Schedule event
getCommand("playtimetracker").setExecutor(this);
getCommand("playtimetracker").setTabCompleter(this);
getServer().getPluginManager().registerEvents(this, this);
Bukkit.getScheduler().runTaskTimer(this, this, cfg.getLong("save-interval") * 20L, cfg.getLong("save-interval") * 20L);
new AfkListener(this);
}