From d8a4490358d37dc90918f5f1cf638aae1553caab Mon Sep 17 00:00:00 2001 From: len <40720638+destro174@users.noreply.github.com> Date: Mon, 24 May 2021 10:10:02 +0200 Subject: [PATCH] merge api into velocity --- api/src/main/java/com/alttd/chat/ChatAPI.java | 3 -- .../com/alttd/chat/ChatImplementation.java | 42 +------------------ velocity/pom.xml | 4 +- .../java/com/alttd/chat/VelocityChat.java | 20 +++++++-- .../alttd/chat/commands/GlobalChatToggle.java | 2 +- .../java/com/alttd/chat/config/Config.java | 0 .../com/alttd/chat/config/RegexConfig.java | 0 .../java/com/alttd/chat/data}/ChatFilter.java | 2 +- .../java/com/alttd/chat/data}/ChatUser.java | 2 +- .../java/com/alttd/chat/data}/FilterType.java | 2 +- .../main/java/com/alttd/chat/data}/Mail.java | 2 +- .../main/java/com/alttd/chat/data}/Party.java | 2 +- .../chat/database/DatabaseConnection.java | 2 +- .../java/com/alttd/chat/database/Queries.java | 7 ++-- .../com/alttd/chat/handlers/ChatHandler.java | 4 +- .../alttd/chat/handlers}/ChatUserManager.java | 7 ++-- .../alttd/chat/handlers}/RegexManager.java | 4 +- .../java/com/alttd/chat/util/ALogger.java | 0 .../java/com/alttd/chat/util/Utility.java | 32 +++++++------- 19 files changed, 54 insertions(+), 83 deletions(-) rename {api => velocity}/src/main/java/com/alttd/chat/config/Config.java (100%) rename {api => velocity}/src/main/java/com/alttd/chat/config/RegexConfig.java (100%) rename {api/src/main/java/com/alttd/chat/objects => velocity/src/main/java/com/alttd/chat/data}/ChatFilter.java (95%) rename {api/src/main/java/com/alttd/chat/objects => velocity/src/main/java/com/alttd/chat/data}/ChatUser.java (98%) rename {api/src/main/java/com/alttd/chat/objects => velocity/src/main/java/com/alttd/chat/data}/FilterType.java (92%) rename {api/src/main/java/com/alttd/chat/objects => velocity/src/main/java/com/alttd/chat/data}/Mail.java (97%) rename {api/src/main/java/com/alttd/chat/objects => velocity/src/main/java/com/alttd/chat/data}/Party.java (98%) rename {api => velocity}/src/main/java/com/alttd/chat/database/DatabaseConnection.java (97%) rename {api => velocity}/src/main/java/com/alttd/chat/database/Queries.java (98%) rename {api/src/main/java/com/alttd/chat/managers => velocity/src/main/java/com/alttd/chat/handlers}/ChatUserManager.java (87%) rename {api/src/main/java/com/alttd/chat/managers => velocity/src/main/java/com/alttd/chat/handlers}/RegexManager.java (97%) rename {api => velocity}/src/main/java/com/alttd/chat/util/ALogger.java (100%) rename {api => velocity}/src/main/java/com/alttd/chat/util/Utility.java (79%) diff --git a/api/src/main/java/com/alttd/chat/ChatAPI.java b/api/src/main/java/com/alttd/chat/ChatAPI.java index f135e04..fe79ee3 100644 --- a/api/src/main/java/com/alttd/chat/ChatAPI.java +++ b/api/src/main/java/com/alttd/chat/ChatAPI.java @@ -1,6 +1,5 @@ package com.alttd.chat; -import com.alttd.chat.database.DatabaseConnection; import net.luckperms.api.LuckPerms; import java.util.UUID; @@ -13,8 +12,6 @@ public interface ChatAPI { LuckPerms getLuckPerms(); - DatabaseConnection getDataBase(); - String getPrefix(UUID uuid); String getPrefix(UUID uuid, boolean all); diff --git a/api/src/main/java/com/alttd/chat/ChatImplementation.java b/api/src/main/java/com/alttd/chat/ChatImplementation.java index 648c167..6c9fb63 100644 --- a/api/src/main/java/com/alttd/chat/ChatImplementation.java +++ b/api/src/main/java/com/alttd/chat/ChatImplementation.java @@ -1,17 +1,8 @@ package com.alttd.chat; -import com.alttd.chat.config.Config; -import com.alttd.chat.database.DatabaseConnection; -import com.alttd.chat.database.Queries; -import com.alttd.chat.managers.ChatUserManager; -import com.alttd.chat.managers.RegexManager; import net.luckperms.api.LuckPerms; import net.luckperms.api.LuckPermsProvider; -import net.luckperms.api.model.group.Group; -import net.luckperms.api.model.user.User; -import java.util.Collection; -import java.util.Comparator; import java.util.UUID; public class ChatImplementation implements ChatAPI{ @@ -19,18 +10,12 @@ public class ChatImplementation implements ChatAPI{ private static ChatAPI instance; private LuckPerms luckPerms; - private DatabaseConnection databaseConnection; // todo this isn't needed can be removed public ChatImplementation() { instance = this; - Config.init(); luckPerms = getLuckPerms(); - databaseConnection = getDataBase(); - Queries.createTables(); - ChatUserManager.initialize(); // loads all the users from the db and adds them. - RegexManager.initRegex(); // load the filters and regexes from config } public static ChatAPI get() { @@ -46,37 +31,14 @@ public class ChatImplementation implements ChatAPI{ return luckPerms; } - @Override - public DatabaseConnection getDataBase() { - if(databaseConnection == null) - databaseConnection = new DatabaseConnection(); - return databaseConnection; - } - @Override public String getPrefix(UUID uuid) { - return getPrefix(uuid, false); + return ""; } @Override public String getPrefix(UUID uuid, boolean all) { - // TODO cache these components on load, and return them here? - StringBuilder prefix = new StringBuilder(); - LuckPerms luckPerms = getLuckPerms(); - User user = luckPerms.getUserManager().getUser(uuid); - if(user == null) return ""; - if(all) { - Collection inheritedGroups = user.getInheritedGroups(user.getQueryOptions()); - inheritedGroups.stream() - .sorted(Comparator.comparingInt(o -> o.getWeight().orElse(0))) - .forEach(group -> { - if (Config.PREFIXGROUPS.contains(group.getName())) { - prefix.append("[").append(group.getCachedData().getMetaData().getPrefix()).append("]"); - } - }); - } - prefix.append("[").append(user.getCachedData().getMetaData().getPrefix()).append("]"); - return prefix.toString(); + return ""; } @Override diff --git a/velocity/pom.xml b/velocity/pom.xml index 0d32bd6..6307c64 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -80,12 +80,12 @@ 5.3 provided - + com.google.inject guice diff --git a/velocity/src/main/java/com/alttd/chat/VelocityChat.java b/velocity/src/main/java/com/alttd/chat/VelocityChat.java index 44ecf03..672b0cb 100644 --- a/velocity/src/main/java/com/alttd/chat/VelocityChat.java +++ b/velocity/src/main/java/com/alttd/chat/VelocityChat.java @@ -3,7 +3,11 @@ package com.alttd.chat; import com.alttd.chat.commands.GlobalAdminChat; import com.alttd.chat.commands.GlobalChat; import com.alttd.chat.config.Config; +import com.alttd.chat.database.DatabaseConnection; +import com.alttd.chat.database.Queries; import com.alttd.chat.handlers.ChatHandler; +import com.alttd.chat.handlers.ChatUserManager; +import com.alttd.chat.handlers.RegexManager; import com.alttd.chat.handlers.ServerHandler; import com.alttd.chat.listeners.ChatListener; import com.alttd.chat.listeners.ProxyPlayerListener; @@ -18,6 +22,8 @@ import com.velocitypowered.api.plugin.annotation.DataDirectory; import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.messages.ChannelIdentifier; import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier; +import net.luckperms.api.LuckPerms; +import net.luckperms.api.LuckPermsProvider; import org.slf4j.Logger; import java.io.File; @@ -35,7 +41,7 @@ public class VelocityChat { private final Logger logger; private final Path dataDirectory; - private ChatAPI chatAPI; + private LuckPerms luckPerms; private ChatHandler chatHandler; private ServerHandler serverHandler; @@ -52,7 +58,11 @@ public class VelocityChat { @Subscribe public void onProxyInitialization(ProxyInitializeEvent event) { new ALogger(logger); - chatAPI = new ChatImplementation(getDataDirectory()); + Config.init(getDataDirectory()); + Queries.createTables(); + + ChatUserManager.initialize(); // loads all the users from the db and adds them. + RegexManager.initRegex(); // load the filters and regexes from config serverHandler = new ServerHandler(); chatHandler = new ChatHandler(); @@ -88,8 +98,10 @@ public class VelocityChat { // all (proxy)commands go here } - public ChatAPI API() { - return chatAPI; + public LuckPerms getLuckPerms() { + if(luckPerms == null) + luckPerms = LuckPermsProvider.get(); + return luckPerms; } public ChatHandler getChatHandler() { diff --git a/velocity/src/main/java/com/alttd/chat/commands/GlobalChatToggle.java b/velocity/src/main/java/com/alttd/chat/commands/GlobalChatToggle.java index e5c0051..d49cacd 100644 --- a/velocity/src/main/java/com/alttd/chat/commands/GlobalChatToggle.java +++ b/velocity/src/main/java/com/alttd/chat/commands/GlobalChatToggle.java @@ -25,7 +25,7 @@ public class GlobalChatToggle { .then(RequiredArgumentBuilder .argument("message", StringArgumentType.greedyString()) .executes(context -> { - LuckPerms luckPerms = VelocityChat.getPlugin().API().getLuckPerms(); + LuckPerms luckPerms = VelocityChat.getPlugin().getLuckPerms(); Player player = (Player) context; luckPerms.getUserManager().modifyUser(player.getUniqueId(), user -> { if(player.hasPermission(Config.GCPERMISSION)) { //TODO THIS MUST BE A CONSTANT FROM CONFIG? diff --git a/api/src/main/java/com/alttd/chat/config/Config.java b/velocity/src/main/java/com/alttd/chat/config/Config.java similarity index 100% rename from api/src/main/java/com/alttd/chat/config/Config.java rename to velocity/src/main/java/com/alttd/chat/config/Config.java diff --git a/api/src/main/java/com/alttd/chat/config/RegexConfig.java b/velocity/src/main/java/com/alttd/chat/config/RegexConfig.java similarity index 100% rename from api/src/main/java/com/alttd/chat/config/RegexConfig.java rename to velocity/src/main/java/com/alttd/chat/config/RegexConfig.java diff --git a/api/src/main/java/com/alttd/chat/objects/ChatFilter.java b/velocity/src/main/java/com/alttd/chat/data/ChatFilter.java similarity index 95% rename from api/src/main/java/com/alttd/chat/objects/ChatFilter.java rename to velocity/src/main/java/com/alttd/chat/data/ChatFilter.java index b598bbb..76bc755 100644 --- a/api/src/main/java/com/alttd/chat/objects/ChatFilter.java +++ b/velocity/src/main/java/com/alttd/chat/data/ChatFilter.java @@ -1,4 +1,4 @@ -package com.alttd.chat.objects; +package com.alttd.chat.data; public class ChatFilter { diff --git a/api/src/main/java/com/alttd/chat/objects/ChatUser.java b/velocity/src/main/java/com/alttd/chat/data/ChatUser.java similarity index 98% rename from api/src/main/java/com/alttd/chat/objects/ChatUser.java rename to velocity/src/main/java/com/alttd/chat/data/ChatUser.java index 4cdc456..100c37d 100644 --- a/api/src/main/java/com/alttd/chat/objects/ChatUser.java +++ b/velocity/src/main/java/com/alttd/chat/data/ChatUser.java @@ -1,4 +1,4 @@ -package com.alttd.chat.objects; +package com.alttd.chat.data; import com.alttd.chat.database.Queries; import com.alttd.chat.util.Utility; diff --git a/api/src/main/java/com/alttd/chat/objects/FilterType.java b/velocity/src/main/java/com/alttd/chat/data/FilterType.java similarity index 92% rename from api/src/main/java/com/alttd/chat/objects/FilterType.java rename to velocity/src/main/java/com/alttd/chat/data/FilterType.java index 1740d39..ca7a2bf 100644 --- a/api/src/main/java/com/alttd/chat/objects/FilterType.java +++ b/velocity/src/main/java/com/alttd/chat/data/FilterType.java @@ -1,4 +1,4 @@ -package com.alttd.chat.objects; +package com.alttd.chat.data; public enum FilterType { REPLACE("replace"), diff --git a/api/src/main/java/com/alttd/chat/objects/Mail.java b/velocity/src/main/java/com/alttd/chat/data/Mail.java similarity index 97% rename from api/src/main/java/com/alttd/chat/objects/Mail.java rename to velocity/src/main/java/com/alttd/chat/data/Mail.java index e6c93f3..6744933 100644 --- a/api/src/main/java/com/alttd/chat/objects/Mail.java +++ b/velocity/src/main/java/com/alttd/chat/data/Mail.java @@ -1,4 +1,4 @@ -package com.alttd.chat.objects; +package com.alttd.chat.data; import java.util.UUID; diff --git a/api/src/main/java/com/alttd/chat/objects/Party.java b/velocity/src/main/java/com/alttd/chat/data/Party.java similarity index 98% rename from api/src/main/java/com/alttd/chat/objects/Party.java rename to velocity/src/main/java/com/alttd/chat/data/Party.java index 1a1bf11..ece967e 100644 --- a/api/src/main/java/com/alttd/chat/objects/Party.java +++ b/velocity/src/main/java/com/alttd/chat/data/Party.java @@ -1,4 +1,4 @@ -package com.alttd.chat.objects; +package com.alttd.chat.data; import com.alttd.chat.database.Queries; diff --git a/api/src/main/java/com/alttd/chat/database/DatabaseConnection.java b/velocity/src/main/java/com/alttd/chat/database/DatabaseConnection.java similarity index 97% rename from api/src/main/java/com/alttd/chat/database/DatabaseConnection.java rename to velocity/src/main/java/com/alttd/chat/database/DatabaseConnection.java index 5b274ee..dedac41 100644 --- a/api/src/main/java/com/alttd/chat/database/DatabaseConnection.java +++ b/velocity/src/main/java/com/alttd/chat/database/DatabaseConnection.java @@ -10,7 +10,7 @@ import java.sql.SQLException; public class DatabaseConnection { private static DatabaseConnection instance; - private Connection connection; + private static Connection connection; /** * Sets information for the database and opens the connection. diff --git a/api/src/main/java/com/alttd/chat/database/Queries.java b/velocity/src/main/java/com/alttd/chat/database/Queries.java similarity index 98% rename from api/src/main/java/com/alttd/chat/database/Queries.java rename to velocity/src/main/java/com/alttd/chat/database/Queries.java index 177bbe9..e2f2c8d 100644 --- a/api/src/main/java/com/alttd/chat/database/Queries.java +++ b/velocity/src/main/java/com/alttd/chat/database/Queries.java @@ -1,8 +1,9 @@ package com.alttd.chat.database; -import com.alttd.chat.managers.ChatUserManager; -import com.alttd.chat.objects.Party; -import com.alttd.chat.objects.ChatUser; +import com.alttd.chat.data.ChatUser; +import com.alttd.chat.data.Party; +import com.alttd.chat.data.ServerWrapper; +import com.alttd.chat.handlers.ChatUserManager; import com.alttd.chat.util.ALogger; import java.sql.Connection; diff --git a/velocity/src/main/java/com/alttd/chat/handlers/ChatHandler.java b/velocity/src/main/java/com/alttd/chat/handlers/ChatHandler.java index bf74f9a..46cfc22 100644 --- a/velocity/src/main/java/com/alttd/chat/handlers/ChatHandler.java +++ b/velocity/src/main/java/com/alttd/chat/handlers/ChatHandler.java @@ -2,9 +2,7 @@ package com.alttd.chat.handlers; import com.alttd.chat.VelocityChat; import com.alttd.chat.config.Config; -import com.alttd.chat.managers.ChatUserManager; -import com.alttd.chat.managers.RegexManager; -import com.alttd.chat.objects.ChatUser; +import com.alttd.chat.data.ChatUser; import com.alttd.chat.util.Utility; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.proxy.Player; diff --git a/api/src/main/java/com/alttd/chat/managers/ChatUserManager.java b/velocity/src/main/java/com/alttd/chat/handlers/ChatUserManager.java similarity index 87% rename from api/src/main/java/com/alttd/chat/managers/ChatUserManager.java rename to velocity/src/main/java/com/alttd/chat/handlers/ChatUserManager.java index 3c685b3..13f7b8e 100644 --- a/api/src/main/java/com/alttd/chat/managers/ChatUserManager.java +++ b/velocity/src/main/java/com/alttd/chat/handlers/ChatUserManager.java @@ -1,8 +1,9 @@ -package com.alttd.chat.managers; +package com.alttd.chat.handlers; +import com.alttd.chat.data.ChatUser; +import com.alttd.chat.data.Mail; +import com.alttd.chat.data.ServerWrapper; import com.alttd.chat.database.Queries; -import com.alttd.chat.objects.ChatUser; -import com.alttd.chat.objects.Mail; import java.util.List; import java.util.UUID; diff --git a/api/src/main/java/com/alttd/chat/managers/RegexManager.java b/velocity/src/main/java/com/alttd/chat/handlers/RegexManager.java similarity index 97% rename from api/src/main/java/com/alttd/chat/managers/RegexManager.java rename to velocity/src/main/java/com/alttd/chat/handlers/RegexManager.java index 781642b..96f086f 100644 --- a/api/src/main/java/com/alttd/chat/managers/RegexManager.java +++ b/velocity/src/main/java/com/alttd/chat/handlers/RegexManager.java @@ -1,8 +1,8 @@ -package com.alttd.chat.managers; +package com.alttd.chat.handlers; import com.alttd.chat.config.Config; import com.alttd.chat.config.RegexConfig; -import com.alttd.chat.objects.FilterType; +import com.alttd.chat.data.FilterType; import com.google.common.collect.Lists; import ninja.leaping.configurate.ConfigurationNode; diff --git a/api/src/main/java/com/alttd/chat/util/ALogger.java b/velocity/src/main/java/com/alttd/chat/util/ALogger.java similarity index 100% rename from api/src/main/java/com/alttd/chat/util/ALogger.java rename to velocity/src/main/java/com/alttd/chat/util/ALogger.java diff --git a/api/src/main/java/com/alttd/chat/util/Utility.java b/velocity/src/main/java/com/alttd/chat/util/Utility.java similarity index 79% rename from api/src/main/java/com/alttd/chat/util/Utility.java rename to velocity/src/main/java/com/alttd/chat/util/Utility.java index 2f26b0d..cc4568d 100644 --- a/api/src/main/java/com/alttd/chat/util/Utility.java +++ b/velocity/src/main/java/com/alttd/chat/util/Utility.java @@ -1,6 +1,6 @@ package com.alttd.chat.util; -import com.alttd.chat.ChatAPI; +import com.alttd.chat.VelocityChat; import com.alttd.chat.config.Config; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.luckperms.api.LuckPerms; @@ -17,18 +17,18 @@ public class Utility { public static HashMap colors; static { // this might be in minimessage already? colors = new HashMap<>(); // todo map all colors to minimessage - colors.put("&0", ""); // and confirm these are correct + colors.put("&1", ""); // could also add some default hex colors here? + colors.put("&2", ""); + colors.put("&3", ""); + colors.put("&4", ""); + colors.put("&5", ""); + colors.put("&6", ""); + colors.put("&7", ""); + colors.put("&8", ""); + colors.put("&9", ""); + colors.put("&a", ""); + colors.put("&b", ""); colors.put("&c", ""); colors.put("&d", ""); colors.put("&e", ""); @@ -49,7 +49,7 @@ public class Utility { public static String getPrefix(UUID uuid, boolean highest) { StringBuilder prefix = new StringBuilder(); - LuckPerms luckPerms = ChatAPI.get().getLuckPerms(); + LuckPerms luckPerms = VelocityChat.getPlugin().getLuckPerms(); User user = luckPerms.getUserManager().getUser(uuid); if(user == null) return ""; if(!highest) { @@ -71,7 +71,7 @@ public class Utility { // @teri you don't reference the plugin instance from the API instance, this creates a circular reference and breaks on compile and will never run public static String getStaffPrefix(UUID uuid) { StringBuilder prefix = new StringBuilder(); - LuckPerms luckPerms = ChatAPI.get().getLuckPerms(); + LuckPerms luckPerms = VelocityChat.getPlugin().getLuckPerms(); User user = luckPerms.getUserManager().getUser(uuid); if(user == null) return prefix.toString(); if(user.getCachedData().getPermissionData().checkPermission("group." + Config.MINIMIUMSTAFFRANK).asBoolean()) { @@ -82,7 +82,7 @@ public class Utility { public static String getDisplayName(UUID uuid) { StringBuilder prefix = new StringBuilder(); - LuckPerms luckPerms = ChatAPI.get().getLuckPerms(); + LuckPerms luckPerms = VelocityChat.getPlugin().getLuckPerms(); User user = luckPerms.getUserManager().getUser(uuid); if(user == null) return ""; return user.getUsername();