Skip to content

Commit 9476b19

Browse files
committed
refactor: optimized main class
1 parent 001189f commit 9476b19

File tree

3 files changed

+44
-41
lines changed

3 files changed

+44
-41
lines changed

luckprefix-modern/src/main/java/de/eztxm/luckprefix/LuckPrefix.java

+3-24
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
1212
import net.luckperms.api.LuckPerms;
1313
import net.luckperms.api.LuckPermsProvider;
14-
import net.luckperms.api.model.group.Group;
15-
import org.bukkit.Bukkit;
16-
import org.bukkit.entity.Player;
1714
import org.bukkit.plugin.java.JavaPlugin;
1815

1916
@Getter
@@ -40,39 +37,21 @@ public void onEnable() {
4037
prefix = "<#77ef77>LuckPrefix <dark_gray>| <gray>";
4138
databaseFile = ConfigUtil.addDatabaseDefault("database.yml");
4239
groupsFile = ConfigUtil.addGroupsDefault("groups.yml");
43-
if (databaseFile.getValue("Database.Enabled").asBoolean()) {
44-
connection = DatabaseManager.createDatabaseConnection();
45-
}
40+
connection = DatabaseManager.createDatabaseConnection();
4641
adventure = BukkitAudiences.create(instance);
4742
luckPerms = LuckPermsProvider.get();
4843
registry = new Registry(instance);
4944
registry.registerCommand("luckprefix", new LuckPrefixCommand());
5045
registry.registerListener(new JoinListener());
5146
registry.registerListener(new QuitListener());
5247
registry.registerListener(new ChatListener());
53-
if (connection != null) {
54-
databaseManager = new DatabaseManager(connection);
55-
}
48+
databaseManager = new DatabaseManager(connection);
5649
playerManager = new PlayerManager();
5750
groupManager = new GroupManager();
5851
groupListener = new GroupListener();
5952
groupListener.createGroup();
6053
groupListener.deleteGroup();
61-
for (Group group : luckPerms.getGroupManager().getLoadedGroups()) {
62-
if (groupsFile.contains(group.getName())) {
63-
groupManager.createGroup(group.getName());
64-
continue;
65-
}
66-
if (getConfig().getBoolean("Warning-If-Group-Can-Not-Loaded")) {
67-
getLogger().warning("Group '" + group.getName() + "' can't be loaded.");
68-
}
69-
}
70-
Bukkit.getScheduler().runTaskTimerAsynchronously(instance, () -> {
71-
if (Bukkit.getOnlinePlayers().isEmpty()) return;
72-
for (Player player : Bukkit.getOnlinePlayers()) {
73-
playerManager.setPlayerListName(player.getUniqueId());
74-
}
75-
}, 1, getConfig().getLong("UpdateTime") * 20);
54+
groupManager.loadGroups();
7655
}
7756

7857
@Override

luckprefix-modern/src/main/java/de/eztxm/luckprefix/util/DatabaseManager.java

+21-17
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,32 @@
77
import org.bukkit.configuration.file.FileConfiguration;
88

99
public class DatabaseManager {
10-
private final SQLConnection connection;
10+
private SQLConnection connection;
1111

1212
public DatabaseManager(SQLConnection connection) {
13+
if (connection == null) return;
1314
this.connection = connection;
1415
}
1516

1617
public static SQLConnection createDatabaseConnection() {
17-
FileConfiguration config = LuckPrefix.getInstance().getConfig();
18-
String type = config.getString("Database.Type");
19-
return switch (type.toUpperCase()) {
20-
case "SQLITE" -> new SQLiteConnection(
21-
config.getString("Database.SQLite.Path"),
22-
config.getString("Database.SQLite.FileName")
23-
);
24-
case "MARIADB" -> new MariaDBConnection(
25-
config.getString("Database.MariaDB.Host"),
26-
config.getInt("Database.MariaDB.Port"),
27-
config.getString("Database.MariaDB.Database"),
28-
config.getString("Database.MariaDB.User"),
29-
config.getString("Database.MariaDB.Password")
30-
);
31-
default -> null;
32-
};
18+
if (LuckPrefix.getInstance().getDatabaseFile().getValue("Database.Enabled").asBoolean()) {
19+
FileConfiguration config = LuckPrefix.getInstance().getConfig();
20+
String type = config.getString("Database.Type");
21+
return switch (type.toUpperCase()) {
22+
case "SQLITE" -> new SQLiteConnection(
23+
config.getString("Database.SQLite.Path"),
24+
config.getString("Database.SQLite.FileName")
25+
);
26+
case "MARIADB" -> new MariaDBConnection(
27+
config.getString("Database.MariaDB.Host"),
28+
config.getInt("Database.MariaDB.Port"),
29+
config.getString("Database.MariaDB.Database"),
30+
config.getString("Database.MariaDB.User"),
31+
config.getString("Database.MariaDB.Password")
32+
);
33+
default -> null;
34+
};
35+
}
36+
return null;
3337
}
3438
}

luckprefix-modern/src/main/java/de/eztxm/luckprefix/util/GroupManager.java

+20
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import lombok.Getter;
55
import net.kyori.adventure.text.minimessage.MiniMessage;
66
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
7+
import net.luckperms.api.model.group.Group;
78
import org.bukkit.Bukkit;
89
import org.bukkit.ChatColor;
910
import org.bukkit.configuration.file.FileConfiguration;
@@ -116,4 +117,23 @@ public void deleteGroup(String group) {
116117
this.groupID.remove(group);
117118
this.groupColor.remove(group);
118119
}
120+
121+
public void loadGroups() {
122+
LuckPrefix instance = LuckPrefix.getInstance();
123+
for (Group group : instance.getLuckPerms().getGroupManager().getLoadedGroups()) {
124+
if (instance.getGroupsFile().contains(group.getName())) {
125+
instance.getGroupManager().createGroup(group.getName());
126+
continue;
127+
}
128+
if (instance.getConfig().getBoolean("Warning-If-Group-Can-Not-Loaded")) {
129+
instance.getLogger().warning("Group '" + group.getName() + "' can't be loaded.");
130+
}
131+
}
132+
Bukkit.getScheduler().runTaskTimerAsynchronously(instance, () -> {
133+
if (Bukkit.getOnlinePlayers().isEmpty()) return;
134+
for (Player player : Bukkit.getOnlinePlayers()) {
135+
instance.getPlayerManager().setPlayerListName(player.getUniqueId());
136+
}
137+
}, 1, instance.getConfig().getLong("UpdateTime") * 20);
138+
}
119139
}

0 commit comments

Comments
 (0)