@Override
    public void onEnable() {
        _mcJobs = this;
        _language = new GetLanguage();
        try {
            _language.loadLanguage();
        } catch (InvalidConfigurationException ex) {
            getLogger().log(Level.WARNING, "Error on start up loading Language File.", ex);
        }
        _blocklogger = new BlockLoggers();

        getCommand("mcjobs").setExecutor(new JobsCommand(this));
        getCommand("mcjobsadmin").setExecutor(new AdminCommand(this));

        getServer().getPluginManager().registerEvents(new OnPlayerLogins(), this);
        getServer().getPluginManager().registerEvents(new OnPlayerQuit(), this);
        getServer().getPluginManager().registerEvents(new JobChangeListener(), this);
        getServer().getPluginManager().registerEvents(new BlockPlace(), this);
        getServer().getPluginManager().registerEvents(new BlockBreak(), this);
        getServer().getPluginManager().registerEvents(new Crafting(), this);
        getServer().getPluginManager().registerEvents(new MobKill(), this);
        getServer().getPluginManager().registerEvents(new Fishing(), this);
        getServer().getPluginManager().registerEvents(new ShearEvent(), this);
        getServer().getPluginManager().registerEvents(new Baking(), this);
        getServer().getPluginManager().registerEvents(new Enchanting(), this);
        getServer().getPluginManager().registerEvents(new Brewing(), this);
        //getServer().getPluginManager().registerEvents(new Anvil(), this);

        loadExternalPlugins();
        
        try {
            loadEconomyBridges();
        } catch (Exception e) {
            getLogger().log(Level.INFO, "Unable to load Economy mods.");
            getLogger().log(Level.INFO, "Using XP economy.");

            McJobsComp.setXP(true);
        }
        
        try {
            mcloadconf(this);
        } catch (Exception e) {
            getLogger().log(Level.SEVERE, "mcloadconf failure.  Your config.yml file is corrupted delete it and let it rebuild.");
            getLogger().log(Level.INFO, "Shutting down MC Jobs.");
            Bukkit.getServer().getPluginManager().disablePlugin(this);
            _bQuit = true;
        }
        
        if (!_bQuit) {
            PlayerCache.loadPlayerPerms();
            getServer().getScheduler().scheduleSyncRepeatingTask(this, new McJobsRemovePerm(), 1200L, 1200L);
            getServer().getScheduler().scheduleSyncRepeatingTask(this, new McJobsPreComp(), 200L, 200L);
            if(isPrune()) {
                getServer().getScheduler().runTaskTimerAsynchronously(this, new McJobsFilePrune(), 1200L, 1200L);
            }
            getLogger().log(Level.INFO, "MC Jobs has been enabled!");
        }
        _mcJobs = this;
    }