public void onEnable(){
		blacklistLocation=new File(getDataFolder().getAbsolutePath()+"/words.txt");
		whitelistLocation=new File(getDataFolder().getAbsolutePath()+"/whitelist.txt");
		userdataLocation=new File(getDataFolder().getAbsolutePath()+"/userData.yml");
		initConfig();
		initUserData();
		copyWordList();
		copyWhiteList();
		switch(config.getString("swear.matchmode.filtertype")){
			case "plaintext":
				blacklist=new StringList();
				break;
			case "synon":
				blacklist=new SynonStringList();
				break;
			case "phonetic":
				blacklist=new PhoneticStringList();
				break;
			default:
				getLogger().info("Initializing phonetic filter, as no valid filter was provided.");
				blacklist=new PhoneticStringList();
				break;
		}
		whitelist=new StringList();
		if(loadFromFile(blacklistLocation,blacklist)){
			getLogger().info("Wordlist: PASS");
		}else{
			getLogger().severe("Wordlist: FAIL");
			getServer().getPluginManager().disablePlugin(this);
			return;
		}
		if(loadFromFile(whitelistLocation,whitelist)){
			getLogger().info("Whitelist: PASS");
		}else{
			getLogger().severe("Whitelist: FAIL");
			getServer().getPluginManager().disablePlugin(this);
			return;
		}
		if(setupEconomy()){
			getLogger().info("Vault: PASS");
		}else{
			getLogger().info("Vault: FAIL");
		}
		if(initMetrics()){
			getLogger().info("Metrics: PASS");
		}else{
			getLogger().info("Metrics: FAIL");
		}
		if (config.getBoolean("swear.sign.enabled")){
			this.getServer().getPluginManager().registerEvents(new SignListener(blacklist,this), this);
		}
		this.getServer().getPluginManager().registerEvents(new ChatListener(blacklist,whitelist,this), this);
		if (config.getBoolean("swear.autopardon.enable")){
			getLogger().info("Autopardon: PASS");
			getServer().getScheduler().scheduleSyncRepeatingTask(this, new Pardoner(playerlist, config.getInt("swear.autopardon.minimum")), 0, config.getLong("swear.autopardon.interval")*20L*60L);
		}else{
			getLogger().info("Autopardon: FAIL");
		}
	}