Skip to content

Commit c2115af

Browse files
authored
Merge pull request #21 from Dev-LotusStudio/commands-refactoring
Commands refactoring
2 parents 36ba211 + f9a5046 commit c2115af

28 files changed

+1050
-448
lines changed

src/main/java/dev/lotus/studio/Main.java

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import dev.lotus.studio.database.DatabaseInitializer;
44
import dev.lotus.studio.database.playerdata.PlayerDataService;
5+
import dev.lotus.studio.safezone.SafeZonePreloaded;
56
import org.bstats.bukkit.Metrics;
67
import org.bukkit.event.HandlerList;
78
import org.bukkit.plugin.java.JavaPlugin;
@@ -15,6 +16,9 @@
1516
import dev.lotus.studio.playerdata.PlayerManager;
1617
import dev.lotus.studio.safezone.SafeZoneManager;
1718

19+
import java.util.Optional;
20+
import java.util.logging.Level;
21+
1822
public 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

Comments
 (0)