22
33import dev .lotus .studio .database .DatabaseInitializer ;
44import dev .lotus .studio .database .playerdata .PlayerDataService ;
5+ import dev .lotus .studio .safezone .SafeZonePreloaded ;
56import org .bstats .bukkit .Metrics ;
67import org .bukkit .event .HandlerList ;
78import org .bukkit .plugin .java .JavaPlugin ;
1516import dev .lotus .studio .playerdata .PlayerManager ;
1617import dev .lotus .studio .safezone .SafeZoneManager ;
1718
19+ import java .util .Optional ;
20+ import java .util .logging .Level ;
21+
1822public final class Main extends JavaPlugin {
1923
2024 private static Main instance ;
@@ -27,35 +31,49 @@ public final class Main extends JavaPlugin {
2731 @ Override
2832 public void onEnable () {
2933 metric ();
30- instance = this ;
31- PlayerManager .getInstance ().startGlobalTask ();
32- //cfg
33- itemManager = new CustomItemManager ();
34- databaseInitializer = new DatabaseInitializer (this );
35- playerDataBase = databaseInitializer .getPlayerDataBase ();
36- safeZoneDataService = databaseInitializer .getSaveZoneDataService ();
34+ if (initialize ()){
35+ getLogger ().log (Level .INFO , "Plugin has been enabled!" );
36+ }
37+ }
3738
3839
40+ public boolean initialize () {
41+ try {
42+ instance = this ;
43+ PlayerManager .getInstance ().startGlobalTask ();
44+ //cfg
45+ itemManager = new CustomItemManager ();
46+ databaseInitializer = new DatabaseInitializer (this );
47+ playerDataBase = databaseInitializer .getPlayerDataBase ();
48+ safeZoneDataService = databaseInitializer .getSaveZoneDataService ();
3949
40- itemManager .loadItems ();
41- getServer ().getPluginManager ().registerEvents (new ArmorEvent (itemManager ),this );
42- getServer ().getPluginManager ().registerEvents (new EatEvent (itemManager ),this );
43- getServer ().getPluginManager ().registerEvents (new JoinLeaveEvent (playerDataBase ),this );
44- getLogger ().info ("Предметы загружены из items.yml." );
4550
46- new PlayerBar (this ,itemManager );
4751
52+ itemManager .loadItems ();
53+ getServer ().getPluginManager ().registerEvents (new ArmorEvent (itemManager ),this );
54+ getServer ().getPluginManager ().registerEvents (new EatEvent (itemManager ),this );
55+ getServer ().getPluginManager ().registerEvents (new JoinLeaveEvent (playerDataBase ),this );
56+ getLogger ().info ("Предметы загружены из items.yml." );
4857
49- new MainCommand ( "lotus" , itemManager );
58+ new PlayerBar ( this , itemManager );
5059
51- SafeZoneManager .getInstance ().initialize (safeZoneDataService );
5260
61+ new MainCommand ("lotus" , itemManager , SafeZoneManager .getInstance ());
62+
63+ SafeZoneManager .getInstance ().initialize (safeZoneDataService );
64+ } catch (Exception e ) {
65+ getLogger ().severe ("Exeption Initialize plugin: " + e .getMessage ());
66+ return false ;
67+ }
68+ return true ;
5369 }
5470
5571 @ Override
5672 public void onDisable () {
5773 PlayerManager .getInstance ().getGlobalTask ().cancel ();
58- SafeZoneManager .getInstance ().getPreloaded ().stopTask ();
74+ Optional .ofNullable (SafeZoneManager .getInstance ().getPreloaded ())
75+ .ifPresent (SafeZonePreloaded ::stopTask );
76+
5977 // Закриття DataBase
6078 if (databaseInitializer != null ) {
6179 databaseInitializer .closeConnection ();
0 commit comments