Allow prefix data to be loaded from PrefixConfig

This commit is contained in:
destro174
2021-08-19 00:59:37 +02:00
parent 090ae5c438
commit a35ad9ebeb
7 changed files with 205 additions and 68 deletions
@@ -1,13 +1,19 @@
package com.alttd.chat;
import com.alttd.chat.config.Config;
import com.alttd.chat.config.PrefixConfig;
import com.alttd.chat.database.DatabaseConnection;
import com.alttd.chat.database.Queries;
import com.alttd.chat.managers.ChatUserManager;
import com.alttd.chat.managers.PartyManager;
import com.alttd.chat.managers.RegexManager;
import com.alttd.chat.util.ALogger;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.LuckPermsProvider;
import net.luckperms.api.model.group.Group;
import java.util.HashMap;
import java.util.Map;
public class ChatImplementation implements ChatAPI{
@@ -16,6 +22,8 @@ public class ChatImplementation implements ChatAPI{
private LuckPerms luckPerms;
private DatabaseConnection databaseConnection;
private HashMap<String, String> prefixes;
public ChatImplementation() {
instance = this;
ReloadConfig();
@@ -52,6 +60,7 @@ public class ChatImplementation implements ChatAPI{
@Override
public void ReloadConfig() {
Config.init();
loadPrefixes();
}
@Override
@@ -59,4 +68,18 @@ public class ChatImplementation implements ChatAPI{
RegexManager.initialize();
}
@Override
public HashMap<String, String> getPrefixes() {
return prefixes;
}
private void loadPrefixes() {
prefixes = new HashMap<>();
getLuckPerms().getGroupManager().getLoadedGroups().stream()
.map(Group::getName).forEach(groupName -> prefixes.put(groupName, new PrefixConfig(groupName).PREFIXFORMAT));
for (Map.Entry<String, String> entry : prefixes.entrySet()) {
ALogger.info("prefix: " + entry.getKey() + " format: " + entry.getValue());
}
}
}