Buggy code:
public class MintPlugin extends FacePlugin { private MasterConfiguration settings ; private MintEconomy economy ; private MintManager manager ; private PluginLogger debugPrinter ; private DataStorage dataStorage ; public MintEconomy getEconomy ( ) { } public FacecorePlugin facecorePlugin ; @ Override public void enable ( ) { <START_BUG> facecorePlugin = ( ( FacecorePlugin ) ( getServer ( ) . getPluginManager ( ) . getPlugin ( "facecore" ) ) ) ; <END_BUG> debugPrinter = new PluginLogger ( this ) ; VersionedSmartYamlConfiguration configYAML = new VersionedSmartYamlConfiguration ( new File ( getDataFolder ( ) , "config.yml" ) , getResource ( "config.yml" ) , VersionUpdateType . BACKUP_AND_UPDATE ) ; if ( configYAML . update ( ) ) { getLogger ( ) . info ( "Updating<seq2seq4repair_space>config.yml" ) ; } VersionedSmartYamlConfiguration rewardsYAML = new VersionedSmartYamlConfiguration ( new File ( getDataFolder ( ) , "rewards.yml" ) , getResource ( "rewards.yml" ) , VersionUpdateType . BACKUP_AND_UPDATE ) ; if ( rewardsYAML . update ( ) ) { getLogger ( ) . info ( "Updating<seq2seq4repair_space>rewards.yml" ) ; } VersionedSmartYamlConfiguration languageYAML = new VersionedSmartYamlConfiguration ( new File ( getDataFolder ( ) , "language.yml" ) , getResource ( "language.yml" ) , VersionUpdateType . BACKUP_AND_UPDATE ) ; if ( languageYAML . update ( ) ) { getLogger ( ) . info ( "Updating<seq2seq4repair_space>language.yml" ) ; } VersionedSmartYamlConfiguration pricesYAML = new VersionedSmartYamlConfiguration ( new File ( getDataFolder ( ) , "prices.yml" ) , getResource ( "prices.yml" ) , VersionUpdateType . BACKUP_AND_UPDATE ) ; if ( pricesYAML . update ( ) ) { getLogger ( ) . info ( "Updating<seq2seq4repair_space>prices.yml" ) ; } settings = new MasterConfiguration ( ) ; settings . load ( configYAML , rewardsYAML , languageYAML , pricesYAML ) ; manager = new MintManager ( ) ; try { economy = MintEconomy . class . getConstructor ( MintPlugin . class ) . newInstance ( this ) ; getServer ( ) . getServicesManager ( ) . register ( Economy . class , economy , this , Normal ) ; } catch ( Exception e ) { getServer ( ) . getPluginManager ( ) . disablePlugin ( this ) ; return ; } if ( settings . getBoolean ( "config.database.enabled" ) ) { dataStorage = new org . nunnerycode . mint . storage . MySqlDataStorage ( settings . getString ( "config.database.host" ) , settings . getString ( "config.database.port" ) , settings . getString ( "config.database.database" ) , settings . getString ( "config.database.username" ) , settings . getString ( "config.database.password" ) ) ; } else { dataStorage = new YamlDataStorage ( this ) ; } dataStorage . initialize ( ) ; for ( PlayerAccount account : dataStorage . loadPlayerAccounts ( ) ) { manager . setPlayerBalance ( account . getOwner ( ) , account . getBalance ( ) ) ; } for ( BankAccount account : dataStorage . loadBankAccounts ( ) ) { manager . setBankBalance ( account . getOwner ( ) , account . getBalance ( ) ) ; } MintRunnable mintRunnable = new MintRunnable ( this ) ; mintRunnable . runTaskTimer ( this , 0 , ( 20L * 5 ) ) ; Bukkit . getScheduler ( ) . runTaskTimer ( this , new Runnable ( ) { @ Override public void run ( ) { dataStorage . saveBankAccounts ( manager . getBankAccounts ( ) ) ; dataStorage . savePlayerAccounts ( manager . getPlayerAccounts ( ) ) ; } } , ( 20L * 300 ) , ( 20L * 300 ) ) ; MintListener listener = new MintListener ( this ) ; Bukkit . getPluginManager ( ) . registerEvents ( listener , this ) ; new CommandHandler ( this ) . registerCommands ( new MintCommand ( this ) ) ; } @ Override public void disable ( ) { } public MasterConfiguration getSettings ( ) { } public PluginLogger getDebugPrinter ( ) { } public FacecorePlugin getFacecore ( ) { } public MintManager getManager ( ) { } }

Fix:
facecorePlugin = ( ( FacecorePlugin ) ( getServer ( ) . getPluginManager ( ) . getPlugin ( "Facecore" ) ) ) ;