public void onEnable() {
		//Basic plugin setup
		Server = getServer();
		log = Server.getLogger();
		setPdfFile(this.getDescription());

		//load up our files if they don't exist
		moveFiles();
		
		setupPermissions();
		
		//Load our flat file player DB
		questPlayerStorage = new iProperty("plugins/uQuest/uQuest_Players.txt");
		
		//Check if we need to convert old uQuest v1 quests
		if(new File("plugins/uQuest/uQuest_Quests.txt").exists())
			new QuestConverter();
		
		//registerCommands
		if(isUseDefaultUQuest()){
			Cmd_uquest cmd_uquest = new Cmd_uquest(this);
			getCommand("uquest").setExecutor(cmd_uquest);
			getCommand("quest").setExecutor(cmd_uquest);
			//Have had other plugins like "Questioner" that conflict with /q
			try{
				getCommand("q").setExecutor(cmd_uquest);
			} catch(NullPointerException npe) {
				useDefaultHelp = false;
			}
		}
		
		setupEconomy();
		
		//These commands exist even if they are not using the default uQuest
		Cmd_reloadquests cmd_reloadquests = new Cmd_reloadquests(this);
		getCommand("reloadquests").setExecutor(cmd_reloadquests);
		Cmd_reloadquestconfig cmd_reloadquestconfig = new Cmd_reloadquestconfig(this);
		getCommand("reloadquestconfig").setExecutor(cmd_reloadquestconfig);		
		
		// setup config
		readConfig();
		
		// load quests into array
		theQuestsLoadAllIntoArray();
		
		//Make sure we have quests loaded!
		if(this.theQuests.isEmpty()){
			System.err.println("\n\n\n" + pluginNameBracket() + " You have an empty quest list!\n Disabling plugin.\n\n\n");
			Server.getPluginManager().disablePlugin(this);
			return; //exit out of our enable method
		}
		
		//Get the DB fired up
		if(isUseSQLite() == true){
			this.setDB(new SqLiteKeyValStor<Quester>("questers", "plugins/uQuest/uQuestQuesters"));
			System.out.println(pluginNameBracket() + " Loaded with SQLite!");
		}
		
		// start the player saving timer
		if (firstLoad == true && isUseSQLite() == false) {
			timerSavePlayers();
			firstLoad = false;
			System.out.println(pluginNameBracket() + " Loaded with Flatfile!");
		}
		
		// Register Bukkit Hooks
		registerEvents();

		System.out.println(pluginNameBracket() + " v" + getPdfFile().getVersion() + " enabled! With " + this.getQuestInteraction().getQuestTotal() + " quests loaded!");

		// no longer necessary, Vault takes care of all this for us now. -morganm 3/3/11
//		pluginSupport = new PluginSupport(this);
//		//For iCon at least, it hooks in after the plugin enables. Solution: Timer!
//		ScheduledThreadPoolExecutor onEnable_Timer = new ScheduledThreadPoolExecutor(1);
//		onEnable_Timer.schedule(new Runnable() {
//			public void run() {
//				pluginSupport.link();
//				pluginSupport.checkPluginSupport();
//				}
//			}, pluginTimerCheck, TimeUnit.SECONDS);
	}