public void onEnable()
	{
		inst = this;
		SkyQuest.onServer = true;
		qm = new QuestManager();
		fm = new FileManager();
		qlm = new QuestLogManager(this);
		if(!getDataFolder().exists())
		{
			try
			{
				fm.saveData(getDataFolder(), qm);
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
		}
		getServer().getPluginManager().registerEvents(new SkyQuestListener(this), this);
		getServer().getPluginManager().registerEvents(qlm, this);
		for(Player p:getServer().getOnlinePlayers())
		{
			String name = p.getName();
			if(qm.getQuestLog(name) == null)
			{
				PlayerQuestLog log = new PlayerQuestLog(name);
				qm.addQuestLog(log);
			}
		}
		getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){
			public void run()
			{
				fm.loadData(getDataFolder(), qm);
				int ql = qm.getQuests().length;
				getLogger().info("Loaded " + ql + " quest" + (ql != 1 ? "s" : ""));
				int pl = qm.getQuestLogs().length;
				getLogger().info("Loaded " + pl + " player" + (pl != 1 ? "s" : ""));
			}
		});
		getCommand("quest").setExecutor(new SkyQuestCmd(this));
		questlog = new ItemStack(Material.WRITTEN_BOOK);
		BookMeta im = (BookMeta) questlog.getItemMeta();
		im.setTitle(bookTitle);
		im.setAuthor(bookAuthor);
		questlog.setItemMeta(im);
				
	}